/* Shared small-screen refinements; desktop styling remains in styles.css. */
@media(max-width:760px){
  .site-header{position:relative;height:82px;z-index:20;gap:20px}
  .site-header nav{display:none}
  .menu-toggle{display:flex;align-items:center;justify-content:flex-end;gap:14px;background:none;font-size:13px;padding:10px 0;min-height:44px;min-width:70px;flex-shrink:0}
  .menu-toggle>span{font-size:21px}
  .site-header nav.is-open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:calc(100% + 1px);padding:14px;background:var(--paper);z-index:30;border:1px solid var(--line);border-radius:0 0 5px 5px;align-items:stretch;gap:2px;box-shadow:0 12px 24px #1b1e1b14}
  .site-header nav.is-open>a{display:flex;align-items:center;min-height:48px;padding:12px 14px;font-size:15px}
  .site-header nav.is-open .nav-contact{border:0;background:#e9ecdf;border-radius:3px;justify-content:space-between}
  .site-header nav.is-open a[aria-current="page"]{color:var(--blue)}
  .hero-grid>*,.section-heading>*,.featured-project>*,.project-grid>*,.about-grid>*,.background-grid>*{min-width:0}
  .button,.close-dialog{min-height:44px}
  .site-footer>div{flex-wrap:wrap;justify-content:flex-start;column-gap:22px;row-gap:4px}
  .site-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
  .contact-email,.contact-card a{overflow-wrap:anywhere}
  input,select,textarea{font-size:16px;min-height:48px}
  dialog{max-height:calc(100dvh - 24px);overflow-y:auto}
}
@media(max-width:640px){
  .hero-grid{display:block}.hero-aside{max-width:none;padding-right:0;margin-top:24px}.hero-aside .orbit{display:none}
  .hero-aside>p{max-width:none;font-size:16px;line-height:1.8}.hero-aside .hero-audience{max-width:none;font-size:13px;line-height:1.8}
  .hero h1{font-size:clamp(58px,16vw,86px)}.hero-star{margin-left:18px}
  .hero-bottom .button-group{gap:14px;align-items:flex-start}.hero-bottom .button{min-height:48px;font-size:13px}.hero-bottom .text-link{font-size:13px;min-height:44px}
  .section-directory a{font-size:12px}.section-directory a>span:first-child{font-size:10px}
  .section-heading{display:block}.section-heading>p{max-width:none;font-size:15px;line-height:1.8;margin-top:22px}
  .featured-project{display:block}.featured-project .project-copy{margin-top:26px}.project-grid{display:block}.project-card+.project-card{margin-top:38px}
  .project-copy>p,.project-card>p,.service-content,.approach-grid p,.about-copy>p:not(.eyebrow),.faq-list p,.background-intro{font-size:15px;line-height:1.8;max-width:none}
  .project-copy>.text-link,.project-card>.text-link,.background-copy .text-link{font-size:14px;min-height:44px}
  .project-tags{font-size:11px;gap:7px;flex-wrap:wrap}.project-copy .concept-copy-note{font-size:12px;line-height:1.7}
  .service-list summary{grid-template-columns:24px minmax(0,1fr) 24px;gap:8px;min-height:74px}.service-list h3{font-size:23px;line-height:1.25}
  .service-content{display:block;margin-left:32px;padding-right:0}.service-content ul{margin-top:16px}.service-content>.text-link{max-width:100%;width:auto;min-height:44px;font-size:14px;gap:12px;margin-top:18px}
  .service-note{font-size:13px;line-height:1.8}
  .approach-grid{display:block}.approach-grid article+article{margin-top:28px}.approach-grid h3{font-size:25px}
  .about-grid{display:flex;flex-direction:column;align-items:stretch}.about-links{gap:12px 24px;flex-wrap:wrap}.about-links .text-link{font-size:14px;min-height:44px}
  .skill-tags>span{font-size:11px}.faq-section{display:block}.faq-list{margin-top:28px}.faq-list summary{font-size:15px;line-height:1.6;min-height:64px;gap:18px}
  .faq-list summary>span{flex-shrink:0}.faq-list p{padding-right:0}
  .background-grid{display:block}.background-links{margin-top:32px}.background-links>a{min-height:78px}.background-links small{font-size:12px;line-height:1.7}
  .background-copy .button{font-size:14px;min-height:48px}.background-copy>.button-group{gap:14px}
  .contact-bottom{display:block}.contact-bottom>p{font-size:15px;line-height:1.8;margin-bottom:24px}.contact-email{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
  .contact-bottom .button{min-height:48px;font-size:14px}.contact-bottom>div{align-items:stretch}.contact-bottom>div .button{align-self:flex-start}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:0}form label{font-size:14px;margin-top:18px}.optional{font-size:12px}
  dialog{width:calc(100% - 24px);padding:24px 20px}.dialog-intro{font-size:14px;line-height:1.8}.dialog-heading .eyebrow{font-size:9px;line-height:1.6;max-width:230px}
  .close-dialog{min-width:44px;min-height:44px;margin-top:-9px;margin-right:-10px}.form-note{font-size:12px;line-height:1.8}
  #enquiry-result>p{font-size:14px;line-height:1.8}#brief-preview{font-size:13px;max-height:40dvh}#enquiry-result .button{font-size:13px;min-height:44px}#edit-brief{min-height:44px;font-size:14px}
  .case-body p,.case-body li{font-size:15px;line-height:1.85}.case-body h2{position:static}.case-meta{grid-template-columns:minmax(0,1fr);font-size:14px}
  .case-meta span{font-size:11px}.concept-figure>figcaption{font-size:12px;line-height:1.8}.related-cta{display:block}.related-cta .button{margin-top:22px}
  .document-page p,.document-page li{font-size:15px;line-height:1.85}.document-services{display:block}
}
@media(max-width:380px){
  .hero-bottom .button-group{align-items:stretch;width:100%;flex-direction:column}.hero-bottom .text-link{align-self:flex-start}
  .section-directory>.wrap{gap:4px 12px}.section-directory a{font-size:11px}
}

.concept-figure>a{display:block;border-radius:6px}.concept-figure>a>img{width:100%;height:auto;border:1px solid var(--line);border-radius:6px}.concept-full-size{display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
