/* Phone and tablet layout: one readable column, comfortable controls, natural flow. */
@media (max-width:860px){
  :root{--mobile-header-height:72px}
  html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}
  .nav-shell{top:0}
  .nav-shell .nav,.nav-shell.scrolled .nav{height:var(--mobile-header-height);padding:0;gap:16px}
  .nav .logo{margin-right:auto}
  .nav .wordmark{font-size:40px}
  .menu-toggle{width:46px;height:46px;flex:0 0 46px;margin-left:0;border-radius:50%}
  .nav-action{display:none}
  .mobile-menu{padding:96px max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom));height:100dvh;overscroll-behavior:contain}
  .mobile-main>a{font-size:clamp(28px,6vw,42px);padding:17px 0;line-height:1.2;border-color:var(--line)}
  .mobile-bottom{font-size:13px;gap:12px 24px}
  .mobile-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .mobile-bottom>span{flex-basis:100%}
  .intro-loader{display:none!important}
  .hero-line>span{transform:none!important;transition:none!important}
  .art-hero{padding-top:110px}
  .art-hero h1{font-size:clamp(44px,7.8vw,72px);line-height:1.08}
  .wrap{width:calc(100% - 48px)}
  .wrap>*{min-width:0}
  .btn,.text-link,button,a{-webkit-tap-highlight-color:#c28b4830;touch-action:manipulation}
  .btn{min-height:48px}
  .section-head h2,.practices-side h2,.method-section h2,.operator-text h2,.detail-grid h2,.case-story h2,.cta h2{font-size:clamp(34px,5.8vw,52px);line-height:1.12}
  .js-motion .reveal{opacity:1;transform:none;transition:none!important}
  .operator-strip{grid-template-columns:1fr 1fr;gap:30px}
  .jumpnav{top:80px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .jumpnav a{min-height:44px;display:inline-flex;align-items:center;font-size:12px;flex-shrink:0}
}
@media (max-width:600px){
  body{font-size:16px;line-height:1.65}
  .wrap{width:calc(100% - 40px)}
  h1,h2,h3,h4{overflow-wrap:break-word}
  h2{font-size:36px;line-height:1.12}
  h3{font-size:29px;line-height:1.17}
  .section{padding-block:52px}.section.small{padding-block:36px}
  .eyebrow,.eyebrow.light{font-size:10px;letter-spacing:.13em;margin-bottom:18px;line-height:1.6}
  .art-hero{padding:104px 0 24px}
  .hero-topline{margin-bottom:22px}
  .hero-topline .eyebrow{font-size:10px;letter-spacing:.09em;margin:0}
  .art-hero h1{font-size:clamp(36px,10.9vw,60px);line-height:1.08;letter-spacing:-.03em;width:100%;max-width:none}
  .hero-line>span{padding-bottom:0}
  .hero-bottom{width:100%;margin-top:22px}
  .hero-summary{font-size:16px;line-height:1.65;max-width:100%}
  .hero-bottom .button-row{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:24px}
  .hero-bottom .btn{width:100%;font-size:13px;min-height:50px;justify-content:space-between;padding:14px 18px}
  .hero-bottom .text-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:14px}
  .hero-footline{font-size:10px;line-height:1.6;gap:16px;align-items:start}
  .hero-footline>span:first-child{max-width:65%}
  .hero-footline .scroll-cue{font-size:10px;min-height:44px;max-width:35%;white-space:normal;line-height:1.5}
  .hero-gridlines{opacity:.25}
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center;white-space:normal;width:auto;gap:12px 20px;padding:0 20px;font-size:10px;letter-spacing:.08em}
  .marquee-track span{gap:0}.marquee-track span:after{display:none}.marquee-track span:nth-child(n+7){display:none}
  .manifesto,.statement-section{padding-block:54px}
  .manifesto h2{font-size:clamp(32px,8.5vw,40px);line-height:1.18}
  .manifesto-top{gap:12px}
  .manifesto-meta{grid-template-columns:1fr;gap:0;margin-top:30px;padding-top:0}
  .manifesto-meta>div{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #f9f6ef25}
  .manifesto-meta strong{font-size:40px;line-height:1.1}
  .manifesto-meta small{font-size:13px;line-height:1.6;margin:0}
  .section-head{margin-bottom:26px}
  .section-head .lead,.lead{font-size:16px;line-height:1.65}
  .section-head .lead{margin-top:18px}
  .work-header{gap:12px;align-items:end}
  .work-header h2{font-size:36px}
  .work-controls{gap:8px;flex-shrink:0}
  .icon-button{width:44px;height:44px}
  .work-track{padding:0 20px 20px;gap:16px;margin-top:26px;scroll-padding-inline:20px}
  .work-card{flex-basis:calc(100vw - 56px);min-width:0;scroll-snap-align:start}
  .work-card-visual,.work-index-grid .work-card-visual,.work-index-grid .work-card:last-child .work-card-visual{height:auto;aspect-ratio:1.08}
  .work-card-text h3{font-size:30px}.work-card-text p{font-size:15px;line-height:1.65}.work-card-text small{font-size:11px;letter-spacing:.04em}
  .work-badge{font-size:10px;max-width:calc(100% - 32px);line-height:1.5;white-space:normal}
  .private-art .confidential-word{top:60px;font-size:9px}.private-art strong{font-size:90px;bottom:20px}.private-art small{font-size:10px;bottom:32px}
  .pocono-art strong{font-size:44px;line-height:1.05}.pocono-art small{font-size:9px;top:70px}
  .statement-word{font-size:clamp(32px,8.6vw,44px);line-height:1.16}
  .statement-section p:last-child{font-size:16px;max-width:100%;line-height:1.7;margin-top:24px}
  .practices-side p,.practice-body>p,.method-section .engagement p,.method-section .engagement li,.operator-text p,.insight-card p,.cta p,.detail-grid p,.strength-grid p,.service-card p,.service-panel p,.case-story .body-copy p,.portfolio-scope p,.role p,.role li,.faq details p{font-size:16px;line-height:1.65}
  .practices-layout{gap:28px}.practice-row h3{font-size:27px}.practice-body{padding-left:0}
  .tag,.practice-body .tag,.service-card .tag{font-size:11px;line-height:1.5;padding:6px 9px}
  .method-section .engagement,.method-section .engagement:first-child,.method-section .engagement:last-child{padding:24px;gap:0;min-width:0}
  .method-section .engagement h3{font-size:31px}
  .method-section .engagement .number{width:42px;height:42px;font-size:25px;margin-bottom:20px}
  .method-section .engagement ul{padding-left:18px;margin:20px 0}
  .method-section .engagement .text-link,.practice-body .text-link,.operator-text .text-link,.text-link{font-size:13px;min-height:44px;align-items:center;line-height:1.5}
  .operator-strip{grid-template-columns:1fr;gap:28px}
  .operator-portrait{max-height:420px;aspect-ratio:4/4.6;width:100%;margin:0}
  .operator-portrait img{object-fit:cover;object-position:center 25%;width:100%;height:100%}
  .portrait-caption span{font-size:12px}
  .insight-grid{gap:28px}.insight-card h3{font-size:29px;line-height:1.18}
  .cta{padding:30px 22px}.cta h2{font-size:34px;line-height:1.14}.cta h2 br{display:none}
  .cta .button-row{flex-direction:column;align-items:stretch;gap:12px}
  .cta .btn{width:100%;justify-content:space-between;font-size:12px;padding:14px 16px;white-space:normal}
  .footer{padding:32px 0 24px}.footer-main{gap:28px;padding-bottom:28px}.footer-main p{font-size:14px;line-height:1.65}
  .footer-links{width:100%;gap:20px;font-size:14px}.footer-links strong{font-size:10px;margin-bottom:6px}
  .footer-links a{min-height:44px;display:flex;align-items:center;line-height:1.4}
  .footer-bottom{font-size:11px;line-height:1.7}.footer-bottom div{gap:8px;flex-direction:column;align-items:start}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .subhero{padding:104px 0 40px}.subhero h1,.about-intro h1{font-size:clamp(36px,10.5vw,52px);line-height:1.12;letter-spacing:-.025em}
  .subhero .lead{font-size:16px;line-height:1.7;margin-top:22px}
  .breadcrumb{font-size:11px;flex-wrap:wrap;line-height:1.6;margin-bottom:20px;gap:6px}
  .service-card{padding:24px}.service-card h3{font-size:31px}.service-card .eyebrow{margin-bottom:18px}
  .service-tabs{scrollbar-width:thin}.service-tab{font-size:12px;min-height:46px}.service-panel{padding:24px;min-height:0}.service-panel h3{font-size:31px;line-height:1.16}
  .deliverable-list li{font-size:15px;line-height:1.65}.detail-grid{gap:28px}
  .faq summary{font-size:17px;line-height:1.5;gap:16px}.faq details p{padding-right:0}
  .count-grid strong{font-size:42px}.count-grid p{font-size:13px;line-height:1.55}
  .case-overview{gap:24px 16px}.case-overview small{font-size:10px}.case-overview p{font-size:14px}.case-overview h3{font-size:27px}
  .document-nav{scrollbar-width:thin}.document-nav button{font-size:12px;min-height:44px;padding:10px 14px}.caption,.doc-panel p{font-size:12px;line-height:1.6}
  .flow-grid{grid-template-columns:1fr}.flow-step{padding:22px}.flow-step h4{font-size:24px}.flow-step p,.method-flow p{font-size:15px;line-height:1.65}.flow-step:after{display:none}
  .compare-control{display:flex;width:100%}.compare-control button{min-height:44px;font-size:12px;flex:1}.compare-note{font-size:12px;line-height:1.6}
  .system-map{height:auto;width:100%;margin:24px 0;display:grid;gap:10px;padding:18px;border-radius:14px}.system-map:before,.system-map:after{display:none}
  .system-center{position:static;transform:none;translate:none;width:auto;height:auto;margin:0 0 8px;background:transparent;border:0;box-shadow:none}
  .system-node:nth-of-type(n){position:static;transform:none;translate:none;width:100%;min-height:58px;text-align:left;font-size:15px;padding:14px}.system-node small{font-size:12px}
  .contact-layout{gap:32px}.contact-links a{font-size:16px;min-height:56px;gap:12px}.contact-links small{font-size:11px}
  .brief-form{padding:24px 20px}.brief-form>p{font-size:15px}.field label,.field legend{font-size:13px}
  .field input,.field select,.field textarea{font-size:16px;min-height:50px}.check-row,.form-note{font-size:13px!important;line-height:1.65}
  .form-actions{flex-direction:column}.form-actions .btn{font-size:13px;min-height:50px;justify-content:space-between}
  .article h2{font-size:31px}.article h3{font-size:27px}.article p,.article li{font-size:16px;line-height:1.8}.article .callout{font-size:15px;padding:22px}.article-meta{font-size:12px;flex-wrap:wrap;gap:12px}
  .role h3{font-size:29px}.role h4{font-size:23px}.role-meta{font-size:11px}.role{padding-left:20px}
  .safe-note{font-size:13px;line-height:1.65}.cv-sheet{padding:22px}.cv-sheet h1{font-size:36px}.cv-sheet .role p,.cv-sheet .role li{font-size:14px}.cv-contact{font-size:13px;overflow-wrap:anywhere}
  .backtop{width:44px;height:44px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
}
@media (max-width:360px){
  .wrap{width:calc(100% - 32px)}
  .mobile-menu{padding-inline:20px}.mobile-main>a{font-size:28px}
  .work-header{flex-wrap:wrap}.work-controls{margin-left:auto}
  .cta{padding:26px 18px}.cta h2{font-size:30px}
  .private-art strong{font-size:75px}.private-art small{font-size:9px;right:16px;max-width:110px}
}
