/* Mobile composition. Desktop geometry and layout remain in styles.css. */
.menu-toggle{display:none}
@media screen and (max-width:760px){
  html{scroll-padding-top:88px}
  .wrap{width:calc(100% - 40px)}
  body{font-size:16px;line-height:1.7}
  .header-inner{min-height:72px;gap:12px;flex-wrap:wrap;padding:0;position:relative}
  .brand{font-size:23px;gap:14px;margin-right:auto}
  .brand .monogram{font-size:31px}
  .brand small{font-size:9px;letter-spacing:.18em;margin-top:4px}
  .header-contact{padding:11px;min-height:44px;min-width:44px;justify-content:center;order:1}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;padding:10px;border:1px solid var(--line);background:transparent;order:2}
  .menu-toggle span{height:1px;width:19px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .header-inner nav{display:flex;order:3;width:100%;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);font-size:15px}
  .has-mobile-menu .header-inner nav{display:none}
  .has-mobile-menu .header-inner nav.is-open{display:flex;padding:8px 0 16px}
  nav a{padding:10px 0;width:50%;min-height:46px}
  nav a:after{right:25px;bottom:8px}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 0 26px;min-height:0;gap:0}
  .hero-copy{display:contents}
  .hero .eyebrow{grid-row:1;margin:0 0 16px;font-size:10px;letter-spacing:.13em;gap:10px}
  .eyebrow:before{width:22px}
  h1{grid-row:2;font-size:clamp(45px,12.2vw,64px);line-height:1.01;letter-spacing:-.035em}
  h1>span{display:inline}
  h1>span:first-child:after{content:' '}
  h1>em{display:block}
  .hero-motto{grid-row:3;font-size:23px;margin:12px 0 20px;line-height:1.15}
  .hero-cta{grid-row:4;display:grid;grid-template-columns:1fr;gap:0;margin:0}
  .hero-cta .btn{min-height:50px;font-size:15px;padding:12px 20px;justify-content:space-between}
  .hero-cta .text-link{display:none}
  .hero-visual{grid-row:5;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;margin:17px 0 8px;gap:8px;border-bottom:1px solid #d5b77726;padding-bottom:10px}
  .sculpture{height:224px;min-width:0;margin:0;max-width:none}
  .scene-caption,.scan-light{display:none}
  .motion-toggle{bottom:0;right:auto;left:50%;transform:translateX(-50%);min-height:36px;padding:7px 11px;font-size:11px;white-space:nowrap}
  .identity{text-align:left;padding:0 0 14px}
  .identity>span{margin:0 0 16px;width:24px}
  .identity h2{font-size:clamp(25px,7vw,33px);line-height:1.05}
  .identity p{font-size:9px;letter-spacing:.12em;line-height:1.65;margin:9px 0}
  .identity small{display:block;font-size:11px;line-height:1.6;color:#b5c4c4}
  .hero-description{grid-row:6;margin:10px 0 0;max-width:100%;font-size:15px;line-height:1.75}
  .hero-bottom{display:none}
  .values-bar .wrap{grid-template-columns:1fr;gap:12px;padding:20px 0}
  .values-bar span{justify-content:flex-start;font-size:13px;gap:13px}
  .values-bar span+span{border:0}
  .values-bar svg{width:22px;flex-shrink:0}
  .profile,.practice,.contact{padding:58px 0}
  .profile-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  h2,.section-heading h2{font-size:clamp(35px,9.7vw,44px);line-height:1.09;letter-spacing:-.025em}
  .profile-heading h2 br{display:none}
  .profile-heading h2 em{display:block;margin-top:8px}
  .profile-heading .text-link{margin-top:24px;font-size:14px;gap:12px;line-height:1.5}
  .profile-copy{padding:0}
  .profile-copy .lede{font-size:27px;line-height:1.25;margin-bottom:20px}
  .profile-copy p{font-size:16px;line-height:1.8}
  .large-mark{font-size:110px;top:0}
  .profile-note{gap:14px;margin-top:25px;padding-top:22px}
  .profile-note svg{flex-shrink:0;width:25px}
  .profile-note strong{font-size:14px;line-height:1.6}
  .profile-note span{font-size:13px;line-height:1.6;display:block;margin-top:4px}
  .eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:20px}
  .section-heading{display:block;margin-bottom:30px}
  .section-heading>p{max-width:100%;font-size:15px;margin-top:20px}
  .practice-row{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:26px 0}
  .practice-index{gap:16px}
  .practice-index span{font-size:25px}
  .practice-index svg{width:24px}
  .practice-row h3{font-size:30px;line-height:1.1}
  .practice-row p{font-size:15px;line-height:1.75;margin-top:13px}
  .practice-row ul{grid-column:1/-1;padding-top:4px}
  .practice-row li a{font-size:15px;line-height:1.6;padding:13px 0;min-height:48px;gap:15px}
  .experience-layout{display:block}
  .experience-visual{position:relative;top:0;padding:40px 0 24px;background:transparent;border-bottom:1px solid #d5b77730}
  .experience h2{font-size:36px;line-height:1.08}
  .experience .eyebrow{font-size:10px}
  .city-scene svg{height:auto;aspect-ratio:680/450;max-height:300px;overflow:visible}
  .city-caption{font-size:10px;margin-top:0;letter-spacing:.13em}
  .scene-progress{margin-top:20px}
  .principles{padding:0 0 16px}
  .principle{min-height:0;padding:30px 0;display:block}
  .principle>span{display:block;margin-bottom:16px;font-size:11px}
  .principle h3{font-size:31px;line-height:1.15}
  .principle p{font-size:16px;line-height:1.8;max-width:100%;margin:17px 0}
  .principle>svg{width:26px}
  .contact-info>p:not(.eyebrow){font-size:16px;max-width:100%;margin-top:20px}
  .contact-links{margin-top:22px}
  .contact-links>a{gap:13px;padding:18px 0}
  .contact-links>a>svg{width:19px}
  .contact-links span{font-size:14px;min-width:0;overflow-wrap:anywhere;line-height:1.6}
  .contact-links small{font-size:10px;letter-spacing:.1em}
  .mail-alternative{font-size:13px;gap:12px;min-height:44px;align-items:center;margin-top:14px}
  .card{padding:23px 20px;box-shadow:none}
  .card:before{left:20px}
  .form-title{font-size:30px;margin-bottom:26px}
  .frow{grid-template-columns:1fr;gap:0}
  .field{margin-bottom:21px}
  .field label{font-size:12px;letter-spacing:.06em}
  .field input,.field select,.field textarea{font-size:16px;min-height:48px}
  .field select{padding-right:8px}
  .form-actions .btn{font-size:14px;gap:12px;padding:13px 12px;min-height:50px;white-space:normal}
  .form-note,.form-status{font-size:13px;line-height:1.7}
  .copy-draft{font-size:14px;min-height:44px}
  .quick-contact{display:none}
  footer{padding:34px 0 26px}
  .footer-top{display:block}
  .footer-top .brand{font-size:23px}
  .footer-top .text-link{font-size:13px;margin-top:24px;min-height:44px}
  .footer-statement{font-size:clamp(43px,12.3vw,62px);line-height:1.1;margin:26px 0;overflow-wrap:normal}
  .footer-bottom{display:block;font-size:12px;line-height:1.8}
  .footer-bottom>span{display:block}
}
@media screen and (max-width:360px){
  .wrap{width:calc(100% - 32px)}
  .brand{font-size:20px;gap:11px}.brand small{font-size:8px}.brand .monogram{font-size:28px}
  .header-inner{gap:8px}.header-contact{min-width:40px;padding:10px}.menu-toggle{width:40px}
  h1{font-size:44px}.hero-motto{font-size:21px}
  .hero-visual{gap:4px}.sculpture{height:212px}.identity h2{font-size:26px}.identity small{font-size:10px}
  .contact-links span{font-size:13px}.card{padding:22px 16px}
}
.city-stage{min-width:0}
@media screen and (max-width:760px){.city-stage{height:clamp(310px,88vw,430px);margin:8px -10px 0}.city-caption{font-size:11px;margin-top:8px}.experience-visual{top:0}.experience-layout{display:block}}
