@import "https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--font-inter:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-funnel:"Funnel Display", "Inter", system-ui, sans-serif;--background:#efeeeb;--surface:#e7e5e0;--surface-raised:#f7f6f3;--overlay:#deddd7;--foreground:#111;--muted-foreground:#54524d;--faint-foreground:#67645e;--accent:#2340d8;--accent-strong:#1a2fa6;--accent-foreground:#fff;--accent-soft:#2340d81a;--ink:#111;--ink-foreground:#efeeeb;--ink-muted:#a3a09a;--ink-border:#efeeeb24;--border:#1111111f;--border-strong:#1111113d;--input:#1111110f;--ring:#2340d8;--card:var(--surface-raised);--card-foreground:var(--foreground);--muted:var(--surface);--destructive:#b42318;--destructive-foreground:#fff;--radius:4px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--sweep-flash:#5b76ff;--intro-delay:0s;--text-display:clamp(3.25rem, 1.4rem + 8.2vw, 9.5rem);--text-hero:min(clamp(4.25rem, 1.4rem + 8.2vw, 9.5rem), 17svh);--text-headline:min(clamp(2.6rem, 1rem + 5vw, 5.6rem), 10.5svh);--text-h1:clamp(2.5rem, 1.5rem + 4vw, 5rem);--text-h2:clamp(2rem, 1.3rem + 3vw, 4rem);--text-h3:clamp(1.35rem, 1.1rem + 1vw, 1.85rem);--text-lead:clamp(1.25rem, 1rem + 1.1vw, 2rem);--space-section:clamp(5rem, 3rem + 8vw, 10rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem)}.is-loading{--intro-delay:1.35s}@media (max-width:767px){.is-loading{--intro-delay:.85s}}.font-display{font-family:var(--font-funnel)}.font-sans{font-family:var(--font-inter)}@keyframes line-3d{0%{opacity:0;transform:perspective(900px)rotateX(-50deg)translateY(70%)}to{opacity:1;transform:perspective(900px)rotateX(0)translateY(0)}}@-webkit-keyframes line-3d{0%{opacity:0;-webkit-transform:perspective(900px)rotateX(-50deg)translateY(70%)}to{opacity:1;-webkit-transform:perspective(900px)rotateX(0)translateY(0)}}.line-3d{transform-origin:50% 100%;animation:line-3d 1.1s var(--ease) both;animation-delay:calc(var(--d,0s) + var(--intro-delay,0s));display:block}@keyframes hero-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hero-in{animation:hero-in .9s var(--ease) both;animation-delay:calc(var(--d,0s) + var(--intro-delay,0s))}@keyframes marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@-webkit-keyframes marquee-scroll{0%{-webkit-transform:translate(0,0)}to{-webkit-transform:translate(-50%)}}@keyframes marquee-scroll-reverse{0%{transform:translate(-50%)}to{transform:translate(0,0)}}@-webkit-keyframes marquee-scroll-reverse{0%{-webkit-transform:translate(-50%)}to{-webkit-transform:translate(0,0)}}.marquee{position:relative;overflow:hidden}.animate-marquee{will-change:transform;flex-wrap:nowrap!important;width:max-content!important;animation:32s linear infinite marquee-scroll!important;display:flex!important}.animate-marquee-reverse{will-change:transform;flex-wrap:nowrap!important;width:max-content!important;animation:34s linear infinite marquee-scroll-reverse!important;display:flex!important}.marquee:hover .animate-marquee,.marquee:hover .animate-marquee-reverse{animation-play-state:paused}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}.type-caret{vertical-align:-.1em;background:var(--accent);width:2.5px;height:.95em;margin-left:4px;animation:.9s step-end infinite caret-blink;display:inline-block}@keyframes hero-card-in{0%{opacity:0;transform:rotate(0)scale(.92)}to{transform:rotate(var(--card,-5deg)) scale(1);opacity:1}}@keyframes hero-badge-in{0%{opacity:0;transform:rotate(0)translateY(24px)}to{opacity:1;transform:rotate(-4deg)translateY(0)}}@keyframes breathe{0%,to{opacity:.18;transform:scale(1)}50%{opacity:.28;transform:scale(1.08)}}.hero-print{--rot:3deg;--card:-5deg;position:relative}.hero-print-card{background:var(--accent);transform:rotate(var(--card));transition:transform .7s var(--ease);animation:hero-card-in 1.2s var(--ease) both;animation-delay:calc(.45s + var(--intro-delay,0s));position:absolute;inset:0}.hero-print-card:before{content:"";z-index:-1;background:var(--accent);filter:blur(36px);opacity:.18;animation:4.8s ease-in-out infinite breathe;position:absolute;inset:6%}.hero-print-photo{transform:rotate(var(--rot));transition:transform .6s var(--ease);background:#fff;padding:8px;position:relative;box-shadow:0 30px 60px -30px #121c5473}.hero-print:hover .hero-print-photo{transform:rotate(0)scale(1.02)}.hero-print-badge{background:var(--ink);color:var(--ink-foreground);animation:hero-badge-in .7s var(--ease) both;animation-delay:calc(.75s + var(--intro-delay,0s));z-index:10;border-radius:999px;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.8125rem;font-weight:500;display:inline-flex;position:absolute;bottom:2rem;left:-1.5rem;transform:rotate(-4deg);box-shadow:0 16px 32px -16px #1119}.btn-wipe{isolation:isolate;transition:color .3s var(--ease), transform .25s var(--ease);position:relative;overflow:hidden}.btn-wipe:before{content:"";z-index:-1;background:var(--wipe,var(--foreground));transform-origin:100%;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.btn-wipe:hover:before{transform-origin:0%;transform:scaleX(1)}@keyframes btn-sweep{0%{transform:translate(-120%)}35%,to{transform:translate(120%)}}@keyframes btn-glow{0%,to{box-shadow:0 0 #2340d866}50%{box-shadow:0 0 22px 2px #2340d847}}.btn-shine{animation:4.5s ease-in-out infinite btn-glow;position:relative;overflow:hidden}.btn-shine:after{content:"";pointer-events:none;animation:btn-sweep 4.5s var(--ease) infinite;background:linear-gradient(105deg,#0000 35%,#ffffff73 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.arrow-tilt,.group:hover .arrow-tilt{transform:rotate(-45deg)}.link-underline{transition:background-size .35s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.link-underline:hover,.link-underline:focus-visible{background-size:100% 1px}.press{transition-property:color,background-color,border-color,transform;transition-duration:.25s;transition-timing-function:var(--ease)}.press:active{transform:scale(.97)}@keyframes hw-sweep{0%{background-position:100% 0}to{background-position:0 0}}.sweep{background-image:linear-gradient(90deg, currentColor 0 36%, var(--sweep-flash) 50%, currentColor 64% 100%);-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:100% 0;background-repeat:no-repeat;background-size:300% 100%;-webkit-background-clip:text;background-clip:text}.sweep-trigger:hover .sweep{animation:hw-sweep .8s var(--ease-io) both}@keyframes label-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--faint-foreground);font-size:.72rem;font-weight:500}.eyebrow-shine{background:linear-gradient(90deg, currentColor 42%, var(--accent) 50%, currentColor 58%) 100% 0 / 260% 100% no-repeat;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite label-shine}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}.twinkle{animation:3.2s ease-in-out infinite twinkle;animation-delay:calc(var(--i,0) * -.53s);display:inline-block}@keyframes loader-out{0%{transform:translateY(0)}to{pointer-events:none;transform:translateY(-100%)}}@keyframes loader-letter-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.theme-blue{--background:#2340d8;--surface:#1d36bd;--foreground:#fff;--muted-foreground:#ffffffd9;--faint-foreground:#ffffffbf;--accent:#fff;--accent-foreground:#1a2fa6;--border:#ffffff38;--border-strong:#ffffff73;--sweep-flash:#fff;background:var(--background)!important;color:var(--foreground)!important}.dark-flash{--sweep-flash:#9fb0ff;--wave-dim:var(--ink-muted);isolation:isolate;position:relative}.dark-flash .eyebrow-shine{background-image:linear-gradient(90deg,currentColor 42%,#9fb0ff 50%,currentColor 58%)}.bg-ink{background-color:var(--ink)!important}.text-ink-foreground{color:var(--ink-foreground)!important}.text-ink-muted{color:var(--ink-muted)!important}.border-ink-border{border-color:var(--ink-border)!important}.menu-panel{visibility:hidden;transition:transform .45s var(--ease-io), visibility 0s linear .45s;transform:translate(100%)}.menu-panel[data-open=true]{visibility:visible;transition:transform .65s var(--ease), visibility 0s;transform:translate(0,0)}.menu-scrim{opacity:0;visibility:hidden;transition:opacity .45s var(--ease), visibility 0s linear .45s}.menu-scrim[data-open=true]{opacity:1;visibility:visible;transition:opacity .65s var(--ease), visibility 0s}.menu-item>*{opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);transform:translate(35px)}.menu-panel[data-open=true] .menu-item>*{opacity:1;transition:opacity .65s var(--ease), transform .65s var(--ease);transition-delay:calc(.12s + var(--i) * 55ms);transform:translate(0,0)}.reel-row{width:100%;position:relative;overflow:hidden}.reel-track{will-change:transform;width:max-content!important;display:flex!important}.reel-card{flex:none;width:clamp(250px,36vw,440px)}.route-curtain{z-index:90;pointer-events:none;background:var(--ink,#111);color:var(--ink-foreground,#efeeeb);visibility:hidden;will-change:transform;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;transform:translateY(100%)}.route-curtain[data-state=cover]{visibility:visible;pointer-events:auto;transition:transform .62s var(--ease-io);transform:translateY(0)}.route-curtain[data-state=reveal]{visibility:visible;transition:transform .72s var(--ease-io);transform:translateY(-100%)}.route-curtain[data-state=idle]{visibility:hidden;transition:none;transform:translateY(100%)}.vt-hero,[data-morph-target]{view-transition-name:project-media}html.vt-arrive :is(.hero-in,.line-3d,.portrait-wipe){animation:none!important}::view-transition-group(project-media){animation-duration:.75s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(project-media){object-fit:cover;object-position:top;height:100%;animation-duration:.75s}::view-transition-new(project-media){object-fit:cover;object-position:top;height:100%;animation-duration:.75s}::view-transition-old(root){animation:.3s both vt-out}::view-transition-new(root){animation:.45s .2s both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}.tl{--fill:0;--rail:15px;position:relative}@media (min-width:1024px){.tl{--col:calc((100% - 22rem) / 12);--rail:calc(3 * (var(--col) + 2rem) + var(--col) / 2)}}.tl:before,.tl:after{content:"";top:.55rem;bottom:0;left:var(--rail);pointer-events:none;position:absolute;translate:-50%}@media (min-width:1024px){.tl:before,.tl:after{top:2.05rem}}.tl:before{background:var(--border,#1111111f);width:1px}.tl:after{background:var(--accent,#2340d8);transform-origin:50% 0;width:2px;transform:scaleY(var(--fill,0));transition:transform 50ms linear}.tl-item{position:relative}.tl-dot{z-index:2;left:var(--rail);background:var(--accent,#2340d8);width:15px;height:15px;box-shadow:0 0 0 5px var(--background,#efeeeb);transition:background-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:999px;position:absolute;top:.55rem;translate:-50%}.tl-dot:after{content:"";border-radius:inherit;border:1px solid var(--accent,#2340d8);opacity:0;pointer-events:none;position:absolute;inset:0}@media (min-width:1024px){.tl-dot{top:2.05rem}}.tl-item:not([data-lit]) .tl-dot{background:var(--background,#efeeeb);box-shadow:0 0 0 5px var(--background,#efeeeb), inset 0 0 0 1.5px var(--border-strong,#11111159);transform:scale(.75)}.tl-item[data-lit] .tl-dot{background:var(--accent,#2340d8);box-shadow:0 0 0 5px var(--background,#efeeeb);transform:scale(1)}.tl-item[data-lit] .tl-dot:after{animation:tl-ping 1s var(--ease) both}@keyframes tl-ping{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.tl-card{border:1px solid var(--border,#1111111f);background:var(--background,#efeeeb);transition:border-color .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease);padding:1.25rem;position:relative}@media (min-width:640px){.tl-card{padding:1.75rem}}@media (hover:hover){.tl-card:hover{border-color:#111;transform:translateY(-3px);box-shadow:0 24px 48px -32px #11111159}.tl-card:hover .tl-logo{transform:rotate(-6deg)scale(1.05)}}.tl-logo{transition:transform .5s var(--ease)}.tl-points{padding:0;list-style:none}.tl-points li{color:var(--muted-foreground,#54524d);padding-left:1.1rem;font-size:.875rem;line-height:1.6;position:relative}.tl-points li+li{margin-top:.4rem}.tl-points li:before{content:"";background:var(--accent,#2340d8);width:.45rem;height:2px;position:absolute;top:.72em;left:0}.arrow{transition:transform .35s var(--ease);display:inline-block}.arrow-tilt{transform:rotate(0)}.group:hover .arrow-tilt,a:hover .arrow-tilt{transform:translate(4px)}.arrow-out{transform:translate(0)}.group:hover .arrow-out,a:hover .arrow-out{transform:translate(2px,-2px)}.wordmark{cursor:pointer;-webkit-user-select:none;user-select:none}.wordmark-l{--k:0;pointer-events:none;transform-origin:50% 100%;transform:translate3d(0, calc(var(--k) * -.08em), 0) scaleY(calc(1 + var(--k) * .18));color:#efeeeb;will-change:transform}@supports (color:color-mix(in lab, red, red)){.wordmark-l:not(.wordmark-dot){color:color-mix(in srgb, #9fb0ff calc(var(--k) * 100%), currentColor)}}.wordmark-dot{color:var(--accent,#2340d8);transform:translate3d(0, calc(var(--k) * -.22em), 0)}.wordmark[data-wave] .wordmark-l{animation:wordmark-wave 1.1s var(--ease) both;animation-delay:calc(var(--i) * 70ms)}@keyframes wordmark-wave{0%,to{transform:none}40%{color:var(--wordmark-hover,#9fb0ff);transform:translateY(-.08em)scaleY(1.14)}}.wordmark[data-wave] .wordmark-dot{color:var(--accent,#2340d8);animation-name:wordmark-dot-wave}@keyframes wordmark-dot-wave{0%,to{transform:none}40%{transform:translateY(-.16em)}}@media (prefers-reduced-motion:reduce){.wordmark-l,.wordmark-dot{animation:none!important;transform:none!important}}[data-reveal]{transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}[data-reveal]:not([data-visible]){opacity:0;transform:translateY(24px)}@media (prefers-reduced-motion:reduce){[data-reveal]:not([data-visible]){transform:none}}.stack-tl{--fill:0;--rail:1.25rem;position:relative}@media (min-width:1024px){.stack-tl{--col:calc((100% - 22rem) / 12);--rail:calc(3 * (var(--col) + 2rem) + var(--col) / 2)}}.stack-tl:before,.stack-tl:after{content:"";top:.55rem;bottom:0;left:var(--rail);pointer-events:none;position:absolute;translate:-50%}.stack-tl:before{background:var(--border,#11111124);width:1px}.stack-tl:after{background:var(--accent,#2340d8);transform-origin:50% 0;width:2px;transform:scaleY(var(--fill,0));transition:transform 50ms linear}.stack-tl-item{position:relative}.stack-tl-dot{z-index:2;left:var(--rail);background:var(--accent,#2340d8);width:15px;height:15px;box-shadow:0 0 0 5px var(--background,#efeeeb);transition:background-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:999px;position:absolute;top:.55rem;translate:-50%}.stack-tl-dot:after{content:"";border-radius:inherit;border:1px solid var(--accent,#2340d8);opacity:0;pointer-events:none;position:absolute;inset:0}.stack-tl-item:not([data-lit]) .stack-tl-dot{background:var(--background,#efeeeb);box-shadow:0 0 0 5px var(--background,#efeeeb), inset 0 0 0 1.5px var(--border-strong,#11111159);transform:scale(.75)}.stack-tl-item[data-lit] .stack-tl-dot{background:var(--accent,#2340d8);box-shadow:0 0 0 5px var(--background,#efeeeb);transform:scale(1)}.stack-tl-item[data-lit] .stack-tl-dot:after{animation:tl-ping 1s var(--ease) both}
