/* The opening scene owns its styles. All new rules are scoped after it. */
.continuation,.g-page,.g-nav,.g-menu{--g-paper:#f2f4f3;--g-ink:#112b3c;--g-muted:#546b79;--g-night:#0b2438;--g-rule:#c8d4d9;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;color:var(--g-ink);font-synthesis:none;line-height:1.5}
.continuation{position:relative;z-index:6;background:var(--g-paper);color-scheme:light;padding:0}.g-page{background:var(--g-paper);color-scheme:light}.g-wrap{width:100%;max-width:1700px;margin:auto;padding-inline:clamp(24px,5.6vw,110px)}
.g-home h2,.g-home h3,.g-page h1,.g-page h2,.g-page h3{font-weight:500}.g-home p,.g-page p{margin-top:0}.g-eyebrow{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.g-section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.g-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:14px 0 10px;min-height:45px;border-bottom:1px solid currentColor;font-size:14px;letter-spacing:-.02em;line-height:1.4;transition:opacity .2s}.g-link span{display:inline-block;font-size:23px;font-weight:400;transition:transform .35s}.g-link:hover span{transform:translate(3px,-3px)}.g-link:hover{opacity:.7}.g-home a:focus-visible,.g-page a:focus-visible,.g-nav button:focus-visible,.g-menu button:focus-visible,.g-menu a:focus-visible{outline:2px solid #2f85a8;outline-offset:6px}.g-button{display:inline-flex;align-items:center;gap:35px;background:var(--g-ink);color:var(--g-paper);padding:16px 24px;border-radius:4px;border:0}
/* A single fracture travels through quiet, editorial space. */
.g-about{position:relative;isolation:isolate;padding-top:70px;padding-bottom:120px;overflow:visible}.g-about>.g-wrap{position:relative;z-index:1}.g-about-title{max-width:1300px;margin:100px 0 62px;font-size:clamp(52px,6.7vw,108px);line-height:1.015;letter-spacing:-.068em}.g-about-title>span{color:#718b9b}.g-about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.g-origin{padding-top:15px;display:flex;gap:24px;align-items:center}.g-origin p{font-size:13px;line-height:1.55;margin:0;color:var(--g-muted)}.g-orbit{position:relative;width:54px;height:54px;display:block}.g-orbit i{position:absolute;width:38px;height:38px;border:1px solid #7698ab;border-radius:50%;left:0;top:8px;transform:rotate(-30deg)}.g-orbit i:nth-child(2){left:15px;top:8px}.g-orbit i:nth-child(3){width:4px;height:4px;background:#84bbd0;border:0;top:9px;left:30px;box-shadow:0 0 12px #78c5e9}.g-about-copy{max-width:495px}.g-about-copy>p{font-size:clamp(18px,1.8vw,26px);line-height:1.45;letter-spacing:-.033em;margin-bottom:23px}.g-about-copy .g-link{min-width:235px}.g-practice{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:135px;padding-top:38px;border-top:1px solid var(--g-rule);scroll-margin-top:90px}.g-practice h3{font-size:clamp(34px,3.5vw,58px);letter-spacing:-.055em;line-height:1.08;margin:32px 0 0}.g-practice-copy{max-width:495px;padding-top:48px}.g-practice-copy p{font-size:17px;line-height:1.6;max-width:420px;color:var(--g-muted)}
.ice-path{position:absolute;z-index:0;inset:0;overflow:visible;pointer-events:none}.ice-fracture-surface{position:absolute;top:0;overflow:hidden;opacity:0;transition:opacity .2s}.ice-fracture-surface.is-painted{opacity:1}.ice-fracture-canvas{display:block}.ice-fracture-cover{position:absolute;inset:-24px 0 0;background:linear-gradient(to bottom,transparent,var(--g-paper) 24px,var(--g-paper));will-change:transform}
@media(prefers-reduced-motion:reduce){.ice-fracture-surface{transition:none}}

/* Project gallery: one native scroll movement, no simulated scroll. */
.g-project-runway{position:relative;height:230svh;background:#0b2438;color:#eff6fa}.g-project-sticky{position:sticky;top:0;height:100svh;min-height:650px;padding:54px 0 26px;overflow:hidden;display:flex;flex-direction:column;isolation:isolate;background:radial-gradient(ellipse at 60% 40%,#193e58 0,transparent 58%),linear-gradient(165deg,#0c263c,#091c2c)}.g-project-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px}.g-project-heading .g-eyebrow{color:#9bb6c9;margin:0 0 19px}.g-project-heading h2{font-size:clamp(39px,4.5vw,72px);letter-spacing:-.06em;line-height:1;margin:0}.g-project-heading .g-link{font-size:13px;flex-shrink:0;border-color:#708897;gap:34px}.g-deck-viewport{width:100%;flex:1;min-height:0;overflow:visible;perspective:1600px}.g-project-track{display:flex;gap:28px;width:max-content;padding-inline:5.6vw;height:100%;will-change:transform}.g-project-card{position:relative;display:flex;flex-direction:column;width:61vw;max-width:1000px;min-width:530px;flex-shrink:0;height:100%;min-height:330px;border:1px solid #476071;overflow:hidden;border-radius:7px;transform-origin:50% 100%;will-change:transform}.g-project-aidit{background:#17374b;transition:border-color .3s}.g-project-aidit:hover{border-color:#a6c6d5}.g-card-top{position:absolute;top:22px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:3;font-size:11px;letter-spacing:.035em;color:#d1e0e8}.g-card-arrow{font-size:30px;line-height:1;transition:transform .3s}.g-project-aidit:hover .g-card-arrow{transform:translate(3px,-3px)}.g-aidit-art{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 90%,#82b2c8 0,#315975 33%,#1c3d54 63%,#173549 100%);overflow:hidden}.g-aidit-logotype{position:absolute;left:7%;top:18%;font-size:clamp(65px,9vw,160px);line-height:1;letter-spacing:-.075em;font-weight:500;color:#e4f5ff;opacity:.94}.g-art-orbit{position:absolute;width:90%;aspect-ratio:1.8;border:1px solid #aec9d431;left:10%;top:20%;border-radius:50%;transform:rotate(-30deg)}.g-card-caption{margin-top:auto;position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:70px 28px 28px;background:linear-gradient(transparent,#0b2135e8 45%)}.g-card-caption .g-eyebrow{display:block;margin-bottom:13px;color:#a9c2d2;font-size:9px;letter-spacing:.12em}.g-card-caption h3{font-size:clamp(24px,2.5vw,38px);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0}.g-card-label{font-size:12px;white-space:nowrap}.g-project-soon{background:radial-gradient(ellipse at 50% 40%,#23455d,#102c43 70%);border-color:#466071}.g-project-soon-last{background:radial-gradient(ellipse at 60% 20%,#133e58,#10273b 70%)}.g-crystal-art{position:absolute;left:26%;top:11%;width:45%;height:62%;filter:drop-shadow(20px 26px 25px #03132280);transform:rotate(-14deg)}.g-crystal-art i{position:absolute;inset:0;clip-path:polygon(49% 0,92% 37%,62% 100%,8% 69%);background:linear-gradient(120deg,#aad7edb0,#3b658044 32%,#b6effaa0 65%,#27536a50);border:0}.g-crystal-art i:nth-child(2){clip-path:polygon(49% 0,54% 54%,8% 69%);background:linear-gradient(140deg,#e9fdffe0,#75a3bb15 70%)}.g-crystal-art i:nth-child(3){clip-path:polygon(54% 54%,92% 37%,62% 100%);background:linear-gradient(170deg,#bae5ff77,#5186a444 60%,#d6f4ff99)}.g-star{position:absolute;left:52%;top:0;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 5px 1px #fff,0 0 20px 7px #a5d8ff55}.g-constellation-art{position:absolute;width:64%;height:58%;left:20%;top:8%}.g-constellation-art svg{position:absolute;width:100%;height:100%;fill:none;stroke:#8ec2e229;stroke-width:.6}.g-constellation-art span{position:absolute;width:3px;height:3px;background:#d9f1ff;border-radius:50%;box-shadow:0 0 14px 2px #8ac7f09c}.g-constellation-art span:nth-child(1){left:10%;top:74%}.g-constellation-art span:nth-child(2){left:27.5%;top:39%}.g-constellation-art span:nth-child(3){left:51.2%;top:20%}.g-constellation-art span:nth-child(4){left:75%;top:52%}.g-constellation-art span:nth-child(5){left:90%;top:74%}.g-constellation-art span:nth-child(6){left:43.7%;top:80%}.g-deck-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;margin:0 auto}.g-deck-bottom p{display:flex;gap:16px;align-items:center;font-size:10px;color:#a0b9c8;margin:0;letter-spacing:.08em}.g-deck-current{color:#f1f7fa}.g-deck-rule{position:relative;width:150px;height:1px;background:#607b8955}.g-deck-rule i{position:absolute;inset:0;background:#c8e1ed;transform:scaleX(var(--deck-progress,.333));transform-origin:left}.g-deck-controls{display:flex;gap:10px}.g-deck-controls button{background:none;width:40px;height:35px;border:1px solid #748c9a66;color:#d2e4ed;border-radius:3px;transition:background .2s}.g-deck-controls button:hover{background:#ffffff15}.g-deck-controls button:disabled{opacity:.3}.g-project-stars{position:absolute;inset:0;z-index:-1;pointer-events:none}.g-project-stars i{position:absolute;border-radius:50%;width:2px;height:2px;background:#c7e8ff;box-shadow:0 0 8px 2px #aacfed55;animation:g-twinkle 4s ease-in-out infinite}.g-project-stars i:nth-child(1){left:36%;top:14%}.g-project-stars i:nth-child(2){left:69%;top:6%;animation-delay:-2s}.g-project-stars i:nth-child(3){left:94%;top:67%;width:3px;height:3px;animation-delay:-1s}.g-project-stars i:nth-child(4){left:17%;top:89%;animation-delay:-3s}.g-project-stars i:nth-child(5){left:56%;top:94%}.g-project-stars i:nth-child(6){left:85%;top:19%;animation-delay:-1.5s}@keyframes g-twinkle{0%,100%{opacity:.4}50%{opacity:.95}}
/* An open, bright closing scene. */
.g-contact{padding:75px 0 80px;background:var(--g-paper);color:var(--g-ink)}.g-contact-row{display:flex;align-items:center;justify-content:space-between;gap:35px;margin:95px 0 62px}.g-contact-row h2{font-size:clamp(46px,6.15vw,102px);letter-spacing:-.065em;line-height:1.06;margin:0}.g-contact-arrow{display:flex;align-items:center;justify-content:center;width:clamp(65px,8vw,135px);height:clamp(65px,8vw,135px);border:1px solid #a9bdc9;border-radius:50%;font-size:clamp(44px,6vw,90px);font-weight:300;flex-shrink:0;transition:background .4s,transform .4s}.g-contact-arrow:hover{background:#dce6ec;transform:rotate(8deg)}.g-contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-left:50%}.g-contact-bottom p{font-size:15px;color:var(--g-muted);margin:0}.g-contact-bottom .g-link{min-width:150px}.g-contact-star{width:5px;height:5px;border-radius:50%;background:#79aec7;box-shadow:0 0 0 7px #c8dce330,0 0 17px 9px #bdd7e14a;margin-right:5px}
.g-footer{position:relative;z-index:6;background:#f2f4f3;color:#112b3c;border-top:1px solid #c8d4d9;margin:0;padding:42px clamp(24px,5.6vw,110px) 25px;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;display:grid;grid-template-columns:1fr 1fr;gap:26px}.g-wordmark{font-size:clamp(36px,5vw,74px);font-weight:600;letter-spacing:-.075em;line-height:1}.g-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:12px}.g-footer nav{display:flex;gap:27px;flex-wrap:wrap}.g-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}.g-footer-year{font-size:10px;letter-spacing:.025em;color:#67808e;grid-column:1/-1;padding-top:16px}
/* Navigation appears only after the preserved introduction. */
.g-nav{position:fixed;inset:22px 26px auto;z-index:30;display:flex;align-items:center;justify-content:space-between;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}.g-nav.is-visible{opacity:1;visibility:visible;transform:none}.g-nav-brand{pointer-events:auto;display:block;font-size:18px;font-weight:600;letter-spacing:-.065em;padding:6px 11px;background:#f2f4f3e8;border-radius:4px;color:#112b3c}.g-nav-trigger{pointer-events:auto;display:flex;align-items:center;gap:25px;min-height:44px;padding:10px 17px;border:1px solid #25435822;background:#f2f4f3f2;color:#112b3c;border-radius:5px;font-size:12px}.g-nav-trigger i{width:19px;height:7px;border-top:1px solid;border-bottom:1px solid}.g-menu{position:fixed;inset:14px 14px auto auto;margin:0;width:min(560px,calc(100% - 28px));max-height:calc(100svh - 28px);padding:28px 35px 25px;overflow:auto;background:#f2f4f3;border:1px solid #d0dce2;border-radius:8px;box-shadow:0 25px 100px #0004;color:#112b3c}.g-menu::backdrop{background:#061b3270;backdrop-filter:blur(5px)}.g-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.g-menu-brand{font-size:18px;font-weight:600;letter-spacing:-.06em}.g-menu-close{display:flex;align-items:center;gap:20px;background:none;border:0;padding:8px 0;font-size:12px}.g-menu-close span{font-size:25px;line-height:1}.g-menu-links{display:flex;flex-direction:column}.g-menu-links a{display:flex;align-items:baseline;gap:25px;border-bottom:1px solid #ccd7dd;padding:18px 0;font-size:clamp(32px,4.7vw,51px);line-height:1.1;letter-spacing:-.055em}.g-menu-links small{font-size:9px;letter-spacing:.06em;line-height:1;align-self:flex-start;padding-top:7px;color:#708a99}.g-menu-links a>span{margin-left:auto;font-size:28px;transition:transform .3s}.g-menu-links a:hover>span{transform:translate(4px,-4px)}.g-menu-bottom{margin:35px 0 0;font-size:11px;color:#6b8391;display:flex;justify-content:space-between;gap:15px}html.g-menu-open{overflow:hidden!important}
/* Reveal is progressive enhancement: content remains readable without JS. */
[data-reveal].g-waiting{opacity:0;transform:translateY(24px)}[data-reveal]{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.25,1)}
@media(min-width:1700px){.g-project-track{padding-inline:calc((100vw - 1700px)/2 + 95px)}}
@media(max-width:1000px){.g-about-title{font-size:6.8vw}.g-about{padding-bottom:90px}.g-about-copy>p{font-size:21px}.g-project-card{width:74vw;min-width:0}.g-project-heading h2{font-size:46px}.g-card-caption h3{font-size:29px}.g-card-label{display:none}.g-contact-bottom{margin-left:0}.g-practice{margin-top:110px}.g-project-sticky{padding-top:75px;min-height:620px}}
@media(max-width:700px){.g-wrap{padding-inline:24px}.g-about{padding:42px 0 68px}.g-section-top{align-items:start}.g-section-top .g-eyebrow{font-size:9px}.g-section-top>:last-child:not(:first-child){max-width:150px;text-align:right}.g-about-title{margin:77px 0 45px;font-size:clamp(39px,7.3vw,52px);letter-spacing:-.06em;line-height:1.09}.g-about-title span{display:inline-block}.g-about-bottom{grid-template-columns:1fr;gap:40px}.g-about-copy{max-width:100%;padding-left:12%}.g-about-copy>p{font-size:19px;line-height:1.48}.g-origin{padding:0}.g-origin p{font-size:11px}.g-orbit{width:44px;height:42px}.g-orbit i{width:29px;height:29px}.g-orbit i:nth-child(2){left:13px}.g-orbit i:nth-child(3){left:25px}.g-practice{grid-template-columns:1fr;gap:20px;margin-top:75px;padding-top:27px}.g-practice h3{margin-top:26px;font-size:39px}.g-practice-copy{padding-top:0;padding-left:12%}.g-practice-copy p{font-size:16px}.g-link{font-size:13px}.ice-path{opacity:1}.g-project-runway{height:auto;padding:0}.g-project-sticky{position:relative;height:auto;min-height:0;padding:50px 0 27px;display:block}.g-project-heading{align-items:start;margin-bottom:29px}.g-project-heading h2{font-size:38px;max-width:250px}.g-project-heading .g-eyebrow{font-size:10px;margin-bottom:14px}.g-project-heading .g-link{font-size:11px;gap:10px;max-width:90px;line-height:1.4;padding-top:25px}.g-project-heading .g-link span{font-size:20px}.g-deck-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}.g-deck-viewport::-webkit-scrollbar{display:none}.g-project-track{transform:none!important;padding-inline:24px;gap:16px;height:430px;will-change:auto}.g-project-card{width:calc(100vw - 64px);height:430px;scroll-snap-align:center;min-height:0;transform:none!important;will-change:auto}.g-card-top{left:21px;right:21px;top:18px;font-size:10px}.g-aidit-logotype{font-size:70px;left:8%;top:21%}.g-card-caption{padding:65px 21px 26px}.g-card-caption h3{font-size:27px}.g-card-caption .g-eyebrow{font-size:8px}.g-deck-bottom{padding-top:18px}.g-deck-rule{width:80px}.g-crystal-art{top:16%;width:55%;left:23%;height:53%}.g-contact{padding:43px 0 55px}.g-contact-row{margin:60px 0 38px;gap:13px}.g-contact-row h2{font-size:clamp(35px,7.9vw,52px)}.g-contact-arrow{width:47px;height:47px;font-size:37px}.g-contact-bottom{align-items:flex-start;flex-direction:column;gap:20px}.g-contact-bottom p{font-size:14px}.g-footer{padding:28px 24px 22px;grid-template-columns:1fr;gap:29px}.g-wordmark{font-size:51px}.g-footer>div{font-size:11px;gap:20px}.g-footer nav{gap:24px}.g-footer-year{padding-top:0}.g-nav{inset:15px 16px auto}.g-nav-brand{font-size:16px}.g-nav-trigger{min-height:40px;gap:19px}.g-menu{padding:20px 24px}.g-menu-top{margin-bottom:25px}.g-menu-links a{font-size:38px;padding:17px 0}.g-menu-bottom{font-size:10px}.g-eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal].g-waiting{opacity:1!important;transform:none!important;transition:none!important}.g-project-stars i{animation:none}.g-project-runway{height:auto}.g-project-sticky{position:relative;height:auto;min-height:0}.g-deck-viewport{overflow-x:auto;scroll-snap-type:x mandatory}.g-project-track{transform:none!important;height:450px;will-change:auto}.g-project-card{transform:none!important;scroll-snap-align:center;will-change:auto}.g-nav,.g-link span,.g-contact-arrow{transition:none}}
.g-project-sticky{padding-top:85px}
@media(max-width:700px){.g-project-sticky{padding-top:84px}}
@media(max-width:700px){.g-about{padding-top:86px}}

/* The wave-to-paper join uses the page color; the ocean vignette must not tint it. */
.intro.has-wave-edge .vignette{mask-image:linear-gradient(to bottom,#000 calc(100% - 100px),rgba(0,0,0,var(--edge-vignette-opacity,1)) calc(100% - 54px));-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 100px),rgba(0,0,0,var(--edge-vignette-opacity,1)) calc(100% - 54px))}

.ice-fracture-origin{position:absolute;top:-64px;height:64px;overflow:hidden;visibility:hidden;pointer-events:none;clip-path:inset(100% 0 0)}.ice-fracture-origin canvas{display:block}
