:root{--sc-canvas: #E7F4FB;--sc-surface: #FFFFFF;--sc-ink: #16324F;--sc-ink-soft: #375373;--sc-accent: #3B92D4;--sc-accent-ink: #F7FCFF;--sc-font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", serif;--sc-font-text: "Outfit", system-ui, sans-serif;--sc-shadow-color: 210 42% 28%;--sc-e1: 0 1px 2px hsl(var(--sc-shadow-color) / .1), 0 2px 8px -2px hsl(var(--sc-shadow-color) / .12);--sc-e2: 0 2px 4px hsl(var(--sc-shadow-color) / .08), 0 14px 28px -10px hsl(var(--sc-shadow-color) / .18);--sc-e3: 0 10px 18px hsl(var(--sc-shadow-color) / .08), 0 36px 60px -20px hsl(var(--sc-shadow-color) / .22);--sc-edge: inset 0 1px 0 rgb(255 255 255 / .78);--key-h: 4.6rem;--night: #08131C;--night-ink: #F4F8FC;--night-soft: #C5D4E4}@property --sc-p{syntax: "<number>"; inherits: false; initial-value: 0;}@property --depth{syntax: "<number>"; inherits: false; initial-value: 0;}@property --lag{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --lift{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --px{syntax: "<number>"; inherits: false; initial-value: 0;}@property --py{syntax: "<number>"; inherits: false; initial-value: 0;}.sc-grain{opacity:.03}body{font-weight:400}.skip{position:absolute;left:var(--sc-4);top:-4rem;z-index:90;background:var(--sc-surface);color:var(--sc-ink);padding:var(--sc-2) var(--sc-4);border-radius:var(--sc-r-pill)}.skip:focus{top:var(--sc-3)}.key{position:fixed;z-index:70;top:0;left:0;right:0;height:var(--key-h);display:flex;align-items:center;gap:var(--sc-5);padding:0 var(--sc-gutter);background:transparent;box-shadow:none;color:var(--sc-ink)}.key-blur{position:absolute;left:0;right:0;top:0;height:calc(var(--key-h) * 2.1);z-index:-1;pointer-events:none}.key-blur i{position:absolute;inset:0;-webkit-backdrop-filter:blur(var(--b));backdrop-filter:blur(var(--b));-webkit-mask-image:linear-gradient(180deg,#000 var(--m0),transparent var(--m1));mask-image:linear-gradient(180deg,#000 var(--m0),transparent var(--m1))}.key-blur i:nth-child(1){--b: 2px;--m0: 45%;--m1: 100%}.key-blur i:nth-child(2){--b: 6px;--m0: 36%;--m1: 88%}.key-blur i:nth-child(3){--b: 12px;--m0: 28%;--m1: 76%}.key-blur i:nth-child(4){--b: 24px;--m0: 18%;--m1: 62%}.key-blur i:nth-child(5){--b: 40px;--m0: 0%;--m1: 50%}.key-blur:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#d6ebf9d1,#d6ebf994,#d6ebf938 68%,#d6ebf900)}.mark{display:flex;align-items:center;text-decoration:none;position:relative;z-index:1}.mark img{height:1.35rem;width:auto;display:block}.key-nav{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:clamp(1.4rem,2.2vw,2.4rem)}.key-nav a{text-decoration:none;white-space:nowrap;padding:.4rem .15rem;font-size:.86rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sc-ink);opacity:.82;position:relative;transition:opacity .18s var(--sc-ease-out),color .18s var(--sc-ease-out)}.key-nav a:before{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--sc-ink);border-radius:1px;transform:scaleX(0);transform-origin:right center;transition:transform .3s var(--sc-ease-out)}.key-nav a[aria-current=page]{opacity:1;color:var(--sc-ink)}.key-nav a[aria-current=page]:before{transform:scaleX(1);transform-origin:left center}@media(hover:hover)and (pointer:fine){.key-nav a:hover{opacity:1;color:var(--sc-ink)}.key-nav a:hover:before{transform:scaleX(1);transform-origin:left center}}.key-nav a:active{transform:translateY(1px)}.menu-btn,.menu{display:none}@property --wash{syntax: "<number>"; inherits: false; initial-value: 0;}.btn{--wash: 0;position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.85rem;padding:0 1.45rem;border:0;border-radius:var(--sc-r-pill);background-color:#fff;background-image:linear-gradient(45deg,rgb(86 204 242 / var(--wash)),rgb(47 128 237 / var(--wash)));color:#16324f;text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 15px -3px #16324f29,0 4px 6px -4px #16324f1a;cursor:pointer;white-space:nowrap;transition:padding .5s ease,color .5s ease,box-shadow .5s ease,--wash .5s ease,transform .18s var(--sc-ease-out)}.btn:after{content:"";position:absolute;z-index:-1;top:10px;left:0;right:0;height:100%;border-radius:inherit;background:linear-gradient(45deg,#56ccf2,#2f80ed);filter:blur(15px);opacity:0;pointer-events:none;transition:opacity .5s ease}.btn:hover,.btn:focus-visible{--wash: 1;color:#fff;box-shadow:none;padding-inline:1.85rem}.btn:hover:after,.btn:focus-visible:after{opacity:.5}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.key-contact{margin-left:auto;padding:.35rem .2rem;font-size:.86rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sc-ink);opacity:.82;text-decoration:none;background:transparent;border:none;border-radius:0;box-shadow:none;position:relative;text-align:right;justify-self:end;white-space:nowrap;display:inline-flex;align-items:center;transition:opacity .18s var(--sc-ease-out),color .18s var(--sc-ease-out)}@media(hover:hover)and (pointer:fine){.key-contact:hover{opacity:1;color:var(--sc-ink)}}.key-contact:active{transform:translateY(1px)}.hero{background:transparent}.hero-layout{position:relative;z-index:4;height:100%;display:flex;align-items:center;padding:calc(var(--key-h) + clamp(1rem,2.5vh,2.5rem)) var(--sc-gutter) clamp(2.5rem,5vh,4.5rem);pointer-events:none}.hero-copy{pointer-events:auto;margin-left:calc(50vw - var(--sc-gutter));margin-top:clamp(2.5rem,7vh,4.75rem);max-width:min(48rem,50vw);padding-bottom:0;text-align:left}.hero-copy__in{display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-family:var(--sc-font-display);font-size:clamp(4.6rem,7.8vw,8.8rem);font-weight:600;line-height:.94;letter-spacing:-.04em;max-width:7.2em;color:var(--sc-ink)}.hero-copy .sc-body{margin-top:clamp(1.8rem,3.2vh,2.6rem);font-size:clamp(1.15rem,1.45vw,1.52rem);line-height:1.45;letter-spacing:-.01em;color:var(--sc-ink);opacity:.88;max-width:28ch;white-space:normal}@media(prefers-reduced-motion:no-preference){.hero-copy__in>*{animation:rise .68s var(--sc-ease-out) both}.hero-copy__in>:nth-child(1){animation-delay:90ms}.hero-copy__in>:nth-child(2){animation-delay:.18s}.hero-copy__in>:nth-child(3){animation-delay:.27s}.key{animation:rise .52s var(--sc-ease-out) both}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.haze,.model-slot{position:absolute;pointer-events:none}.haze{inset:-8% -4% auto;height:46%;background:radial-gradient(closest-side,rgb(210 236 252 / .7),transparent 70%);z-index:0}.model-slot{--hero-top: calc(var(--key-h) + clamp(1rem, 2.5vh, 2.5rem));--hero-bot: clamp(2.5rem, 5vh, 4.5rem);--slot-h: calc(100svh - var(--hero-top) - var(--hero-bot));z-index:2;left:0;right:auto;top:var(--hero-top);bottom:var(--hero-bot);width:58vw;height:auto;translate:0 -8svh;display:grid;place-items:center}.house{position:relative;margin:0;width:min(100%,calc(var(--slot-h) * 4 / 3));aspect-ratio:4 / 3;perspective:1500px;perspective-origin:50% 40%}.model-tilt{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 70%;transform:rotateX(calc(3deg - var(--py) * 5deg)) rotateY(calc(-5deg + var(--px) * 11deg));transition:transform .7s var(--sc-ease-out)}.model-settle{position:absolute;inset:0;transform-style:preserve-3d}.hero-house{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transform:translateZ(0);transition:filter .26s var(--sc-ease-out)}.house-shadow{position:absolute;left:22%;right:18%;bottom:2%;height:12%;border-radius:50%;background:radial-gradient(closest-side,hsl(var(--sc-shadow-color) / .3),transparent 72%);filter:blur(6px);transform:translateZ(-90px) rotateX(70deg)}.house.is-focus .hero-house{filter:grayscale(.85) opacity(.45)}.house .spots{pointer-events:auto}.house .spot.is-hot{transform:translateZ(70px) scale(1.04)}.house .spot-dot{opacity:1}@media(prefers-reduced-motion:no-preference){.model-settle{animation:settle .9s var(--sc-ease-out) 80ms both}}@keyframes settle{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-fade{position:absolute;left:0;right:0;bottom:0;height:120px;z-index:5;pointer-events:none;display:none}.about{--about-fs: .9rem;height:100svh;min-height:34rem;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:clamp(.75rem,2.6vh,2.25rem);padding:calc(var(--key-h) + clamp(.25rem,1.5vh,1.5rem)) var(--sc-gutter) clamp(1rem,3.5vh,3rem);background:transparent;color:var(--sc-ink);text-align:center;overflow:hidden}.about-title{margin:0;font-weight:600;font-size:min(var(--sc-t-3xl),8.5vh)}.about-cards{width:100%;max-width:82rem;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2.5rem);align-items:center}.about-card{height:100%;min-height:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.6em;padding:clamp(1.2rem,2.4vh,2rem) clamp(1.2rem,1.8vw,1.85rem);border-radius:20px;background:#ffffffd6;border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 24px -6px #16324f14,0 1px 3px #16324f0a;font-size:var(--about-fs);line-height:1.5;overflow:hidden}.about-card.is-short{height:90%}.about-card{transition:height .75s cubic-bezier(.19,1,.22,1),box-shadow .45s var(--sc-ease-out),background-color .45s var(--sc-ease-out),border-color .45s var(--sc-ease-out)}.about-cards.is-fitting .about-card{height:90%;transition:none}@media(hover:hover)and (pointer:fine)and (min-width:981px){.about-cards:has(.about-card:hover) .about-card{height:90%}.about-cards:has(.about-card:hover) .about-card:hover{height:100%;background-color:#fffffff7;border-color:#3b92d459;box-shadow:0 0 0 1px #3b92d44d,0 16px 40px -10px #16324f24,0 0 32px 2px #7ebfec59}}@media(prefers-reduced-motion:reduce){.about-card{transition:box-shadow .2s linear,background-color .2s linear}}.about-card:after,.about-card.rule:after{content:none!important;display:none!important}.about-kicker{display:inline-flex;align-items:center;align-self:center;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#2f6ea3;padding:.24rem .65rem;border-radius:9999px;background:#3b92d414;border:1px solid rgba(59,146,212,.18);margin-bottom:.25rem}.about-card h3{width:100%;text-align:center;margin:0 0 .2em;font-family:var(--sc-font-display);font-weight:600;font-size:1.48em;letter-spacing:-.02em;line-height:1.15;color:#e44548}.about-card h3:after{display:none}.about-card h4{margin:.55em 0 .1em;font-family:var(--sc-font-display);font-size:.86em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#2f6ea3}.about-card p{margin:0;color:var(--sc-ink-soft);text-wrap:pretty}.about-card .about-lead{color:var(--sc-ink);font-weight:500}.about-card ul{list-style:none;margin:.3em 0 0;padding:0;display:grid;gap:.4em}.about-card li{position:relative;padding-left:1.15em;color:var(--sc-ink);text-wrap:pretty}.about-card li:before{content:"\2014";position:absolute;left:0;top:0;color:var(--sc-accent);font-weight:600}.founder{width:100%;margin:.2rem 0 0;display:grid;justify-items:center;gap:.15rem}.founder img{width:min(86%,15.5rem);height:auto;display:block;object-fit:cover;object-position:center 18%;-webkit-mask-image:linear-gradient(#000 58%,transparent 94%);mask-image:linear-gradient(#000 58%,transparent 94%)}.founder figcaption{margin-top:-1.1rem;display:grid;justify-items:center;gap:.12rem;text-align:center}.founder strong{font-family:var(--sc-font-display);font-weight:600;font-size:1.05rem;color:var(--sc-ink)}.founder span{font-size:.78rem;letter-spacing:.03em;color:var(--sc-ink-soft)}.projects{background:transparent;color:var(--sc-ink)}.projects .sc-wrap{max-width:52rem;margin-left:0;margin-right:auto}.projects h2{max-width:16ch;font-weight:600}.works{list-style:none;margin:var(--sc-7) 0 0;padding:0}.works li{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:var(--sc-4);align-items:baseline;padding:var(--sc-4) 0;border-top:1px solid var(--sc-hairline)}.works h3{margin:0;font-family:var(--sc-font-display);font-weight:600;font-size:1.35rem;letter-spacing:-.03em}.works p{margin:0;color:var(--sc-ink-soft)}.range-stage{background:transparent}.rail{align-items:center;gap:var(--sc-6);padding:var(--key-h) var(--sc-gutter) 0;height:100%}.rail-lead{flex:0 0 min(26rem,72vw);align-self:center;padding-right:var(--sc-6)}.rail-lead h2{max-width:10ch}.rail-lead p{margin-top:var(--sc-4)}.hot{fill:#7ebfec}.line-intro{position:absolute;inset:clamp(5rem,11vh,7rem) 0 auto;z-index:2;display:grid;justify-items:center;gap:.9rem;text-align:center;padding-inline:1.5rem;pointer-events:none}.line-intro h2{margin:0;line-height:.9}.line-intro .sc-body{margin:0;max-width:34rem;color:var(--sc-ink-soft)}.line-rail{position:relative;align-items:flex-start;width:max-content;gap:clamp(4.5rem,7.5vw,8.5rem);padding-top:clamp(16.5rem,37vh,22rem);padding-inline:clamp(3rem,10vw,12rem) clamp(5rem,14vw,16rem)}.line-rope{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.line-rope path{fill:none;stroke:#16324f;stroke-width:1.5;stroke-linecap:round;opacity:.55}#projects .snap-card{flex:0 0 auto;width:clamp(18.5rem,25.5vw,25rem);background:none;box-shadow:none;border:0;overflow:visible;transform:none;opacity:1}.snap{--drag: calc(.7 + var(--k, 0) * .1);position:relative;transform-origin:50% 0;transform:translateY(var(--hang)) rotate(var(--tilt))}.snap-clip{position:absolute;left:50%;top:-.95rem;z-index:2;width:1rem;height:2.4rem;translate:-50% 0;border-radius:3px;background:linear-gradient(90deg,#2a7bc0,#5aace6 55%,#2a7bc0);box-shadow:0 2px 5px #16324f59}.snap-clip:after{content:"";position:absolute;left:50%;top:.4rem;width:.34rem;height:.34rem;translate:-50% 0;border-radius:50%;background:#e9f4fc}.snap-hit{display:block;padding:1.05rem 1.05rem 1.35rem;border-radius:14px;background:#fff;color:#16324f;text-decoration:none;border:1px solid rgba(22,50,79,.08);box-shadow:0 1px 3px #16324f14,0 18px 36px -12px #16324f5c;transition:box-shadow .5s var(--ease-expo, ease),border-color .3s ease}.snap-hit figure{margin:0;width:100%;height:auto;max-width:none;padding:0;aspect-ratio:4/3;border-radius:8px;display:grid;place-items:center;background:linear-gradient(160deg,#e9f4fc,#cfe6f6)}.snap-hit figure svg{width:80%;height:auto}.snap-hit figure img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.snap-hit figure img.is-frame{object-position:center 28%}.snap-cap{display:grid;gap:.3rem;padding:1.05rem .3rem 0}.snap-cap strong{display:block;font-family:var(--sc-font-display);font-size:1.42rem;font-weight:600;letter-spacing:-.01em;color:#16324f}.snap-cap span{font-size:.88rem;color:var(--sc-ink-soft)}.snap-hit:focus-visible{outline:2px solid #3B92D4;outline-offset:4px}@media(prefers-reduced-motion:no-preference){.snap{animation:snap-sway 6s ease-in-out infinite alternate;animation-delay:var(--sway)}@keyframes snap-sway{0%{transform:translateY(calc(var(--hang) + var(--lift, 0px))) rotate(calc(var(--tilt) + var(--lag, 0deg) * var(--drag, 1) - 1.2deg))}to{transform:translateY(calc(var(--hang) + var(--lift, 0px))) rotate(calc(var(--tilt) + var(--lag, 0deg) * var(--drag, 1) + 1.2deg))}}@keyframes snap-swing{0%{transform:translateY(var(--hang)) rotate(var(--tilt))}35%{transform:translateY(var(--hang)) rotate(calc(var(--tilt) * -.45))}65%{transform:translateY(var(--hang)) rotate(calc(var(--tilt) * .18))}to{transform:translateY(var(--hang)) rotate(0)}}@keyframes snap-swing-wide{0%{transform:translateY(var(--hang)) rotate(0)}18%{transform:translateY(var(--hang)) rotate(-4.5deg)}40%{transform:translateY(var(--hang)) rotate(3deg)}62%{transform:translateY(var(--hang)) rotate(-1.5deg)}82%{transform:translateY(var(--hang)) rotate(.6deg)}to{transform:translateY(var(--hang)) rotate(0)}}@media(hover:hover)and (pointer:fine){.snap-hit{transform-origin:50% 0;transform:perspective(900px) rotate(var(--sw, 0deg)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));will-change:transform}.snap-hit:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx, 50%) var(--gy, 50%),rgb(255 255 255 / .35),transparent 55%);opacity:var(--glare, 0);mix-blend-mode:soft-light}.snap-hit{position:relative}.snap-card:hover .snap-hit{box-shadow:0 1px 2px #16324f1f,0 30px 50px -16px #16324f80,0 0 0 6px #7ebfec59}.snap-card:hover .hot{fill:#3b92d4}}.snap-card.is-teleported .snap{animation:snap-swing 1.3s cubic-bezier(.3,.7,.4,1) forwards}.snap-card.is-teleported .snap-hit{box-shadow:0 1px 2px #16324f1f,0 30px 50px -16px #16324f80,0 0 0 5px #2a7bc0,0 0 30px #2a7bc073;transform:translateY(-8px) scale(1.02)}.snap-card.is-teleported .hot{fill:#2a7bc0}}@media(max-width:980px){.line-intro{inset-block-start:4.5rem}.line-rail{padding-top:17rem;gap:2.5rem}#projects .snap-card{width:16rem}}.spots{position:absolute;inset:-3% 0 3%;transform-style:preserve-3d}.spot{appearance:none;position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1%);height:calc(var(--h) * 1%);padding:0;border:0;border-radius:6px;cursor:pointer;background:transparent no-repeat;background-size:calc(10000% / var(--w)) calc(10000% / var(--h));background-position:calc(var(--x) / (100 - var(--w)) * 100%) calc(var(--y) / (100 - var(--h)) * 100%);color:inherit;transition:box-shadow .26s var(--sc-ease-out),transform .26s var(--sc-ease-out)}.spot.is-hot{background-image:url(assets/section-model.webp);box-shadow:0 0 0 1.5px #3b92d4d9,0 0 32px #3b92d438,0 20px 40px -18px #16324f66;transform:translateZ(26px);z-index:2}.spot:focus-visible{outline:2px solid var(--sc-accent);outline-offset:4px}.spot-dot{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--sc-accent);box-shadow:0 0 0 4px #7ebfec47;opacity:calc(.35 + .65 * var(--show));transition:opacity .2s var(--sc-ease-out),transform .2s var(--sc-ease-out)}.spot.is-hot .spot-dot{opacity:0;transform:scale(.4)}@media(prefers-reduced-motion:no-preference){.spot-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgb(126 191 236 / .75);animation:ping 2.4s var(--sc-ease-out) infinite}}@keyframes ping{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.6);opacity:0}}.tip{position:absolute;top:50%;width:max-content;max-width:15rem;display:grid;gap:.15rem;padding:.75rem .95rem;border-radius:var(--sc-r-md);text-align:left;background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 0 1px #3b92d429,var(--sc-e2);color:var(--sc-ink);font-size:var(--sc-t-sm);line-height:1.3;opacity:0;pointer-events:none;visibility:hidden;transform:translate3d(0,-50%,30px) scale(.96);transition:opacity .2s var(--sc-ease-out),transform .26s var(--sc-ease-out),visibility 0s linear .26s}.tip-left .tip{right:calc(100% + 14px)}.tip-right .tip{left:calc(100% + 14px)}.tip strong{font-family:var(--sc-font-display);font-weight:600;font-size:var(--sc-t-lg);letter-spacing:-.02em;color:var(--sc-accent)}.tip em{font-style:normal;color:var(--sc-ink-soft)}.spot.is-hot .tip{opacity:1;visibility:visible;transform:translate3d(0,-50%,30px);transition-delay:0s}.consult{background:transparent;color:var(--sc-ink);min-height:100svh;display:flex;align-items:center;padding-block:calc(var(--key-h) + 2rem) var(--sc-8)}.sheet{width:min(72rem,100%);margin-inline:auto;background:#ffffffe0;border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 10px 40px -12px #16324f1f,0 1px 3px #16324f0d;padding:clamp(1.5rem,3vw,3rem) clamp(1.5rem,4vw,3.5rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1rem,2.4vw,2.25rem) clamp(1.5rem,4vw,4rem)}.sheet h2{max-width:12ch;font-weight:600}.sheet-lead{margin-top:var(--sc-3)}.office{margin-top:var(--sc-5);display:grid;gap:var(--sc-3)}.office a{color:inherit}.office dt{color:var(--sc-ink-soft);font-size:var(--sc-t-sm)}.office dd{margin:.2rem 0 0}.form{display:grid;gap:.35rem;align-content:start}.field{display:grid;gap:.35rem}.field span{font-size:var(--sc-t-sm);color:var(--sc-ink-soft)}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(22,50,79,.12);background:#f4fafdb3;border-radius:12px;padding:.72rem .95rem;font-family:inherit;font-size:.92rem;color:var(--sc-ink);transition:border-color .16s var(--sc-ease-out),background .16s var(--sc-ease-out),box-shadow .16s var(--sc-ease-out)}.field textarea{min-height:5.5rem;resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{background:#fffffff2;border-color:#16324f40}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;background:#fff;border-color:var(--sc-accent);box-shadow:0 0 0 3px #3b92d42e}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true],.field:has(select[aria-invalid=true]) .pick-btn{border-color:#8c3a2f}.pick{position:relative}.pick-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.pick-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(22,50,79,.12);background:#f4fafdb3;border-radius:12px;padding:.72rem .95rem;font-family:inherit;font-size:.92rem;color:#16324f73;text-align:left;cursor:pointer;transition:border-color .28s var(--sc-ease-out),background .28s var(--sc-ease-out),box-shadow .28s var(--sc-ease-out),color .28s var(--sc-ease-out)}.pick.is-set .pick-btn{color:var(--sc-ink)}.pick-btn svg{width:1rem;height:1rem;flex:none;transition:transform .48s cubic-bezier(.22,1,.36,1)}.pick.is-open .pick-btn svg{transform:rotate(180deg)}.pick-btn:hover{background:#fffffff2;border-color:#16324f40}.pick.is-open .pick-btn,.pick-btn:focus-visible{outline:none;background:#fff;border-color:var(--sc-accent);box-shadow:0 0 0 3px #3b92d42e}.pick-list{position:absolute;z-index:8;left:0;right:0;top:calc(100% + .4rem);margin:0;padding:.35rem;list-style:none;background:#fff;border:1px solid rgba(22,50,79,.08);border-radius:14px;box-shadow:0 22px 44px -28px #16324f8c;transform-origin:top center;opacity:0;translate:0 -8px;scale:.98 .92;pointer-events:none;transition:opacity .28s var(--sc-ease-out),translate .46s cubic-bezier(.22,1,.36,1),scale .46s cubic-bezier(.22,1,.36,1)}.pick.is-open .pick-list{opacity:1;translate:none;scale:none;pointer-events:auto}.pick-list li{padding:.62rem .75rem;border-radius:9px;color:var(--sc-ink);cursor:pointer;opacity:0;translate:0 8px;transition:background .22s var(--sc-ease-out),color .22s var(--sc-ease-out),opacity .36s var(--sc-ease-out),translate .42s cubic-bezier(.22,1,.36,1);transition-delay:0s,0s,calc(var(--i) * 32ms),calc(var(--i) * 32ms)}.pick.is-open .pick-list li{opacity:1;translate:none}.pick-list li:hover,.pick-list li.is-on{background:#cfe6f6}@media(prefers-reduced-motion:reduce){.pick-list,.pick-list li,.pick-btn svg{transition:none;translate:none;scale:none;opacity:1}.pick:not(.is-open) .pick-list{display:none}}.err{margin:0;min-height:1.2em;color:#8c3a2f;font-size:var(--sc-t-sm)}.form .btn,.done .btn{justify-self:end;margin-top:var(--sc-2)}.done{display:grid;gap:var(--sc-4);align-content:start}.done[hidden],.form[hidden]{display:none}.done p{margin:0;max-width:42ch}.done textarea{width:100%;min-height:9rem;border:1px solid rgba(22,50,79,.12);border-radius:12px;padding:.8rem .95rem;background:#f4fafdb3;font-family:inherit;font-size:.92rem;color:var(--sc-ink)}.foot{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;gap:var(--sc-4);padding-top:var(--sc-4);border-top:1px solid var(--sc-hairline);color:var(--sc-ink-soft);font-size:var(--sc-t-sm)}.foot span{font-family:var(--sc-font-display);color:var(--sc-ink);letter-spacing:-.03em}.foot p{margin:0}@media(max-width:980px){.key-nav,.key-contact,.key .btn{display:none}.menu .key-contact{display:inline-flex;justify-content:flex-start;margin-left:0;font-size:var(--sc-t-lg)}.key-nav{position:static;left:auto;transform:none}.menu-btn{--wash: 0;position:relative;z-index:0;display:inline-flex;margin-left:auto;align-items:center;min-height:2.6rem;padding:0 1.1rem;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--sc-r-pill);border:0;background-color:#fff;background-image:linear-gradient(45deg,rgb(86 204 242 / var(--wash)),rgb(47 128 237 / var(--wash)));color:#16324f;box-shadow:0 10px 15px -3px #16324f29,0 4px 6px -4px #16324f1a;cursor:pointer;transition:padding .5s ease,color .5s ease,box-shadow .5s ease,--wash .5s ease}.menu-btn:after{content:"";position:absolute;z-index:-1;top:10px;left:0;right:0;height:100%;border-radius:inherit;background:linear-gradient(45deg,#56ccf2,#2f80ed);filter:blur(15px);opacity:0;pointer-events:none;transition:opacity .5s ease}.menu-btn:hover,.menu-btn:focus-visible{--wash: 1;color:#fff;box-shadow:none;padding-inline:1.45rem}.menu-btn:hover:after,.menu-btn:focus-visible:after{opacity:.5}.menu{display:grid;gap:var(--sc-3);position:fixed;z-index:69;top:var(--key-h);left:var(--sc-gutter);right:var(--sc-gutter);padding:var(--sc-5);background:var(--sc-surface);color:var(--sc-ink);border-radius:var(--sc-r-lg);box-shadow:var(--sc-e3);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s var(--sc-ease-out),transform .2s var(--sc-ease-out)}.menu.is-open{opacity:1;transform:none;pointer-events:auto}.menu a:not(.btn){text-decoration:none;text-align:left;padding:.35rem 0;font-size:var(--sc-t-lg);color:var(--sc-ink)}.menu a[aria-current=page]{text-decoration:underline;text-underline-offset:.28em}.works li{grid-template-columns:1fr;gap:.2rem}.hero{display:flex;flex-direction:column}.hero-layout{order:1;position:relative;height:auto;flex:0 0 auto;display:block;grid-template-columns:1fr;align-items:start;padding:calc(var(--key-h) + .85rem) var(--sc-gutter) 0}.hero-copy{max-width:none;margin-left:0;margin-top:0;padding-bottom:0;translate:none}.hero-copy h1{font-size:var(--sc-t-2xl);max-width:12ch;line-height:1.02}.hero-copy .sc-body{margin-top:var(--sc-3);max-width:none;white-space:normal}.model-slot{order:2;position:relative;inset:auto;translate:none;--slot-h: 46svh;width:100%;height:46svh;flex:1 1 auto;min-height:240px;place-items:center;overflow:hidden}.hero-fade{display:none}.about{height:auto;overflow:visible;padding-bottom:var(--sc-8)}.about-cards{grid-template-columns:1fr;align-items:stretch}.about-card,.about-card.is-short{height:auto;overflow:visible}.chart-slot{flex:0 0 auto;height:26rem}.tip{display:none}.sheet{grid-template-columns:1fr}.foot{flex-direction:column}}@media(prefers-reduced-motion:reduce){.model-settle,.hero-copy__in>*,.key{animation:none}.menu{transition:none}}body{background:#cfe6f6}.sky{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#cfe6f6}.sky-layer{position:absolute;left:-6%;right:-6%;top:0;will-change:transform}.sky-far{left:0;right:0;height:300vh;background:linear-gradient(180deg,#8cc2ea,#b5daf3 16%,#d9edfa 30%,#a6d0ef 46%,#c7e3f6,#e4f2fb,#aed5f1 88%,#cfe6f6)}.sky-photo{--tile: 180vw;height:calc(100vh + var(--tile));background:url(assets/sky/photo.webp) 0 0 / 100% var(--tile) repeat-y;opacity:.5}.sky-mist{--tile: 150vh;height:calc(100vh + var(--tile));background:url(assets/sky/mist.webp) 0 0 / 100% var(--tile) repeat-y;opacity:.7}.sky-near{--tile: 210vh;height:calc(100vh + var(--tile));background:url(assets/sky/near.webp) 0 0 / 100% var(--tile) repeat-y;opacity:.5}:root{--ease-expo: cubic-bezier(.19, 1, .22, 1);--ease-curtain: cubic-bezier(.77, 0, .18, 1)}html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}:root{--ease-out-q: cubic-bezier(.25, 1, .5, 1);--ease-io: cubic-bezier(.76, 0, .24, 1)}.loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;color:#eaf5fd;pointer-events:all}.loader-arches{position:absolute;inset:0;display:flex}.loader-arches i{flex:1;display:block;background:linear-gradient(180deg,#0f2740,#16324f 70%,#1d4369);border-radius:0;margin-right:-1px;transition:transform 1.1s var(--ease-io),border-radius 1.1s var(--ease-io)}.loader.is-out .loader-arches i{transform:translateY(-104%);border-radius:0 0 50% 50%/0 0 22% 22%}.loader.is-out .loader-arches i:nth-child(1){transition-delay:0ms}.loader.is-out .loader-arches i:nth-child(2){transition-delay:60ms}.loader.is-out .loader-arches i:nth-child(3){transition-delay:.12s}.loader.is-out .loader-arches i:nth-child(4){transition-delay:.18s}.loader.is-out .loader-arches i:nth-child(5){transition-delay:.24s}.loader-in{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1.5rem,5vw,5rem);width:min(70rem,92vw)}.loader-side{margin:0;overflow:hidden;font-size:clamp(.66rem,.8vw,.8rem);font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#9fcbea}.loader-l{justify-self:end}.loader-r{justify-self:start}.loader-side span{display:block;animation:loader-up 1s var(--ease-out-q) .35s both}.loader-mark{position:relative;width:clamp(9rem,15vw,13rem);aspect-ratio:1;display:grid;place-items:center}.loader-mark svg{position:absolute;inset:0;transform:rotate(-90deg);overflow:visible}.loader-ring{fill:none;stroke:#7ebfec;stroke-width:.6;stroke-dasharray:352;stroke-dashoffset:calc(352 * (1 - var(--lp, 0)))}.loader-logo{height:clamp(1.7rem,3.2vw,2.5rem);width:auto;display:block;animation:loader-up 1.1s var(--ease-out-q) .16s both}.loader-foot{position:absolute;left:clamp(1.25rem,4vw,3rem);right:clamp(1.25rem,4vw,3rem);bottom:clamp(1.25rem,4vh,2.5rem);display:flex;align-items:center;gap:1.4rem;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:#9fcbea}.loader-tag{overflow:hidden}.loader-tag span{display:block;animation:loader-up 1s var(--ease-out-q) .45s both}.loader-bar{flex:1;height:1px;background:#eaf5fd29;overflow:hidden}.loader-bar i{display:block;height:100%;background:#eaf5fd;transform:scaleX(0);transform-origin:left}.loader-count{font-variant-numeric:tabular-nums;color:#eaf5fd;min-width:3ch;text-align:right}.loader-in,.loader-foot{transition:opacity .5s var(--ease-out-q),transform .9s var(--ease-io)}.loader.is-out .loader-in{opacity:0;transform:translateY(-3rem)}.loader.is-out .loader-foot{opacity:0}.loader.is-out{pointer-events:none}@keyframes loader-up{0%{transform:translateY(110%)}to{transform:none}}@media(max-width:640px){.loader-in{grid-template-columns:1fr;justify-items:center;gap:1.2rem}.loader-l,.loader-r{justify-self:center}.loader-tag{display:none}}.cursor{display:none}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){html.js,html.js *{cursor:none!important}.cursor{display:grid;place-items:center;position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:1.4rem;height:1.4rem;margin:-.7rem 0 0 -.7rem;border-radius:50%;border:1.5px solid #16324F;background:transparent;transform:translate3d(var(--cx, -100px),var(--cy, -100px),0) scale(var(--cs, 1));transition:transform .48s var(--ease-out-q),background-color .4s var(--ease-out-q),border-color .4s var(--ease-out-q),opacity .3s;will-change:transform}.cursor.is-idle{opacity:0}.cursor.is-link{--cs: 1.08;border-color:#2a7bc0}.cursor.is-view{--cs: 1.75;background:#16324f;border-color:#16324f}.cursor-label{font-size:.3rem;letter-spacing:.2em;text-transform:uppercase;color:#eaf5fd;opacity:0;transition:opacity .3s var(--ease-out-q)}.cursor.is-view .cursor-label{opacity:1}.cursor.is-down{--cs: .68}}.key-nav a{font-size:.86rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;opacity:.82}.key-nav a[aria-current=page],.key-nav a:hover{opacity:1}.sc-body,.rail-lead p{letter-spacing:.005em}.btn{letter-spacing:.11em;text-transform:uppercase;font-size:.78rem;font-weight:600}.magnetic{transition:transform .7s var(--ease-out-q);will-change:transform}.split .word,.ink .word{display:inline-block;white-space:nowrap}.split .w,.ink .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}.split .wi,.ink .wi{display:inline-block;transform:translateY(110%);transition:transform 1.28s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * 22ms)}.split .wi{transition-duration:1.32s;transition-delay:calc(var(--i) * 32ms)}.split.is-chars .wi{transition-duration:1.2s;transition-delay:calc(var(--i) * 14ms)}.ink.is-tight .wi{transition-delay:calc(var(--i) * 8ms)}.split.is-in .wi,.ink.is-in .wi{transform:none}.split.is-reset .wi,.ink.is-reset .wi{transform:translateY(110%);transition:none}.about-card .is-fade .wi{transform:none;opacity:1;transition:none}.about-card .is-fade{opacity:0;transition:opacity .95s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--fade, 0) * 55ms)}.about-card .is-fade.is-in{opacity:1}.about-card .is-fade.is-reset{opacity:0;transition:none}.hero-copy__in>.ink{animation:none}html.js:not(.is-loaded) .hero-copy .wi{transform:translateY(110%)}.sc-display--lg.split:after{content:"";display:block;width:2.25rem;height:1px;margin:.85rem auto 0;background:#3b92d4;transform:scaleX(0);transform-origin:center;transition:transform 1.05s cubic-bezier(.22,1,.36,1) .18s}.sc-display--lg.split.is-in:after{transform:scaleX(1)}.sc-display--lg.split.is-reset:after,.rule.is-reset:after{transform:scaleX(0);transition:none}.sheet .sc-display--lg.split:after{margin-left:0;margin-right:auto;transform-origin:left}html.js:not(.is-loaded) .model-settle{animation:none;opacity:0}.house{clip-path:inset(-40% -40% -40% -40%);transition:clip-path 1.5s var(--ease-curtain) .15s}html.js:not(.is-loaded) .house{clip-path:inset(100% -40% -40% -40%)}.house.is-settled{clip-path:none;transition:none}.hero-copy__in>h1.split{animation:none}html.js:not(.is-loaded) .hero-copy__in>:not(h1){animation-play-state:paused}.rule{position:relative}.rule:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--sc-accent);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-expo);pointer-events:none}.rule.is-in:after{transform:scaleX(1)}.marquee.rule:after{opacity:.4}.key-nav a:before{height:2px;transform-origin:right center;transition:transform .4s var(--ease-expo);border-radius:1px}@media(hover:hover)and (pointer:fine){.key-nav a:hover:before{transform:scaleX(1);transform-origin:left center}}.roll{position:relative;display:inline-block;overflow:hidden;line-height:1.3;vertical-align:middle}.roll>span,.roll:after{display:block;transition:transform .65s var(--ease-expo)}.roll:after{content:attr(data-t);position:absolute;left:0;top:100%}@media(hover:hover)and (pointer:fine){.btn:hover .roll>span,.btn:hover .roll:after{transform:translateY(-100%)}}.marquee{margin-top:clamp(3rem,8vw,6rem);padding-top:clamp(1.25rem,3vw,2rem);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;align-items:center;width:max-content;gap:clamp(1.5rem,3vw,3rem);animation:marquee 38s linear infinite}.marquee span{font-family:var(--sc-font-display);font-weight:600;font-size:clamp(2.6rem,6vw,5.5rem);letter-spacing:-.04em;line-height:1.05;color:var(--sc-ink)}.marquee span:nth-of-type(5n+2),.marquee span:nth-of-type(5n+4){color:transparent;-webkit-text-stroke:1px var(--sc-ink)}.marquee i{width:.6rem;height:.6rem;background:var(--sc-accent);flex:0 0 auto}@keyframes marquee{to{transform:translate(calc(-50% - clamp(.75rem,1.5vw,1.5rem)))}}@media(hover:hover)and (pointer:fine){.marquee:hover .marquee-track{animation-play-state:paused}}@media(prefers-reduced-motion:reduce){.loader{display:none}.split .wi,.ink .wi,.split.is-reset .wi,.ink.is-reset .wi,.rule:after,.sc-display--lg.split:after{transform:none!important;transition:none!important}.about-card .is-fade,.about-card .is-fade.is-reset,.founder.is-fade{opacity:1;transition:none}.btn,.menu-btn,.cf-visit,.cf-arrow,.btn:after,.menu-btn:after,.cf-visit:before,.cf-arrow:after{transition:none}.marquee-track{animation:none}.house{clip-path:none;transition:none}}.ticker{margin:.75rem 0 0;display:flex;align-items:center;gap:.85rem;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:clamp(1.26rem,1.65vw,1.76rem);color:var(--sc-ink);width:auto;pointer-events:auto}.ticker-tag{font-family:inherit;font-size:.92em;font-weight:520;letter-spacing:-.01em;color:var(--sc-ink-soft);text-transform:none}.ticker-win{display:inline-block;height:1.35em;overflow:hidden;vertical-align:middle;font-size:1.05em}.ticker-list{display:block;animation:ticker 12.5s var(--ease-io) infinite}.ticker-list em{display:block;height:1.35em;line-height:1.35em;font-family:var(--sc-font-display);font-style:italic;font-weight:550;letter-spacing:-.015em;color:#2f6ea3}@keyframes ticker{0%,15%{transform:translateY(0)}20%,35%{transform:translateY(-1.35em)}40%,55%{transform:translateY(-2.7em)}60%,75%{transform:translateY(-4.05em)}80%,95%{transform:translateY(-5.4em)}to{transform:translateY(-6.75em)}}@media(prefers-reduced-motion:reduce){.ticker-list{animation:none}}.mark,.office a,.sheet,.spot-dot{transition:opacity .28s var(--sc-ease-out),color .28s var(--sc-ease-out),background-color .32s var(--sc-ease-out),border-color .32s var(--sc-ease-out),box-shadow .42s var(--sc-ease-out),transform .42s cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (pointer:fine){.mark:hover{opacity:.7}.office a:hover{color:#2a7bc0}.office>div:hover{transform:translateY(-4px)}.foot:hover{letter-spacing:.02em}.sheet:hover{box-shadow:0 18px 48px -16px #16324f2e,0 1px 3px #16324f0f}.spot:hover .spot-dot{transform:scale(1.35);opacity:1}}@media(prefers-reduced-motion:reduce){.mark,.office a,.sheet,.spot-dot{transition:none}.spot:hover .spot-dot{transform:none}}:root{--ease-soft: cubic-bezier(.22, 1, .36, 1)}.key-nav .roll,.key-contact .roll{line-height:1.25}@media(hover:hover)and (pointer:fine){.key-nav a:hover .roll>span,.key-nav a:hover .roll:after,.key-contact:hover .roll>span,.key-contact:hover .roll:after{transform:translateY(-100%)}}.hero-badge{position:absolute;z-index:6;right:var(--sc-gutter);bottom:clamp(1.5rem,5vh,3rem);width:clamp(6.75rem,8vw,8.25rem);aspect-ratio:1;color:var(--sc-ink);text-decoration:none;opacity:calc(1 - var(--sc-p, 0) * 3.4)}.hero-badge-in{position:absolute;inset:0;display:grid;place-items:center;transition:scale .9s var(--ease-out-q),opacity .9s var(--ease-out-q)}html.js:not(.is-loaded) .hero-badge-in{opacity:0;scale:.7}.hero-badge-ring{position:absolute;inset:0;rotate:var(--spin, 0deg)}.hero-badge-ring svg{width:100%;height:100%;overflow:visible;animation:badge-spin 30s linear infinite}.hero-badge text{font-family:var(--sc-font-text);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;fill:currentColor}.hero-badge-arrow{position:relative;width:2.75rem;height:2.75rem;overflow:hidden;border-radius:50%;background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px #16324f1a,0 10px 22px -12px #16324f73;transition:background-color .4s var(--ease-out-q),box-shadow .4s var(--ease-out-q)}.hero-badge-arrow:before{content:"";position:absolute;inset:0;background:center / 1.1rem no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316324F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E");animation:arrow-bob 2.6s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.hero-badge:hover .hero-badge-in{scale:1.06}.hero-badge:hover .hero-badge-arrow{background-color:#fff;box-shadow:0 0 0 1px #3b92d459,0 14px 26px -12px #16324f80}.hero-badge:hover .hero-badge-arrow:before{animation:arrow-drop .9s var(--ease-io)}}@keyframes badge-spin{to{transform:rotate(360deg)}}@keyframes arrow-bob{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@keyframes arrow-drop{0%{transform:none}45%{transform:translateY(130%)}46%{transform:translateY(-130%)}to{transform:none}}.line-rope path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.9s var(--ease-io)}#projects.is-strung .line-rope path{stroke-dashoffset:0}#projects .snap-clip{scale:0;transition:scale .65s cubic-bezier(.34,1.56,.64,1) calc(.35s + var(--k, 0) * .12s)}#projects.is-strung .snap-clip{scale:1}#projects .snap-hit{opacity:0;translate:0 -2.25rem;transition:box-shadow .5s var(--ease-expo),border-color .3s ease,opacity .7s var(--ease-out-q) calc(.56s + var(--k, 0) * .12s),translate 1.1s var(--ease-soft) calc(.56s + var(--k, 0) * .12s)}#projects.is-strung .snap-hit{opacity:1;translate:0 0}#projects .snap-hit figure{overflow:hidden}#projects .snap-hit figure img{scale:1.12;translate:calc((.5 - var(--sc-p, .5)) * 9%) 0;transition:scale .9s var(--ease-soft)}@media(hover:hover)and (pointer:fine){#projects .snap-card:hover figure img{scale:1.08}}.lift{opacity:0;translate:0 1.1rem;transition:opacity .9s var(--ease-out-q) .24s,translate 1.2s var(--ease-out-q) .24s}.lift.is-in{opacity:1;translate:0 0}.about-card,.sheet{position:relative}.about-card>.glow,.sheet>.glow{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(26rem circle at var(--mx, 50%) var(--my, -30%),rgb(126 191 236 / .26),transparent 70%);opacity:0;transition:opacity .6s var(--sc-ease-out)}@media(hover:hover)and (pointer:fine){.about-card:hover>.glow,.sheet:hover>.glow{opacity:1}}.field>span{transition:color .3s var(--sc-ease-out),translate .45s var(--ease-out-q)}.field:focus-within>span{color:var(--sc-accent);translate:3px 0}@media(prefers-reduced-motion:no-preference){[data-depth]{translate:0 calc(var(--depth, 0) * 1px)}}.about-card li{transition:opacity .9s cubic-bezier(.16,1,.3,1),translate 1.05s cubic-bezier(.16,1,.3,1),color .5s ease;transition-delay:calc(var(--d, 0) * 42ms),calc(var(--d, 0) * 42ms),0s;transform:translate(calc(var(--fx, 0) * 1px));color:color-mix(in srgb,#2A7BC0 calc(var(--fw, 0) * 100%),var(--sc-ink))}.about-card li:before{transform-origin:left center;transform:scaleX(calc(1 + var(--fw, 0) * .3))}.office>div{transition:transform .5s var(--ease-out-q)}.office a{text-decoration:none;padding-bottom:1px;background:linear-gradient(#2a7bc0,#2a7bc0) 0 100% / 0 1px no-repeat,linear-gradient(#16324f38,#16324f38) 0 100% / 100% 1px no-repeat;transition:background-size .65s var(--ease-expo),color .28s var(--sc-ease-out)}.office a:hover{background-size:100% 1px,100% 1px}@media(max-width:980px){.hero-badge{display:none}.hero-layout{padding-top:calc(var(--key-h) + .85rem + 7svh)}.about-title{transform:none!important}.about{padding-top:calc(var(--key-h) + 1rem);gap:1.25rem}}#range.cf-section{--cf-run: 4;height:calc(100svh + var(--cf-run) * 72vh);color:var(--sc-ink)}.cf-pin{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--key-h) + 1rem) 0 clamp(1.5rem,4vh,3rem);overflow:hidden}@media(prefers-reduced-motion:reduce){#range.cf-section{height:auto;min-height:100svh}.cf-pin{position:relative;height:auto;min-height:100svh}}.cf-lead{text-align:center;padding-inline:var(--sc-gutter)}.cf-lead h2{margin:0}.cf-lead p{margin:.85rem auto 0;max-width:36rem;color:var(--sc-ink-soft)}.cf{--cf-card: min(clamp(16.25rem, 34vw, 30rem), 52svh);position:relative}.cf-frame{position:relative;overflow:hidden;perspective:calc(var(--cf-card) * 3);padding:clamp(1.75rem,4vh,2.75rem) 0 clamp(2.25rem,5vh,3.25rem);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;outline:none}.cf-frame.is-drag,.cf-frame.is-drag .cf-card{cursor:grabbing}.cf-frame:focus-visible{outline:2px solid #3B92D4;outline-offset:-4px;border-radius:18px}.cf-track{position:relative;height:var(--cf-card);transform-style:preserve-3d}.cf-card{position:absolute;top:0;left:50%;display:block;cursor:grab;width:var(--cf-card);aspect-ratio:1;overflow:hidden;border-radius:18px;background:#cfe6f6;box-shadow:0 4px 10px -4px #16324f2e,0 22px 44px -20px #16324f73;will-change:transform,opacity;-webkit-tap-highlight-color:transparent}.cf-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffffbf;pointer-events:none}.cf-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.cf-card[aria-current=true]:hover img{transform:scale(1.045)}.cf-card:focus-visible{outline:2px solid #3B92D4;outline-offset:4px}.cf-visit{position:absolute;z-index:2;left:50%;bottom:.95rem;translate:-50% 10px;scale:.94;display:inline-flex;align-items:center;margin:0;padding:.52rem 1.05rem;border:0;border-radius:999px;background:#fff;color:#16324f;font-family:var(--sc-font-text);font-weight:500;font-size:.9rem;line-height:1;letter-spacing:.01em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;touch-action:manipulation;cursor:pointer;box-shadow:0 1px 2px #16324f1a,0 2px 6px #16324f1a,0 8px 18px #16324f1f;-webkit-tap-highlight-color:transparent;transition:opacity .2s cubic-bezier(.4,0,1,1),translate .2s cubic-bezier(.4,0,1,1),scale .2s cubic-bezier(.4,0,1,1),visibility 0s linear .2s,background-color .18s var(--sc-ease-out),box-shadow .18s var(--sc-ease-out),color .5s ease,--wash .5s ease}.cf-card[aria-current=true] .cf-visit{opacity:1;visibility:visible;translate:-50% 0;scale:1;transition:opacity .42s var(--sc-ease-out),translate .52s var(--sc-ease-out),scale .52s var(--sc-ease-out),visibility 0s linear 0s,background-color .18s var(--sc-ease-out),box-shadow .18s var(--sc-ease-out),color .5s ease,--wash .5s ease}.cf-visit{--wash: 0;background-color:#fff;background-image:linear-gradient(45deg,rgb(86 204 242 / var(--wash)),rgb(47 128 237 / var(--wash)))}.cf-visit:before{content:"";position:absolute;z-index:-1;top:10px;left:0;right:0;height:100%;border-radius:inherit;background:linear-gradient(45deg,#56ccf2,#2f80ed);filter:blur(15px);opacity:0;pointer-events:none;transition:opacity .5s ease}.cf-visit.is-hot{--wash: 1;color:#fff;box-shadow:none}.cf-visit.is-hot:before{opacity:.55}.cf-card[aria-current=true] .cf-visit.is-down{scale:.96;--wash: 1;box-shadow:none}.cf-hits{position:absolute;inset:0;z-index:6;pointer-events:none}.cf-visit-hit{position:absolute;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:transparent;font-size:0;line-height:0;pointer-events:auto;cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.cf-visit-hit:focus-visible{outline:2px solid #3B92D4;outline-offset:2px}.cf-caption{min-height:5.2rem;padding-inline:var(--sc-gutter);text-align:center;transition:opacity .22s var(--sc-ease-out),translate .32s var(--sc-ease-out)}.cf-caption.is-out{opacity:0;translate:0 6px}.cf-name{margin:0;font-family:var(--sc-font-display);font-weight:600;font-size:clamp(1.4rem,2.1vw,1.9rem);letter-spacing:-.02em;line-height:1.1;color:var(--sc-ink)}.cf-blurb{margin:.45rem auto 0;max-width:30rem;font-family:var(--sc-font-text);line-height:1.45;color:var(--sc-ink-soft)}.cf-controls{display:flex;justify-content:center;align-items:center;gap:1.25rem;margin-top:.9rem}.cf-arrow{--wash: 0;position:relative;z-index:0;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background-color:#fff;background-image:linear-gradient(45deg,rgb(86 204 242 / var(--wash)),rgb(47 128 237 / var(--wash)));color:#6b7280;box-shadow:0 10px 15px -3px #16324f29,0 4px 6px -4px #16324f1a;cursor:pointer;transition:color .5s ease,box-shadow .5s ease,--wash .5s ease,width .5s ease}.cf-arrow:after{content:"";position:absolute;z-index:-1;top:8px;left:0;right:0;height:100%;border-radius:inherit;background:linear-gradient(45deg,#56ccf2,#2f80ed);filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .5s ease}.cf-arrow:hover,.cf-arrow:focus-visible{--wash: 1;color:#fff;box-shadow:none}.cf-arrow:hover:after,.cf-arrow:focus-visible:after{opacity:.5}.cf-arrow:active{scale:.96}.cf-arrow:focus-visible{outline:2px solid #3B92D4;outline-offset:3px}.cf-dots{display:flex;align-items:center;gap:.5rem}.cf-dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#16324f38;cursor:pointer;transition:width .4s var(--sc-ease-out),background-color .4s var(--sc-ease-out)}.cf-dot[aria-current=true]{width:22px;background:#16324f}.cf-dot:focus-visible{outline:2px solid #3B92D4;outline-offset:3px}@media(max-width:760px){.cf{--cf-card: min(72vw, 340px)}.cf-visit{bottom:.7rem;padding:.44rem .9rem;font-size:.84rem}}@media(prefers-reduced-motion:reduce){.cf-caption,.cf-dot,.cf-arrow,.cf-visit,.cf-card[aria-current=true] .cf-visit{transition:none}}@media(prefers-reduced-motion:reduce){.lift{opacity:1;translate:none;transition:none}.line-rope path{stroke-dashoffset:0;transition:none}#projects .snap-clip,#projects .snap-hit{scale:none;opacity:1;translate:none;transition:none}#projects .snap-hit figure img{translate:none}.hero-badge-ring svg,.hero-badge-arrow:before{animation:none}}@media(min-width:1921px){html{font-size:calc(100vw / 120)}}html[data-quality="1"] .sc-grain,html[data-quality="2"] .sc-grain{display:none}html[data-quality="1"] .key-blur i:nth-child(1),html[data-quality="1"] .key-blur i:nth-child(3){display:none}html[data-quality="2"] .key-blur i:nth-child(-n+4){display:none}#elevation[data-sc-act=pin]{height:230vh}#projects[data-sc-act=pan]{height:350vh}:where(img[width][height]:not(.hero-house)){height:auto}
