@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600&family=Spectral:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--ink:#1f2d3a;--ink-soft:#51606e;--ink-faint:#7d8b98;--sky:#bfe0f7;--peach:#f3ac78;--peach-soft:#ffd9c2;--pearl:#fbf7f0;--paper-top:#eaf4fc;--paper-bot:#f7fbfe;--serif:"Spectral", Georgia, "Times New Roman", serif;--sans:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--maxw:1280px;--gutter:clamp(24px, 4vw, 60px)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none}body{font-family:var(--sans);color:var(--ink);background:linear-gradient(180deg, var(--paper-top), var(--paper-bot));overscroll-behavior:none;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);padding:0 var(--gutter);width:100%;margin:0}.contact .wrap{margin:0 auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:13px;font-weight:500}.nav{z-index:30;padding:22px var(--gutter);pointer-events:none;will-change:transform;justify-content:space-between;align-items:center;transition:transform .55s cubic-bezier(.5,0,.1,1);display:flex;position:fixed;top:0;left:0;right:0}.brand{opacity:0;will-change:opacity;align-items:center;gap:11px;display:flex}.brand-sun{opacity:0;background:radial-gradient(circle at 38% 34%,#ffe2b8,#f3a86e 72%);border-radius:50%;width:18px;height:18px;box-shadow:0 0 16px 3px #f39e6480}.brand-name{font-family:var(--serif);letter-spacing:-.01em;font-size:23px;font-weight:500}.nav-links{color:var(--ink-soft);opacity:0;pointer-events:auto;gap:26px;font-size:14px;display:flex}.nav-links a:hover{color:var(--ink)}.hero{height:360vh;position:relative}.hero-sticky{height:100vh;position:sticky;top:0;overflow:hidden}.hero-canvas{z-index:2;position:absolute;inset:0}.hero-sky{background:linear-gradient(#c8e1f9 0%,#bcd9f4 100%);position:absolute;inset:0}.hero-sky-deep{will-change:opacity;background:linear-gradient(#336fb8 0%,#2a5c9b 100%);position:absolute;inset:0}.page{z-index:10;background:linear-gradient(#bcd9f4 0%,#d9ebfb 17%,#f1f8ff 38%,#eef3fe 54%,#e7e8f6 68%,#eedfe6 78%,#f4d3cf 87%,#f0bda8 94%,#cdb0cf 100%);position:relative}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.4,0,.1,1),transform 1s cubic-bezier(.4,0,.1,1);transform:translateY(24px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.hero-copy{padding-left:var(--gutter);z-index:5;pointer-events:none;will-change:opacity, transform;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0}.hero-copy .eyebrow{color:#ffffffd1}.hero-copy h1{font-family:var(--serif);letter-spacing:-.02em;color:#fff;text-shadow:0 2px 40px #14325a40;margin:18px 0 22px;font-size:clamp(48px,8.5vw,116px);font-weight:400;line-height:.98}.hero-copy .sub{color:#ffffffeb;max-width:30ch;font-size:clamp(16px,1.5vw,20px)}.scroll-hint{letter-spacing:.3em;text-transform:uppercase;color:#fffc;z-index:5;will-change:opacity;font-size:12px;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.scroll-hint:after{content:"";background:linear-gradient(#fffc,#0000);width:1px;height:34px;margin:10px auto 0;animation:2.4s ease-in-out infinite drip;display:block}@keyframes drip{0%,to{opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}.intro{padding:22vh 0 12vh;position:relative}.intro h2{font-family:var(--serif);letter-spacing:-.02em;max-width:26ch;font-size:clamp(34px,5.2vw,68px);font-weight:400;line-height:1.06}.intro p{max-width:46ch;color:var(--ink-soft);margin-top:26px;font-size:18px}.section-label{align-items:center;gap:14px;margin-bottom:46px;display:flex}.dot{background:var(--peach);border-radius:50%;flex:none;width:8px;height:8px}.wk{z-index:10;position:relative}.wk-sticky{height:100vh;position:sticky;top:0;overflow:hidden}.wk-label{z-index:50;align-items:center;gap:14px;display:flex;position:absolute;top:11vh}.wk-stage{position:absolute;inset:0}.wk-tile{cursor:pointer;will-change:transform, opacity;flex-direction:column;align-items:center;gap:26px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wk-card{justify-content:center;align-items:center;display:inline-flex;position:relative}.wk-card:before{content:"";z-index:0;background:var(--card);filter:blur(20px);border-radius:42px;position:absolute;inset:6px}.wk-card.web:before{border-radius:26px}.wk-card>.wk-screen{z-index:1;position:relative}.wk-card.phone{padding:40px}.wk-card.web{padding:38px}.wk-screen{position:relative}.wk-screen.phone{aspect-ratio:9/19.3;background:#17171d;border-radius:34px;width:224px;padding:5px;box-shadow:0 22px 46px -22px #14285080}.wk-screen.web{aspect-ratio:16/10;border-radius:14px;width:600px;box-shadow:0 22px 46px -22px #14285066}.wk-screen-inner{border-radius:30px;width:100%;height:100%;position:relative;overflow:hidden}.wk-screen.web .wk-screen-inner{border-radius:14px}.wk-screen-inner img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.wk-meta{text-align:center;width:760px;max-width:86vw;position:absolute;top:calc(100% + 34px);left:50%;transform:translate(-50%)}.wk-meta h3{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(26px,3vw,40px);font-weight:400}.wk-meta p{color:var(--ink-soft);max-width:52ch;margin:8px auto 0;font-size:16px}.wk-open{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:14px;font-size:12px;display:inline-block}@media (width<=760px){.wk-screen.web{width:78vw}.wk-screen.phone{width:190px}.wk-card.web{padding:16px}.wk-card.phone{padding:18px}}.wk-modal{z-index:100;background:#e1eefc73;animation:.3s wk-fade;position:fixed;inset:0}@keyframes wk-fade{0%{opacity:0}to{opacity:1}}.wk-panel{overscroll-behavior:contain;background:var(--pearl);transform-origin:100%;border-radius:26px;width:min(520px,100% - 7vh);padding:40px 38px 44px;animation:.55s cubic-bezier(.5,0,.1,1) wk-slide;position:absolute;top:3.5vh;bottom:3.5vh;right:3.5vh;overflow-y:auto;box-shadow:0 50px 120px -28px #1428468c,0 0 0 1px #1f2d3a0d}@keyframes wk-slide{0%{opacity:0;transform:translate(48px)rotate(2.5deg)}to{opacity:1;transform:translate(0)rotate(0)}}.wk-panel-name{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(34px,5vw,52px);font-weight:400}.wk-panel-blurb{color:var(--ink-soft);margin-top:10px;font-size:17px}.wk-gallery{margin-top:22px}.wk-gallery-main{cursor:pointer;border:1px solid #1f2d3a1a;border-radius:0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.wk-gallery-main img{object-fit:contain;width:100%;max-height:380px;animation:.45s wk-imgfade;display:block}@keyframes wk-imgfade{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.wk-arrow{cursor:pointer;color:var(--ink);text-shadow:0 1px 12px #fff9;opacity:.4;background:0 0;border:none;align-items:center;padding:0 18px;font-size:46px;font-weight:300;line-height:1;transition:opacity .25s;display:flex;position:absolute;top:0;bottom:0}.wk-arrow-prev{left:0}.wk-arrow-next{right:0}.wk-gallery-main:hover .wk-arrow{opacity:.72}.wk-arrow:hover{opacity:1}.wk-panel-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:34px;font-size:12px}.wk-caps{flex-direction:column;gap:10px;margin-top:14px;display:flex}.cap{background:#fff9;border:1px solid #1f2d3a1a;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.cap-label{color:var(--ink);font-size:16px}.cap-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:#1f2d3a12;border-radius:999px;flex:none;padding:5px 10px;font-size:11px}.proc{z-index:10;position:relative}.proc-sticky{align-items:center;height:100vh;display:flex;position:sticky;top:0}.proc-inner{width:100%}.proc-head{align-items:center;gap:14px;margin-bottom:7vh;display:flex}.proc-grid{grid-template-columns:300px 1fr;align-items:center;gap:64px;display:grid}.proc-rail{padding-left:30px;position:relative}.proc-rail-line{background:#1f2d3a21;border-radius:2px;width:2px;position:absolute;top:10px;bottom:10px;left:0;overflow:hidden}.proc-rail-fill{background:var(--peach);border-radius:2px;width:100%;height:0;transition:height .5s cubic-bezier(.5,0,.1,1);position:absolute;top:0;left:0}.proc-step{opacity:.35;align-items:baseline;gap:13px;padding:16px 0;display:flex}.proc-num{font-family:var(--serif);color:var(--ink-faint);font-size:19px;font-style:italic;transition:color .4s}.proc-step.active .proc-num{color:var(--peach)}.proc-step-label{letter-spacing:-.01em;font-size:18px;font-weight:500}.proc-stage{min-height:360px;position:relative}.proc-panel{will-change:opacity, transform;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0}.proc-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:13px;font-weight:500}.proc-panel h3{font-family:var(--serif);letter-spacing:-.025em;margin:20px 0 24px;font-size:clamp(40px,6.4vw,86px);font-weight:400;line-height:1}.proc-body{color:var(--ink-soft);max-width:34ch;font-size:clamp(18px,2vw,22px)}@media (width<=820px){.proc-grid{grid-template-columns:1fr;gap:8vh}.proc-stage{min-height:300px}}.finale{position:relative;overflow:hidden}.contact{z-index:1;text-align:center;padding:34vh 0 6vh;position:relative}.contact .wrap,.foot{z-index:1;position:relative}.sunset{z-index:0;pointer-events:none;position:absolute;inset:0}.sunset-sun{filter:blur(4px);will-change:transform, opacity;background:radial-gradient(circle,#fff5e0f2 0%,#ffd6a5cc 24%,#ffb68e6b 45%,#f5ac9824 62%,#f5ac9800 75%);border-radius:50%;width:880px;max-width:170vw;height:880px;position:absolute;bottom:-200px;left:50%;transform:translate(-50%,180px)}.contact h2{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(40px,7vw,96px);font-weight:400;line-height:1}.contact p{max-width:42ch;color:var(--ink-soft);margin:26px auto 8px;font-size:19px}.ask{max-width:720px;margin:36px auto 0;position:relative}.ask-form{text-align:left;transition:opacity .6s,transform .6s}.ask.sent .ask-form{opacity:0;pointer-events:none;transform:translateY(-10px)}.ask-thanks{text-align:center;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s .35s,transform 1s .35s;display:flex;position:absolute;inset:0;transform:translateY(12px)}.ask.sent .ask-thanks{opacity:1;transform:translateY(0)}.ask-thanks-title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:clamp(30px,4.4vw,48px);font-weight:400}.ask-thanks-body{color:var(--ink-soft);max-width:36ch;margin-top:12px;font-size:18px}.ask-idea{width:100%;font-family:var(--sans);color:var(--ink);resize:vertical;background:#ffffff8c;border:1px solid #1f2d3a24;border-radius:20px;padding:22px 24px;font-size:18px;line-height:1.5;transition:border-color .25s,background .25s}.ask-idea::placeholder{color:var(--ink-faint)}.ask-idea:focus{background:#ffffffc7;border-color:#1f2d3a66;outline:none}.ask-row{gap:12px;margin-top:14px;display:flex}.ask-email{min-width:0;font-family:var(--sans);color:var(--ink);background:#ffffff8c;border:1px solid #1f2d3a24;border-radius:999px;flex:1;padding:16px 24px;font-size:16px;transition:border-color .25s,background .25s}.ask-email::placeholder{color:var(--ink-faint)}.ask-email:focus{background:#ffffffc7;border-color:#1f2d3a66;outline:none}.ask-send{background:var(--ink);color:var(--pearl);font-family:var(--sans);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:10px;padding:0 30px;font-size:16px;transition:transform .3s,box-shadow .3s;display:inline-flex;box-shadow:0 18px 40px -18px #1f2d3a99}.ask-send:hover{transform:translateY(-2px);box-shadow:0 26px 50px -18px #1f2d3ab3}.ask-send .arrow{transition:transform .3s}.ask-send:hover .arrow{transform:translate(4px)}@media (width<=560px){.ask-row{flex-direction:column}.ask-send{justify-content:center;padding:16px 30px}}.foot{color:var(--ink-soft);padding:40px 0 60px;font-size:14px;position:relative}.foot .wrap{justify-content:space-between;align-items:center;display:flex}.foot .brand-name{color:var(--ink);font-size:18px}@media (width<=600px){.foot .wrap{text-align:center;flex-direction:column;gap:14px}}@media (width<=640px){.contact{padding:14vh 0 6vh}.contact h2{font-size:clamp(34px,11vw,52px)}}
