/* A consistent phone layout, including embedded app browsers. */
.footer-social{border-bottom-color:var(--line);color:var(--ink)}
.footer-social .eyebrow{color:#796326}
.social-links a{color:var(--ink);border-color:#bacbd5;background:#fff}
.social-links a:hover{background:#e3ecf1;color:#102f43}
@media(max-width:760px){
  html{scroll-padding-top:90px;scroll-behavior:auto}
  body{font-size:16px;line-height:1.65}
  header,header.scrolled{height:auto;min-height:72px;padding:6px max(14px,env(safe-area-inset-left)) 6px max(14px,env(safe-area-inset-right));gap:10px;background:#edf3f6;backdrop-filter:none;-webkit-backdrop-filter:none}
  header .menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;font-size:11px;letter-spacing:.6px}
  header .menu-toggle span{display:none}
  header .header-brand{flex:1;min-width:0;gap:6px;margin:0}
  header .header-brand .header-name{font-size:clamp(13px,3.6vw,18px);letter-spacing:0;line-height:1.2;min-width:0}
  header .header-name span{display:none}
  header .header-pearl,header .header-pearl img{width:52px;height:52px}
  header>.nav-compass{height:40px;padding-left:8px}
  header>.nav-compass img{width:72px}
  header .header-inline{display:none}
  #site-navigation{width:min(380px,100%);max-height:calc(100svh - 84px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#e3ecf1;backdrop-filter:none;-webkit-backdrop-filter:none}
  #site-navigation .glass-wave{display:none}
  .hero{height:auto;min-height:0;max-height:none}
  .hero-content{padding:48px 6% 28px;max-width:none}
  .hero-content,.hero-content>p,.hero-content>h1,.hero-actions{animation:none}
  .hero-image{transform:none;will-change:auto;object-position:60% center}
  .hero-video{display:none}
  .hero .eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:22px}
  .hero h1{font-size:clamp(40px,11vw,66px);line-height:1.08;white-space:normal}
  .hero-brand{font-size:12px;letter-spacing:.07em;line-height:1.8}
  .hero-rule{margin:20px 0 16px}
  .hero-location{font-size:11px;line-height:1.7;letter-spacing:1.2px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
  .hero-actions .button{width:100%;min-width:0;min-height:48px;padding:13px 16px;font-size:15px;justify-content:center;gap:12px;text-align:center}
  .hero-services{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px;width:100%;padding:0}
  .hero-services a{min-width:0;min-height:76px;padding:12px 8px;gap:8px;border:1px solid #ffffff40!important;background:#0f1d2440}
  .hero-services svg{width:24px;height:24px}
  .hero-services span{font-size:13px;letter-spacing:0;text-align:center;line-height:1.3}
  .hero-bottom{position:relative;inset:auto;padding:0 6% 24px;justify-content:flex-end}
  .hero-bottom>span,.hero-motion{display:none}
  .ribbon{padding:18px 6%;gap:6px 16px;font-size:12px;text-align:center}
  .section,.communities,.contact{padding:48px 6%}
  .section-head{display:block;margin-bottom:28px}
  .eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:18px}
  h2,.about-copy h2,.contact-story h2{font-size:clamp(32px,8.7vw,44px);line-height:1.15;letter-spacing:-1px}
  h3{font-size:29px;line-height:1.2}
  .services,.about,.contact,.team-section{grid-template-columns:minmax(0,1fr)}
  .services{gap:26px}
  .services article{padding-top:18px}
  .services h3{margin:14px 0}
  .services p{margin:0 0 18px}
  .goal-guide{margin-top:36px;padding:24px 18px;grid-template-columns:minmax(0,1fr);gap:20px}
  .goal-guide-head{grid-row:auto}
  .goal-guide h3{font-size:28px}
  .goal-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .goal-tabs button{min-height:46px;padding:10px 4px;font-size:13px}
  #goal-panel h4{font-size:24px}
  #goal-panel .button{width:100%;justify-content:center;gap:0;padding:14px 12px;font-size:14px}
  .portrait{min-height:0;height:clamp(330px,100vw,480px)}
  .about-copy{padding:36px 6% 44px}
  .team-section{gap:28px}
  .team-stats{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-stats>div{padding:18px 0}
  .team-stats strong{font-size:clamp(32px,9vw,46px)}
  .team-stats span,.team-stats small{font-size:14px}
  .award-stat strong{font-size:28px}
  .communities .section-head{display:block}
  .communities h2{margin-bottom:20px}
  .area-picker{padding:20px;grid-template-columns:minmax(0,1fr);gap:12px}
  .area-picker select{min-width:0;max-width:100%;font-size:19px;min-height:52px;padding:12px}
  #area-panel{padding:24px 20px}
  #area-panel h3{font-size:28px}
  .area-prompts{gap:6px;margin-bottom:18px}
  .area-prompts span{font-size:12px;padding:6px 8px}
  .area-cta{flex-direction:column;align-items:stretch;gap:14px;padding-top:18px}
  .area-cta .area-guide{font-size:14px;min-height:48px;padding:12px;text-align:center}
  .philosophy{padding:48px 6%}
  .statement{font-size:clamp(29px,7.8vw,42px);letter-spacing:-1px}
  .contact{gap:28px}
  .contact-story>a{overflow-wrap:anywhere;max-width:100%}
  #inquiry{padding:24px 18px;min-width:0}
  input,textarea,select{font-size:16px}
  .contact-intents{gap:7px}
  .contact-intents button{min-height:44px;flex:1;padding:8px 5px;font-size:13px}
  footer{padding:28px 6% max(28px,env(safe-area-inset-bottom))}
  .footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .footer-contact{grid-column:1/-1;padding-bottom:10px}
  .footer-contact span{font-size:13px}
  .team-logo,.footer-compass,.footer-logo,.footer-logo img{width:100%;height:80px;max-width:100%}
  .footer-social{padding:18px 0 24px;gap:18px;flex-direction:column;align-items:stretch}
  .social-links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .social-links a{padding:14px 16px;min-height:60px}
  .footer-bottom{flex-direction:column;gap:16px}
  .reveal-ready{opacity:1;transform:none;transition:none}
  .button:hover,.hero-services a:hover,.portrait:hover img,.team-stats>div:hover,.social-links a:hover,.area-picker select:hover,.area-cta .area-guide:hover{transform:none}
}
@media(max-width:350px){header{gap:6px}header .header-pearl,header .header-pearl img{width:44px;height:44px}header>.nav-compass img{width:62px}}
