@font-face{font-family:Manrope;src:url(assets/fonts/manrope-latin.woff2) format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/fonts/manrope-latin-ext.woff2) format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1E9F}
:root{--blue:#2d3090;--cyan:#01aeef;--violet:#8173f7;--bg:#030409;--text:#f1f3f8;--muted:#9aa2b5;--line:#98b4da26;--gutter:clamp(24px,5vw,88px);color-scheme:dark;scroll-behavior:smooth;scrollbar-gutter:stable}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:500 18px/1.65 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .65s,color .65s}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #69d8ff;outline-offset:6px}
::selection{background:var(--cyan);color:#030409}
[hidden]{display:none!important}
.cyan{color:#7edcff}
.accent-word{color:var(--accent-text);-webkit-text-stroke:0}
.eyebrow{font-size:14px;font-weight:500;letter-spacing:.2em;line-height:1.8;color:#a3aec5}
.skip-link{position:fixed;top:12px;left:12px;padding:16px;background:var(--cyan);color:var(--bg);z-index:120;transform:translateY(-170%)}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:35;top:0;left:0;right:0;height:92px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:background .3s,height .3s}
.site-header.scrolled{height:76px;background:#030409c9;backdrop-filter:blur(20px);border-color:#98b4da16}
.brand{display:block;width:139px;flex-shrink:0}
.brand img{width:100%;height:auto}
.brand-art{display:block;width:100%}
.logo-on-light{display:none}
.brand-symbol{display:block;position:relative;aspect-ratio:700/414;overflow:hidden;flex-shrink:0}
.brand-symbol>img{position:absolute;top:0;left:0;width:214.285714%;max-width:none;height:auto}
.theme-toggle{--theme-turn:180deg;position:relative;flex:0 0 60px;width:60px;height:48px;padding:0;border:1px solid #a6c0e130;border-radius:25px;background:#101629;color:#fff;isolation:isolate}
.theme-toggle:hover{border-color:#82d4f4}
.theme-sky{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.theme-wheel{position:absolute;width:60px;height:60px;left:50%;top:24px;margin-left:-30px;transform:rotate(var(--theme-turn));transition:transform 1s cubic-bezier(.45,0,.2,1)}
.theme-wheel svg{position:absolute;left:19px;width:22px;height:22px;transform:rotate(calc(-1 * var(--theme-turn)));transition:transform 1s cubic-bezier(.45,0,.2,1);overflow:visible}
.theme-sun{top:-11px}
.theme-moon{bottom:-11px}
.theme-horizon{position:absolute;bottom:5px;left:19px;right:19px;height:1px;background:#b8ccec45}
.header-status{position:absolute;left:50%;transform:translateX(-50%);font-size:14px;letter-spacing:.18em;color:#8092ad;display:flex;gap:8px;align-items:center}
.header-status i{width:3px;height:3px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.header-actions,.desktop-nav{display:flex;align-items:center;gap:28px}
.desktop-nav a{font-size:14px;color:#c6ccda;min-height:44px;display:grid;align-items:center;transition:color .2s}
.desktop-nav a:hover{color:#8dddff}
.header-cta{display:flex;align-items:center;gap:25px;font-size:14px;min-height:44px;border:1px solid #c1d7ff30;border-radius:40px;padding:12px 20px;transition:border-color .2s,background .2s}
.header-cta span{font-size:16px;color:#87dfff}
.header-cta:hover{border-color:#89dfff;background:#1831545e}
.menu-toggle{width:44px;height:44px;display:none;position:relative}
.menu-toggle span{position:absolute;left:10px;width:24px;height:1px;top:18px;background:var(--text);transition:transform .2s}
.menu-toggle span+span{top:26px}
.menu-toggle[aria-expanded=true] span{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span+span{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;top:75px;left:0;right:0;z-index:34;background:#070a14f5;backdrop-filter:blur(25px);padding:24px var(--gutter) 40px;border-bottom:1px solid var(--line)}
.mobile-menu a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-size:28px}
.mobile-menu a span{font-size:14px;color:var(--cyan)}

.story{height:100svh;min-height:640px;position:relative;overflow-anchor:none}
.cinematic .story{height:780svh}
.story-stage{height:100svh;min-height:640px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 52%,#0b1025 0%,#04060e 33%,#030409 70%);overflow-anchor:none}
.story-stage:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,#e1e9ff 0%,#f0f4fc 42%,#f7f9fc 80%);opacity:0;transition:opacity .65s;pointer-events:none}
#spiral{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity 1s;pointer-events:none}
.scene-ready #spiral{opacity:1}
.scene-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#030409e6,transparent 20%,transparent 75%,#03040966)}
.scene-fallback{position:absolute;top:-10%;left:45%;width:10%;height:120%;opacity:.18}
.scene-fallback div{position:absolute;width:100%;height:100%;border:1px solid #55cfff;border-radius:50%;transform:rotate(12deg);box-shadow:0 0 60px #263fc455}
.scene-fallback div:nth-child(2){transform:rotate(-12deg);border-color:#7762f6}
.scene-fallback div:nth-child(3){transform:rotate(0deg);opacity:.3}
.scene-ready .scene-fallback{display:none}
.hero-copy{position:absolute;inset:0;z-index:4;will-change:opacity,transform;pointer-events:none}
.hero-copy a{pointer-events:auto}
.hero-kicker{position:absolute;left:var(--gutter);top:24%}
.hero-line{position:absolute;display:block;font-size:clamp(65px,9.8vw,172px);font-weight:650;line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.line-one{left:var(--gutter);top:29%}
.line-two{left:35%;top:47%}
.line-three{right:var(--gutter);top:65%}
.hero-footnote{position:absolute;left:var(--gutter);bottom:16%;font-size:14px;line-height:1.8;color:#9aa7c0}
.hero-footnote .text-link{margin-top:12px}
.js:not(.intro-played) .hero-line{opacity:0}
.intro-played .hero-line{animation:type-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
.intro-played .line-two{animation-delay:.15s}
.intro-played .line-three{animation-delay:.3s}
.orbit-stage{position:absolute;inset:0;perspective:1150px;perspective-origin:50% 50%;z-index:6;pointer-events:none}
.orbit-card{position:absolute;top:51%;left:50%;width:clamp(470px,46vw,690px);height:clamp(340px,48vh,490px);transform-style:preserve-3d;will-change:transform,opacity;opacity:0}
.orbit-open{display:block;position:relative;padding:0;width:100%;height:100%;text-align:left;overflow:hidden;background:#08101a;color:#f1f3f8;border:1px solid #6ac9ff66;border-radius:13px;box-shadow:0 0 0 5px #518bdf06,0 0 45px #275cac1c,0 30px 100px #0009}
.orbit-open:before{content:'';position:absolute;inset:0;border:1px solid #c5e1ff24;border-radius:12px;z-index:7;pointer-events:none}
.orbit-open>img{width:100%;height:100%;object-fit:cover;filter:saturate(.84);opacity:.93}
.orbit-shade{position:absolute;inset:0;background:linear-gradient(90deg,#02040bc9 0%,#02040b5c 48%,transparent 80%),linear-gradient(0deg,#02040bea 0%,transparent 68%);z-index:1}
.orbit-top{position:absolute;top:22px;left:24px;right:24px;display:flex;align-items:center;gap:12px;z-index:3;font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:#e4efff}
.orbit-top>span:first-child{color:#83d6f7}
.orbit-top>span:nth-child(2){text-transform:none}
.orbit-top>span:last-child{margin-left:auto;font-size:18px}
.orbit-copy{position:absolute;bottom:28px;left:28px;right:28px;z-index:3}
.orbit-title{font-size:clamp(38px,3.8vw,59px);font-weight:650;letter-spacing:-.035em;line-height:1.05;display:block;text-shadow:0 2px 15px #0008}
.orbit-subtitle{display:block;color:#cad7eb;font-size:14px;margin-top:14px;max-width:70%;line-height:1.7}
.orbit-cta{display:flex;align-items:center;gap:20px;width:max-content;min-height:44px;font-size:14px;letter-spacing:.13em;margin-top:13px;border-bottom:1px solid #a1c9f958}
.orbit-cta b{font-size:17px;font-weight:400;color:#92ddfb}
.orbit-scan{position:absolute;top:0;bottom:0;left:var(--scan,50%);width:1px;background:linear-gradient(transparent,#90e5ff70,transparent);z-index:2;opacity:.5}
.orbit-scan i{position:absolute;top:45%;left:-12px;width:24px;height:24px;border:1px solid #93dafb66;border-radius:50%;background:#071323b0;font:12px Manrope;display:grid;place-items:center;font-style:normal}
.orbit-open:hover{border-color:#a5e8ff;box-shadow:0 0 50px #417ce52a,0 30px 100px #0009}
.project-story-copy{position:absolute;left:var(--gutter);top:19%;z-index:8;display:flex;align-items:center;gap:10px}
.project-story-copy .eyebrow{font-size:14px;color:#8195b3;margin-right:20px}
.project-current{font-size:28px;font-weight:650;letter-spacing:-.06em}
.project-total{font-size:14px;color:#6f839f}
.scene-coordinate{position:absolute;right:var(--gutter);bottom:100px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.scene-coordinate>span:first-child{font-size:14px;letter-spacing:.19em;color:#7892b2}
.scene-percent{font-size:22px;font-weight:650;color:#c1d4ef}
.stage-bottom{position:absolute;bottom:27px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:10;min-height:44px}
.scroll-cue{display:flex;align-items:center;gap:13px;font-size:14px;letter-spacing:.15em;min-height:44px;color:#a9bad0}
.scroll-cue>span{font-size:22px;color:#8edaff;animation:nudge 3s ease-in-out infinite}
.motion-toggle{font-size:14px;min-height:44px;color:#90a4c1;display:flex;gap:8px;align-items:center}
.motion-toggle span{font-size:19px;color:#81cfee}
.chapter-dots{display:flex;gap:0;position:absolute;left:50%;transform:translateX(-50%)}
.chapter-dots button{width:44px;height:44px;display:grid;place-items:center}
.chapter-dots span{width:16px;height:2px;background:#42516e;transition:background .2s,width .2s}
.chapter-dots button[aria-pressed=true] span{background:#80dcff;width:26px;box-shadow:0 0 8px #67d7ff9c}
.scene-progress{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:#c1dcff16;z-index:9}
.scene-progress span{display:block;height:100%;transform:scaleX(0);transform-origin:left;background:#85d5fa;box-shadow:0 0 7px #5ea7ed}
.closing-copy{position:absolute;left:var(--gutter);top:30%;z-index:5;will-change:transform,opacity}
.closing-copy h2{font-size:clamp(64px,9vw,140px);font-weight:650;letter-spacing:-.035em;line-height:1;margin:28px 0}
.closing-copy h2>span:first-child{color:var(--accent-text)}
.scene-glitch .orbit-card:not([inert]) .orbit-title{animation:signal .18s steps(2) 1}

.loader{position:fixed;inset:0;z-index:100;background:#030409;display:grid;place-items:center;overflow:hidden}
.loader-universe{position:absolute;left:50%;top:50%;width:min(75vw,650px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#1734594d,transparent 60%);perspective:600px}
.loader-universe:after{content:'';position:absolute;inset:23%;border-radius:50%;box-shadow:0 0 100px #5342c62e,inset 0 0 100px #206ac333;animation:breathe 2.8s ease-in-out infinite}
.loader-ring{position:absolute;inset:10%;border:1px solid #628dfe30;border-radius:50%;transform:rotateX(68deg) rotateZ(25deg);animation:loader-orbit 6s linear infinite;box-shadow:0 0 25px #4f6cfc10}
.loader-ring:nth-child(2){inset:6%;border-color:#9381ff35;animation-direction:reverse;animation-duration:8s}
.loader-ring:nth-child(3){inset:26%;border-color:#63d6ff47;animation-duration:4s}
.loader-sparks{position:absolute;inset:0;animation:rotate 24s linear infinite}
.loader-sparks i{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);background:#8ce9ff;border-radius:50%;box-shadow:0 0 9px #9083ff;animation:particle-orbit 4s ease-in-out infinite;animation-delay:var(--delay)}
.loader-brand{width:clamp(220px,25vw,370px);position:relative;z-index:2;filter:drop-shadow(0 0 25px #475bca9c)}
.loader-brand .brand-art{width:100%;height:auto;animation:logo-emerge 1s cubic-bezier(.16,1,.3,1) both}
.loader-brand>p{text-align:center;font-size:14px;letter-spacing:.38em;color:#8b9cbd;margin-top:30px}
.loader-bottom{position:absolute;bottom:40px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:flex-end}
.loader-bottom>span:first-child{font-size:14px;letter-spacing:.18em;color:#8797b4}
.loader-count{font-size:40px;font-weight:650;letter-spacing:-.05em}
.loader-skip{min-height:44px;font-size:14px;border-bottom:1px solid #8ad5ff66}
.loader-progress{position:absolute;bottom:0;left:0;right:0;height:1px;background:#142037}
.loader-progress span{display:block;height:100%;background:#8de4ff;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.loader.is-done{animation:loader-out 1.25s cubic-bezier(.2,.7,.2,1) forwards;pointer-events:none}
.loader.is-done .loader-universe{animation:universe-expand 1.25s cubic-bezier(.2,.7,.2,1) forwards}
.loader.is-done .loader-brand{animation:logo-exit 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.cursor-aura{position:fixed;left:-15px;top:-15px;width:30px;height:30px;border:1px solid #7adfff38;border-radius:50%;pointer-events:none;z-index:80;box-shadow:0 0 18px #38b5e71c;transition:opacity .3s}

.section{padding:110px var(--gutter);scroll-margin-top:76px;max-width:1800px;margin:auto}
.section-topline{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);font-size:14px;letter-spacing:.16em;color:#8a9cb9}
.section-topline span:first-child{color:#83bad7}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:65px 0 65px}
.section-heading h2{font-size:clamp(46px,6.8vw,104px);font-weight:650;letter-spacing:-.035em;line-height:1.05}
.section-heading>p{font-size:14px;line-height:1.9;color:var(--muted);padding-bottom:8px}
.project-grid{display:flex;gap:23px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#293449 transparent;padding:4px 2px 25px}
.project-card{flex:0 0 29%;min-width:260px;scroll-snap-align:start}
.project-link{display:block}
.project-image{height:320px;position:relative;background:#11131b;overflow:hidden;border:1px solid #8698c227;border-radius:5px}
.project-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .7s,filter .7s}
.project-link:hover img{transform:scale(1.04);filter:saturate(1)}
.project-arrow{position:absolute;right:15px;bottom:15px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#030409b0;backdrop-filter:blur(10px);font-size:25px;border:1px solid #a8d3fa55}
.image-index{position:absolute;top:18px;left:18px;font-size:14px;background:#0304099c;padding:6px 8px;border:1px solid #acc8f02e}
.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:18px}
.project-meta h3{font-size:16px;font-weight:400;letter-spacing:-.035em}
.project-meta>span{font-size:14px;color:#8b9bb4;max-width:110px;text-align:right;line-height:1.7}
.gallery-end{display:flex;justify-content:space-between;align-items:center;margin-top:15px}
.gallery-controls{display:flex;gap:8px}
.gallery-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:20px;color:#b5c9e6}
.gallery-controls button:hover{border-color:#8ecaf4}
.text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:10px 0;font-size:14px;color:#b9c8df}
.text-link span{font-size:20px;color:#82d4f4}
.text-link:hover{color:#a6e4ff}
.services{padding-top:30px}
.approach{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:3%;padding:100px 0 70px}
.approach h2{font-size:clamp(38px,4.2vw,65px);font-weight:650;letter-spacing:-.035em;line-height:1.13;margin:25px 0}
.approach h2 span{color:#81889c}
.approach-description{font-size:14px;line-height:1.9;color:#909cb4}
.identity-orbit{aspect-ratio:1;position:relative;display:grid;place-items:center;perspective:800px}
.identity-mark{width:31%;filter:drop-shadow(0 0 15px #7066ff);z-index:2}
.identity-caption{position:absolute;bottom:0;font-size:14px;letter-spacing:.25em;color:#6f88a9}
.identity-halo{position:absolute;inset:0;background:radial-gradient(ellipse,#3050a33d,transparent 65%)}
.identity-ring{position:absolute;inset:16%;border:1px solid #5669d847;border-radius:50%;box-shadow:0 0 28px #3c5eac19;animation:identity-spin 20s linear infinite}
.ring-b{inset:25%;border-color:#71d9ff5c;animation-direction:reverse;animation-duration:16s}
.ring-c{inset:10%;border-color:#7666df1f;animation-duration:29s}
.identity-particles{position:absolute;left:50%;top:50%;width:0;height:0;animation:rotate 35s linear infinite}
.identity-particles i{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4.5px;border:1px solid #92a8fa9c;border-radius:2px;transform:rotate(var(--angle)) translateX(clamp(70px,10vw,150px)) rotate(45deg);box-shadow:0 0 8px #575be544}
.service-row{display:grid;grid-template-columns:45px 1fr .75fr 105px 35px;align-items:center;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}
.service-row:first-child{border-top:1px solid var(--line)}
.service-number{font-size:14px;color:#7d9aba}
.service-row h3{font-size:clamp(24px,2.5vw,37px);font-weight:650;letter-spacing:-.05em}
.service-row>p{font-size:14px;line-height:1.8;color:#8f9bb2;max-width:230px}
.service-row figure{height:70px;border-radius:3px;overflow:hidden;opacity:.5;transform:rotate(-5deg);transition:opacity .3s,transform .3s}
.service-row figure img{width:100%;height:100%;object-fit:cover}
.service-row:hover figure{opacity:1;transform:none}
.service-arrow{font-size:28px;color:#607c9c}
.craft{display:grid;grid-template-columns:.7fr 1fr;gap:16%;align-items:center;margin-top:130px}
.craft-photo{width:100%;max-width:330px;margin-left:8%;position:relative;transform:rotate(-3deg)}
.craft-photo img{width:100%;height:400px;object-fit:cover;filter:saturate(.6);border-radius:5px}
.craft-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px;display:flex;justify-content:space-between;background:linear-gradient(transparent,#030409dc);font-size:14px;letter-spacing:.12em}
.craft-copy h3{font-size:clamp(38px,4.5vw,69px);font-weight:650;letter-spacing:-.035em;line-height:1.12;margin:24px 0}
.craft-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#919eb5}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:25px 0 0;margin:35px 0 0;border-top:1px solid var(--line);list-style:none}
.process li{font-size:14px}
.process li span{display:block;font-size:14px;color:#8194b1;margin-bottom:10px}
.contact{position:relative;padding-top:30px;padding-bottom:100px}
.contact>.eyebrow{margin-top:80px}
.contact h2{font-size:clamp(55px,10.5vw,160px);font-weight:650;letter-spacing:-.035em;line-height:1.02;margin:28px 0 70px;position:relative}
.contact h2>a{position:static;width:100px;height:100px;flex:none;display:grid;place-items:center;border:1px solid #7fc9f744;border-radius:50%;line-height:0;letter-spacing:0;color:#b5e6ff;transition:background .3s,box-shadow .3s}
.icon-arrow{display:block;width:24px;height:24px;flex:none}
.contact h2>a .icon-arrow{width:56px;height:56px}
.contact h2>a:hover{background:#20365166;box-shadow:0 0 40px #2d60ad33}
.contact-details{display:grid;grid-template-columns:1.2fr .8fr .4fr;gap:50px}
.phone{font-size:clamp(25px,3vw,40px);font-weight:650;letter-spacing:-.05em;display:block;margin:22px 0 8px}
.email{font-size:14px;color:#9eacc4;display:block;margin-bottom:25px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:14px 20px;font-size:14px;border:1px solid #8be0ff70;border-radius:40px;transition:background .2s}
.button-primary{background:#0b1928;color:#c9edff}
.button:hover{background:#16334c}
.button span{font-size:21px}
.address address{font-style:normal;font-size:14px;color:#9aa7bd;line-height:1.9;margin-top:22px;max-width:240px}
.contact-mark{width:140px;opacity:.4;align-self:center;filter:drop-shadow(0 0 15px #405bd333)}
footer{padding:30px var(--gutter);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
footer .brand{width:120px}
footer .text-link{font-size:14px}
.mobile-quote{display:none}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}

dialog{position:fixed;width:min(960px,calc(100% - 32px));max-height:90svh;padding:0;border:1px solid #7fa6dd55;border-radius:10px;background:#080d18;color:var(--text);overscroll-behavior:contain;overflow-x:hidden}
dialog::backdrop{background:#02030bcf;backdrop-filter:blur(18px)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:#080d18}
.dialog-close{display:flex;gap:20px;align-items:center;min-height:44px;font-size:14px}
.dialog-close span{font-size:25px}
.dialog-content{padding:35px}
.dialog-content h2{font-size:clamp(28px,4vw,54px);letter-spacing:-.03em;font-weight:650;line-height:1.2;margin:12px 0 18px}
.dialog-description{color:var(--muted);font-size:14px;line-height:1.8;max-width:600px}
.dialog-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:25px;margin:30px 0}
.dialog-gallery figure{display:flex;flex-direction:column;align-items:center;gap:12px;background:#030409;padding:12px;min-width:0}
.dialog-gallery img{max-height:65svh;object-fit:contain;height:auto;max-width:100%}
.dialog-gallery figcaption{font-size:14px;line-height:1.6;color:#8b9bb4}
.image-unavailable{font-size:14px;color:#b2bfd5;padding:35px;line-height:1.8;min-height:100px}
.comparison{border-top:1px solid var(--line);padding:25px 0}
.compare-labels{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px}
.comparison-stage{position:relative;overflow:hidden}
.comparison-stage>img{width:100%;display:block}
.comparison-after{position:absolute;inset:0;height:100%;object-fit:cover;clip-path:inset(0 0 0 50%)}
.comparison label{display:block;font-size:14px;margin-top:18px}
.comparison input{width:100%;min-height:44px;accent-color:var(--cyan)}

/* Daylight keeps the original blue/cyan artwork and readable photo overlays. */
:root[data-theme=light]{--bg:#f4f6fb;--text:#172a4a;--muted:#56657c;--line:#27426b29;color-scheme:light}
[data-theme=light] .logo-on-dark{display:none}
[data-theme=light] .logo-on-light{display:block}
[data-theme=light] .story-stage:before{opacity:1}
[data-theme=light] .scene-vignette{background:linear-gradient(0deg,#f4f6fbe6,transparent 20%,transparent 75%,#f4f6fb66)}
[data-theme=light] .site-header.scrolled{background:#f4f6fbdc;border-color:#28456c22}
[data-theme=light] .header-status,[data-theme=light] .eyebrow,[data-theme=light] .desktop-nav a{color:#526079}
[data-theme=light] .header-cta{border-color:#33598940}
[data-theme=light] .header-cta:hover{background:#e6edf9;border-color:#246396}
[data-theme=light] .header-cta span,[data-theme=light] .cyan,[data-theme=light] .text-link span{color:#0879a6}
[data-theme=light] .theme-toggle{background:#26365e;border-color:#26365e}
[data-theme=light] .mobile-menu{background:#f4f6fbf5}
[data-theme=light] .hero-footnote,[data-theme=light] .text-link,[data-theme=light] .scroll-cue,[data-theme=light] .motion-toggle{color:#53647f}


[data-theme=light] .project-story-copy .eyebrow,[data-theme=light] .project-total,[data-theme=light] .scene-coordinate>span:first-child{color:#526581}
[data-theme=light] .scene-percent{color:#365278}
[data-theme=light] .chapter-dots span{background:#b0bfd5}
[data-theme=light] .chapter-dots button[aria-pressed=true] span{background:#137da6;box-shadow:0 0 8px #267bbd3b}
[data-theme=light] .scene-progress{background:#61779b26}
[data-theme=light] .scene-progress span{background:#1685ac}
[data-theme=light] .orbit-open{box-shadow:0 0 0 5px #518bdf09,0 20px 70px #223c6d22}
[data-theme=light] .loader{background:#f4f6fb}
[data-theme=light] .loader-brand>p,[data-theme=light] .loader-bottom>span:first-child{color:#556985}
[data-theme=light] .loader-progress{background:#d8e1ef}
[data-theme=light] .loader-progress span{background:#137da6}
[data-theme=light] .section-topline{color:#526581}
[data-theme=light] .section-topline span:first-child{color:#257395}
[data-theme=light] .project-image{background:#e5ebf5;border-color:#27426b29}
[data-theme=light] .project-arrow,[data-theme=light] .image-index,[data-theme=light] .craft-photo figcaption{color:#f1f3f8}
[data-theme=light] .project-meta>span,[data-theme=light] .approach-description,[data-theme=light] .service-row>p,[data-theme=light] .craft-copy>p:not(.eyebrow),[data-theme=light] .email,[data-theme=light] .address address{color:#53647c}
[data-theme=light] .approach h2 span{color:#6b7795}
[data-theme=light] .gallery-controls button,[data-theme=light] .service-number,[data-theme=light] .service-arrow,[data-theme=light] .process li span{color:#405f84}
[data-theme=light] .identity-caption{color:#53647c}
[data-theme=light] .identity-halo{background:radial-gradient(ellipse,#698bde22,transparent 65%)}
[data-theme=light] .identity-ring{border-color:#4964a84a;box-shadow:0 0 28px #3c5eac0d}
[data-theme=light] .identity-particles i{border-color:#5075b6a8;box-shadow:none}
[data-theme=light] .identity-mark{filter:drop-shadow(0 0 15px #7066ff36)}
[data-theme=light] .contact h2>a{color:#176d99;border-color:#2f719e55}
[data-theme=light] .contact h2>a:hover{background:#dce8f6}
[data-theme=light] .button-primary{background:#e4eff8;color:#153e61}
[data-theme=light] .button:hover{background:#d2e5f4}
[data-theme=light] .contact-mark{opacity:.8}
[data-theme=light] .mobile-quote{background:#f4f6fbec;border-color:#34749d66;color:#173c61}
[data-theme=light] dialog,[data-theme=light] .dialog-top{background:#f7f9fc}
[data-theme=light] dialog::backdrop{background:#24375785}
[data-theme=light] .dialog-gallery figure{background:#e9eef6}
[data-theme=light] .dialog-gallery figcaption,[data-theme=light] .image-unavailable{color:#52647f}
[data-theme=light] .cursor-aura{border-color:#187da94d;box-shadow:0 0 18px #3386b01c}

@keyframes nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@keyframes rotate{to{transform:rotate(360deg)}}
@keyframes type-arrive{from{opacity:0;transform:translateY(50px);filter:blur(12px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes signal{0%{transform:translateX(-2px);text-shadow:3px 0 #47c9ef66}50%{transform:translateX(2px);text-shadow:-3px 0 #8f6fff66}100%{transform:none;text-shadow:none}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes breathe{50%{opacity:.45;transform:scale(1.15)}}
@keyframes loader-orbit{0%{transform:rotateZ(0) rotateX(68deg) rotateY(8deg)}100%{transform:rotateZ(360deg) rotateX(68deg) rotateY(8deg)}}
@keyframes particle-orbit{0%,100%{transform:rotate(var(--angle)) translateX(var(--radius));opacity:.2}50%{transform:rotate(calc(var(--angle) + 30deg)) translateX(calc(var(--radius) * 1.5));opacity:1}}
@keyframes logo-emerge{from{opacity:0;filter:blur(12px);transform:scale(.86)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes loader-out{0%,40%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes logo-exit{0%{transform:scale(1);opacity:1}50%{opacity:1}100%{transform:scale(1.08) translateY(-35px);filter:blur(8px);opacity:0}}
@keyframes universe-expand{to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}
@keyframes identity-spin{0%{transform:rotateZ(0) rotateX(20deg) rotateY(20deg)}100%{transform:rotateZ(360deg) rotateX(20deg) rotateY(20deg)}}

@media(min-width:1800px){.hero-line{font-size:160px}.line-two{left:36%}}
@media(max-width:1100px){.header-status{display:none}.desktop-nav,.header-actions{gap:22px}.orbit-card{width:56vw;height:44vh}.project-story-copy .eyebrow{max-width:100px;line-height:1.8}.hero-line{font-size:10vw}.section-heading h2{font-size:7vw}.approach{grid-template-columns:1.2fr .8fr}.service-row{grid-template-columns:30px 1fr .7fr 80px 25px;gap:15px}.project-meta{display:block}.project-meta>span{display:block;max-width:none;text-align:left;margin-top:6px}}
@media(max-width:760px),(max-width:1100px) and (max-aspect-ratio:3/4){
:root{--gutter:24px}
.site-header,.site-header.scrolled{height:76px}
.brand{width:132px}
.desktop-nav{display:none}
.header-actions{gap:8px}
.header-cta{display:none}
.menu-toggle{display:block}
.story,.story-stage{min-height:600px}
.cinematic .story{height:660svh}
.hero-kicker{top:25%;left:24px;right:24px;text-align:center;font-size:clamp(7px,1.8vw,12px);letter-spacing:.13em}
.hero-line{font-size:clamp(44px,13.1vw,112px);letter-spacing:-.035em;left:24px;right:24px;text-align:center}
.line-one{top:31%}
.line-two{top:43%}
.line-three{top:55%;font-size:clamp(60px,17vw,125px)}
.hero-footnote{bottom:14%;left:24px;right:24px;text-align:center;font-size:clamp(10px,2.4vw,18px)}
.hero-footnote .text-link{margin-top:6px;font-size:14px}
.scene-fallback{left:38%;width:24%}
.orbit-card{width:calc(100% - 48px);height:44svh;min-height:330px;max-height:440px;top:51%}
.orbit-open{border-radius:10px}
.orbit-top{left:18px;right:18px;top:18px;font-size:14px;gap:10px;letter-spacing:.08em}
.orbit-copy{left:20px;right:20px;bottom:20px}
.orbit-title{font-size:42px}
.orbit-subtitle{font-size:14px;max-width:85%}
.orbit-cta{font-size:14px;margin-top:9px}
.project-story-copy{top:16%;left:24px;right:24px}
.project-story-copy .eyebrow{max-width:none;font-size:14px;margin-right:auto}
.project-current{font-size:25px}
.project-total{font-size:14px}
.stage-bottom{bottom:20px;left:24px;right:24px}
.scroll-cue{font-size:14px;letter-spacing:.06em;gap:8px}
.scroll-cue>span{font-size:18px}
.motion-toggle{font-size:14px;gap:5px}
.chapter-dots{bottom:55px}
.chapter-dots button{width:44px;min-height:44px}
.scene-coordinate{display:none}
.scene-coordinate>span:first-child{font-size:14px;max-width:85px;text-align:right;line-height:1.8}
.scene-percent{font-size:18px}
.closing-copy{top:23%;left:24px;right:24px;text-align:center}
.closing-copy .eyebrow{font-size:14px}
.closing-copy h2{font-size:15vw;margin:20px 0}
.closing-copy .text-link{font-size:14px}
.loader-brand{width:240px}
.loader-universe{width:400px;max-width:110vw}
.loader-bottom{bottom:28px;align-items:center}
.loader-bottom>span:first-child{font-size:14px;max-width:75px;line-height:1.8}
.loader-count{font-size:28px}
.loader-skip{font-size:14px}
.loader-brand>p{font-size:14px}
.cursor-aura{display:none}
.section{padding:65px 24px;scroll-margin-top:76px}
.section-topline{font-size:14px;line-height:1.8;gap:20px}
.section-topline>span:last-child{text-align:right}
.section-heading{display:block;margin:42px 0 35px}
.section-heading h2{font-size:clamp(39px,10.5vw,72px)}
.section-heading>p{font-size:14px;margin-top:22px}
.project-grid{gap:16px;margin-right:-24px;padding-right:24px}
.project-card{flex-basis:76%;min-width:240px}
.project-image{height:300px}
.project-meta h3{font-size:16px}
.project-meta>span{font-size:14px}
.gallery-end{gap:15px}
.gallery-end>.text-link{font-size:14px;gap:10px}
.services{padding-top:25px}
.approach{grid-template-columns:minmax(0,1fr);padding:60px 0 40px;gap:35px;text-align:center}
.approach h2{font-size:clamp(35px,8.8vw,62px)}
.approach .eyebrow{font-size:14px}
.approach-description{font-size:14px}
.identity-orbit{width:100%;max-width:420px;justify-self:center}
.identity-particles i{transform:rotate(var(--angle)) translateX(clamp(90px,27vw,170px)) rotate(45deg)}
.service-row{grid-template-columns:22px 1fr 64px;gap:12px;padding:24px 0}
.service-row h3{font-size:25px}
.service-row>p{grid-column:2;grid-row:2;font-size:14px}
.service-row figure{grid-column:3;grid-row:1/3;height:75px}
.service-arrow{display:none}
.craft{grid-template-columns:minmax(0,1fr);gap:45px;margin-top:80px}
.craft-photo{width:76%;max-width:330px;margin-inline:auto;transform:none}
.craft-photo img{height:300px}
.craft-copy{padding-left:0;text-align:center}
.craft-copy h3{font-size:clamp(34px,9.1vw,62px)}
.craft-copy .eyebrow{font-size:14px}
.craft-copy>p:not(.eyebrow){font-size:14px}
.process{gap:10px}
.process li{font-size:14px}
.contact{padding-top:25px;padding-bottom:70px}
.contact>.eyebrow{font-size:14px;margin-top:55px}
.contact>.eyebrow{text-align:center}
.contact h2{font-size:clamp(44px,12.8vw,105px);margin-bottom:42px;text-align:center}
.contact h2>a{width:64px;height:64px;margin:0}
.contact h2>a .icon-arrow{width:36px;height:36px}
.contact-details{grid-template-columns:minmax(0,1fr);gap:38px;position:relative;text-align:center}
.contact-details .eyebrow{font-size:14px}
.phone{font-size:30px}
.email{font-size:14px}
.address address{font-size:14px;max-width:260px;margin-inline:auto}
.contact-mark{position:relative;width:112px;opacity:.65;justify-self:center}
footer{padding:25px 24px 80px;flex-wrap:wrap}
footer .brand{width:112px}
footer .text-link{font-size:14px}
footer .replay-intro{order:3;width:100%}
.mobile-quote{position:fixed;right:18px;bottom:max(16px,env(safe-area-inset-bottom));border:1px solid #8bd9fb5c;border-radius:30px;background:#071422e8;backdrop-filter:blur(15px);color:#e0f3ff;min-height:44px;padding:13px 18px;font-size:14px;z-index:25;display:flex;gap:22px;transform:translateY(100px);transition:transform .3s}
.mobile-quote.show{transform:none}
.dialog-top{padding:12px 20px}
.dialog-content{padding:25px 20px}
.dialog-description{font-size:14px}
.dialog-gallery figure{padding:8px}
}
@media(max-height:700px) and (min-width:761px){.hero-line{font-size:8.5vw}.hero-kicker{top:25%}.line-one{top:31%}.line-two{top:47%}.line-three{top:64%}.hero-footnote{bottom:14%;font-size:14px}.orbit-card{height:51vh;min-height:290px}.orbit-title{font-size:40px}.orbit-copy{bottom:20px}.orbit-cta{margin-top:4px}.project-story-copy{top:17%}}
@media(pointer:coarse){.cursor-aura{display:none}}
@media(prefers-reduced-motion:reduce){:root:not(.motion-enabled){scroll-behavior:auto}:root:not(.motion-enabled) *,:root:not(.motion-enabled) *::before,:root:not(.motion-enabled) *::after{animation:none!important;transition:none!important}:root:not(.motion-enabled) .reveal{opacity:1;transform:none}}
.reduced{scroll-behavior:auto}
.reduced *,.reduced *::before,.reduced *::after{animation:none!important;transition:none!important}
.reduced .reveal,.reduced .hero-line{opacity:1;transform:none;filter:none}
.reduced .cursor-aura{display:none}


/* Readable type scale: solid headings, full contrast, and useful caption sizes. */
:root{--muted:#c1ccdf;--accent-text:#8edcff;--label:#bdcce3;--surface:#0b1120;--line:#a8bed638}
:root[data-theme=light]{--muted:#3e506b;--accent-text:#175c86;--label:#354d6c;--surface:#e9eef6;--line:#29477338}
.accent-word{-webkit-text-stroke:0}
.eyebrow,.section-topline,.header-status{font-size:14px;font-weight:650;letter-spacing:.08em;color:var(--label)}
.site-header .brand{width:clamp(168px,13vw,205px)}
.site-header,.site-header.scrolled{height:96px}
.header-status{position:static;transform:none;margin-inline:auto;padding-inline:24px;white-space:nowrap}
.desktop-nav a,.header-cta{font-size:16px;font-weight:650}
.desktop-nav,.header-actions{gap:24px}
.header-cta{padding:12px 24px}
.hero-line{font-weight:650;letter-spacing:-.035em;font-size:clamp(60px,8.8vw,152px)}
.hero-footnote{font-size:18px;line-height:1.65}
.hero-footnote .text-link{font-size:16px;margin-top:8px}
.text-link,.button,.dialog-close,.mobile-quote{font-size:16px;font-weight:650;line-height:1.5}
.scroll-cue,.motion-toggle{font-size:14px;font-weight:650;letter-spacing:.03em}
.scene-coordinate>span:first-child,.project-story-copy .eyebrow,.project-total{font-size:14px;letter-spacing:.05em}
.scene-coordinate{bottom:110px}
.project-story-copy{top:18%}
.project-current{font-size:32px}
.project-current,.project-total{flex-shrink:0;white-space:nowrap}
.orbit-top{font-size:14px;letter-spacing:.04em;font-weight:650;line-height:1.5}
.orbit-title{font-size:clamp(34px,3.4vw,54px);font-weight:650;letter-spacing:-.035em;line-height:1.12}
.orbit-subtitle{font-size:16px;color:#edf3ff;font-weight:550;line-height:1.5;margin-top:12px}
.orbit-cta{font-size:14px;font-weight:750;letter-spacing:.04em;line-height:1.5;margin-top:16px}
.orbit-shade{background:linear-gradient(90deg,#02040be8 0%,#02040b88 52%,#02040b20 100%),linear-gradient(0deg,#02040bf2 0%,transparent 82%)}
.scene-glitch .orbit-card:not([inert]) .orbit-title{animation:none}
.section{scroll-margin-top:112px}
.section-topline{line-height:1.6;gap:28px}
.section-heading{gap:48px;margin-block:48px}
.section-heading h2{font-size:clamp(42px,5.5vw,88px);font-weight:700;letter-spacing:-.025em;line-height:1.14}
.section-heading>p{font-size:18px;line-height:1.7;width:320px;max-width:100%;flex-shrink:0;padding-bottom:4px;text-wrap:pretty}
.project-meta{display:block}
.project-meta h3{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.4}
.project-meta>span{font-size:16px;display:block;max-width:none;text-align:left;margin-top:6px;line-height:1.5}
.image-index{font-size:14px;font-weight:650}
.approach h2{font-size:clamp(36px,4vw,64px);font-weight:650;letter-spacing:-.035em;line-height:1.2}
.approach-description,.service-row>p,.craft-copy>p:not(.eyebrow),.email,.address address,.dialog-description{font-size:18px;line-height:1.75}
.service-row{grid-template-columns:40px minmax(0,1.2fr) minmax(0,1fr) 120px 32px;gap:24px;padding-block:32px}
.service-row h3{font-size:clamp(27px,2.5vw,38px);font-weight:650;letter-spacing:-.025em;line-height:1.3;text-wrap:balance}
.service-row>p{max-width:340px;text-wrap:pretty}
.service-number{font-size:16px;font-weight:650}
.service-row figure{height:88px;opacity:1;transform:none}
.craft{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10%}
.craft-photo{max-width:390px;margin-left:0;transform:none}
.craft-photo img{height:480px}
.craft-photo figcaption{font-size:14px;font-weight:650;letter-spacing:.04em;line-height:1.5}
.craft-copy h3{font-size:clamp(36px,4.1vw,64px);font-weight:700;line-height:1.2;letter-spacing:-.025em}
.process{gap:16px;margin-top:30px;padding-top:24px}
.process li{font-size:20px;font-weight:700;line-height:1.5}
.process li span{font-size:15px;font-weight:600;margin-bottom:8px}
.contact h2{display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:clamp(54px,8.4vw,128px);font-weight:700;letter-spacing:-.025em;line-height:1.12}
.contact-title{display:block;min-width:0}
.contact-details{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(110px,.35fr);gap:40px;align-items:start}
.contact-details>div{min-width:0}
.contact-details .eyebrow{margin-bottom:24px}
.contact-details .phone,.contact-details address{margin-top:0}
.contact .whatsapp-button{display:inline-flex;justify-content:center;gap:20px;min-height:58px;max-width:100%;padding:15px 24px;background:#25d366;border-color:#139e49;color:#07351c;font-weight:750;letter-spacing:0}
.contact .whatsapp-button:hover{background:#4be185;border-color:#139e49;color:#07351c}
.contact .whatsapp-button .button-label{font-size:inherit;line-height:1.5;white-space:nowrap}
.phone{font-size:clamp(30px,3.3vw,48px);font-weight:650;line-height:1.3;letter-spacing:0}
.address address{max-width:350px}
.dialog-content h2{font-weight:650;letter-spacing:-.03em}
.dialog-gallery figcaption,.comparison label,.compare-labels{font-size:16px}
.loader-brand>p,.loader-bottom>span:first-child,.loader-skip{font-size:14px;letter-spacing:.08em}
.loader-bottom>span:first-child{max-width:none}
footer .text-link{font-size:16px}
footer .brand{width:168px}
/* Keep the same readable palette in both themes; photo captions stay white. */
:root .eyebrow,:root .header-status,:root .section-topline,:root .scene-coordinate>span:first-child,:root .project-story-copy .eyebrow,:root .identity-caption,:root .service-number,:root .process li span,:root .project-total{color:var(--label)}
:root .section-topline span:first-child,:root .approach h2 span{color:var(--accent-text)}
:root .desktop-nav a{color:var(--text)}
:root .hero-footnote,:root .text-link,:root .scroll-cue,:root .motion-toggle,:root .project-meta>span,:root .approach-description,:root .service-row>p,:root .craft-copy>p:not(.eyebrow),:root .email,:root .address address{color:var(--muted)}

/* Client logos keep their original colours on a common white background. */
.client-strip{padding:34px 0 40px;border-block:1px solid var(--line);background:var(--surface);overflow:hidden}
.client-heading{max-width:1800px;margin:0 auto 24px;padding-inline:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px}
.client-heading h2{font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.4}
.brand-pause{flex-shrink:0;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:24px;font-size:14px;font-weight:650}
.brand-pause:hover{border-color:var(--accent-text)}
.brand-viewport{overflow:hidden}
.brand-track{display:flex;width:max-content}
.js .brand-track{animation:marquee 95s linear infinite}
.brand-group{display:flex;flex-shrink:0;gap:20px;margin:0;padding:0 20px 0 0;list-style:none}
.brand-tile{width:230px;height:120px;flex-shrink:0;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:22px 30px}
.brand-tile img{width:156px;height:64px;object-fit:contain}
.brand-tile--lacoste{flex-direction:column;gap:2px;padding-block:12px}
.brand-tile--lacoste img{width:82px;height:47px}
.brand-tile--lacoste strong{font:700 18px/1.4 Arial,sans-serif;letter-spacing:.1em;color:#082415}
.brand-tile--dr img{width:94px;height:80px}
.brand-tile--mavi img{width:145px;height:50px}
.brand-tile--lc-waikiki img{width:170px;height:auto;max-width:100%}
.brand-tile--adalilar img,.brand-tile--meb img,.brand-tile--english-home img,.brand-tile--mapei img,.brand-tile--essen img{width:180px;max-width:100%;height:76px}
.brand-tile--remley img{width:165px;height:76px}
.brand-tile--sedas img,.brand-tile--diyanet img,.brand-tile--saski img,.brand-tile--karaca-home img,.brand-tile--sakaryaspor img{width:108px;height:88px}
.brand-tile--arabul strong{font:800 clamp(24px,2.5vw,32px)/1.1 Manrope,Arial,sans-serif;letter-spacing:.04em;color:#182956}
.brand-viewport:hover .brand-track,.client-strip.is-paused .brand-track{animation-play-state:paused}
.reduced .brand-track{animation:none}
.reduced .brand-track,:root:not(.js) .brand-track{width:auto}
.reduced .brand-group,:root:not(.js) .brand-group{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;padding-inline:var(--gutter)}
.reduced .brand-group[aria-hidden=true],:root:not(.js) .brand-group[aria-hidden=true]{display:none}
.reduced .brand-tile,:root:not(.js) .brand-tile{width:100%;min-width:0}
@media(min-width:761px) and (max-width:1250px){.header-status{display:none}.section-heading{display:block}.section-heading>p{margin-top:24px;max-width:450px}.service-row{grid-template-columns:32px minmax(0,1.2fr) minmax(0,1fr) 90px;gap:18px}.service-arrow{display:none}.contact-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-mark{display:none}}
@media(max-width:760px),(max-width:1100px) and (max-aspect-ratio:3/4){
  :root{--gutter:20px}
  .site-header,.site-header.scrolled{height:84px}
  .site-header .brand{width:160px}
  .header-actions{gap:6px}
  .mobile-menu{top:83px}
  .story,.story-stage{min-height:720px}
  .hero-kicker{top:20%;font-size:13px;letter-spacing:.035em;line-height:1.7}
  .hero-line{font-size:clamp(38px,11.3vw,100px);letter-spacing:-.04em;left:20px;right:20px}
  .line-one{top:29%}.line-two{top:40%}.line-three{top:51%;font-size:clamp(52px,15vw,120px)}
  .hero-footnote{bottom:16%;font-size:16px;line-height:1.6}
  .hero-footnote .text-link{font-size:16px}
  .stage-bottom{left:20px;right:20px}
  .scroll-cue,.motion-toggle{font-size:13px;gap:6px;letter-spacing:0}
  .project-story-copy{left:20px;right:20px;top:15%}
  .project-story-copy .eyebrow{font-size:13px;line-height:1.6;max-width:calc(100% - 100px);min-width:0;margin-right:auto}
  .project-total{font-size:14px}
  .orbit-card{width:calc(100% - 40px);min-height:360px}
  .orbit-top{font-size:13px;gap:8px;letter-spacing:0}
  .orbit-copy{left:20px;right:20px}
  .orbit-title{font-size:clamp(30px,8vw,46px);line-height:1.15}
  .orbit-subtitle{font-size:16px;max-width:100%}
  .orbit-cta{font-size:13px;margin-top:12px}
  .closing-copy .eyebrow{font-size:13px}
  .closing-copy .text-link{font-size:16px}
  .closing-copy h2{font-size:clamp(48px,12vw,90px)}
  .section{padding:60px 20px;scroll-margin-top:100px}
  .section-topline{font-size:13px;letter-spacing:.035em;gap:18px;line-height:1.6}
  .section-heading h2{font-size:clamp(32px,8.4vw,64px);letter-spacing:-.025em}
  .section-heading>p{font-size:17px;width:auto;max-width:36ch;padding-bottom:0}
  .project-grid{margin-right:-20px;padding-right:20px}
  .project-meta h3{font-size:22px}
  .project-meta>span{font-size:16px}
  .gallery-end>.text-link{font-size:15px}
  .approach{padding-top:48px}
  .approach h2{font-size:clamp(30px,7.7vw,56px)}
  .approach .eyebrow,.craft-copy .eyebrow,.contact>.eyebrow,.contact-details .eyebrow{font-size:13px}
  .approach-description,.service-row>p,.craft-copy>p:not(.eyebrow),.address address,.email,.dialog-description{font-size:17px}
  .service-row{grid-template-columns:26px minmax(0,1fr) 72px;gap:12px;padding-block:28px}
  .service-row h3{font-size:25px;line-height:1.3}
  .service-row>p{grid-column:2 / -1;grid-row:2;max-width:none}
  .service-row figure{grid-column:3;grid-row:1;height:68px}
  .craft{grid-template-columns:minmax(0,1fr);gap:36px}
  .craft-photo{width:90%;max-width:380px;margin-inline:auto}
  .craft-photo img{height:340px}
  .craft-photo figcaption{font-size:13px}
  .craft-copy h3{font-size:clamp(34px,8.6vw,62px)}
  .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;text-align:left}
  .process li{font-size:20px;padding:14px 16px;background:var(--surface);border-radius:10px}
  .process li span{font-size:14px}
  .contact h2{flex-direction:column;gap:24px;font-size:clamp(40px,10.6vw,85px);letter-spacing:-.025em}
  .contact h2>a{position:static}
  .contact-details{grid-template-columns:minmax(0,1fr);gap:36px}
  .contact-details .eyebrow{margin-bottom:16px}
  .phone{font-size:clamp(28px,8vw,42px)}
  .address address{max-width:330px}
  .contact-mark{display:block}
  footer .text-link{font-size:15px}
  .client-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}
  .client-heading h2{font-size:23px}
  .brand-tile{width:190px;height:110px;padding-inline:22px}
  .brand-group{gap:16px;padding-right:16px}
  .reduced .brand-group,:root:not(.js) .brand-group{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loader-brand>p{font-size:13px;letter-spacing:.06em}
  .loader-bottom>span:first-child{font-size:13px;max-width:140px}
  .loader-skip{font-size:14px}
}
@media(max-width:360px){.site-header .brand{width:140px}.section-topline{flex-wrap:wrap}.process li{padding-inline:12px}.service-row h3{font-size:23px}}

/* Owner-supplied application photographs beneath contact. */
.work-jump{display:flex;width:max-content;max-width:100%;align-items:center;gap:12px;margin-top:18px;color:var(--accent-text);font-size:16px;font-weight:700;line-height:1.5}
.work-jump:hover{text-decoration:underline;text-underline-offset:5px}
.more-work{padding-top:28px;padding-bottom:110px}
.more-work-intro{display:flex;justify-content:space-between;align-items:end;gap:48px;margin:44px 0 38px}
.more-work-intro h2{max-width:900px;font-size:clamp(38px,5vw,76px);font-weight:700;line-height:1.14;letter-spacing:-.025em;text-wrap:balance}
.more-work-intro p{max-width:330px;color:var(--muted);font-size:18px;line-height:1.7;text-wrap:pretty}
.more-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.work-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:transform .25s,border-color .25s}
.work-card:hover{transform:translateY(-4px);border-color:var(--accent-text)}
.work-card-image{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:#101827}
.work-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.work-card-image--contain img{object-fit:contain}
.work-card-copy{display:grid;gap:4px;padding:17px 18px 20px}
.work-card-number{color:var(--accent-text);font-size:13px;font-weight:700;letter-spacing:.06em;line-height:1.5}
.work-card-copy strong{color:var(--text);font-size:19px;font-weight:700;line-height:1.35;text-wrap:balance}
.work-card-type{color:var(--muted);font-size:16px;line-height:1.5}
#work-dialog{width:min(1080px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px}
.work-dialog-top,.work-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 22px}
.work-dialog-top{border-bottom:1px solid var(--line)}
.work-dialog-count,.work-dialog-type{color:var(--accent-text);font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1.5}
.work-dialog-close{display:flex;align-items:center;gap:12px;min-height:44px;font-size:16px;font-weight:650}
.work-dialog-close span{font-size:27px;line-height:1}
.work-dialog-image{display:grid;place-items:center;min-height:180px;height:min(65dvh,720px);padding:12px;background:#090f1b}
.work-dialog-image img{display:block;min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}
.work-dialog-bottom{border-top:1px solid var(--line)}
.work-dialog-bottom h2{font-size:clamp(20px,2.2vw,30px);font-weight:700;line-height:1.3;letter-spacing:-.02em}
.work-dialog-nav{display:flex;gap:10px;flex:none}
.work-dialog-nav button{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:24px;line-height:1}
.work-dialog-nav button:hover{border-color:var(--accent-text)}
:root[data-theme=light] .work-dialog-image{background:#e6ebf3}
@media(max-width:1150px){.more-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .contact{padding-bottom:66px}
  .work-jump{margin:18px auto 0;font-size:15px;justify-content:center}
  .more-work{padding-top:20px;padding-bottom:70px}
  .more-work-intro{display:block;margin:32px 0 28px}
  .more-work-intro h2{font-size:clamp(32px,8.4vw,54px)}
  .more-work-intro p{max-width:42ch;margin-top:16px;font-size:17px}
  .more-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .work-card-copy{padding:12px 12px 15px}
  .work-card-copy strong{font-size:17px}
  .work-card-type{font-size:14px}
  .work-dialog-top,.work-dialog-bottom{padding:10px 14px}
  .work-dialog-image{height:min(66dvh,650px);padding:6px}
}
@media(max-width:360px){.more-work-grid{grid-template-columns:minmax(0,1fr)}.work-card-image{aspect-ratio:1/1}}
/* Readable route into the detailed, indexable service pages. */
.seo-service-link{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid var(--line);padding:2.2rem 0 4rem}.seo-service-link>div{flex:1 1 24rem}.seo-service-link p:not(.eyebrow){max-width:58ch;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7;color:var(--muted)}.seo-service-link>a{display:inline-flex;align-items:center;gap:1rem;white-space:nowrap;border:1px solid currentColor;border-radius:999px;padding:.9rem 1.3rem;color:var(--cyan);font-weight:750}.seo-service-link>a:hover{background:var(--cyan);color:#061522}@media(max-width:700px){.seo-service-link{align-items:flex-start;flex-direction:column}}
