:root{--bondi-blue:#0094b3;--first-love:#ef4457;--gooseberry:#cfde56;--trendy-orange:#f28820;--white:#fff;--black:#000;--blue-50:#e4edf2;--blue-100:#cee0e8;--blue-200:#b7d3df;--blue-300:#a1c6d5;--blue-400:#6bb5ca;--blue-500:#36a5be;--blue-600:#0094b3;--blue-700:#00849f;--blue-800:#00738b;--blue-900:#005b6e;--blue-950:#004250;--red-50:#fce6e7;--red-100:#faced1;--red-200:#f7b5ba;--red-300:#f5949d;--red-400:#f26b7a;--red-500:#ef4457;--red-600:#d93c4f;--red-700:#c43647;--red-800:#a92f3d;--red-900:#8a2632;--red-950:#6b1e27;--green-50:#f6f9e7;--green-100:#e9f0c1;--green-200:#dce791;--green-300:#cfde56;--green-400:#c2d051;--green-500:#b4c14b;--green-600:#a7b346;--green-700:#96a23f;--green-800:#838d37;--green-900:#70782e;--green-950:#5d6326;--orange-50:#fcece5;--orange-100:#fadbcb;--orange-200:#f6b689;--orange-300:#f49f54;--orange-400:#f28820;--orange-500:#dc7c1d;--orange-600:#c66f1a;--orange-700:#ab6017;--orange-800:#8c4f12;--orange-900:#6c3d0e;--ink-0:#fff;--ink-50:#f6f7f8;--ink-100:#ececee;--ink-200:#d8dade;--ink-300:#b8bcc4;--ink-400:#8b909b;--ink-500:#626772;--ink-600:#444851;--ink-700:#2c2f36;--ink-800:#1a1c21;--ink-900:#0d0e11;--ink-950:#060709}
:root{--color-bg:var(--ink-0);--color-bg-subtle:var(--ink-50);--color-bg-inverse:var(--ink-950);--color-surface:var(--ink-0);--color-surface-raised:var(--white);--color-text:var(--ink-900);--color-text-muted:var(--ink-600);--color-text-subtle:var(--ink-500);--color-text-inverse:var(--ink-50);--color-text-inverse-muted:var(--ink-300);--color-border:var(--ink-200);--color-border-strong:var(--ink-300);--color-border-inverse:#ffffff24;--tone-text:var(--color-text);--tone-text-muted:var(--color-text-muted);--tone-text-subtle:var(--color-text-subtle);--tone-border:var(--color-border);--tone-border-strong:var(--color-border-strong);--color-accent-fill:var(--bondi-blue);--color-accent-text:var(--blue-800);--color-cta-bg:var(--blue-800);--color-cta-bg-hover:var(--blue-900);--color-cta-fg:var(--white);--color-cta-secondary-fg:var(--ink-900);--color-cta-secondary-bg-hover:var(--ink-50);--color-focus-ring:var(--blue-700);--color-focus-ring-inverse:var(--blue-300);--color-field-bg:var(--white);--color-field-border:var(--ink-300);--color-field-border-focus:var(--blue-700);--color-field-placeholder:var(--ink-400);--color-error:var(--red-700);--color-error-bg:var(--red-50);--color-success:var(--green-900);--lab-vision-fill:var(--first-love);--lab-vision-text:var(--red-700);--lab-stage-fill:var(--gooseberry);--lab-stage-text:var(--green-900);--lab-blueprint-fill:var(--bondi-blue);--lab-blueprint-text:var(--blue-900);--lab-groundwork-fill:var(--trendy-orange);--lab-groundwork-text:var(--orange-700);--opportunity-fill:var(--gooseberry);--opportunity-text:var(--green-900)}
:root{--font-body:var(--font-causten), system-ui, -apple-system, "Segoe UI", sans-serif;--font-quote:var(--font-fitzgerald), Georgia, "Times New Roman", serif;--font-mono:var(--font-jetbrains), ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs:clamp(.875rem, .855rem + .1vw, .9375rem);--text-sm:clamp(.9375rem, .9rem + .18vw, 1rem);--text-base:clamp(1rem, .96rem + .22vw, 1.125rem);--text-lg:clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--text-xl:clamp(1.375rem, 1.2rem + .9vw, 1.875rem);--text-2xl:clamp(1.75rem, 1.4rem + 1.7vw, 2.75rem);--text-3xl:clamp(2.25rem, 1.7rem + 2.7vw, 3.75rem);--text-4xl:clamp(2.75rem, 1.9rem + 4.2vw, 5.25rem);--text-5xl:clamp(3.25rem, 2rem + 6vw, 7rem);--leading-tight:1.04;--leading-snug:1.16;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-display:-.04em;--tracking-tight:-.03em;--tracking-snug:-.015em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.12em;--weight-regular:400;--weight-medium:500;--weight-bold:600;--weight-extrabold:700;--weight-heading:400;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--section-y:clamp(4rem, 2.5rem + 5.5vw, 7.5rem);--container-max:90rem;--container-narrow:48rem;--container-pad:clamp(1.25rem, .5rem + 3vw, 3rem);--radius-card:4px;--radius-control:.5rem;--radius-pill:999px;--radius-sm:2px;--radius-field:.375rem;--dur-fast:.16s;--dur-base:.28s;--dur-reveal:.64s;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--ease-editorial:cubic-bezier(.16, 1, .3, 1);--z-nav:100;--z-overlay:200}
:root{--texture-haze:url(/texture/haze.webp);--texture-dark-01:url(/texture/dark-01.webp);--texture-dark-02:url(/texture/dark-02.webp);--texture-dark-03:url(/texture/dark-03.webp);--texture-projects:url(/texture/projects.webp);--texture-map:url(/texture/map.webp);--texture-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--grain-opacity:.035;--halftone-size:7px;--halftone-dot:1px;--halftone-opacity:.18}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{font-family:var(--font-body);font-weight:var(--weight-regular);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:clip}body:after{content:"";z-index:calc(var(--z-nav) - 1);background-image:var(--texture-grain);opacity:var(--grain-opacity);pointer-events:none;position:fixed;inset:0}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-heading);text-wrap:balance}p{text-wrap:pretty}img,picture,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}::selection{background-color:var(--color-cta-bg);color:var(--color-cta-fg)}input,textarea,select{caret-color:var(--color-field-border-focus)}ul,ol{padding:0;list-style:none}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-pad);margin-inline:auto}.container-narrow{width:100%;max-width:var(--container-narrow);padding-inline:var(--container-pad);margin-inline:auto}.section{padding-block:var(--section-y)}.section:not(.section-tinted):not(.section-inverse)+.section:not(.section-tinted):not(.section-inverse){padding-top:calc(var(--section-y) / 2)}.section:not(.section-tinted):not(.section-inverse):has(+.section:not(.section-tinted):not(.section-inverse)){padding-bottom:calc(var(--section-y) / 2)}.section-tinted{background-color:var(--color-bg-subtle)}.section-inverse{background-color:var(--color-bg-inverse);color:var(--color-text-inverse)}.section-inverse,.tone-dark{--tone-text:var(--color-text-inverse);--tone-text-muted:var(--color-text-inverse-muted);--tone-text-subtle:var(--color-text-inverse-muted);--tone-border:var(--color-border-inverse);--tone-border-strong:#ffffff47}.tone-light{--tone-text:var(--color-text);--tone-text-muted:var(--color-text-muted);--tone-text-subtle:var(--color-text-subtle);--tone-border:var(--color-border);--tone-border-strong:var(--color-border-strong)}.tone-oncolor{--tone-text:var(--ink-950);--tone-text-muted:#060709d6;--tone-text-subtle:#060709d1;--tone-border:#0607092e;--tone-border-strong:#06070957;color:var(--tone-text)}.bed{isolation:isolate;position:relative}.bed:before{content:"";z-index:-1;pointer-events:none;opacity:var(--bed-opacity,1);background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.bed-haze:before{background-image:var(--texture-haze);background-position:100%}.bed-dark:before{background-image:var(--bed-dark-src,var(--texture-dark-01));background-position:50%}.bed-halftone:before{background-image:radial-gradient(currentColor var(--halftone-dot), transparent calc(var(--halftone-dot) + .3px));background-repeat:repeat;background-size:var(--halftone-size) var(--halftone-size);opacity:var(--bed-opacity,var(--halftone-opacity));-webkit-mask-image:var(--halftone-mask,linear-gradient(to bottom, #000, transparent));-webkit-mask-image:var(--halftone-mask,linear-gradient(to bottom, #000, transparent));mask-image:var(--halftone-mask,linear-gradient(to bottom, #000, transparent))}.stack{gap:var(--space-5);flex-direction:column;display:flex}.display{font-size:var(--text-5xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);text-wrap:balance;line-height:1}.title-lg{font-size:var(--text-4xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-display);text-wrap:balance;line-height:1.02}.title{font-size:var(--text-3xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-tight);text-wrap:balance;line-height:1.06}.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--tone-text-subtle)}.rule{border:0;border-top:1px solid var(--tone-border)}body:has([data-intro]) .page-shell{animation:intro-focus .8s var(--ease-editorial) 1.15s both}@keyframes intro-focus{0%{filter:blur(12px);transform:scale(1.02)}to{filter:blur();transform:none}}@media (prefers-reduced-motion:reduce){body:has([data-intro]) .page-shell{animation:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:var(--z-overlay);padding:var(--space-3) var(--space-4);background:var(--color-bg-inverse);color:var(--color-text-inverse);border-radius:var(--radius-field);transition:top var(--dur-fast) var(--ease-standard);position:absolute;top:-4rem}.skip-link:focus{top:var(--space-4)}:root{interpolate-size:allow-keywords}.disclosure::details-content{opacity:0;block-size:0;transition:block-size var(--dur-base) var(--ease-inout), opacity var(--dur-fast) var(--ease-standard), content-visibility var(--dur-base) allow-discrete;overflow:hidden}.disclosure[open]::details-content{opacity:1;block-size:auto;transition:block-size .32s var(--ease-editorial), opacity .26s var(--ease-standard) 90ms, content-visibility .32s allow-discrete}@media (prefers-reduced-motion:reduce){.disclosure::details-content{transition:none}.disclosure[open]::details-content{transition:none}}

@font-face{font-family:causten;src:url(../media/causten_400-s.p.3cg58by6eyv2-.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:causten;src:url(../media/causten_400_italic-s.p.3fny1t--1h0gy.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:causten;src:url(../media/causten_500-s.p.451ktmj30uuyo.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:causten;src:url(../media/causten_600-s.p.1c-6bfx9ysrn3.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:causten;src:url(../media/causten_700-s.p.0fvs8faqfc7gi.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:causten Fallback;src:local(Arial);ascent-override:79.77%;descent-override:23.29%;line-gap-override:20.61%;size-adjust:97.02%}.causten_6ad01066-module__Tb4X7q__className{font-family:causten,causten Fallback}.causten_6ad01066-module__Tb4X7q__variable{--font-causten:"causten", "causten Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d72c019e91ffb82f-s.3rzzqbp6n-se_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8557ac4879842fb9-s.11hib43vps_f6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c847346577a98de0-s.2412cs7pdods5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/db08d2e20377160a-s.172j9j8-bhts_.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8394f9d71e076efc-s.1n5k2jkjvz0fk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/19087af2bdec32b5-s.p.0schr0lclylgv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_9ba5b9d0-module__bVMeka__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal;font-weight:400}.jetbrains_mono_9ba5b9d0-module__bVMeka__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:fitzgerald;src:url(../media/fitzgerald_400-s.p.3gv4sl6l_u1df.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:fitzgerald;src:url(../media/fitzgerald_400_italic-s.p.3qa6s-pe5cg90.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:fitzgerald Fallback;src:local(Arial);ascent-override:103.2%;descent-override:23.68%;line-gap-override:0.0%;size-adjust:95.45%}.fitzgerald_8fe8e0c4-module___Jc_7a__className{font-family:fitzgerald,fitzgerald Fallback}.fitzgerald_8fe8e0c4-module___Jc_7a__variable{--font-fitzgerald:"fitzgerald", "fitzgerald Fallback"}
.CookieBanner-module__XJ8pKG__banner{left:var(--container-pad);right:auto;bottom:max(var(--space-4), env(safe-area-inset-bottom));width:min(30rem, calc(100vw - 2 * var(--container-pad)));z-index:var(--z-overlay);padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);animation:CookieBanner-module__XJ8pKG__rise var(--dur-base) var(--ease-standard) both;position:fixed}@keyframes CookieBanner-module__XJ8pKG__rise{0%{transform:translateY(calc(100% + var(--space-4)));opacity:0}}@media (prefers-reduced-motion:reduce){.CookieBanner-module__XJ8pKG__banner{animation:none}}.CookieBanner-module__XJ8pKG__inner{align-items:stretch;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.CookieBanner-module__XJ8pKG__copy{min-width:0}.CookieBanner-module__XJ8pKG__heading{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.CookieBanner-module__XJ8pKG__body{margin-top:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);text-wrap:pretty;max-width:68ch}.CookieBanner-module__XJ8pKG__link{color:var(--color-accent-text);text-underline-offset:.2em;text-decoration:underline}.CookieBanner-module__XJ8pKG__actions{gap:var(--space-3);flex:none;display:flex}.CookieBanner-module__XJ8pKG__accept,.CookieBanner-module__XJ8pKG__decline{border-radius:var(--radius-control);min-height:2.75rem;font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);flex:1;padding:.65rem 1.25rem}.CookieBanner-module__XJ8pKG__accept{background:var(--color-cta-bg);color:var(--color-cta-fg)}.CookieBanner-module__XJ8pKG__accept:hover{background:var(--color-cta-bg-hover)}.CookieBanner-module__XJ8pKG__decline{background:var(--white);color:var(--color-cta-secondary-fg);border:1.5px solid var(--color-border-strong)}.CookieBanner-module__XJ8pKG__decline:hover{background:var(--color-cta-secondary-bg-hover)}@media (max-width:47.99rem){.CookieBanner-module__XJ8pKG__banner{bottom:max(var(--space-3), env(safe-area-inset-bottom));padding:var(--space-3) var(--space-4)}.CookieBanner-module__XJ8pKG__inner{gap:var(--space-2)}.CookieBanner-module__XJ8pKG__body{font-size:var(--text-xs)}.CookieBanner-module__XJ8pKG__accept,.CookieBanner-module__XJ8pKG__decline{min-height:2.5rem;font-size:var(--text-xs)}}
.Intro-module__5_CM0a__intro{z-index:9999;background-color:var(--color-bg);pointer-events:none;will-change:opacity, filter, transform;animation:Intro-module__5_CM0a__dissolve .8s var(--ease-editorial) 1.15s forwards;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.Intro-module__5_CM0a__haze{background-image:var(--texture-haze);background-position:100%;background-size:cover;position:absolute;inset:0}.Intro-module__5_CM0a__scrim{background:radial-gradient(70% 55%,#ffffffe6 0%,#ffffff8c 55%,#ffffff0d 100%);position:absolute;inset:0}.Intro-module__5_CM0a__lockup{align-items:center;gap:var(--space-5);padding-inline:var(--container-pad);animation:Intro-module__5_CM0a__rise .62s var(--ease-editorial) 80ms both;flex-direction:column;display:flex;position:relative}.Intro-module__5_CM0a__logo{width:auto;height:clamp(1.75rem,1.2rem + 2vw,2.75rem)}.Intro-module__5_CM0a__tagline{overflow:hidden}.Intro-module__5_CM0a__taglineInner{font-family:var(--font-quote);color:var(--color-accent-text);text-align:center;animation:Intro-module__5_CM0a__maskUp .7s var(--ease-editorial) .34s both;font-size:clamp(1.125rem,.95rem + .9vw,1.625rem);font-style:italic;line-height:1.3;display:block}@keyframes Intro-module__5_CM0a__rise{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}@keyframes Intro-module__5_CM0a__maskUp{0%{transform:translateY(105%)}to{transform:none}}@keyframes Intro-module__5_CM0a__dissolve{to{opacity:0;filter:blur(20px);transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.Intro-module__5_CM0a__intro{display:none}}
