@font-face{font-family:Geist;src:url(fonts/geist.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Barlow;src:url(fonts/barlow-condensed-semibold.woff2) format('woff2');font-weight:600;font-display:swap}
:root{--paper:#f1f4f5;--ink:#122f43;--muted:#506775;--blue:#749ebe;--deep:#345c77;--line:#c2d0d8;--hero:#89acc5;--hero-ink:#102f45;--hero-line:#456d88;--panel:#dce6eb;--work:#102d41;--work-ink:#eef4f7;--work-muted:#b6ccd9;--ease:cubic-bezier(.16,1,.3,1);--gutter:clamp(22px,4.5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-color:var(--deep) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:600}h1,h2{font-family:Barlow,Geist,sans-serif;line-height:.96;letter-spacing:-.015em;text-transform:uppercase}h2{font-size:clamp(56px,6.8vw,110px)}h3{font-size:28px;line-height:1.2;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{display:block;max-width:100%;height:auto}button{color:inherit}button[hidden],[hidden]{display:none!important}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:3px solid var(--deep);outline-offset:6px}input,select,textarea{caret-color:var(--deep)}.container{width:min(1600px,calc(100% - var(--gutter)*2));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;padding:12px 18px;background:var(--paper);z-index:200}.skip:focus{top:12px}.link-icon,.motion-icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mono{font:12px/1.5 Geist,sans-serif;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.mobile-nav-footer{display:none}
/* A masthead, title field and a single authored brand gesture. */
.site-header{position:relative;background:var(--hero);color:var(--hero-ink);z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:106px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:36px;font-weight:700;letter-spacing:-.055em;line-height:1}.brand img{width:30px;height:38px;object-fit:contain;filter:brightness(0) saturate(100%);opacity:.88}.brand-dot{color:inherit}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav a{font-size:13px;padding:12px 0}.main-nav a:hover,.footer-language a:hover{text-decoration:underline;text-underline-offset:6px}.header-actions{display:flex;gap:24px;align-items:center}.language-switch{display:flex;align-items:center;gap:9px;font-size:12px}.language-switch span{opacity:.5}.language-switch a{padding:10px 0}.language-switch a:hover{text-decoration:underline;text-underline-offset:5px}.language-switch [aria-current=page]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.header-cta{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding:9px 0}.header-cta .link-icon{width:17px;height:17px}.menu-toggle{display:none;width:40px;height:44px;padding:10px 4px;border:0;background:transparent}.menu-toggle span{display:block;background:currentColor;width:30px;height:1px;margin:7px 0;transform-origin:center;transition:transform .3s var(--ease)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* Icon columns, thumb diameter and travel share one measure at every breakpoint. */
.theme-control{--theme-thumb-size:26px;width:calc(var(--theme-thumb-size)*2 + 8px);height:34px;padding:3px;border:1px solid currentColor;border-radius:40px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;background:transparent;color:inherit;appearance:none}
.theme-control>span:not(.theme-thumb){position:relative;z-index:1;display:grid;place-items:center;height:100%;min-width:0}
.theme-control svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-thumb{position:absolute;left:3px;top:50%;width:var(--theme-thumb-size);height:var(--theme-thumb-size);border-radius:50%;background:var(--paper);transform:translateY(-50%);transition:transform .25s var(--ease)}
.theme-control[aria-checked=true] .theme-thumb{transform:translate(var(--theme-thumb-size),-50%)}
.hero{position:relative;overflow:hidden;background:var(--hero);color:var(--hero-ink)}.hero-layout{position:relative;padding-top:64px;padding-bottom:30px}.hero-title{position:relative;z-index:2;font-size:clamp(100px,14.1vw,226px);line-height:.87;letter-spacing:-.018em;font-weight:600;pointer-events:none}.hero-title>span{display:block;width:max-content;max-width:100%}.hero-title>span+span{margin-left:14%;margin-top:7px}.hero-identity{position:absolute;right:2%;top:9px;width:210px;height:210px;display:grid;place-items:center;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));transition:transform 1s var(--ease);will-change:transform}.identity-mark{width:83px;position:relative;z-index:1}.identity-orbit{position:absolute;inset:0;border:1px solid var(--hero-ink);border-radius:50%;opacity:.65;animation:identity-orbit 42s linear infinite}.identity-orbit::before{content:'';position:absolute;width:11px;height:11px;border-radius:50%;background:var(--hero-ink);top:24px;left:24px}.identity-orbit::after{content:'';position:absolute;inset:16px;border:1px solid var(--hero-ink);border-radius:50%;transform:rotateX(55deg) rotate(-25deg)}.hero-support{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-top:65px}.hero-promise{font-size:15px;font-weight:600;margin-bottom:13px}.hero-intro{font-size:17px;line-height:1.7;max-width:480px}.hero-cta{display:flex;align-items:center;justify-content:flex-end;gap:28px;font-size:22px;line-height:1.3}.hero-cta>span:first-child{max-width:240px}.round-arrow{width:90px;height:90px;display:grid;place-items:center;border-radius:50%;background:var(--hero-ink);color:var(--hero);flex:none;transition:transform .35s var(--ease),background .2s}.round-arrow .link-icon{width:33px;height:33px}.hero-cta:hover .round-arrow,.contact-action:hover .round-arrow{transform:rotate(45deg)}.hero-bottom{margin-top:70px;padding-top:23px;border-top:1px solid var(--hero-line);display:flex;align-items:center;gap:26px;font-size:11px}.hero-bottom>p{margin-right:auto}.work-jump{display:flex;align-items:center;gap:24px;min-height:44px;font-size:13px}.work-jump .link-icon{width:18px;height:18px}.motion-toggle{width:40px;height:40px;background:transparent;border:1px solid var(--hero-line);border-radius:50%;display:grid;place-items:center;flex:none}.motion-icon{width:15px;height:15px;display:block}.motion-paused .identity-orbit{animation-play-state:paused}/* Keep accents and descenders inside the reveal; release its mask on completion. */
.identity-ready .hero-title>span { animation:title-reveal .9s var(--ease) backwards; }
.identity-ready .hero-title>span+span { animation-delay:.1s; }
@keyframes title-reveal {
  from { clip-path:inset(-.2em -.05em calc(100% + .2em));transform:translateY(24px); }
  to { clip-path:inset(-.2em -.05em);transform:translateY(0); }
}
@keyframes identity-orbit{to{transform:rotate(360deg)}}
/* The portfolio reads as two full project scenes. */
.work-section{background:var(--work);color:var(--work-ink);padding:100px 0 115px}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:75px}.work-heading h2{font-size:clamp(64px,7vw,112px)}.work-heading>p{font-size:19px;line-height:1.6;max-width:360px;color:var(--work-muted)}.projects-grid{display:flex;flex-direction:column;gap:110px}.project{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);align-items:center;gap:65px}.project-copy{display:flex;flex-direction:column;align-items:flex-start}.project h3{font-family:Barlow,Geist,sans-serif;font-size:clamp(42px,4vw,65px);text-transform:uppercase;line-height:1.02;letter-spacing:-.01em;margin-bottom:18px}.project-category{font-size:12px;color:var(--work-muted);margin-bottom:28px}.project-copy>p:not(.project-category){font-size:15px;line-height:1.75;color:var(--work-muted);max-width:38ch}.project-copy>.text-link{margin-top:36px;color:var(--work-ink)}.project-market{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}.project-market .project-gallery{grid-column:1;grid-row:1}.project-market .project-copy{grid-column:2;grid-row:1}.project-gallery{min-width:0}.gallery-stage{position:relative}.gallery-slide{margin:0;animation:none}.gallery-slide .interface-scene{aspect-ratio:1.5;height:auto;width:100%;border-radius:0;min-height:0}.gallery-slide figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;align-items:center;min-height:44px;padding-block:10px;color:var(--work-muted);font-size:12px;line-height:1.5}.gallery-slide figcaption .mono{font:12px/1.5 Geist,sans-serif;text-transform:none;letter-spacing:0}.gallery-slide figcaption>span:last-child{margin-left:auto;text-align:right}.gallery-provenance{font-size:12px;line-height:1.7;color:var(--work-muted);margin-top:16px;max-width:65ch}.gallery-expand{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:var(--work);color:white;border-radius:50%;display:grid;place-items:center;z-index:4}.gallery-expand .link-icon{width:20px;height:20px}.gallery-controls{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-top:14px}.gallery-tabs{display:flex;gap:16px;flex-wrap:wrap}.gallery-tabs button{font-size:12px;line-height:1.5;color:var(--work-muted);background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;min-height:44px;padding:8px 0;cursor:pointer}.gallery-tabs [aria-pressed=true]{color:white;border-bottom-color:white}.gallery-tabs button:hover{color:white}.gallery-arrows{display:flex;align-items:center;flex:none;gap:4px}.gallery-arrows button,.lightbox-footer button{background:transparent;color:inherit;border:0;width:44px;height:44px;padding:8px;display:grid;place-items:center}.gallery-count,.lightbox-count{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.text-link{display:inline-flex;align-items:center;gap:25px;justify-content:space-between;padding:12px 0;min-height:44px;font-size:14px;line-height:1.5;border:0;border-bottom:1px solid currentColor;background:transparent;text-align:left}.text-link .link-icon{width:19px;height:19px;transition:transform .2s var(--ease)}.text-link:hover .link-icon{transform:translate(3px,-3px)}.text-link:hover{text-decoration:none}.work-section :focus-visible,.case-dialog :focus-visible,.gallery-lightbox :focus-visible{outline-color:#bdd9eb}
/* Capabilities unfold as one offer, across a shared baseline. */
.services-section{padding-block:115px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:72px}.section-heading>p{font-size:19px;line-height:1.7;max-width:510px;margin-left:auto}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1.15fr 1.35fr 1fr;grid-template-areas:'title description list' 'link description list';column-gap:55px;row-gap:15px;padding:40px 0;border-bottom:1px solid var(--line)}.service-row h3{grid-area:title;font-family:Barlow,sans-serif;font-size:38px;line-height:1.1;text-transform:uppercase;letter-spacing:0}.service-row p{grid-area:description;font-size:15px;line-height:1.8;color:var(--muted);max-width:45ch}.service-row ul{grid-area:list;list-style:none;padding:0;margin:0;font-size:13px;line-height:1.7}.service-row li+li{margin-top:10px}.service-row .text-link{grid-area:link;justify-self:start;align-self:end;font-size:12px;border:0;padding-bottom:0;gap:16px}.maintenance-service{display:grid;grid-template-columns:2fr 1fr;gap:70px;padding:48px 0 0;align-items:end}.maintenance-service h3{font-size:25px;font-weight:500;margin-bottom:15px}.maintenance-service p{font-size:15px;color:var(--muted);line-height:1.8;max-width:76ch}.maintenance-service>.text-link{justify-self:end}
.approach-section{padding:100px 0;background:var(--panel)}.approach-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.approach-intro h2{font-size:clamp(58px,6vw,94px)}.approach-intro>p{font-size:16px;line-height:1.75;max-width:380px;margin-top:30px;color:var(--muted)}.steps{border-top:1px solid var(--line)}.step{border-bottom:1px solid var(--line);overflow:hidden}.step summary{list-style:none;display:flex;align-items:center;gap:25px;padding:25px 12px;cursor:pointer}.step summary:focus-visible{outline-offset:-3px}.step summary::-webkit-details-marker{display:none}.step summary>.mono{font-size:11px;color:var(--muted);width:20px;flex:none}.step h3{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.02em}.step .plus{display:grid;place-items:center;width:25px;height:25px;margin-left:auto;flex:none;transition:transform .3s var(--ease)}.step .plus .link-icon{width:18px;height:18px}.step[data-expanded=true] .plus{transform:rotate(45deg)}.step p{font-size:15px;color:var(--muted);line-height:1.8;padding:0 32px 28px 57px;max-width:590px}
.about-section{background:var(--work);color:var(--work-ink);padding:110px 0 90px}.about-layout{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:80px;margin-bottom:75px}.about-layout h2{font-size:clamp(56px,5.8vw,92px)}.about-layout h2 em{font-style:normal;color:#92b5cd}.about-text{font-size:19px;line-height:1.8;color:var(--work-muted);max-width:560px}.engineering-background{display:grid;grid-template-columns:1.3fr 1fr;gap:0 80px;border-top:1px solid #446075;padding-top:36px}.engineering-background h3{font:600 32px/1.15 Barlow,sans-serif;text-transform:uppercase;grid-column:1;grid-row:1}.engineering-background>p{grid-column:2;font-size:14px;color:var(--work-muted);line-height:1.8;margin-bottom:18px}.engineering-background>p a{text-decoration:underline;text-underline-offset:4px;color:var(--work-ink)}.founder-attribution{grid-column:1;grid-row:2 / 4;align-self:end;display:flex;flex-direction:column;align-items:start;gap:12px;color:var(--work-muted);font-size:12px}.founder-attribution .text-link{font-size:12px;min-height:40px;padding:7px 0;color:var(--work-ink)}
/* Social discovery and the closing title remain compact and purposeful. */
.channels-section{padding-block:70px}.channels-intro{display:flex;justify-content:space-between;gap:40px;align-items:baseline;margin-bottom:35px}.channels-intro h2{font:500 32px/1.2 Geist,sans-serif;text-transform:none;letter-spacing:-.025em}.channels-intro p{font-size:14px;line-height:1.7;color:var(--muted);max-width:48ch}.channels-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px}.channel-link{display:grid;grid-template-columns:24px 1fr 16px;align-items:center;gap:14px;min-height:82px;padding:18px 0;border-bottom:1px solid var(--line)}.channel-icon svg{display:block;fill:currentColor;width:24px;height:24px}.channel-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.channel-name{font-size:14px;font-weight:600}.channel-handle{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.channel-arrow{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.channel-link:hover .channel-name{text-decoration:underline;text-underline-offset:5px}.contact-section{background:var(--hero);color:var(--hero-ink);padding:90px 0 70px}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:70px}.contact-layout h2{font-size:clamp(76px,8.6vw,140px)}.contact-aside>p{font-size:16px;line-height:1.75;max-width:350px;margin-bottom:32px}.contact-action{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:21px;max-width:390px}.contact-action .round-arrow{width:70px;height:70px}.contact-action .link-icon{width:28px;height:28px}.footer-field{background:var(--hero);color:var(--hero-ink)}.site-footer{padding-bottom:35px}.footer-wordmark{display:flex;align-items:center;justify-content:center;gap:5vw;padding:55px 0 65px;border-top:1px solid var(--hero-line);font-size:clamp(80px,22vw,345px);font-weight:650;letter-spacing:-.06em;line-height:.8;user-select:none}.footer-wordmark img{width:16%;height:auto;filter:brightness(0);opacity:.9}.footer-layout{display:flex;justify-content:space-between;align-items:end;gap:35px}.footer-identity>.brand{display:none}.footer-signature{font-size:13px;margin-bottom:15px}.footer-details{display:flex;gap:25px;font-size:11px}.footer-connect{display:flex;gap:38px;align-items:center}.footer-social{display:flex;gap:13px}.footer-social a{width:34px;height:40px;display:grid;place-items:center}.footer-social svg{width:18px;height:18px;fill:currentColor}.footer-language{display:flex;align-items:center;gap:15px;font-size:11px}.footer-language a{padding:12px 0}.footer-language [aria-current]{font-weight:700}
/* Contact and detailed project views. */
.inline-contact{padding-block:80px;max-width:900px}.js .inline-contact:not(.in-dialog){display:none}.inline-contact h2{font-size:48px;margin-bottom:20px}.inline-contact>p{font-size:15px;color:var(--muted);margin-bottom:30px}.in-dialog{width:100%;padding:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}form label{display:block;font-size:12px;line-height:1.5;margin-bottom:22px}input,select,textarea{display:block;width:100%;padding:13px;margin-top:8px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:120px}input:focus,select:focus,textarea:focus{outline:2px solid var(--deep);outline-offset:2px}.honeypot{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:50px;padding:14px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14px}.button:hover{background:var(--deep)}.button .link-icon{width:19px;height:19px}.form-note{font-size:11px;color:var(--muted);margin-top:22px}.form-status{font-size:14px;line-height:1.6;margin-top:18px}.form-status:empty{display:none}.field-optional{font-weight:400;color:var(--muted)}.form-alternative{font-size:14px;line-height:1.7;color:var(--muted);margin-top:16px}.form-alternative a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.form-alternative .link-icon{width:16px;height:16px}dialog{position:fixed;inset:0;border:0;padding:48px;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 40px);max-width:calc(100vw - 40px);width:660px;margin:auto;overflow:auto}dialog::backdrop{background:#061522bf}.dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;color:inherit;z-index:5}.dialog-close .link-icon{width:21px;height:21px}.contact-dialog h2{padding-right:22px}.immersive-case{width:calc(100% - 32px);max-width:1740px;max-height:calc(100dvh - 32px);height:calc(100dvh - 32px);padding:0;background:var(--work);color:var(--work-ink)}.case-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 30px;background:var(--work);border-bottom:1px solid #446075}.case-topbar .mono{font-size:11px}.immersive-case .dialog-close{position:static;border:1px solid #668497;border-radius:50%}.case-body{padding:50px 55px}.case-heading{display:grid;grid-template-columns:1.3fr 1fr;grid-template-areas:'title summary' 'category summary';gap:15px 55px;margin-bottom:38px}.case-heading h2{grid-area:title;font-size:clamp(44px,5.5vw,86px);line-height:1;max-width:870px}.case-category{grid-area:category;font-size:12px;color:var(--work-muted)}.case-heading>p:not(.case-category){grid-area:summary;align-self:end;justify-self:end;font-size:20px;line-height:1.6;max-width:340px;color:var(--work-muted)}.case-explorer{background:#0b2334}.case-view-nav{display:flex;border-bottom:1px solid #3c596c}.case-view-nav button{flex:1;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;border-bottom:2px solid transparent;padding:18px 24px;background:transparent;color:#b9d0de;font-size:13px;line-height:1.5}.case-view-nav .mono{font-size:10px}.case-view-nav button[aria-pressed=true]{border-bottom-color:#bdd9ea;color:white;background:#28485d}.case-view-nav button>span:last-child{margin-left:auto}.case-panel .interface-scene{height:auto;aspect-ratio:1.85;border-radius:0}.case-view-caption{font-size:14px;padding:20px 25px;color:#c6d9e3}.case-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 0 28px;padding-block:26px;border-top:1px solid #446075;border-bottom:1px solid #446075}.case-brief dt{font-size:14px;font-weight:600;line-height:1.5;margin-bottom:10px}.case-brief dd{margin:0;font-size:15px;line-height:1.7;color:var(--work-muted);max-width:48ch}.case-provenance{font-size:12px;color:var(--work-muted);line-height:1.7;margin:0 0 18px;max-width:80ch}.case-story{display:grid;grid-template-columns:1fr 1fr;gap:42px 70px;margin:65px 0}.case-story h3{font:600 32px/1.15 Barlow,sans-serif;text-transform:uppercase;margin-bottom:18px}.case-story p{font-size:15px;line-height:1.8;color:var(--work-muted);max-width:70ch}.case-story>article>.mono{display:none}.case-end{border-top:1px solid #446075;padding:35px 0 0;display:flex;align-items:center;justify-content:space-between;gap:35px}.case-end>p{font:600 40px/1.1 Barlow,sans-serif;text-transform:uppercase}.case-end .button{background:#b9d0de;color:#102d41;border-color:#b9d0de}.gallery-lightbox{width:min(1400px,calc(100vw - 40px));padding:26px;background:var(--work);color:var(--work-ink)}.lightbox-header{display:flex;justify-content:space-between;padding-right:50px;margin-bottom:22px}.lightbox-header h2{font-size:34px}.gallery-lightbox .dialog-close{color:white}.lightbox-content .gallery-slide{height:auto}.lightbox-content .interface-scene{aspect-ratio:1.8;height:auto;max-height:68dvh}.lightbox-content figcaption{height:auto;padding-top:15px}.lightbox-footer{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:15px}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:25;width:48px;height:48px;display:grid;place-items:center;padding:12px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 5px 15px #0c263317}.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.modal-open .back-to-top{display:none}
@media(min-width:1750px){.hero-layout{padding-top:85px}.hero-support{margin-top:75px}.hero-bottom{margin-top:80px}}
@media(max-width:1250px){.header-inner{gap:24px}.main-nav{gap:20px}.header-actions{gap:18px}.header-cta{display:none}.hero-identity{width:170px;height:170px;right:1%;top:22px}.identity-mark{width:70px}.hero-support{gap:50px}.project,.project-market{gap:38px}.gallery-controls{flex-direction:column;gap:2px}.gallery-arrows{align-self:flex-end}.service-row{column-gap:32px}.approach-layout{gap:60px}.about-layout,.engineering-background{gap:0 55px}.channels-list{gap:18px}.channel-link{grid-template-columns:20px 1fr;gap:10px}.channel-arrow{display:none}.channel-icon svg{width:20px;height:20px}.footer-connect{gap:25px}}
@media(max-width:950px){.brand{font-size:30px}.brand img{width:25px;height:32px}.header-inner{min-height:90px}.main-nav{gap:15px}.main-nav a{font-size:11px}.header-actions{gap:16px}.hero-layout{padding-top:55px}.hero-title{font-size:14.3vw}.hero-title>span+span{margin-left:9%}.hero-identity{width:140px;height:140px;top:5px;right:0}.identity-mark{width:55px}.hero-cta{font-size:19px;gap:18px}.round-arrow{width:72px;height:72px}.hero-intro{font-size:15px}.hero-bottom{margin-top:55px;font-size:10px;gap:16px}.hero-bottom>p{max-width:330px}.work-heading>p{max-width:310px;font-size:16px}.project,.project-market{grid-template-columns:1fr;gap:35px}.project-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:45px;align-items:start}.project h3{grid-column:1;grid-row:1 / 3;font-size:53px}.project-category{grid-column:2;margin-bottom:15px}.project-copy>p:not(.project-category){grid-column:2;max-width:none}.project-copy>.text-link{grid-column:1;grid-row:3;margin-top:15px;justify-self:start}.project-gallery,.project-market .project-gallery{grid-column:1;grid-row:2}.project-market .project-copy{grid-column:1;grid-row:1}.gallery-controls{flex-direction:row}.gallery-stage{aspect-ratio:auto}.gallery-slide .interface-scene{aspect-ratio:1.65}.gallery-tabs{gap:18px}.projects-grid{gap:85px}.section-heading{gap:45px}.section-heading>p{font-size:16px}.service-row{grid-template-columns:1fr 1.3fr;grid-template-areas:'title description' 'list description' 'link description';gap:20px 45px}.service-row h3{font-size:35px}.service-row ul{font-size:12px}.service-row li+li{margin-top:5px}.maintenance-service{gap:35px}.maintenance-service .text-link{font-size:12px}.approach-layout{grid-template-columns:1fr 1.25fr;gap:45px}.approach-intro h2{font-size:60px}.step h3{font-size:21px}.step summary{gap:16px}.step p{padding-left:48px;padding-right:12px;font-size:14px}.about-layout{grid-template-columns:1fr;gap:35px}.about-layout h2{font-size:72px}.about-text{font-size:18px;max-width:750px}.engineering-background{grid-template-columns:1fr 1.4fr;gap:0 40px}.contact-layout{grid-template-columns:1.2fr 1fr;gap:40px}.contact-layout h2{font-size:90px}.contact-action{font-size:18px}.contact-action .round-arrow{width:55px;height:55px}.footer-layout{align-items:start}.footer-connect{flex-direction:column;align-items:flex-end;gap:8px}.case-body{padding:35px}.case-heading{grid-template-columns:1fr;grid-template-areas:'title' 'category' 'summary';gap:14px}.case-heading>p:not(.case-category){justify-self:start;max-width:none;font-size:17px}.case-view-nav button{padding:15px;gap:12px}.case-story{gap:30px}.case-panel .interface-scene{aspect-ratio:1.45}}
/* Compact navigation follows the content's available width, including tablets. */
@media (max-width:950px) {
  :root { --gutter:max(24px,4.5vw,env(safe-area-inset-left),env(safe-area-inset-right)); }
  html { scroll-padding-top:calc(108px + env(safe-area-inset-top)); }
  .site-header { position:sticky;top:0;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--hero-line); }
  .header-inner { min-height:88px;gap:24px; }
  .header-inner>.brand { min-height:44px; }
  .header-actions { gap:20px;margin-left:auto; }
  .header-actions>.language-switch { display:none; }
  .theme-control { --theme-thumb-size:32px;flex:none;height:44px; }
  .menu-toggle { width:44px;height:44px;padding:10px 7px;flex:none; }
  .js .menu-toggle { display:block; }
  .main-nav { position:absolute;top:100%;left:0;right:0;margin:0;background:var(--hero);padding:12px var(--gutter) 24px;align-items:stretch;flex-direction:column;gap:0;border-bottom:1px solid var(--hero-line);max-height:calc(100dvh - 88px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain; }
  /* Reveal the menu from the masthead rule without moving the page below it. */
  .js .main-nav {
    display:flex;visibility:hidden;pointer-events:none;
    clip-path:inset(0 0 100% 0);
    transition:clip-path .2s cubic-bezier(.4,0,1,1),visibility 0s linear .2s;
  }
  .js .main-nav.is-open {
    visibility:visible;pointer-events:auto;clip-path:inset(0);
    transition:clip-path .32s var(--ease),visibility 0s;
  }
  .main-nav>a { display:flex;align-items:center;min-height:56px;font-size:21px;padding:12px 0;border-bottom:1px solid var(--hero-line); }
  .mobile-nav-footer { display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px; }
  .mobile-nav-footer .language-switch { gap:4px;font-size:13px; }
  .mobile-nav-footer .language-switch a { display:grid;place-items:center;min-width:44px;min-height:44px;font-size:13px;padding:0; }
  .mobile-nav-footer .nav-contact { display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:14px;font-weight:600; }
  body:not(.js-enabled) .header-inner { flex-wrap:wrap; }
  body:not(.js-enabled) .main-nav { position:static;order:3;width:100%;max-height:none;padding-inline:0; }
  .approach-layout { grid-template-columns:minmax(0,1fr);gap:42px; }
  .approach-intro { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:36px; }
  .approach-intro h2 { font-size:clamp(44px,6.4vw,60px); }
  .approach-intro>p { margin:0; }
  .gallery-stage,.case-panel,.lightbox-content { container-type:inline-size; }
  .gallery-slide .interface-scene { font-size:clamp(9px,1.8cqw,14px); }
  .case-panel .interface-scene,.lightbox-content .interface-scene { font-size:clamp(9px,1.8cqw,14px); }
  .gallery-arrows button,.lightbox-footer button { width:44px;height:44px; }
  .gallery-tabs button { min-width:44px; }
  .gallery-count,.lightbox-count { font-size:12px;min-width:48px;text-align:center; }
  .channels-list { grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px; }
  .footer-social a { width:44px;height:44px; }
  .contact-layout h2 { font-size:clamp(56px,7.1vw,70px); }
}

@media (max-width:700px) {
  :root { --gutter:max(20px,env(safe-area-inset-left),env(safe-area-inset-right)); }
  html { scroll-padding-top:calc(94px + env(safe-area-inset-top)); }
  h2 { text-wrap:balance; }
  .header-inner { min-height:74px;gap:16px; }
  .brand { font-size:29px;gap:9px; }
  .brand img { width:24px;height:31px; }
  .header-actions { gap:16px; }
  .main-nav { max-height:calc(100dvh - 74px - env(safe-area-inset-top)); }

  /* The title leads; the orbital signature shares a row with the promise. */
  .hero-layout { display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:24px 24px;padding-top:36px;padding-bottom:24px; }
  .hero-title { grid-column:1/-1;grid-row:1;font-size:15.6vw;line-height:.96;letter-spacing:-.015em; }
  .hero-title>span+span { margin:2px 0 0; }
  .hero-support,.hero-support>div { display:contents; }
  .hero-promise { grid-column:1;grid-row:2;align-self:center;margin:0;font-size:14px;line-height:1.6;max-width:230px;text-wrap:balance; }
  .hero-identity { position:relative;inset:auto;grid-column:2;grid-row:2;width:72px;height:72px;justify-self:end; }
  .identity-mark { width:29px; }
  .identity-orbit::before { width:6px;height:6px;top:8px;left:8px; }
  .identity-orbit::after { inset:8px; }
  .hero-intro { grid-column:1/-1;grid-row:3;font-size:16px;line-height:1.7;max-width:48ch; }
  .hero-cta { grid-column:1/-1;grid-row:4;justify-content:space-between;gap:24px;font-size:20px;max-width:none;margin-top:4px; }
  .hero-cta>span:first-child { max-width:250px;text-wrap:balance; }
  .round-arrow { width:60px;height:60px; }
  .round-arrow .link-icon { width:26px;height:26px; }
  .hero-bottom { grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:16px;margin-top:8px;padding-top:20px; }
  .hero-bottom>p { grid-column:1/-1;margin:0;font-size:12px;line-height:1.7;max-width:42ch; }
  .work-jump { font-size:14px;gap:18px;justify-content:space-between;max-width:220px; }
  .motion-toggle { width:44px;height:44px;justify-self:end; }
  body:not(.js-enabled) .hero-layout { padding-top:36px; }

  .work-section { padding:64px 0 72px; }
  .work-heading { display:block;margin-bottom:44px; }
  .work-heading h2 { font-size:clamp(52px,15vw,76px); }
  .work-heading>p { margin-top:24px;max-width:38ch;font-size:16px; }
  .project-copy { display:flex;gap:0; }
  .project h3 { font-size:clamp(39px,11.2vw,60px);margin-bottom:14px;line-height:1.05;text-wrap:balance; }
  .project-category { font-size:12px;margin-bottom:22px; }
  .project-copy>p:not(.project-category) { font-size:16px;line-height:1.7;max-width:48ch; }
  .project-copy>.text-link { margin-top:18px;font-size:14px; }
  .project,.project-market { gap:28px; }
  .projects-grid { gap:64px; }

  /* Give the interfaces the phone's full width; controls keep the page gutter. */
  .project-gallery { margin-inline:calc(-1 * var(--gutter)); }
  .gallery-stage { aspect-ratio:auto;overflow:visible; }
  .gallery-slide { height:auto; }
  .gallery-slide .interface-scene { height:auto;aspect-ratio:1.12;min-height:0;font-size:clamp(8.5px,2.6cqw,13px);padding:2.2em 1.5em; }
  .gallery-slide figcaption { height:auto;min-height:48px;padding:12px var(--gutter);font-size:12px;line-height:1.5;gap:16px;align-items:start; }
  .gallery-slide figcaption .mono { font-size:12px;line-height:1.5; }
  .gallery-provenance { margin-inline:var(--gutter); }
  .gallery-slide figcaption>span:last-child { text-align:right; }
  .gallery-expand { width:44px;height:44px;top:12px;right:var(--gutter); }
  .gallery-controls { display:flex;flex-direction:column;gap:12px;margin:2px var(--gutter) 0; }
  .gallery-tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:14px; }
  .gallery-tabs button { min-width:0;display:flex;align-items:start;text-align:left;font-size:12px;line-height:1.5;min-height:64px;padding:12px 0;border-bottom:1px solid #446075; }
  .gallery-tabs [aria-pressed=true] { border-bottom:2px solid #bdd9eb; }
  .gallery-arrows { align-self:flex-end;gap:12px; }

  .services-section { padding-block:64px; }
  .section-heading { display:block;margin-bottom:36px; }
  .section-heading h2 { font-size:clamp(47px,13.6vw,72px); }
  .section-heading>p { margin:24px 0 0;font-size:16px;max-width:48ch; }
  .service-row { display:flex;flex-direction:column;gap:18px;padding:32px 0; }
  .service-row h3 { font-size:clamp(32px,8.8vw,44px); }
  .service-row p { font-size:16px;line-height:1.7;max-width:48ch; }
  .service-row ul { font-size:14px; }
  .service-row li+li { margin-top:8px; }
  .service-row .text-link { align-self:start;font-size:14px;padding:12px 0;margin-top:0; }
  .maintenance-service { display:block;padding-top:32px; }
  .maintenance-service h3 { font-size:26px;line-height:1.3;text-wrap:balance; }
  .maintenance-service p { font-size:16px;line-height:1.7; }
  .maintenance-service .text-link { margin-top:18px;font-size:14px; }
  .approach-section { padding-block:64px; }
  .approach-layout { gap:36px; }
  .approach-intro { display:block; }
  .approach-intro h2 { font-size:clamp(42px,12.8vw,68px); }
  .approach-intro>p { font-size:16px;line-height:1.7;margin-top:24px;max-width:48ch; }
  .step h3 { font-size:20px;line-height:1.35; }
  .step summary { gap:14px;padding:22px 12px; }
  .step summary>.mono { width:20px;font-size:12px; }
  .step .plus { width:28px;height:28px; }
  .step p { font-size:16px;line-height:1.7;padding:0 12px 24px 46px; }
  .about-section { padding:64px 0; }
  .about-layout { margin-bottom:36px;gap:24px; }
  .about-layout h2 { font-size:clamp(41px,12.2vw,65px); }
  .about-layout h2 em { display:inline-block;max-width:100%;text-wrap:balance; }
  .about-text { font-size:16px;line-height:1.75;max-width:48ch; }
  .engineering-background { display:block;padding-top:28px; }
  .engineering-background h3 { font-size:30px;margin-bottom:20px; }
  .engineering-background>p { font-size:15px;line-height:1.75; }
  .founder-attribution { margin-top:24px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;font-size:12px; }
  .founder-attribution .text-link { min-height:44px;font-size:13px; }

  .channels-section { padding-block:48px; }
  .channels-intro { display:block;margin-bottom:20px; }
  .channels-intro h2 { font-size:27px;text-wrap:balance; }
  .channels-intro p { margin-top:12px;font-size:14px; }
  .channels-list { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px; }
  .channel-link { grid-template-columns:22px minmax(0,1fr);gap:12px;padding:20px 0;min-height:84px; }
  .channel-icon svg { width:22px;height:22px; }
  .channel-name { font-size:14px; }
  .channel-handle { font-size:12px; }
  .contact-section { padding:60px 0 44px; }
  .contact-layout { display:block; }
  .contact-layout h2 { font-size:clamp(42px,13.2vw,76px); }
  .contact-aside { margin-top:24px; }
  .contact-aside>p { font-size:16px;max-width:48ch;margin-bottom:28px; }
  .contact-action { font-size:20px;max-width:none; }
  .contact-action .round-arrow { width:60px;height:60px; }
  .footer-wordmark { font-size:21vw;gap:4vw;padding:34px 0 40px; }
  .footer-wordmark img { width:16%; }
  .footer-layout { flex-direction:column;align-items:stretch;gap:24px; }
  .footer-signature { font-size:13px;margin-bottom:12px; }
  .footer-details { flex-wrap:wrap;font-size:12px;gap:12px 24px; }
  .footer-connect { flex-direction:column;align-items:flex-start;width:100%;gap:12px; }
  .footer-social { gap:12px;justify-content:space-between;width:100%;max-width:320px; }
  .footer-social a { width:44px;height:44px; }
  .footer-social svg { width:20px;height:20px; }
  .footer-language { font-size:12px;gap:20px; }
  .footer-language a { display:flex;align-items:center;min-height:44px; }
  .site-footer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }

  /* Native dialogs use the available screen, with reachable close controls. */
  dialog { overscroll-behavior:contain; }
  .form-row { grid-template-columns:1fr;gap:0; }
  .inline-contact h2 { font-size:clamp(36px,9.8vw,52px);padding:0;margin-bottom:18px; }
  .inline-contact>p { font-size:16px;line-height:1.7;margin-bottom:28px; }
  form label { font-size:14px;margin-bottom:22px; }
  input,select,textarea { scroll-margin-block:84px; }
  .button { width:100%;font-size:14px;gap:20px;text-align:left; }
  .form-note { font-size:12px;line-height:1.7; }
  .contact-dialog { width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0; }
  .contact-dialog>.dialog-close { position:sticky;top:calc(12px + env(safe-area-inset-top));margin:calc(12px + env(safe-area-inset-top)) var(--gutter) 0 auto;background:var(--paper);border:1px solid var(--line);border-radius:50%; }
  #contact-dialog-content { padding:20px var(--gutter) max(32px,env(safe-area-inset-bottom)); }
  .immersive-case { width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0; }
  .case-topbar { padding:calc(12px + env(safe-area-inset-top)) var(--gutter) 12px;gap:16px; }
  .case-topbar .mono { font-size:10px;line-height:1.5; }
  .case-body { padding:28px var(--gutter) max(36px,env(safe-area-inset-bottom)); }
  .case-heading { margin-bottom:28px;gap:14px; }
  .case-heading h2 { font-size:clamp(40px,10.5vw,60px); }
  .case-heading>p:not(.case-category) { font-size:16px; }
  .case-category { font-size:12px; }
  .case-view-nav button { display:flex;flex-direction:column;justify-content:start;align-items:start;min-width:0;min-height:86px;padding:14px 10px;gap:8px;font-size:12px; }
  .case-view-nav button>span:last-child { display:none; }
  .case-view-nav .mono { font-size:11px; }
  .case-explorer { margin-inline:calc(-1 * var(--gutter)); }
  .case-panel .interface-scene { aspect-ratio:1.12;min-height:0;font-size:clamp(8.5px,2.6cqw,13px);padding:2.2em 1.5em; }
  .case-view-caption { font-size:14px;line-height:1.6;padding:18px var(--gutter); }
  .case-brief { grid-template-columns:minmax(0,1fr);gap:22px;padding-block:24px;margin-bottom:24px; }
  .case-brief dt { margin-bottom:6px; }
  .case-brief dd { font-size:16px;line-height:1.7; }
  .case-provenance { font-size:12px;line-height:1.7; }
  .case-story { grid-template-columns:minmax(0,1fr);gap:28px;margin:36px 0; }
  .case-story h3 { font-size:30px;margin-bottom:14px; }
  .case-story p { font-size:16px;line-height:1.7; }
  .case-end { display:block;padding-top:28px; }
  .case-end>p { font-size:34px;margin-bottom:24px; }
  .gallery-lightbox { width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:calc(20px + env(safe-area-inset-top)) var(--gutter) max(24px,env(safe-area-inset-bottom)); }
  .gallery-lightbox[open] { display:flex;flex-direction:column; }
  .gallery-lightbox .dialog-close { top:calc(12px + env(safe-area-inset-top));right:var(--gutter); }
  .lightbox-header { margin:0;padding-right:56px;min-height:52px;flex:none; }
  .lightbox-header h2 { font-size:32px;line-height:1.1; }
  .lightbox-content { flex:1;min-height:0;display:flex;align-items:center;margin-inline:calc(-1 * var(--gutter)); }
  .lightbox-content .gallery-slide { width:100%; }
  .lightbox-content .interface-scene { aspect-ratio:1.08;height:auto;max-height:calc(100dvh - 210px);font-size:clamp(8.5px,2.6cqw,13px);padding:2.2em 1.5em; }
  .lightbox-footer { margin:16px 0 0;gap:24px;flex:none; }
  .back-to-top { right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:44px;height:44px; }
}

@media (max-width:380px) {
  :root { --gutter:max(18px,env(safe-area-inset-left),env(safe-area-inset-right)); }
  .header-actions { gap:12px; }
  .brand { font-size:27px;gap:8px; }
  .brand img { width:22px; }
  .hero-title { font-size:15.4vw; }
  .hero-layout { gap:22px 18px; }
  .hero-cta { font-size:19px;gap:20px; }
  .gallery-tabs { gap:12px; }
  .gallery-tabs button { font-size:12px; }
  .channels-list { gap:0 18px; }
  .channel-link { gap:10px; }
  .case-view-nav button { padding-inline:12px;font-size:12px; }
}

@media (max-height:500px) and (orientation:landscape) and (max-width:950px) {
  .header-inner { min-height:64px; }
  .main-nav { max-height:calc(100dvh - 64px - env(safe-area-inset-top)); }
  .main-nav>a { min-height:44px;font-size:18px;padding-block:8px; }
  .mobile-nav-footer { padding-top:12px; }
  .hero-identity { width:80px;height:80px; }
  .identity-mark { width:32px; }
  .immersive-case { height:100dvh;max-height:100dvh;width:100%;max-width:none;margin:0; }
  .case-topbar { padding-block:8px; }
  .contact-dialog { width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0; }
  .contact-dialog>.dialog-close { position:sticky;top:calc(12px + env(safe-area-inset-top));margin:calc(12px + env(safe-area-inset-top)) var(--gutter) 0 auto;background:var(--paper);border:1px solid var(--line);border-radius:50%; }
  #contact-dialog-content { padding:16px var(--gutter) max(32px,env(safe-area-inset-bottom)); }
  .inline-contact h2 { font-size:42px; }
}

@media (hover:none) {
  .hero-cta:hover .round-arrow,.contact-action:hover .round-arrow,.text-link:hover .link-icon { transform:none; }
  button:active,.text-link:active,.hero-cta:active,.contact-action:active { opacity:.75; }
}

/* Turkish caps reach above and below the English cap box (İ/Ö and Ş/Ç).
   Keep full glyphs separated at every breakpoint, including dialog headings. */
.hero-title:lang(tr),
h2:lang(tr) { line-height:1.12; }

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.identity-ready .hero-title>span,.identity-orbit{animation:none}.hero-identity,.round-arrow,.text-link .link-icon,.theme-thumb,.step .plus,.menu-toggle span{transition:none}.hero-identity{transform:none}.motion-toggle{display:none}.interface-scene *,.interface-scene *::before,.interface-scene *::after{animation:none!important}.case-panel{animation:none}}

@media (max-width:950px) and (prefers-reduced-motion:reduce) {
  .js .main-nav,.js .main-nav.is-open { clip-path:none;transition:none; }
  .js .main-nav>* { opacity:0;transition:opacity .08s ease; }
  .js .main-nav.is-open>* { opacity:1; }
}

/* Keep the captcha close to the submit action; reserve challenge space only while open. */
.inline-contact .h-captcha { margin-bottom:20px; }
.inline-contact .h-captcha>iframe { display:block; }
.captcha-challenge { margin-bottom:20px; }
.captcha-challenge[hidden] { display:none; }
