/* Touch and text sizing for the public site. Desktop composition is unchanged. */
@media screen and (max-width:820px){
  body:not(.studio-page){-webkit-text-size-adjust:100%}
  body:not(.studio-page) .site-header{position:sticky;top:0;z-index:40;height:auto;min-height:68px;padding-top:env(safe-area-inset-top,0px);background:#131411f5;backdrop-filter:blur(16px)}
  body:not(.studio-page) .header-inner{min-height:68px;padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px));gap:8px}
  body:not(.studio-page) .brand{min-width:0;flex-shrink:1;gap:7px}
  body:not(.studio-page) .brand-mark{width:34px;height:48px}
  body:not(.studio-page) .brand-text{min-width:0}
  body:not(.studio-page) .brand-text>span{font-size:16px;line-height:1.2;white-space:normal;overflow-wrap:normal}
  body:not(.studio-page) .brand-text small{font-size:7px;letter-spacing:.5px;line-height:1.3}
  html[lang=ka] body:not(.studio-page) .brand-text>span{font-size:13px;line-height:1.4}
  html[lang=ka] body:not(.studio-page) .brand-text small{font-size:6px;letter-spacing:0}
  body:not(.studio-page) .header-contacts{display:none}
  body:not(.studio-page) .menu-toggle{min-width:44px;min-height:44px;padding:10px;justify-content:center;align-items:center;flex-shrink:0;margin-left:0}
  body:not(.studio-page) .language-switch{margin:0 0 0 auto;flex-shrink:0}
  body:not(.studio-page) .language-switch summary{min-width:49px;min-height:44px;font-size:12px;padding:8px;justify-content:center;gap:4px}
  body:not(.studio-page) .language-switch summary svg{display:none}
  body:not(.studio-page) .language-options{right:-45px;max-width:calc(100vw - 28px);z-index:60}
  body:not(.studio-page) .language-options button{min-height:46px;font-size:14px;padding:11px 12px}
  body:not(.studio-page) .main-nav{left:0;right:0;top:100%;padding:12px max(16px,env(safe-area-inset-right,0px)) 15px max(16px,env(safe-area-inset-left,0px));gap:7px 12px;max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;font-size:13px}
  body:not(.studio-page) .main-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.studio-page) .main-nav a{display:flex;align-items:center;min-height:46px;min-width:0;white-space:normal;overflow-wrap:anywhere;padding:9px 8px;line-height:1.4}
  body:not(.studio-page) :is(#home,#services,#projects,#video-gallery,#contact){scroll-margin-top:84px}
  body:not(.studio-page) .hero h1,body:not(.studio-page) .section-heading h2,body:not(.studio-page) .about h2{max-width:100%;overflow-wrap:anywhere}
  body:not(.studio-page) .hero-description{font-size:14px;line-height:1.65}
  html[lang=ka] body:not(.studio-page) .hero-description{font-size:13px;line-height:1.75}
  body:not(.studio-page) .hero-cta{min-height:52px;min-width:0;max-width:100%;font-size:12px;line-height:1.4;padding:14px 20px;white-space:normal;text-align:center}
  body:not(.studio-page) .gold-button{white-space:normal;overflow-wrap:anywhere}
  body:not(.studio-page) .service-grid{min-width:0}
  body:not(.studio-page) .service-card{min-width:0}
  body:not(.studio-page) .service-body strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
  html[lang=ka] body:not(.studio-page) .service-body strong{font-size:14px;line-height:1.45}
  body:not(.studio-page) .service-body>span{font-size:12px;line-height:1.55}
  body:not(.studio-page) .section-intro{font-size:13px;line-height:1.6}
  body:not(.studio-page) .gallery-controls{min-width:0;flex-wrap:wrap;gap:8px}
  body:not(.studio-page) .gallery-tabs{min-width:0;gap:12px}
  body:not(.studio-page) .gallery-tabs button{min-height:44px;min-width:44px;font-size:12px;line-height:1.3;padding:10px 3px;white-space:normal}
  body:not(.studio-page) .round-button,body:not(.studio-page) .lightbox-controls .round-button{min-width:44px;width:44px;min-height:44px;height:44px}
  body:not(.studio-page) .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.4}
  body:not(.studio-page) .studio-invite{min-width:0;gap:16px}
  body:not(.studio-page) .studio-invite>div{min-width:0}
  body:not(.studio-page) .studio-invite h2{overflow-wrap:anywhere;line-height:1.35}
  body:not(.studio-page) .studio-invite p{font-size:13px;line-height:1.6}
  body:not(.studio-page) .studio-invite>a{min-width:0;min-height:48px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.5;gap:16px}
  body:not(.studio-page) .studio-invite>a>span{flex-shrink:0}
  body:not(.studio-page) .advantages h3{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
  body:not(.studio-page) .advantages p{font-size:12px;line-height:1.6}
  body:not(.studio-page) .consultation{min-width:0;scroll-margin-top:84px}
  body:not(.studio-page) .consultation>.eyebrow{white-space:normal;flex-wrap:wrap;row-gap:4px;font-size:9px;line-height:1.6;letter-spacing:.8px}
  html[lang=ka] body:not(.studio-page) .consultation>.eyebrow{font-size:8px;letter-spacing:0}
  body:not(.studio-page) .form-intro{font-size:13px;line-height:1.6;margin-top:9px;margin-bottom:15px}
  body:not(.studio-page) .form-row{gap:10px;min-width:0}
  body:not(.studio-page) form label{min-width:0}
  body:not(.studio-page) .consultation input,body:not(.studio-page) .consultation textarea{font-size:16px;line-height:1.4;min-height:48px;max-width:100%;padding:12px;border-radius:6px}
  body:not(.studio-page) .consultation textarea{min-height:90px;height:90px;max-height:250px;margin:10px 0;resize:vertical}
  body:not(.studio-page) .consultation .gold-button{min-height:50px;font-size:12px;line-height:1.4;padding:13px 14px}
  body:not(.studio-page) .form-privacy{font-size:11px;line-height:1.6;align-items:flex-start;text-align:left;justify-content:flex-start;margin-top:13px}
  body:not(.studio-page) .form-privacy svg{width:15px;height:17px;margin-top:2px;flex-shrink:0}
  body:not(.studio-page) .form-status,body:not(.studio-page) .download-request{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
  body:not(.studio-page) .download-request{display:inline-flex;align-items:center;min-height:44px}
  body:not(.studio-page) .canopy-project-summary{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
  body:not(.studio-page) .canopy-project-summary a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
  body:not(.studio-page) .footer{flex-wrap:wrap;min-width:0;gap:7px 16px;font-size:11px;line-height:1.5;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  body:not(.studio-page) .footer>span{min-width:0;overflow-wrap:anywhere}
  body:not(.studio-page) .footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;max-width:100%;overflow-wrap:anywhere}
  body:not(.studio-page) :is(.gallery-dialog,.service-dialog){max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
  body:not(.studio-page) .dialog-close{min-width:44px;width:44px;min-height:44px;height:44px;font-size:30px;right:9px;top:9px}
  body:not(.studio-page) .service-dialog-content{min-width:0;padding:22px 18px}
  body:not(.studio-page) .service-dialog-content>p:not(.eyebrow){font-size:14px;line-height:1.65}
  body:not(.studio-page) .service-dialog .gold-button{min-height:48px;font-size:12px;line-height:1.4}
  body:not(.studio-page) .gallery-caption{min-width:0}
  body:not(.studio-page) .gallery-caption h2{overflow-wrap:anywhere;line-height:1.3}
  body:not(.studio-page) .gallery-caption p{font-size:13px;line-height:1.5}
  body:not(.studio-page) .lightbox-controls{flex-wrap:wrap;min-width:0}
  body:not(.studio-page) .lightbox-controls>span{font-size:13px}
}

@media screen and (max-width:480px){
  body:not(.studio-page) .brand-text>span{font-size:13px}
  html[lang=ka] body:not(.studio-page) .brand-text>span{font-size:11px}
  body:not(.studio-page) .brand-text small{font-size:6px;letter-spacing:.1px}
  body:not(.studio-page) .form-row{grid-template-columns:minmax(0,1fr)}
  body:not(.studio-page) .studio-invite{display:block}
  body:not(.studio-page) .studio-invite>a{margin-top:12px}
}

@media(prefers-reduced-motion:reduce){body:not(.studio-page){scroll-behavior:auto}body:not(.studio-page) :is(.service-card,.project img,.video-card img,.gold-button){transition:none}}
