/* Cross-device stability layer. Visual design and wording remain unchanged. */
.hero>*,.manifesto>*,.section-head>*,.editorial-card,.founder>*,.enquiry>*,.page-hero>*,.split>*,.values>*,.services>*,.gallery>*,.contact-grid>*{min-width:0}
.hero h1,.manifesto h2,.section-head h2,.founder h2,.enquiry h2,footer h2,.page-hero h1,.section h2,.card h3,.process-list h3{word-break:normal;overflow-wrap:normal}
img{max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent,#c9d8e8);outline-offset:4px}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  .nav{height:126px;padding:20px 6vw;align-items:start;grid-template-columns:minmax(0,1fr) auto}
  .nav nav{display:flex;position:absolute;top:74px;left:6vw;right:6vw;gap:22px;padding:11px 0;overflow-x:auto;white-space:nowrap;border-top:1px solid var(--line);scrollbar-width:none}
  .nav nav::-webkit-scrollbar,.page-nav nav::-webkit-scrollbar,.filters::-webkit-scrollbar,.home-filters::-webkit-scrollbar{display:none}
  .contact-link{font-size:10px;white-space:nowrap}
  .hero{height:auto;min-height:100svh;padding:145px 6vw 12vw;display:block}
  .hero:after{display:block;top:126px;bottom:auto;left:0;right:0;width:100%;height:calc(43vh + 48px)}
  .hero:before{left:6vw;right:6vw;bottom:5vw}
  .hero-film{position:relative;inset:auto;width:100%;height:43vh;margin:0 0 48px;box-shadow:12px 14px 0 var(--accent)}
  .hero .eyebrow,.hero h1,.hero-copy,.hero-disciplines,.round-link{position:relative;z-index:3}
  .hero h1{font-size:clamp(46px,13.5vw,72px);line-height:.94;max-width:100%;margin:28px 0}
  .hero h1 span:last-child{white-space:normal}.hero-copy{max-width:34ch;font-size:14px;line-height:1.65}
  .hero-disciplines{margin-top:26px;max-width:100%}.round-link{margin-top:28px}
  .manifesto h2{font-size:clamp(40px,11.5vw,62px);line-height:1.06}.section-head h2{font-size:clamp(46px,13vw,68px);line-height:.96}
  .home-filters,.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none}.home-filters button,.filters button{flex:0 0 auto}
  .editorial-projects{display:grid;grid-template-columns:1fr;gap:14vw}.editorial-card{margin:0}
  .editorial-card .editorial-image,.editorial-card.card-0 .editorial-image,.editorial-card.card-1 .editorial-image,.editorial-card.card-2 .editorial-image,.editorial-card.card-3 .editorial-image,.editorial-card.card-4 .editorial-image,.editorial-card.card-5 .editorial-image{height:auto;aspect-ratio:3/2}
  .hover-title h3{font-size:clamp(34px,10vw,48px);line-height:.96}.editorial-meta{min-height:0}.editorial-meta h3{font-size:clamp(26px,8vw,34px);line-height:1.05}
  .all-projects-card h3{font-size:clamp(52px,15vw,76px)}.founder-image{width:100%;max-width:100%;height:auto;aspect-ratio:4/5;padding:12px;overflow:hidden}.founder-image img{display:block;max-width:100%}
  .founder h2,.enquiry h2{font-size:clamp(52px,15vw,78px);line-height:.9}.testimonials blockquote{font-size:clamp(32px,9vw,48px);line-height:1.16}
  .testimonial-meta{gap:20px;flex-wrap:wrap}.enquiry input,.enquiry select,.enquiry textarea{font-size:16px}.whatsapp{right:14px;bottom:14px;max-width:calc(100vw - 28px)}
  .footer-bottom{align-items:start}.contact-details{overflow-wrap:anywhere;line-height:1.7}

  .page-nav{height:126px;padding:20px 5vw;align-items:start;grid-template-columns:minmax(0,1fr) auto;position:relative}
  .page-nav nav{display:flex;position:absolute;top:73px;left:5vw;right:5vw;gap:22px;padding:11px 0;overflow-x:auto;white-space:nowrap;border-top:1px solid var(--line);scrollbar-width:none}
  .page-nav>a:last-child{font-size:9px;padding:10px 12px;white-space:nowrap}
  .page-hero{min-height:auto;padding:15vw 6vw 18vw;gap:30px}.page-hero h1{font-size:clamp(50px,15vw,76px);line-height:1}.page-hero p{font-size:16px}
  .section{padding:18vw 6vw}.section h2{font-size:clamp(44px,13vw,66px);line-height:1.03}.copy{font-size:16px}
  .portrait{height:auto;aspect-ratio:4/5;border-width:8px}.values,.services,.gallery{grid-template-columns:minmax(0,1fr)}
  .card{min-height:0;padding:28px 24px}.card h3{margin:36px 0 18px;line-height:1.1}.card p{font-size:15px}
  .project-card img{height:auto;aspect-ratio:3/2}.project-card h3{line-height:1.08}
  .process-list article{grid-template-columns:42px minmax(0,1fr);gap:22px}.process-list h3{font-size:34px;line-height:1.1}.process-list p{font-size:15px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.timeline article{grid-template-columns:70px minmax(0,1fr);gap:20px}.timeline h3{margin:0;line-height:1.25}
  .page-footer{gap:18px;flex-wrap:wrap;line-height:1.5}.page-footer>*{min-width:0;overflow-wrap:anywhere}
  .journal-card h2{font-size:clamp(34px,10vw,48px);line-height:1.04}.journal-card p{font-size:16px}
  .article-shell{width:88vw;padding-top:16vw}.article-shell h1{font-size:clamp(50px,15vw,76px);line-height:1}.article-intro{font-size:21px}.article-image{height:auto;max-height:none}.article-actions a{flex:1 1 210px;text-align:center}
  .project-heading{min-height:auto}.project-lead img{height:auto;max-height:none}.project-information h2{font-size:clamp(42px,13vw,66px);line-height:1}.project-enquiry{font-size:11px}
}

@media(min-width:761px) and (max-width:1100px){
  .nav nav{gap:20px}.hero{padding-right:54vw}.hero h1{font-size:clamp(58px,6.5vw,78px)}.hero-copy,.round-link{margin-left:4vw}
  .founder,.enquiry{gap:6vw}.editorial-meta{grid-template-columns:1fr}.page-nav{grid-template-columns:auto minmax(0,1fr) auto;gap:22px}.page-nav nav{gap:16px;justify-content:center}
  .page-hero{grid-template-columns:1fr 1.7fr}.values,.services{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:5vw}
}

@media(max-width:380px){.contact-link span{display:none}.hero h1{font-size:44px}.page-nav>a:last-child{padding:9px 10px}}

/* Touch devices use tap-to-reveal because they do not have hover. */
@media(hover:none) and (pointer:coarse){
  .nav nav a,.page-nav nav a{display:flex;align-items:center;min-height:44px;padding:0 3px}
  .page-nav>a:last-child,.founder a,.manifesto-meta a,.card a,.page-footer a,.form-actions a,.contact-grid a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
  .form-actions a{padding-left:7px;padding-right:7px}
  .enquiry input,.enquiry select,.contact-form input,.contact-form select{min-height:44px}
  .home-filters button,.filters button,.form-actions button,.contact-form button{min-height:44px}
  .editorial-card .project-hover{opacity:0}
  .editorial-card.touch-active .project-hover,
  .editorial-card:focus-visible .project-hover{opacity:1}
  .editorial-card.touch-active .hover-title{transform:none}
}
