:root{--paper: #F7F5F0;--paper-2: #EFECE4;--mist: #E9EFEC;--white: #FFFFFF;--ink: #13262E;--ink-2: #1B333C;--ink-soft: rgba(19, 38, 46, .76);--ink-mute: rgba(19, 38, 46, .58);--ink-line: rgba(19, 38, 46, .16);--ink-hair: rgba(19, 38, 46, .09);--teal: #1D6F6C;--teal-deep: #145553;--teal-wash: #DCE9E6;--sky: #8FB8C2;--clay: #D95B2B;--sun: #EFA73A;--lake: #2E6C8A;--on-ink: #F2F0EA;--on-ink-soft: rgba(242, 240, 234, .72);--on-ink-mute: rgba(242, 240, 234, .5);--on-ink-line: rgba(242, 240, 234, .16);--f-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--f-serif: "Instrument Serif", Georgia, serif;--f-body: "Figtree", -apple-system, "Segoe UI", sans-serif;--fs-mega: clamp(3rem, 1.2rem + 7.4vw, 8.75rem);--fs-hero: clamp(2.75rem, 1.3rem + 5.4vw, 6.6rem);--fs-h2: clamp(2.2rem, 1.3rem + 3.4vw, 4.6rem);--fs-h3: clamp(1.35rem, 1.15rem + .8vw, 1.9rem);--fs-lede: clamp(1.15rem, 1.04rem + .5vw, 1.45rem);--fs-state: clamp(1.6rem, 1.1rem + 2vw, 3.1rem);--fs-body: clamp(1rem, .97rem + .15vw, 1.09rem);--fs-small: .875rem;--fs-micro: .75rem;--s-1: .5rem;--s-2: 1rem;--s-3: 1.5rem;--s-4: 2rem;--s-5: 3rem;--s-6: 4rem;--s-7: 6rem;--s-8: 8rem;--s-9: 12rem;--section-y: clamp(5.5rem, 3rem + 9vw, 11rem);--gutter: clamp(16px, 4vw, 56px);--container: 1360px;--nav-h: 72px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-inout: cubic-bezier(.76, 0, .24, 1);--t-fast: .18s;--t-med: .32s;--z-nav: 40;--z-dialog: 100;--z-veil: 1000}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--fs-body);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}img,video,svg,picture{display:block;max-width:100%}img{height:auto}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:650;text-wrap:balance}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}dl,dd,figure,blockquote{margin:0}em{font-style:normal}::selection{background:var(--teal);color:var(--on-ink)}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,32px)}.skip-link{position:fixed;left:12px;top:-80px;z-index:calc(var(--z-veil) + 1);background:var(--ink);color:var(--on-ink);padding:.75rem 1.1rem;text-decoration:none;font-weight:600;transition:top var(--t-fast) var(--ease-out)}.skip-link:focus{top:12px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.display{font-family:var(--f-display);font-weight:650;font-variation-settings:"opsz" 96,"wdth" 96;letter-spacing:-.032em;line-height:.96}.display em,.h2 em,.h3 em,.statement em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.012em;font-variation-settings:normal}.h2{font-size:var(--fs-h2);font-variation-settings:"opsz" 96,"wdth" 96;letter-spacing:-.03em;line-height:1}.h3{font-size:var(--fs-h3);letter-spacing:-.02em;line-height:1.12}.lede{font-size:var(--fs-lede);line-height:1.5;color:var(--ink-soft);max-width:46ch}.statement{font-family:var(--f-display);font-size:var(--fs-state);font-weight:500;font-variation-settings:"opsz" 48;letter-spacing:-.025em;line-height:1.16}.num{font-family:var(--f-display);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.eyebrow{font-family:var(--f-display);font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.prose p+p{margin-top:1em}.prose{color:var(--ink-soft);max-width:60ch}.folio{display:flex;align-items:baseline;gap:var(--s-2);padding-bottom:.9rem;margin-bottom:clamp(2.5rem,1.5rem + 4vw,5.5rem);border-bottom:1px solid var(--ink-line);font-family:var(--f-display);font-size:var(--fs-small);font-weight:500;position:relative}.folio-n{font-variant-numeric:tabular-nums;color:var(--teal);font-weight:600}.folio-t{color:var(--ink)}.folio-r{margin-left:auto;color:var(--ink-mute)}.folio:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(var(--rule, 1))}.on-ink .folio{border-color:var(--on-ink-line)}.on-ink .folio-n{color:var(--sky)}.on-ink .folio-t{color:var(--on-ink)}.on-ink .folio-r{color:var(--on-ink-mute)}.on-ink .folio:after{background:var(--on-ink)}.btn{--btn-bg: var(--ink);--btn-fg: var(--on-ink);--btn-bd: var(--ink);--btn-hover: var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.5rem;border:1.5px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--f-display);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;touch-action:manipulation;position:relative;isolation:isolate;overflow:hidden;transition:color var(--t-med) var(--ease-out),border-color var(--t-med) var(--ease-out)}.btn:before{content:"";position:absolute;z-index:-1;right:-2px;bottom:-2px;width:260%;aspect-ratio:1;border-top-left-radius:100%;background:var(--btn-hover);transform:scale(0);transform-origin:100% 100%;transition:transform .52s var(--ease-out)}.btn:hover:before,.btn:focus-visible:before{transform:scale(1)}.btn:hover,.btn:focus-visible{border-color:var(--btn-hover)}.btn:active{transform:translateY(1px)}.btn-line{--btn-bg: transparent;--btn-fg: var(--ink);--btn-bd: var(--ink);--btn-hover: var(--ink)}.btn-line:hover,.btn-line:focus-visible{color:var(--on-ink)}.btn-light{--btn-bg: var(--on-ink);--btn-fg: var(--ink);--btn-bd: var(--on-ink);--btn-hover: var(--sky)}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--on-ink);--btn-bd: var(--on-ink-line);--btn-hover: var(--on-ink)}.btn-ghost:hover,.btn-ghost:focus-visible{color:var(--ink)}.btn-sm{min-height:44px;padding:.55rem 1.1rem;font-size:.94rem}.btn .arr{transition:transform var(--t-med) var(--ease-out)}.btn:hover .arr{transform:translate(4px)}.tlink{--c: currentColor;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-display);font-weight:600;text-decoration:none;padding-block:.4rem;background:linear-gradient(var(--c),var(--c)) 0 100% / 100% 1.5px no-repeat;transition:background-size 0s}.tlink:hover{animation:tlink .7s var(--ease-out)}@keyframes tlink{0%{background-size:100% 1.5px;background-position:100% 100%}45%{background-size:0% 1.5px;background-position:100% 100%}46%{background-size:0% 1.5px;background-position:0 100%}to{background-size:100% 1.5px;background-position:0 100%}}.tlink .mk{width:14px;height:14px;flex:none}.shape-circle{border-radius:50%}.shape-qtl{border-top-left-radius:100%}.shape-qtr{border-top-right-radius:100%}.shape-qbl{border-bottom-left-radius:100%}.shape-qbr{border-bottom-right-radius:100%}.shape-arch{border-radius:999px 999px 0 0}.shape-bowl{border-radius:0 0 999px 999px}.photo{position:relative;overflow:hidden;background:var(--paper-2);isolation:isolate}.photo picture{width:100%;height:100%}.photo img{width:100%;height:100%;object-fit:cover;object-position:var(--focus, 50% 50%)}.photo:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.photo-cap{margin-top:.7rem;font-size:var(--fs-micro);color:var(--ink-mute);display:flex;gap:.6rem}.photo-cap b{font-weight:600;color:var(--ink);font-family:var(--f-display)}.status{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-display);font-size:var(--fs-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.status-g{width:10px;height:10px;flex:none;border:1.5px solid currentColor}.status-active{color:var(--teal)}.status-active .status-g{background:currentColor}.status-dev{color:var(--lake)}.status-dev .status-g{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}.status-concept{color:var(--ink-mute)}.status-concept .status-g{border-radius:50%;border-style:dashed}.on-ink .status-active{color:var(--sky)}.on-ink .status-dev{color:#a9c6d6}.on-ink .status-concept{color:var(--on-ink-mute)}.g-square,.g-quarter,.g-half,.g-circle{display:inline-block;width:14px;height:14px;background:currentColor;flex:none}.g-quarter{border-top-right-radius:100%}.g-half{height:7px;border-radius:14px 14px 0 0;margin-top:7px}.g-circle{border-radius:50%}.section{padding-block:var(--section-y);position:relative}.on-ink{background:var(--ink);color:var(--on-ink)}.on-ink .lede,.on-ink .prose{color:var(--on-ink-soft)}.on-ink .eyebrow{color:var(--on-ink-mute)}.on-mist{background:var(--mist)}.phead{padding-top:calc(var(--nav-h) + clamp(3rem,2rem + 6vw,8rem));padding-bottom:clamp(3rem,2rem + 4vw,6rem)}.phead-crumb{display:flex;gap:.6rem;align-items:center;margin-bottom:var(--s-4)}.phead-crumb .mk{width:16px;height:16px}.phead-title{font-size:var(--fs-hero);max-width:14ch}.phead-grid{display:grid;grid-template-columns:1fr;gap:var(--s-4);align-items:end}@media(min-width:900px){.phead-grid{grid-template-columns:1.4fr 1fr;gap:var(--s-6)}}[data-verify]{position:relative}html.show-verify [data-verify]{outline:1.5px dashed var(--clay);outline-offset:4px}html.show-verify [data-verify]:after{content:"Verify: " attr(data-verify);position:absolute;left:0;top:100%;z-index:5;margin-top:6px;padding:2px 6px;font:600 10px/1.4 var(--f-body);letter-spacing:.04em;background:var(--clay);color:#fff;white-space:nowrap;pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.photo-credit{position:absolute;right:.6rem;bottom:.5rem;z-index:2;font-family:var(--f-body);font-size:.66rem;letter-spacing:.02em;color:#ffffffd1;text-shadow:0 1px 6px rgba(0,0,0,.55);pointer-events:none}@media(pointer:coarse){.tlink{min-height:44px;display:inline-flex;align-items:center}.footer-cols a{min-height:44px;display:flex;align-items:center;padding:0}.footer-legal a{display:inline-block;padding-block:.6rem}}@media(max-width:600px){:root{--section-y: clamp(4rem, 3rem + 6vw, 5.5rem)}.folio{margin-bottom:clamp(2rem,1.5rem + 3vw,3rem)}}@media(max-width:420px){.folio-r{display:none}}.nav{position:fixed;inset:0 0 auto;z-index:var(--z-nav);height:var(--nav-h);transition:background var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out),transform .48s var(--ease-out),color var(--t-med)}.nav.is-scrolled{background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);box-shadow:0 1px 0 var(--ink-hair)}.nav.is-hidden{transform:translateY(-100%)}.nav-inner{height:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:var(--s-4)}.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-height:44px}.nav-mark{width:28px;height:28px;overflow:visible}.nav-mark>*{transform-box:fill-box;transform-origin:center;transition:transform .6s var(--ease-out)}.nav-brand:hover .nav-mark [data-q="0"]{transform:rotate(-90deg)}.nav-brand:hover .nav-mark [data-q="1"]{transform:rotate(90deg)}.nav-brand:hover .nav-mark [data-q="3"]{transform:scale(.7)}.nav-name{font-family:var(--f-display);font-weight:650;font-size:1.06rem;letter-spacing:-.02em;line-height:1}.nav-name span{display:block;font-family:var(--f-body);font-weight:500;font-size:.7rem;letter-spacing:.06em;color:var(--ink-mute);margin-top:4px}.nav-links{display:flex;gap:clamp(1.1rem,2.2vw,2.4rem)}.nav-links a{position:relative;text-decoration:none;font-family:var(--f-display);font-weight:500;font-size:.97rem;padding:.6rem 0}.nav-links a .nl-n{display:none}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:.3rem;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--t-med) var(--ease-out)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.nav-links a[aria-current=page]{color:var(--teal)}.nav-toggle{display:none}.nav.is-light:not(.is-scrolled):not(.is-open){color:var(--on-ink)}.nav.is-light:not(.is-scrolled):not(.is-open) .nav-name span{color:var(--on-ink-mute)}.nav.is-light:not(.is-scrolled):not(.is-open) .btn{--btn-bg: var(--on-ink);--btn-fg: var(--ink);--btn-bd: var(--on-ink)}.nav.is-light:not(.is-scrolled):not(.is-open) [aria-current=page]{color:var(--sky)}@media(max-width:960px){.nav-cta{display:none}.nav-toggle{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:0 .2rem;background:none;border:0;font-family:var(--f-display);font-weight:600;cursor:pointer}.nav-toggle i{display:grid;gap:5px;width:22px}.nav-toggle i:before,.nav-toggle i:after{content:"";height:1.5px;background:currentColor;transition:transform var(--t-med) var(--ease-out)}.nav.is-open .nav-toggle i:before{transform:translateY(3.25px) rotate(45deg)}.nav.is-open .nav-toggle i:after{transform:translateY(-3.25px) rotate(-45deg)}.nav-links{position:fixed;inset:var(--nav-h) 0 0 0;flex-direction:column;gap:0;padding:var(--s-3) var(--gutter) var(--s-5);background:var(--paper);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .52s var(--ease-inout),visibility 0s linear .52s;overflow-y:auto}.nav-links a{display:flex;align-items:baseline;gap:1rem;font-size:clamp(2rem,8vw,3rem);font-weight:600;letter-spacing:-.035em;padding:.55rem 0;border-bottom:1px solid var(--ink-hair)}.nav-links a .nl-n{display:inline;font-size:var(--fs-small);letter-spacing:0;color:var(--teal);font-variant-numeric:tabular-nums}.nav-links a:after{display:none}.nav-links .nav-links-give{margin-top:var(--s-4);border:0}.nav.is-open .nav-links{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .62s var(--ease-inout)}.nav.is-open{background:var(--paper);color:var(--ink)}}@media(min-width:961px){.nav-links-give{display:none}}.footer{background:var(--ink);color:var(--on-ink);padding:var(--s-8) 0 var(--s-4);overflow:hidden}.footer-top{display:grid;gap:var(--s-5);grid-template-columns:1fr;padding-bottom:var(--s-6)}.footer-line{font-size:var(--fs-h2);max-width:13ch}.footer-ctas{display:flex;flex-wrap:wrap;gap:var(--s-2);align-self:end}.footer-mail{display:grid;gap:.5rem;text-decoration:none;font-family:var(--f-display);font-weight:500;font-size:clamp(1.4rem,1rem + 1.6vw,2.4rem);letter-spacing:-.02em;background:linear-gradient(var(--sky),var(--sky)) 0 100% / 0 1.5px no-repeat;padding-bottom:.3rem;transition:background-size .6s var(--ease-out)}.footer-mail:hover{background-size:100% 1.5px}.footer-cols{display:grid;gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));padding-block:var(--s-5);border-top:1px solid var(--on-ink-line)}.footer-cols h2{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-mute);font-weight:600;margin-bottom:var(--s-2)}.footer-cols a{display:block;width:fit-content;text-decoration:none;color:var(--on-ink-soft);padding:.3rem 0;transition:color var(--t-fast)}.footer-cols a:hover{color:var(--on-ink)}.footer-cols p{color:var(--on-ink-soft);font-size:var(--fs-small);max-width:34ch}.footer-word{width:100%;height:auto;color:var(--on-ink);margin-top:var(--s-4);--wm-3: var(--sky)}.footer-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;padding-top:var(--s-3);font-size:var(--fs-micro);color:var(--on-ink-mute)}@media(min-width:820px){.footer-top{grid-template-columns:1.3fr 1fr}.footer-ctas{justify-content:flex-end}.footer-cols{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}}.veil{position:fixed;inset:0;z-index:var(--z-veil);pointer-events:none;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.veil i{display:block;background:var(--ink);transform:scale(0);will-change:transform}.veil i:nth-child(1){transform-origin:0 0}.veil i:nth-child(2){transform-origin:100% 0;background:var(--teal-deep)}.veil i:nth-child(3){transform-origin:0 100%;background:var(--ink-2)}.veil i:nth-child(4){transform-origin:100% 100%}html.veil-in .veil i{transform:scale(1)}.veil-mark{position:absolute;left:50%;top:50%;width:clamp(64px,9vw,104px);translate:-50% -50%;opacity:0;overflow:visible}.veil-mark>*{transform-box:fill-box;transform-origin:center}.veil-word{position:absolute;left:50%;top:calc(50% + clamp(56px,7vw,84px));translate:-50% 0;font-family:var(--f-serif);font-style:italic;font-size:clamp(1.25rem,1rem + 1vw,1.75rem);color:var(--on-ink);white-space:nowrap;display:flex;gap:.3em}.veil-word span{display:inline-block;opacity:0}.field{display:grid;gap:.45rem;margin:0;border:0;padding:0;min-width:0}.field label,.field legend{font-family:var(--f-display);font-weight:600;font-size:var(--fs-small)}.field input,.field select,.field textarea{width:100%;min-height:52px;padding:.75rem 0;font:inherit;font-size:1.05rem;color:inherit;background:transparent;border:0;border-bottom:1.5px solid var(--ink-line);border-radius:0;transition:border-color var(--t-fast)}.field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 4px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2rem}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal)}.field.has-error input,.field.has-error select{border-color:var(--clay)}.field-error{font-size:var(--fs-small);color:#b8461c}.on-ink .field-error{color:#f0a584}.field-error:empty{display:none}.on-ink .field input,.on-ink .field select,.on-ink .field textarea{border-color:var(--on-ink-line)}.on-ink .field input:focus,.on-ink .field select:focus,.on-ink .field textarea:focus{border-color:var(--sky)}.on-ink .field select option{color:var(--ink)}.form-status{font-family:var(--f-display);font-weight:600}.form-status:empty{display:none}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip-check{position:relative}.chip-check input{position:absolute;opacity:0;inset:0;cursor:pointer}.chip-check span{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .95rem;border:1.5px solid var(--ink-line);font-size:.95rem;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.chip-check span:before{content:"";width:9px;height:9px;border:1.5px solid currentColor;transition:background var(--t-fast)}.chip-check input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.chip-check input:checked+span:before{background:currentColor}.chip-check input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}.dialog{width:min(560px,calc(100vw - 2 * var(--gutter)));max-height:calc(100svh - 48px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 40px 80px -30px #13262e80}.dialog::backdrop{background:#13262e8c;backdrop-filter:blur(3px)}.dialog form{display:grid;gap:var(--s-3);padding:clamp(1.5rem,1rem + 2vw,2.5rem)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:var(--s-2)}.dialog-head h2{font-size:var(--fs-h3);letter-spacing:-.02em}.dialog-close{background:none;border:0;cursor:pointer;font-family:var(--f-display);font-weight:600;min-height:44px;text-decoration:underline;text-underline-offset:4px}.radio{display:flex;gap:.7rem;align-items:center;min-height:40px;cursor:pointer;font-weight:400!important;font-family:var(--f-body)!important;font-size:1rem!important}.radio input{accent-color:var(--teal);width:18px;height:18px}
