/* Mobile-first editorial presentation. Desktop keeps its original composition. */
.qit-arrow{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;flex-shrink:0}
.mobile-photo,.mobile-intro,.work-navigation{display:none}
@media(max-width:1000px){
 body{overflow-wrap:break-word} .header{height:auto;min-height:80px;margin:0;padding:12px 5%;gap:10px;background:#151816;position:relative}.header .brand-sub{display:none}.header .brand>span{font-size:25px}.header .brand-mark{width:32px;height:30px}.header .language-switch{order:2;margin-left:auto;font-size:12px}.header .menu-toggle{order:3;margin-left:0;font-size:12px;padding:10px}.header .language-switch a{min-width:32px;min-height:44px}.header nav{z-index:20}.header nav>a{font-size:16px}
 .hero{display:block;position:relative;padding:0;min-height:0;overflow:visible;max-width:none}.hero-copy{padding:40px 6% 30px;max-width:760px}.hero h1,html:lang(en) .hero h1{font-size:clamp(2.25rem,8.8vw,4.5rem);white-space:normal;letter-spacing:-.055em;line-height:1.08;margin-bottom:22px}.hero-description,.hero-foot,.hero-art{display:none}.mobile-intro{display:block;font-size:1rem;line-height:1.65;color:#bac3b6;max-width:38ch;margin:0 0 25px}.eyebrow{font-size:.6875rem;letter-spacing:1.2px;margin-bottom:20px}.button{font-size:.875rem;min-height:48px;gap:22px;padding:15px 20px;max-width:100%;line-height:1.5}.mobile-photo{display:block;position:relative;margin:0 5% 28px;overflow:hidden;border-radius:8px;background:#20261f}.mobile-photo img{width:100%;height:clamp(230px,52vw,410px);object-fit:cover;display:block}.mobile-photo figcaption{position:absolute;inset:auto 0 0;padding:45px 20px 18px;background:linear-gradient(transparent,#080c0de8);font-size:.75rem;line-height:1.5;color:white}.mobile-photo figcaption span{display:block;font-size:.625rem;letter-spacing:1.5px;color:#d2f69c;margin-bottom:5px}.expertise-strip{display:none}
 .section{padding:48px 6%}h2,.ai h2,.contact h2{font-size:clamp(1.875rem,6vw,2.75rem);line-height:1.15;letter-spacing:-.04em}.section-heading{display:block;margin-bottom:28px}.section-heading>p:last-child{font-size:1rem;line-height:1.6;margin-top:18px}.section-heading>p:last-child br{display:none}.services{grid-template-columns:1fr;gap:0}.service:nth-child(n){padding:0;border-right:0;border-top:1px solid #bdc6b5}.service summary{padding:20px 35px 20px 0;min-height:80px}.service-number{font-size:.625rem;margin:0 0 8px;letter-spacing:.7px}.service h3{font-size:1.25rem;padding:0;margin:0;line-height:1.35;letter-spacing:-.5px}.service h3 br{display:none}.service h3 br:after{content:' '}.service-icon{right:0;top:34px;font-size:22px}.service[open] .service-icon{transform:rotate(90deg)}.service-body{padding:0 0 22px}.service-body>p{font-size:1rem;min-height:0;line-height:1.65;margin:0 0 14px}.service ul{font-size:.875rem;min-height:0;line-height:1.8;padding:0 0 12px}.service-body>a{font-size:.875rem;min-height:44px}.service-featured{background:none}
 .work-heading{display:block;margin-bottom:24px}.work-heading>p{font-size:1rem;line-height:1.65;max-width:none;margin-top:18px}.work>.work-grid,.work-more .work-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 15px;scrollbar-width:thin;scrollbar-color:#768b60 #20261f}.work-card{flex:0 0 86%;scroll-snap-align:start;min-width:0}.work-image{aspect-ratio:4/3;border-radius:6px}.work-image>span{font-size:.75rem}.work-copy{padding-top:18px}.work-category{font-size:.6875rem;line-height:1.5}.work-copy h3{font-size:1.375rem;line-height:1.3}.work-context,.work-description{display:none}.work-navigation{display:flex;align-items:center;gap:12px;margin:14px 0 0;font-size:.75rem;color:var(--muted)}.work-navigation>span{margin-right:auto}.work-navigation button{width:46px;height:46px;border:1px solid #59654e;background:none;color:var(--ink);border-radius:50%;cursor:pointer}.work-more{margin-top:22px}.work-more>summary{font-size:.875rem;line-height:1.6}.work-dialog-copy>p:last-child{font-size:1rem}.work-dialog-close{min-height:44px;font-size:.875rem}
 .ai{display:block}.ai-copy>p:not(.eyebrow){font-size:1rem;line-height:1.65;margin:20px 0}.ai-copy>p:not(.eyebrow):nth-of-type(3){display:none}.ai-flow{padding:22px;margin-top:30px;max-width:none;border-radius:8px}.ai-flow>.eyebrow,.flow-note{display:none}.flow-core{border-top:0;padding:0 0 20px}.flow-core strong{font-size:1rem}.flow-core span{font-size:.8125rem}.flow-branches{margin-left:0;padding-left:0;border:0}.flow-branches article{padding:18px 0 0}.flow-branches article:before{display:none}.flow-branches h3{font-size:1rem}.flow-branches p{font-size:.875rem;line-height:1.6}.flow-branches article>span{font-size:.75rem}
 .clients-heading{display:block}.clients h2{font-size:1.875rem}.clients-pause{min-height:44px;font-size:.75rem}.clients .client-logo{height:95px}.clients .client-card figcaption{font-size:.75rem}.clients .eyebrow{font-size:.6875rem}
 .about{display:block}.about-visual{min-height:125px;margin-bottom:28px}.about-year{position:relative;display:block;left:auto;top:auto;padding:25px;font-size:3rem;letter-spacing:-3px}.about-year>span{font-size:.625rem;margin-top:12px;letter-spacing:1px}.visual-caption{display:none}.about-copy>p:not(.eyebrow){font-size:1rem;line-height:1.65;max-width:none;margin:20px 0}.text-link{font-size:.875rem;line-height:1.6;min-height:44px;max-width:none;gap:14px}.observatory-heading{display:block;margin-bottom:25px}.observatory-heading>p{font-size:1rem;line-height:1.65;max-width:none}.observatory-frame{height:410px}.observatory h2 br{display:none}
 .contact{display:block;padding-bottom:0}.contact>div>p:not(.eyebrow){font-size:1rem;line-height:1.65}.contact>div>.button{display:none}.contact-links{width:100%;padding-top:0}.contact-links>span,.contact-links>p{display:none}.contact-links>a{font-size:1.125rem;padding:14px 0;min-height:48px;margin:0;width:100%;letter-spacing:0}.social-link{font-size:.875rem}.message-section{display:block;border:0;padding-top:28px}.message-section>div{display:none}.form-row{grid-template-columns:1fr;gap:0}#contact-form label{font-size:1rem}#contact-form .form-privacy{font-size:.8125rem;line-height:1.65}#contact-form .button{width:100%}footer{padding:25px 6%;gap:18px;font-size:.8125rem}footer>div{margin-left:0}footer .legal-links{gap:18px}footer .legal-links a{padding:12px 0}.work-dialog-copy h2{font-size:1.5rem}
}
@media(min-width:701px) and (max-width:1000px){.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;padding:35px 5%}.hero-copy{padding:0}.hero h1,html:lang(en) .hero h1{font-size:clamp(2.25rem,4.8vw,3.2rem)}.mobile-photo{margin:0}.mobile-photo img{height:390px}.section{padding:55px 5%}.services{grid-template-columns:1fr 1fr;gap:0 30px}.work-card{flex-basis:47%}.ai{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ai-flow{margin:0;align-self:center}.about{display:grid;grid-template-columns:1fr 1.6fr;gap:35px;align-items:center}.about-visual{margin:0;min-height:230px}.about-year{padding:30px}.contact{display:flex;gap:40px}.contact-links{width:45%}.message-section{max-width:760px;margin:auto}.form-row{grid-template-columns:1fr 1fr;gap:18px}}
@media(prefers-reduced-motion:reduce){.work-grid{scroll-behavior:auto}}
@media(max-width:360px){.header{gap:6px;padding-left:4%;padding-right:4%}.header .brand>span{font-size:21px}.header .brand{gap:6px}.header .language-switch a{min-width:27px}.header .menu-toggle{padding:10px 8px}}
/* Second local study: motion-led cover and a small observatory invitation. */
.orbit-teaser{display:flex;align-items:center;gap:12px;min-height:160px;padding:12px 18px;border:1px solid #3a4934;border-radius:10px;background:radial-gradient(ellipse at 18% 50%,#293c27,#172019 65%);overflow:hidden}.orbit-mini{display:block;width:43%;max-width:200px;flex:none}.orbit-mini svg{width:100%;display:block;fill:none;stroke:#779263;stroke-width:1}.orbit-mini .mini-planet{fill:url(#planet-shade);stroke:#99b486}.orbit-mini .mini-land{fill:#a5c68c;stroke:none;opacity:.65}.mini-satellite{transform-origin:120px 85px;animation:mini-orbit 14s linear infinite}.mini-satellite circle{fill:#c4f26b;stroke:none}.mini-satellite.second{animation-duration:22s;animation-direction:reverse}.orbit-teaser-copy{display:flex;flex-direction:column;gap:10px;min-width:0}.orbit-teaser-copy .eyebrow{font-size:9px;margin:0;letter-spacing:1px;color:#b2c2a5}.orbit-teaser-copy strong{font-size:18px;font-weight:500;line-height:1.25;letter-spacing:-.5px}.orbit-teaser-copy>span:last-child{font-size:12px;line-height:1.6;color:#c4f26b}.orbit-teaser:hover{border-color:#a2c272}.orbit-teaser:focus-visible{outline:2px solid #c4f26b;outline-offset:5px}.about-page{max-width:1150px;margin:auto}.about-page .about-copy h2{font-size:clamp(30px,5vw,54px)}
@keyframes mini-orbit{to{transform:rotate(360deg)}}
@media(max-width:1000px){
 .hero{display:flex;align-items:flex-end;isolation:isolate;min-height:560px;overflow:hidden;background:#101913}.hero-copy{padding:260px 6% 35px;max-width:none;width:100%;background:linear-gradient(transparent,#101913dd 30%,#101913 90%)}.hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:14px}.hero h1,html:lang(en) .hero h1{font-size:clamp(2.125rem,8.5vw,3.5rem);margin-bottom:22px}.hero .mobile-intro{display:none}.hero .mobile-film{display:block;position:absolute;inset:0;margin:0;z-index:-1;border-radius:0;overflow:hidden;pointer-events:none}.mobile-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 27%}.mobile-film .film-toggle{position:absolute;top:18px;right:18px;border:1px solid #a9ba9366;background:#101913b0;border-radius:30px;min-height:44px;padding:10px 14px;font-size:11px;color:#e5eddf;pointer-events:auto}.hero .button{font-size:14px;padding:13px 18px}.section{padding-top:34px;padding-bottom:34px}.section-heading>p:last-child,.work-heading>p{display:none}.section-heading{margin-bottom:22px}.section-heading h2{font-size:1.75rem}.service summary{padding-top:15px;padding-bottom:15px;min-height:70px}.service-number{display:none}.service-icon{top:23px}.service h3{font-size:1.125rem}.work-heading h2{font-size:1.75rem}.work-heading .eyebrow,.ai .eyebrow,.clients .eyebrow{font-size:10px}.work-navigation{margin-top:5px}.work-more{margin-top:12px}.work-more>summary{padding:18px 0}.work-card{flex-basis:86%}.ai h2{font-size:1.75rem}.ai-copy>p:not(.eyebrow){font-size:.9375rem;line-height:1.6}.ai-flow{display:none}.clients h2{font-size:1.75rem}.clients .client-logo{height:80px}.clients .client-card figcaption{font-size:11px}.observatory.section{padding:14px 6% 28px;border-top:0}.contact h2{font-size:2rem}.about-page .about{padding-top:35px}.about-page .about-visual{display:none}
}
@media(min-width:701px) and (max-width:1000px){.hero{min-height:500px}.hero-copy{padding:240px 5% 35px;max-width:620px}.hero h1,html:lang(en) .hero h1{font-size:3rem}.mobile-film video{object-position:center 40%}.ai{display:block}.ai-copy{max-width:620px}.work-card{flex-basis:47%}.orbit-teaser{max-width:640px;margin:auto}.orbit-mini{max-width:210px}.about-page .about{display:block}}
@media(prefers-reduced-motion:reduce){.mini-satellite{animation:none}}

.about-page h1{white-space:normal;font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;letter-spacing:-.05em}.about-page .about-visual>svg{display:none}

/* Complete company signature, kept together at every viewport. */
.header .brand-sub{display:block;font-size:7px;letter-spacing:.45px;margin-top:6px;line-height:1.3;white-space:nowrap}.header .brand>span{display:block}.footer-brand{display:inline-flex;flex-direction:column;gap:6px;line-height:1}.footer-brand .brand-sub{display:block;font-size:9px;letter-spacing:.8px;margin:0;line-height:1.4}.orbit-mini .mini-iss{fill:#c4f26b;stroke:#e4f6cf;stroke-width:.6}.orbit-mini text{fill:#e4f6cf;stroke:none;font:10px sans-serif}
@media(max-width:1000px){.hero-copy{background:linear-gradient(transparent 15%,#101913bb 48%,#101913 90%)}.header .brand{gap:7px}.header .brand>span{font-size:24px}.header .brand-sub{font-size:6px;letter-spacing:.3px}.header .brand-mark{width:29px;flex:none}}
@media(max-width:360px){.header .brand>span{font-size:20px}.header .brand-sub{font-size:5.5px;letter-spacing:0}.header .brand-mark{width:24px}}

/* Panoramic desktop cover: real installations, dedicated landscape edit. */
@media(min-width:1001px){
 .header{height:96px}
 .hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:640px;height:calc(100svh - 96px);max-height:860px;max-width:none;padding:0 5.5%;background:#101913;overflow:hidden}
 .hero-art,.hero-foot{display:none}
 .hero .mobile-film{display:block;position:absolute;inset:0;margin:0;border-radius:0;z-index:-1;pointer-events:none;background:#101913}
 .hero .mobile-film:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1019130a 25%,#10191355 53%,#101913f5 100%);pointer-events:none}
 .mobile-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
 .mobile-film .film-toggle{position:absolute;z-index:1;right:3%;top:24px;min-height:44px;padding:11px 19px;border-radius:30px;border:1px solid #ffffff66;background:#101913a8;color:#fff;font-size:12px;pointer-events:auto;cursor:pointer}
 .hero-copy{width:100%;max-width:1500px;margin:0 auto;padding:190px 0 52px;display:grid;grid-template-columns:1.3fr .7fr;column-gap:7%;align-items:end}
 .hero .eyebrow{grid-column:1/-1;margin-bottom:22px;color:#e8eee5}
 .hero h1,html:lang(en) .hero h1{grid-column:1;grid-row:2/4;align-self:end;margin:0;font-size:clamp(54px,5.6vw,88px);white-space:normal;line-height:1.04;letter-spacing:-.06em;text-wrap:balance}
 .hero-description{grid-column:2;grid-row:2;max-width:430px;color:#e4e9df;font-size:15px;line-height:1.7;margin:0 0 24px}
 .hero-description br{display:none}
 .hero .button{grid-column:2;grid-row:3;justify-self:start;align-self:start;font-size:13px;min-height:52px}
 .expertise-strip{border-top:1px solid #ffffff20}
}
@media(min-width:1001px) and (max-width:1200px){.hero-copy{column-gap:5%;grid-template-columns:1.2fr .8fr}.hero h1,html:lang(en) .hero h1{font-size:58px}.hero-description{font-size:14px}}

/* Explicit video geometry and non-negative layers for Safari/WebKit. */
.hero .mobile-film{z-index:0;overflow:hidden;background:#101913}
.hero .mobile-film video{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.hero .hero-copy{position:relative;z-index:1;pointer-events:none;background:none}
.hero .hero-copy a{pointer-events:auto}
.hero .mobile-film .film-toggle{z-index:3}
@media(max-width:1000px){
 .hero{padding:0;gap:0}
 .hero .mobile-film:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 15%,#101913bb 65%,#101913 100%)}
}
