/* Layout refinements: keep touch targets legible and images near their source size. */
[hidden]{display:none!important}
main,section,.hero-content,.project-card,.project-meta>div{min-width:0}
.hero.hero-text-only{grid-template-columns:1fr;min-height:0;padding-block:clamp(40px,6vw,85px);text-align:center}
.hero-text-only .hero-content{width:100%;max-width:1000px;margin-inline:auto}
.hero-text-only .eyebrow:before{margin-inline:auto}
.hero-text-only .hero-description{max-width:600px;margin-inline:auto}
.hero-text-only .hero-actions{justify-content:center}
@media(max-width:600px){.hero.hero-text-only{padding-block:36px}.hero-text-only .hero-actions{max-width:420px;margin-inline:auto}}
.hero h1{font-size:clamp(40px,4.5vw,68px);line-height:1.08;letter-spacing:-.055em}
.hero-actions .button:first-child{background:var(--blue);color:white}
.hero-actions .secondary{background:var(--paper);color:var(--navy)}
.hero{min-height:570px;gap:5vw;padding-top:40px;padding-bottom:45px}
.hero-media{height:440px}
.about-strip{padding-top:65px;padding-bottom:65px}
.project-card:nth-child(even){margin-top:0}
.project-card:last-child:nth-child(odd){max-width:100%;grid-column:auto;margin:0}
.project-grid{gap:42px 28px}
.project-link .visual{aspect-ratio:1.75}
.project-link .optimized img{height:100%;object-fit:cover}
.project-meta{gap:12px}
.project-meta h3{font-size:23px}
.project-view{opacity:1;transform:none}
.project-hero{max-width:1050px;margin-inline:auto}
.project-hero .optimized{max-width:var(--image-width);margin-inline:auto}
.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-width:1100px;margin-inline:auto;gap:32px}
.case-gallery figure{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;background:var(--paper);padding:28px;border-radius:18px}
.case-gallery .optimized{max-width:min(100%,var(--image-width));width:100%;background:transparent}
.case-gallery figcaption{max-width:380px;margin-top:22px;line-height:1.7}
.contact-links a{overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center;gap:10px}
.contact-links a[data-event=whatsapp]{color:var(--blue);font-weight:700}
.contact-links a[data-event=phone]{font-variant-numeric:tabular-nums}
#contact-dialog{width:min(540px,calc(100vw - 32px));height:fit-content;max-height:calc(100dvh - 32px);margin:auto;border-radius:20px;padding:55px 32px 32px}
#contact-dialog .contact-links{gap:4px;margin:20px 0}
.analytics-consent{position:fixed;z-index:40;bottom:18px;left:18px;width:min(430px,calc(100vw - 36px));background:white;padding:20px;border:1px solid #dce2e9;border-radius:14px;box-shadow:0 8px 40px #0b1f4426}
.analytics-consent p{font-size:13px;line-height:1.6}.analytics-consent>a{font-size:12px;text-decoration:underline}
.analytics-consent>div{display:flex;gap:10px;margin-top:14px}.analytics-consent button{min-height:44px;padding:10px 18px;border-radius:8px;background:var(--blue);color:white}.analytics-consent button:last-child{background:var(--paper);color:var(--navy)}
.analytics-preferences{margin:0 5vw 24px;padding:10px 0;background:transparent;color:#526078;text-decoration:underline;font-size:12px;min-height:44px}
@media(max-width:1100px){.hero h1{font-size:clamp(36px,5vw,52px)}.hero-media{height:360px}.project-meta{display:block}.project-meta p{margin-top:8px;text-align:start;max-width:none}}
@media(max-width:820px){#site-header{height:76px;gap:12px}.header-actions{gap:12px}.logo{width:118px}.original-logo img{width:132px;left:-8px;top:-31px}.hero{gap:28px;padding-top:30px}.hero-media{height:320px}.project-meta h3{font-size:21px}.quick-contact{min-height:44px;padding:11px 13px}.menu-toggle{min-height:44px;min-width:44px}.lang{min-width:32px;min-height:44px;display:grid;place-items:center}.case-gallery{gap:20px}.case-gallery figure{padding:18px}}
@media(max-width:600px){
 html{scroll-padding-top:88px}section{padding:48px 6vw}h2{font-size:32px;line-height:1.15}
 #site-header{padding-inline:5vw;gap:8px}.header-actions{gap:5px}.logo{width:105px}.original-logo img{width:118px;left:-7px;top:-24px}
 .quick-contact{font-size:11px;padding:10px 12px}.menu-toggle{font-size:23px;min-width:36px;padding:6px}
 .hero{grid-template-columns:1fr;padding-top:26px;padding-bottom:34px;gap:24px}
 .hero h1{font-size:clamp(36px,9.2vw,51px);line-height:1.1;letter-spacing:-.05em}
 [dir=rtl] .hero h1{font-size:clamp(36px,9.2vw,48px);line-height:1.4}
 .hero .eyebrow{margin-bottom:18px;font-size:9px}.eyebrow:before{margin-bottom:13px}
 .hero-description{margin-top:17px;font-size:14px;max-width:36ch}
 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 0}
 .hero-actions .button{font-size:12px;gap:12px;padding:14px 12px;min-height:48px}
 .hero-media{height:260px;max-width:420px;width:calc(100% - 12px);margin-inline:auto;border-radius:42% 42% 20px 20px}
 .hero-media .signal-wave{transform:scale(.52) rotate(-24deg);left:-47px;top:16%}
 .position-strip{padding:20px 6vw;gap:10px 16px;font-size:11px}
 .about-strip{padding-block:44px;gap:20px}.about-strip p{font-size:14px}
 .section-top{margin-bottom:26px}.section-top p{margin-top:15px}
 .project-grid{gap:30px}.project-meta{display:block;margin-top:13px}.project-meta h3{font-size:23px}.project-meta span{margin-top:6px}.project-meta p{font-size:12px;margin-top:7px;text-align:start;max-width:none}
 .project-link{border-radius:14px}.project-view{bottom:12px;right:12px;padding:11px 15px;min-height:38px}
 .featured h2{font-size:32px}.featured{gap:25px}.service-row summary{padding:18px 0}.service-row h3{font-size:22px}
 .project-intro{padding-top:38px;padding-bottom:28px}.project-intro h1{font-size:38px;overflow-wrap:anywhere}.project-intro .big-copy{font-size:17px;margin:20px 0}.project-intro dl{gap:20px;margin-top:25px}
 .project-hero{margin-inline:6vw}.story{gap:27px}.story h2{font-size:27px}
 .case-gallery{grid-template-columns:1fr;padding-top:0;gap:22px}.case-gallery figure{padding:22px}.case-gallery .optimized{max-width:min(100%,var(--image-width))}
 .drawer{padding:62px 22px 28px}.drawer h2{font-size:32px}input,textarea,select{font-size:16px}
 #contact-dialog{padding:52px 24px 28px}#contact-dialog h2{font-size:34px;margin-bottom:16px}#contact-dialog .contact-links{font-size:15px;gap:3px}#contact-dialog>.button{width:100%}
 .contact-page h1{font-size:38px}.contact-page .contact-links{font-size:15px}.footer-head h2{font-size:38px}footer{padding-top:48px}.footer-grid{margin-top:35px}
 .floating-talk{bottom:max(15px,env(safe-area-inset-bottom));font-size:12px}
}
@media(max-width:350px){.quick-contact{font-size:10px;padding-inline:8px}.header-actions{gap:2px}.logo{width:90px}.hero-actions .button{font-size:11px;padding-inline:9px}}


.contact-icon{flex:none;color:var(--blue)}
