@font-face{font-family:Cairo;font-style:normal;font-weight:400;font-display:swap;src:url('./assets/cairo-400.woff2') format('woff2')}
@font-face{font-family:Cairo;font-style:normal;font-weight:500;font-display:swap;src:url('./assets/cairo-500.woff2') format('woff2')}
@font-face{font-family:Cairo;font-style:normal;font-weight:600;font-display:swap;src:url('./assets/cairo-600.woff2') format('woff2')}
@font-face{font-family:Cairo;font-style:normal;font-weight:700;font-display:swap;src:url('./assets/cairo-700.woff2') format('woff2')}
@font-face{font-family:StudioLatin;font-style:normal;font-weight:400;font-display:swap;src:url('./assets/manrope-400.woff2') format('woff2')}
@font-face{font-family:StudioLatin;font-style:normal;font-weight:600;font-display:swap;src:url('./assets/manrope-600.woff2') format('woff2')}
@font-face{font-family:StudioLatin;font-style:normal;font-weight:700;font-display:swap;src:url('./assets/manrope-700.woff2') format('woff2')}

:root{--bg:#080d19;--panel:#101929;--text:#f8faff;--muted:#a0adc2;--line:#ffffff17;--accent:#81acff;--blue:#3475f6;--light:#f6f8fc;--ink:#152037;--light-muted:#64728a;--pad:clamp(1.25rem,5vw,6rem);--max:1344px;--font:Cairo,Arial,sans-serif;--ease:cubic-bezier(.22,.7,.22,1);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}html[lang=en]{--font:StudioLatin,Arial,sans-serif}body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.85 var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;color:inherit;border:0}button,a,summary{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}svg{display:block}h1,h2,h3,h4,p{margin:0}::selection{color:white;background:#316ee0}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.skip-link{position:fixed;top:0;left:1rem;z-index:300;padding:.8rem 1.2rem;background:white;color:var(--ink);transform:translateY(-130%)}.skip-link:focus{transform:none}.scroll-progress{position:fixed;left:0;top:0;z-index:200;width:100%;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);pointer-events:none}
.site-header{height:90px;position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:calc(var(--max) + var(--pad)*2);margin:auto;padding:0 var(--pad);direction:ltr;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:.65rem;font:700 1.45rem/1 StudioLatin,Arial,sans-serif;letter-spacing:-.045em;white-space:nowrap}.brand-code{font:600 1.15rem/1 Consolas,monospace;letter-spacing:-.1em;color:var(--accent);height:37px;width:40px;border:1px solid #385070;border-radius:8px;display:grid;place-items:center;padding-right:3px}.desktop-nav{display:flex;gap:2.3rem;direction:rtl;font-size:.9375rem;color:#bac5d9}.desktop-nav a{padding:.75rem 0;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:white}.desktop-nav a.active{box-shadow:0 1px var(--accent)}.header-actions{display:flex;align-items:center;gap:1.1rem}.language-button{min-height:44px;min-width:44px;font-size:.875rem;font-family:StudioLatin,Cairo,Arial,sans-serif}.header-contact{display:flex;align-items:center;gap:1.2rem;direction:rtl;padding:.65rem 1.25rem;border:1px solid #46536d;border-radius:8px;font-size:.875rem;transition:background .25s,border-color .25s}.header-contact:hover{background:#17243a;border-color:var(--accent)}.menu-toggle{display:none;width:44px;height:44px;position:relative}.menu-toggle span{position:absolute;left:10px;width:24px;height:1.5px;background:var(--text);top:17px;transition:transform .25s,top .25s}.menu-toggle span+span{top:25px}.menu-toggle[aria-expanded=true] span{top:21px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}.mobile-nav{display:none}
.hero{position:relative;max-width:calc(var(--max) + var(--pad)*2);margin:auto;min-height:min(850px,max(720px,calc(100svh - 90px)));display:grid;grid-template-columns:1fr 1.12fr;grid-template-rows:1fr auto;align-items:center;column-gap:2.6rem;padding:4rem var(--pad) 0;isolation:isolate}.hero:before{content:'';position:absolute;top:6%;inset-inline-end:0;width:58%;height:88%;z-index:-1;background:radial-gradient(ellipse at center,#13459c2b,transparent 66%);pointer-events:none}.hero-copy{min-width:0;padding:1rem 0 4rem}.intro-line{display:flex;align-items:center;gap:.85rem;font-size:.9375rem;color:#bcc9dc;margin-bottom:1.5rem}.intro-rule{width:29px;height:1px;background:var(--accent);display:inline-block}h1{font-weight:600;font-size:clamp(2.6rem,4.3vw,4.55rem);line-height:1.5;letter-spacing:0}.title-line{display:block}.accent{color:var(--accent)}.hero-description{font-size:1.125rem;line-height:1.95;color:var(--muted);max-width:31rem;margin-top:1.45rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:2.1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;gap:1.75rem;padding:.85rem 1.5rem;font-size:.9375rem;font-weight:500;line-height:1.5;border-radius:8px;transition:background .2s,border-color .2s,color .2s;white-space:normal;text-align:center}.button>span[aria-hidden]{font-family:Arial,sans-serif;font-size:1.3rem;font-weight:400}.button-primary{background:var(--blue);color:white;border:1px solid var(--blue);box-shadow:0 6px 25px #3475f61c}.button-primary:hover{background:#4b87fd;border-color:#4b87fd}.button-quiet{color:#d7e0f0;border:1px solid transparent;padding-inline:1rem}.button-quiet:hover{background:#ffffff09;border-color:#ffffff12}.hero-disciplines{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:2.15rem;font-size:.875rem;color:#8595b0}.discipline-divider{width:3px;height:3px;background:#536780;border-radius:50%}.hero-art{min-width:0;position:relative;align-self:center;margin-top:-1rem;direction:ltr}.scene-label{font:500 .75rem/1.5 StudioLatin,Arial,sans-serif;letter-spacing:.12em;color:#7f94b6;display:flex;align-items:center;gap:.65rem;padding-inline:1rem;margin-bottom:.5rem}.code-glyph{font:400 1rem/1 Consolas,monospace;color:var(--accent);letter-spacing:-.1em}.scene-viewport{position:relative;aspect-ratio:1.22;isolation:isolate;min-width:0}.scene-viewport:after{content:'';position:absolute;z-index:-1;width:75%;height:20%;border-radius:50%;bottom:4%;left:12.5%;background:#071028;box-shadow:0 0 45px 10px #071028;filter:blur(20px)}#sculpture{width:100%;height:100%;display:block;position:absolute;inset:0;z-index:2;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity .5s ease}#sculpture.ready{opacity:1}#sculpture:active{cursor:grabbing}.scene-fallback{position:absolute;inset:16% 3%;border-radius:8px;overflow:hidden;border:1px solid #637dab50;background:var(--panel);opacity:1;transition:opacity .3s}.scene-fallback img{width:100%;height:calc(100% - 40px);object-fit:contain;background:#172135}.scene-fallback>span{height:40px;display:grid;place-items:center;font-size:.875rem;color:#b7c6df}.scene-ready .scene-fallback{opacity:0;visibility:hidden}.scene-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 1rem;margin-top:.25rem;z-index:3}.scene-modes{display:flex;background:#101a2a;border:1px solid #2d3b51;border-radius:9px;padding:4px;gap:4px}.scene-mode{display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:.875rem;min-width:92px;min-height:40px;border-radius:6px;padding:.45rem .75rem;color:#94a6c2;transition:background .25s,color .25s}.scene-mode[aria-pressed=true]{background:#263954;color:#eef4ff}.scene-mode svg{width:16px;height:16px;stroke-width:1.4}.scene-mode>span[aria-hidden]{font-family:monospace;font-size:.875rem}.scene-hint{font-size:.75rem;color:#7a8daa}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.4rem 0 1.5rem;border-top:1px solid var(--line);margin-top:3rem}.hero-location{font-size:.8125rem;color:#7d8da7}.scroll-cue{display:flex;align-items:center;gap:1.5rem;font-size:.8125rem;color:#b9c7df}.scroll-cue span:last-child{font-family:Arial;font-size:1.25rem;animation:nudge 3s ease-in-out infinite}
.section-pad{padding:7rem max(var(--pad),calc((100vw - var(--max))/2))}.work{background:var(--light);color:var(--ink);color-scheme:light}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:2.4rem}.eyebrow{display:flex;align-items:center;gap:.65rem;font-size:.8125rem;font-weight:500;line-height:1.8}.section-heading .eyebrow{color:var(--muted);margin-bottom:1.1rem}.section-index{font:500 .75rem/1 StudioLatin,Arial,sans-serif;color:var(--accent);display:inline-block;direction:ltr}.work .eyebrow,.work .section-index{color:#4169a6}h2{font-weight:600;font-size:clamp(2rem,3.15vw,3.45rem);line-height:1.5;letter-spacing:0}.section-note{max-width:22rem;line-height:1.9;font-size:1rem;color:var(--light-muted);padding-bottom:.3rem}.work-filters{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;border-bottom:1px solid #d8dfeb;margin-bottom:2.5rem}.work-filters button{min-height:54px;padding:.65rem 0 1rem;position:relative;color:#607087;font-size:.9375rem;transition:color .2s}.work-filters button[aria-pressed=true]{color:#1854b7}.work-filters button[aria-pressed=true]:after{content:'';height:2px;position:absolute;bottom:-1px;inset-inline:0;background:#3475f6}.work-filters button:hover{color:#1854b7}.filter-count{font:500 .75rem/1 StudioLatin,Arial,sans-serif;display:inline-block;padding:.3rem .4rem;border-radius:4px;background:#e4eaf5;margin-inline-start:.4rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.1rem 2.2rem}.project-card{min-width:0}.project-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1.7;background:#e9edf4;border:1px solid #dce3ee;border-radius:12px;overflow:hidden;position:relative}.project-visual img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;transform:none;transition:none}.project-link{display:block}.project-link:focus-visible{border-radius:12px;outline-color:var(--blue)}.project-link:hover .project-visual{border-color:#7898cd}.project-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-top:1.2rem}.project-info{min-width:0}.project-meta h3{font:600 clamp(1.1rem,1.5vw,1.4rem)/1.5 StudioLatin,Cairo,Arial,sans-serif;letter-spacing:-.025em;color:var(--ink)}.project-category{font-size:.875rem;color:var(--light-muted);display:block;margin-top:.25rem}.project-visit{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid #cdd7e6;color:#3b587e;font-family:Arial;font-size:1.25rem;transition:background .2s,color .2s,border-color .2s}.project-link:hover .project-visit{background:#205fd5;color:white;border-color:#205fd5}.project-fallback{display:grid;place-items:center;width:100%;height:100%;aspect-ratio:1.7;font:600 1.6rem StudioLatin,Arial;color:#526785;padding:2rem;text-align:center}.work-end{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #d8dfeb}.work-end p{font-size:.875rem;color:var(--light-muted)}.button-outline{border:1px solid #b7c8e2;color:#2154a1;background:transparent}.button-outline:hover{background:#e8effa;border-color:#6e94ce}.work button:focus-visible{outline-color:#205fd5}
.expertise{background:#0c1321;border-top:1px solid #152137}.expertise .section-heading{margin-bottom:3rem}.service-list{border-top:1px solid #2b3649}.service{border-bottom:1px solid #2b3649}.service summary{display:flex;align-items:center;gap:1.8rem;padding:1.7rem 0;cursor:pointer;list-style:none}.service summary::-webkit-details-marker{display:none}.service-number{width:2rem;font:400 .875rem StudioLatin,Arial,sans-serif;color:#6d83a6}.service h3{flex:1;font-weight:500;font-size:clamp(1.2rem,1.9vw,1.75rem);line-height:1.6}.service-tags{font-size:.8125rem;color:#7f92af}.service-expand{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border:1px solid #344259;border-radius:50%;font:400 1.4rem/1 Arial;color:#9cbcff;transition:transform .25s,background .25s}.service[open] .service-expand{transform:rotate(45deg);background:#243b61;border-color:#395a8d}.service[open] h3{color:#a3c5ff}.service-body{display:flex;justify-content:space-between;gap:3rem;padding:0 3.8rem 2rem}.service-body p{max-width:44rem;line-height:1.9;font-size:1rem;color:var(--muted)}.service-body a{font-size:.9375rem;align-self:end;white-space:nowrap;color:#a5c4fa;border-bottom:1px solid #4b6184;padding-bottom:.2rem}.systems-heading{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin:4.5rem 0 2rem}.systems-heading h3{font-size:1.35rem;font-weight:500}.systems-heading p{font-size:.9375rem;color:var(--muted)}.systems-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.system-card{padding:1.4rem 1.5rem;background:#121c2c;border:1px solid #283449;border-radius:9px;min-width:0}.system-card summary{display:flex;align-items:center;gap:1rem;cursor:pointer;list-style:none}.system-card summary::-webkit-details-marker{display:none}.system-icon{width:26px;height:26px;flex-shrink:0;color:#89aff6}.system-card h4{font-size:1.0625rem;font-weight:500;line-height:1.65;flex:1}.system-plus{font:400 1.2rem Arial;color:#829abe}.system-card[open] .system-plus{transform:rotate(45deg)}.system-card p{font-size:1rem;line-height:1.9;color:var(--muted);margin-top:1.1rem;padding-inline-start:calc(26px + 1rem)}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:5.5rem;background:var(--light);color:var(--ink);color-scheme:light}.about-side{display:flex;flex-direction:column;align-items:start;justify-content:space-between;border-inline-end:1px solid #d7e0ed;padding-inline-end:3rem}.about-side .eyebrow{color:#526b90}.about-side .section-index{color:#4169a6}.about-signature{padding:2rem 0;display:flex;flex-direction:column}.about-name{font-size:6rem;font-weight:600;line-height:1.7;color:#245ac2}.about-role{font-size:1rem;color:#667b98}.about-coordinates{font:500 .75rem/1.7 StudioLatin,Arial,sans-serif;letter-spacing:.06em;color:#708099}.about-copy h2{font-size:clamp(2rem,2.9vw,3.05rem);line-height:1.65;margin-bottom:1.6rem}.about-copy h2 span:last-child{color:#67778f}.about-copy p{font-size:1.0625rem;line-height:1.95;color:#65748a;max-width:42rem;margin-top:1.1rem}.text-link{display:inline-flex;align-items:center;gap:2rem;font-size:1rem;color:#2659ac;border-bottom:1px solid #92abd4;margin-top:1.7rem;padding:.6rem 0}.about a:focus-visible{outline-color:#215fd5}.partners{border-top:1px solid #d1dbea;padding-top:3rem;margin-top:3rem}.partner-label{font-size:.9375rem;color:#617594;margin-bottom:2rem}.partner-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.1rem 1.4rem}.partner-item{height:83px;padding:1rem;background:#fff;border:1px solid #dde4ee;border-radius:8px;display:flex;align-items:center;justify-content:center}.partner-item img{max-height:100%;max-width:100%;object-fit:contain}
.contact{position:relative;background:#0b1220;overflow:hidden;padding-top:5rem;padding-bottom:1.8rem}.contact:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 12% 30%,#1c459127,transparent 55%);pointer-events:none}.contact>*{position:relative}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.contact .eyebrow{color:#97aac6}.contact-code{font:500 2.8rem/1.2 Consolas,monospace;letter-spacing:-.13em;color:#46648e}.contact h2{font-size:clamp(2.8rem,5.7vw,6rem);font-weight:500;line-height:1.55;margin:2rem 0 3rem}.contact-big-link{display:inline-flex;align-items:center;gap:2.5rem;color:#93b8ff;line-height:1.5}.contact-big-link>span:last-child{font-family:Arial;font-size:.75em}.contact-big-link:hover{color:#b3ceff}.contact-details{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-email{font:500 clamp(1.125rem,1.6vw,1.65rem)/1.5 StudioLatin,Arial;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-email:hover{color:#b2ccfb}.contact-actions{display:flex;align-items:center;gap:1.6rem}.button-dark{background:#f0f5ff;color:#1c3050;border:1px solid #f0f5ff}.button-dark:hover{background:#dce9ff}.phone{font:400 .9375rem/1.5 StudioLatin,Arial;color:#99adc9;white-space:nowrap}.social-links{display:flex;align-items:center;gap:1.8rem;font:400 .875rem StudioLatin,Arial;color:#9bb0ce;margin:1.6rem 0 2.5rem}.social-links a:hover{color:#fff}footer{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;direction:ltr;padding-top:1.7rem;border-top:1px solid var(--line)}footer .wordmark{font-size:1.25rem}footer .brand-code{height:30px;width:32px;font-size:.875rem}footer p{font:400 .75rem/1.8 StudioLatin,Cairo,Arial;color:#7d92ae}.back-top{display:flex;gap:1rem;align-items:center;font-size:.8125rem;color:#a4b8d4;direction:rtl}.reveal{transition:opacity .75s var(--ease),translate .75s var(--ease)}.reveal.pre-reveal{opacity:0;translate:0 24px}.no-js-note{padding:2rem;background:#111c30}.no-js-note a{text-decoration:underline}.webgl-unavailable #sculpture{display:none}.webgl-unavailable .scene-hint{display:none}.webgl-unavailable .scene-fallback{visibility:visible;opacity:1}.hero-copy{animation:enter .8s var(--ease) both}.scene-label{animation:enter .8s .1s var(--ease) both}.scene-toolbar{animation:enter .8s .2s var(--ease) both}@keyframes enter{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes nudge{0%,100%{translate:0 0}50%{translate:0 4px}}
html[lang=en] .desktop-nav,html[lang=en] .header-contact,html[lang=en] .back-top{direction:ltr}html[lang=en] h1{font-size:clamp(2.5rem,3.9vw,4.3rem);line-height:1.2;letter-spacing:-.055em;font-weight:600}html[lang=en] h2{line-height:1.25;letter-spacing:-.04em}html[lang=en] .hero-description{line-height:1.8}html[lang=en] .hero-actions .button-primary>span:last-child{transform:scaleX(-1)}html[lang=en] .about-name{font-family:StudioLatin,Arial;font-size:clamp(2.5rem,4.5vw,4.2rem);letter-spacing:-.055em}html[lang=en] .about-copy h2{line-height:1.4}html[lang=en] .contact h2{font-size:clamp(2.8rem,4.9vw,5.3rem);line-height:1.35}html[lang=en] .contact-big-link{line-height:1.2}html[lang=en] .section-note{line-height:1.7}
@media(min-width:1800px){.hero{min-height:820px}}
@media(max-width:1100px){.hero{gap:1.2rem;grid-template-columns:1fr 1fr;min-height:700px}.hero h1{font-size:3.9vw}.hero-description{font-size:1rem}.hero-actions{gap:.4rem}.hero-actions .button{font-size:.875rem;padding-inline:1.1rem}.hero-copy{padding-bottom:2rem}.hero-art{margin-inline:-.5rem}.scene-toolbar{padding:0;gap:.5rem;flex-wrap:wrap}.scene-mode{min-width:82px}.desktop-nav{gap:1.5rem}.site-header{gap:1rem}.header-actions{gap:.6rem}.section-pad{padding-top:5.5rem;padding-bottom:5.5rem}.section-heading{gap:2rem}.section-note{max-width:19rem}.project-grid{gap:2.75rem 1.6rem}.service-tags{font-size:.75rem}.about{gap:3rem}.about-side{padding-inline-end:2rem}.about-name{font-size:5rem}.contact{padding-bottom:1.8rem}.contact-actions{gap:1rem}.contact-actions .button{padding-inline:1rem}.contact-email{font-size:1.2rem}html[lang=en] h1{font-size:3.8vw}}
@media(max-width:850px){.site-header{height:80px}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:.8rem}.mobile-nav{display:flex;flex-direction:column;gap:.65rem;position:absolute;z-index:90;top:80px;inset-inline:0;background:#101a2c;padding:1.5rem var(--pad) 2rem;border-bottom:1px solid #32425a;visibility:hidden;opacity:0;translate:0 -8px;transition:opacity .2s,translate .2s,visibility .2s}.mobile-nav.is-open{visibility:visible;opacity:1;translate:0 0}.mobile-nav a{font-size:1.25rem;padding:.4rem 0}.hero{min-height:0;grid-template-columns:1fr;padding-top:3.5rem;row-gap:2.5rem}.hero-copy{padding:0;max-width:610px}.hero h1{font-size:clamp(2.4rem,6.8vw,3.7rem)}.hero-description{font-size:1.125rem;max-width:35rem;margin-top:1.3rem}.hero-actions{gap:1rem;margin-top:1.6rem}.hero-actions .button{font-size:.9375rem;padding-inline:1.4rem}.hero-disciplines{margin-top:1.7rem}.hero-art{width:min(100%,630px);justify-self:center;margin:0}.scene-viewport{aspect-ratio:1.32}.scene-toolbar{padding-inline:1rem}.hero:before{top:30%;height:65%;width:100%}.hero-bottom{margin-top:.5rem;padding-block:1rem;flex-wrap:wrap}.hero-location{font-size:.75rem}.scroll-cue{display:none}.scene-label{padding-inline:1rem}.section-heading{flex-direction:column;align-items:start;gap:1rem;margin-bottom:1.6rem}.section-note{max-width:36rem}.work-filters{margin-bottom:2rem;gap:1.5rem}.project-grid{gap:2.5rem 1.4rem}.project-visual{border-radius:8px}.project-meta h3{font-size:1.125rem}.project-category{font-size:.8125rem}.project-meta{gap:.75rem;padding-top:1rem}.project-visit{width:33px;height:33px;font-size:1.1rem}.service-tags{display:none}.service summary{gap:1rem}.service-body{padding-inline:3rem 0;flex-direction:column;gap:1rem}.service-body a{align-self:start}.systems-heading{flex-direction:column;align-items:start;gap:.5rem;margin-top:3.5rem}.systems-grid{gap:.75rem}.system-card{padding:1.25rem}.system-card h4{font-size:1rem}.about{grid-template-columns:1fr;gap:2.5rem}.about-side{border-inline-end:0;border-bottom:1px solid #d7e0ed;padding:0 0 2rem;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:1rem}.about-signature{grid-column:2;grid-row:1/3;padding:0;align-items:end}.about-name{font-size:4.5rem;line-height:1.2}.about-role{font-size:.875rem;margin-top:.75rem}.about-copy h2{font-size:2.3rem}.about-coordinates{font-size:.75rem;letter-spacing:0}.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.contact h2{font-size:clamp(2.7rem,6.5vw,4rem)}.contact-details{flex-direction:column;align-items:start;gap:1.5rem}.contact-actions{flex-direction:row;gap:1.5rem}.contact-email{font-size:1.5rem}footer{flex-wrap:wrap}footer p{order:3;text-align:center;width:100%;font-size:.75rem}.contact{padding-bottom:1.5rem}html[lang=en] h1{font-size:clamp(2.8rem,7.7vw,4rem)}html[lang=en] .about-name{font-size:2.2rem}html[lang=en] .contact h2{font-size:clamp(2.5rem,6vw,3.7rem)}}
@media(max-width:560px){:root{--pad:1.25rem}.site-header{height:74px}.wordmark{font-size:1.2rem;gap:.5rem}.brand-code{font-size:.95rem;height:32px;width:35px}.header-contact{display:none}.header-actions{gap:.4rem}.mobile-nav{top:74px}.hero{padding-top:2.6rem;row-gap:2rem}.intro-line{font-size:.875rem;margin-bottom:1.25rem;gap:.65rem}.intro-rule{width:22px}.hero h1{font-size:clamp(2rem,8.25vw,2.9rem);line-height:1.5}.hero-description{font-size:1rem;line-height:1.95;margin-top:1rem}.hero-actions{gap:.5rem;align-items:stretch;margin-top:1.5rem}.hero-actions .button{padding:.8rem 1rem;min-height:50px;font-size:.875rem;gap:1.1rem}.hero-actions .button-quiet{padding-inline:.6rem}.hero-disciplines{gap:.7rem;font-size:.8125rem;margin-top:1.25rem}.hero-art{margin-top:.5rem}.scene-label{font-size:.75rem;letter-spacing:.025em;padding-inline:0;margin-bottom:.5rem}.scene-viewport{aspect-ratio:1.18;margin-inline:-.6rem}.scene-toolbar{padding-inline:0;gap:.65rem;justify-content:space-between}.scene-mode{min-width:75px;font-size:.8125rem;padding:.4rem .55rem;min-height:38px}.scene-hint{font-size:.75rem}.scene-modes{padding:3px}.hero-bottom{gap:.5rem;margin-top:0;padding-block:.65rem}.hero-location{font-size:.75rem}.section-pad{padding-top:3.5rem;padding-bottom:3.5rem}.section-heading .eyebrow{font-size:.75rem;margin-bottom:.7rem}h2{font-size:1.95rem;line-height:1.5}.section-note{font-size:1rem;line-height:1.85}.work-filters{gap:1.1rem;margin-bottom:1.75rem;row-gap:0}.work-filters button{font-size:.875rem;min-height:49px;padding-bottom:.8rem}.filter-count{font-size:.75rem;padding:.25rem .3rem;margin-inline-start:.2rem}.project-grid{grid-template-columns:1fr;gap:2rem}.project-visual{aspect-ratio:1.7;border-radius:8px}.project-meta h3{font-size:1.2rem}.project-meta{padding-top:.9rem;align-items:center}.project-category{font-size:.875rem}.project-visit{height:37px;width:37px;font-size:1.2rem}.work-end{flex-direction:column;align-items:stretch;gap:1.2rem;margin-top:2.2rem;padding-top:1.5rem;text-align:center}.work-end .button{align-self:center}.work-end p{font-size:.875rem}.expertise .section-heading{margin-bottom:2rem}.service summary{gap:.65rem;padding:1.35rem 0}.service-number{font-size:.75rem;width:1.4rem}.service h3{font-size:1.15rem}.service-expand{height:30px;width:30px;font-size:1.2rem}.service-body{padding-inline:2rem 0;padding-bottom:1.6rem}.service-body p{font-size:1rem}.service-body a{font-size:.875rem}.systems-heading{margin-top:3rem;margin-bottom:1.4rem}.systems-heading h3{font-size:1.25rem}.systems-heading p{font-size:1rem}.systems-grid{grid-template-columns:1fr;gap:.65rem}.system-card{padding:1.2rem}.system-card h4{font-size:1.0625rem}.system-card summary{gap:.85rem}.system-card p{padding-inline-start:0;font-size:1rem}.about{gap:2rem}.about-side{grid-template-columns:1fr;gap:.8rem;padding-bottom:1.8rem}.about-signature{grid-column:1;grid-row:auto;align-items:start;padding:.8rem 0}.about-name{font-size:3.8rem}.about-role{font-size:.9375rem}.about-copy h2{font-size:1.95rem;line-height:1.7;margin-bottom:1.1rem}.about-copy p{font-size:1rem;line-height:1.95}.text-link{font-size:.9375rem}.partners{margin-top:2.25rem;padding-top:2rem}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.partner-item{height:64px;padding:.7rem;border-radius:6px}.partner-label{margin-bottom:1.25rem;font-size:.875rem}.contact{padding-top:3rem;padding-bottom:1.5rem}.contact-top .eyebrow{font-size:.75rem}.contact-code{font-size:1.7rem}.contact h2{font-size:clamp(2.1rem,8.6vw,3rem);line-height:1.6;margin:1.6rem 0 2rem}.contact-big-link{gap:1.2rem}.contact-details{padding-block:1.6rem}.contact-email{font-size:clamp(.95rem,4.2vw,1.2rem)}.contact-actions{flex-wrap:wrap;gap:1.3rem}.contact-actions .button{font-size:.875rem;min-height:50px}.phone{font-size:.875rem}.social-links{font-size:.8125rem;gap:1.5rem;margin-bottom:2rem}footer .wordmark{font-size:1.1rem}footer .brand-code{height:27px;width:29px;font-size:.8rem}.back-top{font-size:.75rem;gap:.7rem}footer{gap:1.3rem}html[lang=en] h1{font-size:clamp(2.2rem,8.2vw,3rem);line-height:1.25}html[lang=en] .hero-actions{gap:.3rem}html[lang=en] .hero-actions .button{font-size:.8125rem;padding-inline:.8rem}html[lang=en] h2{font-size:1.8rem}html[lang=en] .about-name{font-size:2.8rem}html[lang=en] .about-copy h2{font-size:1.95rem}html[lang=en] .contact h2{font-size:clamp(2rem,7.5vw,2.7rem)}html[lang=en] .contact-big-link{gap:1rem}}
@media(forced-colors:active){.button,.scene-mode,.project-visit{border:1px solid ButtonText}.scene-viewport{display:none}}

.webgl-unavailable .scene-modes{display:none}

/* A native-scroll story. Layout stays usable when motion or JavaScript is off. */
:root { --stage-height: max(760px, 100svh); }
.site-header { position: fixed; inset: 14px 0 auto; width: calc(100% - var(--pad) * 2); max-width: var(--max); height: 66px; padding: 0 22px; border: 1px solid #ffffff19; border-radius: 12px; background: #0b1322e8; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.site-header .wordmark { font-size: 1.25rem; }
.site-header .brand-code { border: 0; width: 29px; }
.site-header .header-contact { padding: .45rem 1rem; border-color: #ffffff23; }
.mobile-nav { position: fixed; top: 90px; inset-inline: var(--pad); border: 1px solid #ffffff20; border-radius: 12px; }
.hero { display: block; max-width: none; min-height: 0; margin: 0; padding: 0; }
.hero:before { display: none; }
.hero-sticky { position: relative; display: grid; grid-template-columns: 1fr 1.14fr; align-items: center; gap: 2.5rem; min-height: var(--stage-height); padding: 112px max(var(--pad), calc((100vw - var(--max)) / 2)) 130px; isolation: isolate; overflow: clip; background: radial-gradient(ellipse at 27% 47%, #19417938, transparent 60%), var(--bg); }
.hero-copy { padding: 0; z-index: 3; animation: none; }
.hero h1 { font-size: clamp(2.35rem, 4.3vw, 4.7rem); line-height: 1.55; }
.hero-description { max-width: 30rem; }
.hero-art { margin: 0; z-index: 2; }
.hero-grid { position: absolute; inset: 0; z-index: -1; opacity: .38; background-image: linear-gradient(#a9c7ff0d 1px, transparent 1px), linear-gradient(90deg, #a9c7ff0d 1px, transparent 1px); background-size: 100px 100px; background-position: center var(--grid-y, 0px); mask-image: linear-gradient(transparent, black 25%, black 70%, transparent); }
.hero-background-type { position: absolute; z-index: -1; inset: 17% auto auto 4%; font: 700 clamp(100px, 15vw, 240px)/1.02 StudioLatin, Arial, sans-serif; letter-spacing: -.075em; color: transparent; -webkit-text-stroke: 1px #9ebdff12; transform: translate3d(0, var(--type-y, 0px), 0); pointer-events: none; }
.hero-background-type span { display: block; }
.hero-background-type span:last-child { color: #87afff04; }
.scene-label, .scene-toolbar { animation: none; }
.scene-viewport { aspect-ratio: 1.3; }
.scene-toolbar { justify-content: flex-end; }
.webgl-unavailable .scene-fallback { border: 6px solid #252e3c; border-bottom-width: 18px; border-radius: 12px; box-shadow: 0 8px 0 #77849b; }
.identity-fallback { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 1rem; text-align: center; background: linear-gradient(135deg, #162b49, #091220); }
.identity-code { color: #a0c4ff; font: 500 2.3rem monospace; }
.identity-fallback strong { font-size: clamp(1.2rem, 2.4vw, 2.1rem); font-weight: 700; color: #eef5ff; line-height: 1.55; }
.identity-fallback > span { font-size: .8125rem; line-height: 1.75; color: #adc6ea; }
.identity-fallback small { font: 400 .6875rem StudioLatin, Arial; color: #7e9bc3; }
.hero-bottom { position: absolute; bottom: 0; inset-inline: var(--pad); margin: 0; min-height: 67px; padding: .5rem 0; z-index: 5; }
.hero-bottom .scroll-cue { margin-inline-end: 12px; }
.hero-chapters { position: absolute; inset-inline: var(--pad); bottom: 88px; display: none; align-items: center; justify-content: center; gap: 14px; font: 500 .625rem/1.4 StudioLatin, Arial, sans-serif; letter-spacing: .09em; color: #63789a; }
.hero-chapters i { width: 46px; height: 1px; background: #344560; }
.hero-chapters .is-current { color: #c9deff; }
.hero-outcome { display: none; position: absolute; inset-inline: var(--pad); bottom: 145px; text-align: center; z-index: 4; }
.outcome-kicker { font-size: .8125rem; color: #98acd1; }
.hero-outcome p { font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 500; line-height: 1.5; color: #eef4ff; margin: .3rem 0 .65rem; }
.hero-outcome a { display: inline-block; padding: .3rem 0; font-size: .9375rem; color: var(--accent); border-bottom: 1px solid #466797; }
.scroll-story .hero { height: calc(var(--stage-height) * 2.8); }
.scroll-story .hero-sticky { position: sticky; top: min(0px, calc(100svh - var(--stage-height))); height: var(--stage-height); }
.scroll-story .hero-copy { transform: translate3d(0, var(--copy-y, 0px), 0); opacity: var(--copy-opacity, 1); will-change: transform, opacity; }
.scroll-story .hero-art { transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0) scale(var(--scene-scale, 1)); will-change: transform; }
.scroll-story .scene-label, .scroll-story .scene-toolbar { opacity: var(--toolbar-opacity, 1); }
.scroll-story .hero-outcome { display: block; opacity: var(--outcome-opacity, 0); transform: translate3d(0, var(--outcome-y, 35px), 0); }
.scroll-story .hero-chapters { display: flex; }

.work { position: relative; z-index: 2; padding-top: clamp(3.5rem, 7vw, 7rem); border-radius: 32px 32px 0 0; box-shadow: 0 -20px 70px #02071322; }
.project-gallery { padding-top: 0; }
.gallery-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.gallery-heading > span { font: 500 .6875rem StudioLatin, Arial; letter-spacing: .06em; color: #8695ab; }
.project-grid { gap: 3.5rem 2.5rem; }
.scroll-story .project-card { transform: translate3d(0, var(--card-y, 0px), 0); opacity: var(--card-opacity, 1); }
.project-visual, .project-visual img { transform: none; }

.expertise { position: relative; }
.expertise-layout { display: grid; grid-template-columns: .85fr 1.25fr; gap: clamp(3rem, 6vw, 7rem); align-items: start; }
.expertise-intro { min-width: 0; }
.scroll-story .expertise-intro { position: sticky; top: 130px; }
.expertise-intro .section-heading { margin-bottom: 3rem; }
.expertise-intro h2 { font-size: clamp(2.15rem, 3.6vw, 3.9rem); }
.expertise-main { min-width: 0; }
.service-list { margin-top: 0; }
.service summary { gap: .85rem; }
.service h3 { font-size: clamp(1.2rem, 1.6vw, 1.6rem); }
.service-tags { display: none; }
.service-body { display: block; padding: 0 2.5rem 2rem 0; }
html[lang=en] .service-body { padding: 0 0 2rem 2.5rem; }
.service-body a { display: inline-block; margin-top: 1.2rem; }
.systems-heading { display: block; margin-top: 3rem; }
.systems-heading p { margin-top: .5rem; }
.systems-grid { grid-template-columns: 1fr; }
.build-diagram { position: relative; padding: 6px 0 0; }
.build-layer { position: relative; display: flex; align-items: center; gap: .85rem; min-height: 66px; margin-bottom: 22px; padding: .8rem 1rem; border: 1px solid #304461; border-radius: 9px; background: #111e32; font-size: .8125rem; color: #b6cae9; }
.build-layer i { margin-inline-start: auto; font: normal .625rem StudioLatin, Arial; color: #6682a9; }
.build-icon { width: 34px; font: 400 1.3rem Consolas, monospace; color: #96baff; }
.build-line { position: absolute; top: 30px; bottom: 55px; inset-inline-start: 32px; width: 1px; background: #273952; }
.build-line span { display: block; width: 100%; height: 100%; background: #8dbbff; transform-origin: top; transform: scaleY(var(--build-progress, 1)); box-shadow: 0 0 12px #699aff88; }
.build-caption { display: flex; align-items: center; justify-content: center; gap: 7px; font: 400 .5625rem StudioLatin, Arial; letter-spacing: .06em; color: #6e87a9; padding-top: 8px; }
.build-dot { width: 4px; height: 4px; border-radius: 50%; background: #8bbaff; }
.scroll-story .layer-interface { transform: translate3d(var(--layer-1-x, 0px), var(--layer-1-y, 0px), 0); border-color: rgb(100 154 240 / var(--layer-1-light, .3)); }
.scroll-story .layer-logic { transform: translate3d(var(--layer-2-x, 0px), var(--layer-2-y, 0px), 0); border-color: rgb(100 154 240 / var(--layer-2-light, .3)); }
.scroll-story .layer-data { transform: translate3d(var(--layer-3-x, 0px), var(--layer-3-y, 0px), 0); border-color: rgb(100 154 240 / var(--layer-3-light, .3)); }

.about { position: relative; align-items: start; gap: 5rem; }
.about-side { min-height: 380px; }
.about-name { font-size: clamp(5rem, 8.5vw, 9rem); line-height: 1.35; }
.about-copy h2 { font-size: clamp(2.7rem, 4.4vw, 4.7rem); line-height: 1.5; margin-bottom: 1.8rem; }
.about-copy h2 span:last-child { color: #3866ae; }
.scroll-word { display: inline; }
.about-copy h2 span.scroll-word { color: inherit; }
.scroll-story .about { min-height: 125svh; padding-top: 9rem; padding-bottom: 9rem; }
.scroll-story .about-side, .scroll-story .about-copy { position: sticky; top: 160px; }
.scroll-story .about-signature { transform: translate3d(0, var(--signature-y, 0px), 0); }
.scroll-story .scroll-word { opacity: var(--word-opacity, 1); }
.partners { overflow: clip; }
.partners-section { background: #eef2f8; color: var(--ink); color-scheme: light; border-top: 1px solid #dbe2ed; padding-block: 3.5rem; }
.partners-section .partners { margin: 0; padding: 0; border: 0; }
.scroll-story .partner-item { transform: translate3d(var(--partner-x, 0px), 0, 0); }
.contact { min-height: 90svh; display: flex; flex-direction: column; justify-content: center; isolation: isolate; }
.contact .contact-backdrop { position: absolute; z-index: -1; left: -2%; top: 48%; font: 700 20vw/.9 StudioLatin, Arial; letter-spacing: -.075em; white-space: nowrap; color: #82adff07; -webkit-text-stroke: 1px #91baff0d; pointer-events: none; transform: translate3d(var(--contact-type-x, 0px), var(--contact-type-y, 0px), 0); }
.contact h2 { font-size: clamp(3rem, 6.6vw, 7rem); }
.contact footer { margin-top: auto; }
.scroll-story .contact { clip-path: inset(0 var(--contact-inset, 0px) 0 round var(--contact-radius, 0px) var(--contact-radius, 0px) 0 0); }
.reveal { transition: none; }
.reveal.pre-reveal { opacity: 1; translate: none; }
.scroll-story .reveal[data-scroll-reveal] { opacity: var(--reveal-opacity, 1); transform: translate3d(0, var(--reveal-y, 0px), 0); }
.scroll-story .reveal:focus-within, .scroll-story .project-card:focus-within { opacity: 1 !important; transform: none !important; }
html[lang=en] .hero h1 { font-size: clamp(2.6rem, 4.5vw, 4.8rem); }
html[lang=en] .hero-outcome p { letter-spacing: -.045em; line-height: 1.2; }
html[lang=en] .about-copy h2 { font-size: clamp(2.3rem, 3.8vw, 4.1rem); }
html[lang=en] .contact h2 { font-size: clamp(3rem, 5.8vw, 6.2rem); }

@media (min-width: 1700px) { .scene-viewport { max-height: 610px; } }
@media (max-width: 1100px) {
  .hero-sticky { gap: 1.5rem; }
  .hero h1 { font-size: 4.4vw; }
  .hero-description { font-size: 1rem; }
  .hero-outcome { bottom: 155px; }
  .expertise-layout { gap: 2.5rem; grid-template-columns: .85fr 1.15fr; }
  .build-layer { padding-inline: .75rem; font-size: .75rem; gap: .5rem; }
  .about { gap: 3rem; }
}
@media (max-width: 850px) {
  :root { --stage-height: max(980px, 100svh); }
  .site-header { top: 12px; height: 62px; padding-inline: 14px; }
  .mobile-nav { top: 84px; }
  .hero-sticky { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 18px; padding-top: 108px; padding-bottom: 112px; }
  .hero-copy { max-width: 620px; width: 100%; }
  .hero h1 { font-size: clamp(2.3rem, 5.8vw, 3.4rem); line-height: 1.5; }
  .intro-line { margin-bottom: .85rem; }
  .hero-description { font-size: 1rem; margin-top: .85rem; line-height: 1.8; max-width: 36rem; }
  .hero-actions { margin-top: 1rem; }
  .hero-disciplines { display: none; }
  .hero-art { width: min(100%, 570px); justify-self: center; align-self: center; }
  .scene-viewport { aspect-ratio: 1.65; }
  .scene-label { margin-bottom: 0; }
  .scene-toolbar { margin-top: 0; }
  .hero-bottom .scroll-cue { display: flex; }
  .hero-bottom .scroll-cue span:last-child { display: none; }
  .hero-chapters { bottom: 83px; font-size: .5625rem; }
  .hero-chapters i { width: 32px; }
  .hero-outcome { bottom: 175px; }
  .hero-outcome p { font-size: 2.8rem; }
  .hero-background-type { top: 26%; left: 2%; font-size: 23vw; }
  .scroll-story .hero { height: calc(var(--stage-height) * 2.5); }
  .expertise-layout { display: block; }
  .scroll-story .expertise-intro { position: relative; top: auto; }
  .expertise-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 3rem; }
  .expertise-intro h2 { font-size: 2.5rem; }
  .build-layer { min-height: 58px; }
  .build-caption { font-size: .5rem; letter-spacing: 0; }
  .service h3 { font-size: 1.5rem; }
  .systems-grid { grid-template-columns: 1fr 1fr; }
  .about { grid-template-columns: 1fr; }
  .scroll-story .about { min-height: 0; padding-block: 5rem; }
  .scroll-story .about-side, .scroll-story .about-copy { position: relative; top: auto; }
  .about-side { min-height: 0; }
  .about-name { font-size: 5rem; }
  .about-copy h2 { font-size: 3rem; }
  .contact { padding-top: 5rem; }
  .contact h2 { font-size: clamp(2.7rem, 6.5vw, 4.5rem); }
  html[lang=en] .hero h1 { font-size: 5.4vw; }
  html[lang=en] .about-copy h2 { font-size: 2.9rem; }
}
@media (max-width: 560px) {
  :root { --stage-height: max(810px, 100svh); }
  .site-header { width: calc(100% - 32px); height: 56px; top: 10px; padding-inline: 10px; }
  .site-header .wordmark { font-size: 1.1rem; gap: .25rem; }
  .mobile-nav { top: 76px; inset-inline: 16px; }
  .hero-sticky { padding: 91px 20px 103px; gap: 9px; }
  .intro-line { font-size: .8125rem; margin-bottom: .75rem; }
  .hero h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); line-height: 1.5; }
  .hero-description { font-size: .9375rem; line-height: 1.8; margin-top: .75rem; }
  .hero-actions { gap: .3rem; margin-top: .9rem; }
  .hero-actions .button { min-height: 46px; padding: .65rem .8rem; font-size: .8125rem; gap: .75rem; }
  .hero-art { width: 100%; margin-top: 0; }
  .scene-viewport { aspect-ratio: 1.46; margin-inline: -6px; }
  .scene-label { font-size: .5625rem; letter-spacing: .08em; padding-inline: 0; }
  .scene-mode { font-size: .75rem; min-width: 72px; min-height: 34px; padding: .25rem .5rem; }
  .scene-modes { padding: 3px; }
  .scene-hint { font-size: .625rem; }
  .hero-chapters { gap: 9px; font-size: .5rem; bottom: 79px; }
  .hero-chapters i { width: 20px; }
  .hero-bottom { min-height: 60px; gap: 8px; }
  .hero-location { font-size: .625rem; }
  .hero-bottom .scroll-cue { font-size: .625rem; margin: 0; }
  .hero-outcome { bottom: 160px; }
  .hero-outcome p { font-size: clamp(1.65rem, 7.6vw, 2.5rem); }
  .outcome-kicker { font-size: .6875rem; }
  .hero-outcome a { font-size: .8125rem; }
  .work { border-radius: 22px 22px 0 0; }
  .project-gallery { padding-top: 0; }
  .gallery-heading > span { display: none; }
  .project-grid { gap: 2.5rem; }
  .expertise-intro { grid-template-columns: 1fr; gap: 0; margin-bottom: 2.2rem; }
  .expertise-intro .section-heading { margin-bottom: 1.5rem; }
  .expertise-intro h2 { font-size: 2.3rem; }
  .build-diagram { max-width: 360px; width: calc(100% - 18px); margin-inline: auto; margin-bottom: 1rem; }
  .build-layer { min-height: 60px; margin-bottom: 16px; font-size: .8125rem; }
  .build-caption { font-size: .5rem; }
  .service h3 { font-size: 1.2rem; }
  .service-body { padding-inline: 2rem 0; }
  .systems-grid { grid-template-columns: 1fr; }
  .about-copy h2 { font-size: 2.6rem; }
  .about-name { font-size: 4.5rem; }
  .scroll-story .about { padding-block: 4rem; }
  .contact { min-height: 94svh; padding-top: 3.5rem; padding-bottom: 1.5rem; }
  .contact h2 { font-size: clamp(2rem, 9.1vw, 3rem); }
  .contact .contact-backdrop { top: 61%; font-size: 22vw; }
  .contact footer { padding-bottom: 2.5rem; }
  html[lang=en] .hero h1 { font-size: clamp(2.25rem, 8.4vw, 3rem); }
  html[lang=en] .hero-outcome p { font-size: 2rem; }
  html[lang=en] .about-copy h2 { font-size: 2.35rem; }
  html[lang=en] .contact h2 { font-size: clamp(2rem, 8.3vw, 2.8rem); }
}

.app-portfolio{margin-top:clamp(3rem,5vw,5rem);padding-top:clamp(2.5rem,4vw,4rem);border-top:1px solid #d8dfeb;scroll-margin-top:110px}
.app-work-grid{display:flex;flex-wrap:wrap;gap:1rem}
.app-store-link{display:inline-flex;align-items:center;gap:1rem;min-width:210px;max-width:100%;padding:1rem 1.25rem;border:1px solid #dce3ef;border-radius:12px;background:#fff;color:#2456a2}
.app-work-icon{display:block;flex:none;width:56px;height:56px;object-fit:contain;border-radius:12px}
.app-store-label{display:flex;align-items:center;gap:.6rem;font:600 .875rem/1.5 StudioLatin,Arial,sans-serif;white-space:nowrap}
.app-store-label>span{font-size:1.125rem}
.app-store-link:hover{border-color:#7898cd;color:#12386e;background:#f0f5fc}
.app-store-link:focus-visible{outline:2px solid #2456a2;outline-offset:4px}
@media(max-width:480px){.app-store-link{min-width:0;padding:.85rem 1rem;gap:.8rem}.app-work-grid{gap:.8rem}.app-work-icon{width:48px;height:48px}}

.service-pages{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ffffff20}.service-pages h3{font-size:1rem;font-weight:600;margin-bottom:.8rem}.service-pages>div{display:flex;flex-wrap:wrap;gap:.6rem}.service-pages a{font-size:.875rem;line-height:1.8;border:1px solid #ffffff28;border-radius:8px;padding:.5rem .8rem;color:#bdd4ff}.service-pages a:hover{background:#192b48}.language-button{display:inline-flex;align-items:center;justify-content:center}
