/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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}:root{--bg:#0b100d;--surface:#141d18;--surface-2:#1b2620;--ink:#edf3ea;--muted:#a7b8ad;--line:#edf3ea24;--line-strong:#6f8377;--accent:#b5f163;--accent-hover:#d2ff95;--accent-ink:#0b100d;--mint:#6fe0bf;--field:#e8efe1;--field-ink:#0b100d;--field-muted:#34443a;--danger:#ff9b8c;--font:"Bricolage Grotesque Variable", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--margin:clamp(1rem, 2.4vw, 2.5rem);--radius:14px;--step-small:.875rem;--step-body:clamp(1.0625rem, 1rem + .2vw, 1.125rem);--step-lead:clamp(1.25rem, 1.1rem + .6vw, 1.55rem);--step-head:clamp(2.5rem, 1.1rem + 4.4vw, 6.25rem);--step-display:clamp(2.7rem, .9rem + 5.6vw, 7.6rem);--ease:cubic-bezier(.16, 1, .3, 1);color-scheme:dark;font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-size:var(--step-body);text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.5;overflow-x:clip}img,video{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}p{text-wrap:pretty;margin:0}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;-webkit-hyphens:none;hyphens:none;margin:0;font-weight:520;line-height:1}h1{letter-spacing:-.05em;font-size:clamp(2.6rem,6vw,5.6rem);line-height:.94}h2{font-size:var(--step-head);letter-spacing:-.05em;line-height:.94}h3{letter-spacing:-.03em;font-size:clamp(1.5rem,1.1rem + 1vw,1.95rem)}h4{font-size:var(--step-lead);letter-spacing:-.02em;line-height:1.25}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.beyond :focus-visible,.contact :focus-visible,.package-card:nth-child(2) :focus-visible{outline-color:var(--field-ink)}main:focus{outline:none}.sr-only{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{background:var(--accent);color:var(--accent-ink);z-index:80;padding:14px 16px;font-weight:600;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.wrap{width:min(1760px,100%);padding-inline:var(--margin);margin-inline:auto}.eyebrow,.chapter-label,.feature-meta,.card-meta,.result-count,.win-bar,.stack,.index-meta,.footer-nav,.ticker,.chapter,.nav-num,.skill-num{font-family:var(--mono);font-feature-settings:"zero" 0}.eyebrow{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin:0 0 22px;font-size:.8125rem;font-weight:500;line-height:1.6}.eyebrow-sep{color:var(--accent);padding:0 .5em}.chapter-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 22px;font-size:.8125rem;display:flex}.chapter-label>span:first-child{color:var(--accent);align-items:center;gap:12px;display:inline-flex}.chapter-label>span:first-child:after{content:"";background:currentColor;width:44px;height:1px}.chapter-count{color:var(--ink)}.lead{font-size:var(--step-lead);max-width:42ch;line-height:1.35}.page-intro{font-size:var(--step-lead);max-width:42ch;color:var(--ink);line-height:1.4}.button,.copy-email{background:var(--accent);color:var(--accent-ink);letter-spacing:0;border:1px solid var(--accent);cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .3s var(--ease);border-radius:999px;padding:15px 20px;font-size:1rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-block}.button:hover,.copy-email:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button:active,.copy-email:active{transform:translateY(1px)}.button-ink{color:var(--ink);border-color:var(--line-strong);background:0 0}.button-ink:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.text-link,.inline-link{text-underline-offset:.22em;transition:color .2s ease,text-underline-offset .3s var(--ease);text-decoration:underline;text-decoration-thickness:1px}.text-link{min-height:24px;padding-block:4px;font-weight:500;display:inline-block}.inline-link:hover,.text-link:hover{color:var(--accent);text-underline-offset:.32em}.header{z-index:25;border-bottom:1px solid var(--line);background:#0b100de6;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding-top:14px;padding-bottom:14px;display:flex;position:sticky;top:0}.brand{align-items:center;line-height:0;display:inline-flex}.brand-mark{filter:invert()hue-rotate(180deg);width:auto;height:30px;display:block}.header nav{align-items:center;gap:26px;display:flex}.header nav a{align-items:baseline;gap:6px;padding:8px 0;font-size:.975rem;transition:color .2s;display:inline-flex}.header nav a:hover{color:var(--accent)}.nav-num{color:var(--accent);letter-spacing:.04em;font-size:.6875rem}.header nav a.active:not(.nav-contact){text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:1px}.nav-contact{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-weight:600;padding:9px 16px!important}.header nav .nav-contact:hover{background:var(--accent-hover);color:var(--accent-ink)}.menu-toggle{border:1px solid var(--line-strong);background:var(--bg);cursor:pointer;min-height:44px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:10px 18px;font-size:.875rem;display:none}.chapter{z-index:26;pointer-events:none;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:.75rem;display:none;position:fixed;top:21px;left:50%;transform:translate(-50%)}.chapter-num{background:var(--accent);color:var(--accent-ink);border-radius:4px;padding:5px 7px;font-weight:600}.chapter-text{color:var(--ink);flex-direction:column;line-height:1.2;display:flex}.chapter-text span{color:var(--muted);font-size:.625rem}@media(min-width:1240px){.chapter{display:flex}}.hero{--mx:72%;--my:30%;isolation:isolate;grid-template-columns:minmax(0,1fr);align-items:end;gap:32px;min-height:min(100svh - 72px,980px);padding:clamp(36px,7vh,88px) 0 clamp(40px,7vh,80px);display:grid;position:relative}.hero:before{content:"";z-index:-1;background:radial-gradient(520px circle at var(--mx) var(--my),#b5f16321,transparent 70%),linear-gradient(to right,var(--line) 1px,transparent 1px) 0 0 / 88px 88px,linear-gradient(to bottom,var(--line) 1px,transparent 1px) 0 0 / 88px 88px;opacity:.75;width:100vw;position:absolute;inset:0 auto 0 50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(85% 75% at 50% 40%,#000 35%,#0000 100%);mask-image:radial-gradient(85% 75% at 50% 40%,#000 35%,#0000)}.hero-copy{min-width:0}.hero h1{font-size:var(--step-display);letter-spacing:-.055em;max-width:17ch;margin:0 0 clamp(28px,4vw,56px);font-weight:500;line-height:.9}.hero-foot{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 40px;display:grid}.hero-lead{max-width:34ch;font-size:var(--step-lead);color:var(--muted);margin:0;line-height:1.38}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.hero-actions .button{max-width:100%}.split figure img,.about-figure img{object-fit:cover;background:var(--surface);width:100%;display:block}figure{margin:0}figcaption,.shot-label,.detail-meta,.next-kicker,.feature-meta,.card-meta,.result-count,.cs-note,.attribution{font-size:var(--step-small);color:var(--muted);line-height:1.45}figcaption{max-width:52ch;margin-top:10px}.shot-label{font-size:var(--step-body);color:var(--ink);margin:0 0 8px;font-weight:500}.window{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .35s ease,box-shadow .5s var(--ease),transform .5s var(--ease);position:relative;overflow:hidden}.win-bar{border-bottom:1px solid var(--line);letter-spacing:.02em;min-height:38px;color:var(--muted);background:var(--surface-2);align-items:center;gap:14px;padding:0 14px;font-size:.75rem;display:flex}.win-dots{gap:6px;display:inline-flex}.win-dots i{border:1px solid var(--line-strong);border-radius:50%;width:9px;height:9px}.win-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.win-index{color:var(--accent)}.window img{width:100%;display:block}.ticker{border-block:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;padding:18px 0;font-size:clamp(1rem,.8rem + 1vw,1.6rem);overflow:hidden}.ticker-track{width:max-content;margin:0;padding:0;list-style:none;display:flex}.ticker li{white-space:nowrap;align-items:center;display:inline-flex}.ticker li:after{content:"✳";color:var(--accent);margin:0 clamp(20px,3vw,44px);font-size:.8em}.section{padding:clamp(80px,11vw,160px) 0}.section-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(36px,5vw,72px);display:flex}.section-head h2{margin:0}.section-head>.text-link{font-family:var(--mono);letter-spacing:.02em;font-size:.9375rem}.feature-list{flex-direction:column;gap:clamp(72px,9vw,140px);display:flex}.feature-link{color:inherit;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,4vw,72px);display:grid}.feature-row:nth-child(2n) .feature-link{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.feature-row:nth-child(2n) .feature-window{order:2}.feature-window img{aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--surface);height:auto;transition:transform .8s var(--ease)}.feature-row-hydro .feature-window img{object-position:center 60%}.feature-actions{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:22px;display:flex}.feature-copy{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.feature-copy h3{letter-spacing:-.05em;margin:0;font-size:clamp(2.3rem,1.2rem + 3.4vw,5rem);font-weight:500;line-height:.92;transition:color .3s}.feature-label{font-size:var(--step-lead);color:var(--mint);letter-spacing:-.015em}.feature-copy p:not(.feature-meta):not(.feature-label):not(.status-badge){max-width:46ch;color:var(--muted)}.feature-meta,.card-meta{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:0;font-size:.75rem;display:flex}.feature-num,.card-num{color:var(--accent)}.feature-fallback,.project-wordmark{aspect-ratio:16/10;background:radial-gradient(120% 90% at 100% 0%,#6fe0bf2e,transparent 60%),var(--surface);letter-spacing:-.05em;color:var(--ink);align-items:flex-end;margin:0;padding:clamp(20px,3vw,40px);font-size:clamp(2rem,4.4vw,4.6rem);font-weight:500;line-height:.92;display:flex}.feature-fallback.cover-text,.project-wordmark.cover-text{letter-spacing:-.02em;font-size:clamp(1.15rem,.8rem + 1.4vw,2rem);line-height:1.15}.feature-link:hover .window,.feature-link:focus-visible .window,.project-link:hover .window,.project-link:focus-visible .window{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 40px 90px -40px #b5f16373}.feature-link:hover h3,.feature-link:focus-visible h3,.project-link:hover h3,.project-link:focus-visible h3{color:var(--accent)}.index-list{margin-top:clamp(72px,9vw,140px)}.index-list ol{border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}.index-list li{border-top:1px solid var(--line)}.index-list a{transition:background-color .3s ease,padding .4s var(--ease);grid-template-columns:4ch minmax(0,1fr) auto 2ch;align-items:baseline;gap:20px;padding:22px 6px;display:grid}.index-num,.index-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8125rem}.index-name{letter-spacing:-.045em;transition:transform .45s var(--ease),color .3s ease;font-size:clamp(1.6rem,1rem + 2vw,3rem);font-weight:500;line-height:1}.index-arrow{color:var(--accent);transition:transform .45s var(--ease)}.index-list a:hover,.index-list a:focus-visible{background:var(--surface)}.index-list a:hover .index-name,.index-list a:focus-visible .index-name{color:var(--accent);transform:translate(14px)}.index-list a:hover .index-arrow,.index-list a:focus-visible .index-arrow{transform:rotate(45deg)}.grid{flex-direction:column;gap:36px;display:flex}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,5vw,80px) clamp(24px,3vw,48px);display:grid}.project-grid>.project-card:first-child{grid-column:1/-1}.card-secondary{color:var(--mint);align-self:flex-start;margin-top:14px}.card-secondary:hover{color:var(--accent-hover)}.project-grid>.project-card:first-child:has(.card-secondary){grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);column-gap:clamp(28px,4vw,64px);display:grid}.project-grid>.project-card:first-child:has(.card-secondary) .project-link{grid-column:1/-1}.project-grid>.project-card:first-child .card-secondary{grid-column:2;justify-self:start}.project-grid>.project-card:first-child .project-link{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:center;gap:clamp(28px,4vw,64px);display:grid}.project-grid>.project-card:first-child h3{font-size:clamp(2.4rem,1.2rem + 3.6vw,5.2rem)}.project-link{color:inherit;flex-direction:column;gap:24px;display:flex}.project-media{min-height:0}.project-media img{aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--surface);width:100%;height:auto;transition:transform .8s var(--ease);display:block}.card-detail{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.card-detail h3{letter-spacing:-.045em;margin:4px 0 2px;font-size:clamp(1.9rem,1.2rem + 1.8vw,3.1rem);font-weight:500;line-height:.95;transition:color .3s}.card-summary{max-width:52ch;color:var(--muted);margin:0}.stack{color:var(--muted);margin:4px 0 6px;font-size:.8125rem;line-height:1.6}.stack-key{color:var(--mint)}.stack-item{color:var(--ink)}.status-badge{border:1px solid var(--accent);color:var(--accent);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin:0;padding:5px 10px;font-size:.75rem;display:inline-block}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{border:1px solid var(--line);font-family:var(--mono);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.75rem;line-height:1.3}.about{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(36px,5vw,96px);display:grid}.about h2{margin-bottom:16px}.about-location{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:28px;font-size:.8125rem}.about-figure img{object-position:center;border-radius:var(--radius);height:min(62svh,560px)}.about-copy{padding-top:clamp(0px,6vw,96px)}.about-copy p{max-width:58ch;color:var(--muted);margin:0 0 1.1em}.about-copy .lead{color:var(--ink);letter-spacing:-.025em;max-width:26ch;margin-bottom:1.2em;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.4rem);line-height:1.18}.skills h2{margin-bottom:clamp(36px,5vw,64px)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,64px);display:grid}.skill{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px;padding:30px 0;display:flex}.skill-num{color:var(--accent);letter-spacing:.06em;font-size:.75rem}.skill p{max-width:46ch;color:var(--muted);margin:0}.skill .text-link{margin-top:auto}.beyond{background:var(--field);color:var(--field-ink);margin-inline:calc(var(--margin) * -1);padding:clamp(72px,9vw,128px) var(--margin);border-radius:var(--radius) var(--radius) 0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.beyond p,.beyond .text-link{color:var(--field-ink)}.beyond .chapter-label,.beyond .chapter-label>span:first-child{color:var(--field-muted)}.beyond .text-link{margin-top:22px}.beyond-copy p{max-width:42ch;margin-top:16px}.plant-notes{flex-direction:column;gap:0;display:flex}.plant-notes>div{border-top:1px solid #0b100d2e;padding:26px 0}.plant-notes p{color:var(--field-muted);max-width:42ch;margin-top:8px}.hydro-quote{border-radius:var(--radius);background:var(--bg);color:var(--ink);max-width:36rem;margin-top:44px;padding:clamp(22px,3vw,32px)}.hydro-quote h3{margin:0}.beyond .hydro-quote p{color:var(--muted);margin-top:12px}.hydro-quote-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:22px;display:flex}.beyond .hydro-quote .text-link{color:var(--ink);margin-top:0}.beyond .hydro-quote :focus-visible{outline-color:var(--accent)}.contact{background:var(--accent);color:var(--accent-ink);padding:clamp(72px,9vw,128px) 0}.contact p,.contact .contact-link,.contact .chapter-label,.contact .chapter-label>span:first-child{color:var(--accent-ink)}.contact h2{margin-bottom:18px;font-size:clamp(3rem,1.2rem + 6vw,8.5rem)}.contact-inner{justify-content:space-between;align-items:end;gap:40px;display:flex}.contact-link{letter-spacing:-.03em;text-underline-offset:.16em;white-space:nowrap;font-size:clamp(1.4rem,2vw,2rem);font-weight:560;text-decoration:underline;text-decoration-thickness:.06em}.contact-link span{transition:transform .45s var(--ease);display:inline-block}.contact-link:hover span{transform:translate(4px,-4px)}.footer{padding:80px var(--margin) 40px}.footer-nav{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:12px 36px;margin-bottom:48px;font-size:.875rem;display:flex}.footer-nav a{gap:8px;padding:8px 0;transition:color .2s;display:inline-flex}.footer-nav a span,.footer-nav a:hover{color:var(--accent)}.footer-name{letter-spacing:-.06em;transition:color .4s ease,letter-spacing .8s var(--ease);margin-bottom:28px;font-size:clamp(3.2rem,13.5vw,15rem);font-weight:560;line-height:.82;display:block}.footer-name:hover{color:var(--accent);letter-spacing:-.04em}.footer-meta{color:var(--muted);font-size:var(--step-small);flex-wrap:wrap;align-items:center;gap:12px 28px;display:flex}.footer-meta a{color:var(--ink)}.page{padding-top:clamp(40px,6vw,88px);padding-bottom:96px}.page h1{max-width:16ch;margin:0 0 22px}.gallery-head h1{font-size:var(--step-display);letter-spacing:-.055em;max-width:12ch;font-weight:500;line-height:.9}.gallery-tools{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:clamp(36px,5vw,64px) 0 clamp(32px,4vw,56px);padding:16px 0;display:flex}.filters{flex-wrap:wrap;gap:8px;margin:0;display:flex}.filters button{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;min-height:44px;padding:10px 18px;font-size:.9375rem;transition:background-color .2s,color .2s,border-color .2s}.filters button.selected{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.filters button:hover:not(.selected){border-color:var(--ink);background:var(--surface)}.result-count{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75rem}.early-work{margin-top:clamp(64px,8vw,120px)}.early-work summary{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:28px;list-style:none;transition:border-color .2s;display:block}.early-work summary:hover{border-color:var(--accent)}.early-work summary::-webkit-details-marker{display:none}.early-title{letter-spacing:-.03em;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:520;display:block}.early-hint{color:var(--muted);margin-top:8px;display:block}.early-work .grid{margin-top:28px}.early-work>.early-text{border-top:1px solid var(--line);padding-top:28px}.early-work h2.early-title{margin:0}.early-work .early-hint{margin-bottom:0}.detail-head{max-width:none;padding:12px 0 36px}.detail-head .lead{max-width:46ch;margin-top:18px}.detail-head .tags{margin:22px 0}.detail-head .button{margin:8px 12px 0 0}.detail figure img,.project-shots img{background:var(--surface);width:100%;height:auto;display:block}.detail figure{margin:0 0 40px}.project-video video{aspect-ratio:16/9;background:var(--ink);width:100%;height:auto;display:block}.case-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr);gap:48px;padding-top:12px;display:grid}.case-layout aside h2{font-size:var(--step-lead);margin-bottom:10px}.case-layout section{margin-bottom:8px;padding-bottom:28px}.case-layout h2{margin:0 0 14px}.case-layout p,.case-layout li{max-width:68ch;line-height:1.55}.case-layout ul{margin:0;padding-left:1.2em}.case-layout li{margin:10px 0}.case-layout .outcome{background:var(--surface);padding:28px}.next-project{padding-top:48px;display:block}.next-kicker{margin-bottom:8px}.next-project h2{font-size:clamp(2.2rem,4vw,3.6rem)}.project-shots{gap:14px;margin:0 0 40px;display:grid}.shot-placeholder{background:var(--surface);flex-direction:column;justify-content:center;gap:8px;min-height:180px;padding:28px;display:flex}.shot-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.shot-thumbs button{cursor:pointer;background:0 0;border:0;padding:0;line-height:0;display:block}.shot-thumbs button.selected{outline:3px solid var(--ink);outline-offset:3px}.shot-thumbs img{object-fit:cover;object-position:top;width:100%;height:72px}.not-found p{max-width:42ch;font-size:var(--step-lead);margin:0 0 24px}.contact-page h1{max-width:14ch}.beyond .text-link:hover,.contact a:hover,.package-grid .package-card:nth-child(2) a:hover{color:var(--field-ink)}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;margin-top:36px;display:grid}.contact-intro>p{max-width:42ch;margin-bottom:1em}.contact-intro dl{margin:28px 0 0}.contact-intro dt{font-size:var(--step-body);margin-top:0;font-weight:520}.contact-intro dd{margin:6px 0 0}.social-links{margin-top:36px}.profile-group+.profile-group{margin-top:28px}.social-links h3{margin-bottom:6px}.social-links ul{margin:0;padding:0;list-style:none}.social-links a{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;min-height:44px;padding:12px 0;display:flex}.social-links a span{font-weight:520}.contact-options{background:var(--surface);padding:clamp(22px,3vw,40px)}.contact-options h2{margin-bottom:10px}.contact-options>p{max-width:48ch}.contact-form{gap:16px;margin:22px 0 4px;display:grid}.contact-form .form-field{gap:7px;display:grid}.contact-form label{font-weight:520}.contact-form input,.contact-form textarea,.contact-form select{color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:0;width:100%;padding:14px;font-size:1.05rem;line-height:1.4}.contact-form textarea{resize:vertical;min-height:150px}.contact-form select{cursor:pointer}.contact-form [aria-invalid=true]{box-shadow:inset 4px 0 0 var(--danger)}.field-error{font-size:var(--step-small);color:var(--danger);line-height:1.4}.contact-form .button{justify-self:start}.contact-form .button:disabled{opacity:.65;cursor:progress}.form-status{min-height:1.4em;margin:0}.form-status.error{color:var(--danger)}.form-success{background:var(--bg);margin:22px 0 4px;padding:22px}.form-success:focus{outline:none}.form-success h3{margin-bottom:8px}.form-success p{margin-bottom:16px}.email-fallback{margin-top:28px}.email-fallback h3{margin:0 0 8px}.email-address{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin:8px 0 0;font-size:1.2rem}.email-actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.email-help,.copy-feedback{font-size:var(--step-small);color:var(--muted)}.copy-feedback{min-height:1.4em}@media(prefers-reduced-motion:no-preference){.hero-copy .eyebrow,.hero-copy h1,.hero-copy .hero-foot{animation:rise 1s var(--ease) both}.hero-copy h1{animation-delay:60ms}.hero-copy .hero-foot{animation-delay:.16s}.ticker-track{animation:32s linear infinite ticker}.ticker:hover .ticker-track{animation-play-state:paused}.feature-link:hover img,.feature-link:focus-visible img,.project-link:hover img,.project-link:focus-visible img{transform:scale(1.04)}.feature-link:hover .window,.project-link:hover .window{transform:translateY(-4px)}}@keyframes rise{0%{transform:translateY(28px)}to{transform:none}}@keyframes shutter{0%{clip-path:inset(8%)}to{clip-path:inset(0)}}@keyframes ticker{to{transform:translate(-50%)}}@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.about-figure img,.split figure img,.media-grid img,.cs-shot img{animation:linear both settle;animation-timeline:view();animation-range:entry entry 40%}.feature-window,.project-media,.index-list li,.skill,.section-head,.plant-notes>div{animation:linear both lift;animation-timeline:view();animation-range:entry entry 35%}.feature-window{animation-name:unveil}body:before{content:"";z-index:30;background:var(--accent);transform-origin:0;height:2px;animation:linear both progress;animation-timeline:scroll(root);position:fixed;top:0;left:0;right:0}}}@keyframes settle{0%{transform:translateY(18px)}to{transform:none}}@keyframes lift{0%{transform:translateY(48px)}to{transform:none}}@keyframes unveil{0%{clip-path:inset(0 0 22% 0 round var(--radius));transform:translateY(48px)}to{clip-path:inset(0 0 0 0 round var(--radius));transform:none}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:1100px){.hero-foot{grid-template-columns:1fr}.hero-actions{flex-flow:wrap;align-items:center}}@media(max-width:980px){.hero,.about,.beyond,.contact-layout,.case-layout,.skills-grid,.feature-link,.project-link{grid-template-columns:1fr}.hero{align-items:start;min-height:0}.hero h1{max-width:16ch}.feature-row:nth-child(2n) .feature-link{grid-template-columns:1fr}.feature-row:nth-child(2n) .feature-window{order:0}.project-grid,.project-grid>.project-card:first-child .project-link,.project-grid>.project-card:first-child:has(.card-secondary){grid-template-columns:1fr}.project-grid>.project-card:first-child .card-secondary{grid-column:1}.contact-inner,.section-head{flex-direction:column;align-items:flex-start}.about-copy{padding-top:0}.index-list a{grid-template-columns:3.5ch minmax(0,1fr) 2ch}.index-meta{display:none}}@media(max-width:760px){html{scroll-padding-top:76px}.header{min-height:64px;padding-top:10px;padding-bottom:10px}.menu-toggle{z-index:40;display:block;position:relative}.header nav{display:none}.header nav.open{z-index:30;background:var(--bg);padding:96px var(--margin) 32px;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.header:has(nav.open) .menu-toggle{top:10px;right:var(--margin);position:fixed}.header nav.open a{letter-spacing:-.04em;gap:12px;min-height:44px;padding:10px 0;font-size:2rem}.header nav.open .nav-num{font-size:.8125rem}.header nav.open .nav-contact{color:var(--accent);background:0 0;padding:10px 0!important}.section{padding:72px 0}.beyond{padding:64px var(--margin)}.contact{padding:64px 0}.contact-link{white-space:normal}.page{padding-top:32px;padding-bottom:64px}.hero{gap:28px;padding-top:28px;padding-bottom:36px}.hero:before{background-size:auto,56px 56px,56px 56px}.hero h1{letter-spacing:-.05em;font-size:clamp(2.5rem,11.6vw,3.6rem)}.eyebrow{letter-spacing:.04em;font-size:.75rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{text-align:center}.hero-actions .text-link{align-self:flex-start}.feature-copy h3{font-size:clamp(2.2rem,10vw,3rem)}.gallery-head h1{font-size:clamp(2.6rem,12vw,3.8rem)}.gallery-tools{flex-direction:column;align-items:flex-start}.shot-thumbs img{height:52px}.footer{padding-top:56px}.footer-name{font-size:clamp(3rem,15vw,4.5rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.ticker{overflow:visible}.ticker-track{width:auto;padding-inline:var(--margin);flex-wrap:wrap;row-gap:8px}.ticker li[aria-hidden=true]{display:none}}@media print{.header,.footer,.skip-link,.menu-toggle,.chapter,.ticker{display:none!important}:root,body{color:#000;background:#fff}.wrap{width:100%}}.automation-sub{max-width:34ch;color:var(--muted);font-size:var(--step-lead);margin:0;line-height:1.35}.automation-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.automation-team{padding-bottom:18px}.team-flow{gap:4px;margin:0;padding:22px clamp(16px,2.4vw,28px) 6px;list-style:none;display:grid;position:relative}.team-flow:before{content:"";background:linear-gradient(var(--accent),var(--mint));transform-origin:50% 0;width:2px;position:absolute;top:48px;bottom:44px;left:calc(clamp(16px,2.4vw,28px) + 27px)}.team-tier{border-radius:10px;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:18px;padding:12px 0;transition:background-color .3s;display:grid;position:relative}.team-tier h3{margin:4px 0 2px;font-size:clamp(1.2rem,1rem + .6vw,1.5rem);line-height:1.15}.team-tier p{color:var(--muted);margin:0}.tier-count{z-index:1;border:1px solid var(--line-strong);background:var(--surface-2);width:56px;height:56px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:1.15rem;font-weight:600;transition:background-color .3s,color .3s,border-color .3s;display:grid;position:relative;color:var(--ink)!important;margin:0!important}.team-lead .tier-count,.team-approve .tier-count{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)!important}.team-tier:hover .tier-count{border-color:var(--accent)}.tier-dots{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tier-dots i{background:var(--mint);opacity:.85;border-radius:4px;width:14px;height:14px}.automation-link{margin:6px clamp(16px,2.4vw,28px) 0;display:inline-block}.automation-side{gap:20px;display:grid}.automation-builds{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.automation-builds li{border-bottom:1px solid var(--line)}.build-link{isolation:isolate;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:20px 4px;text-decoration:none;display:grid;position:relative;overflow:hidden}.build-link:before{content:"";background:var(--surface-2);transform-origin:50% 100%;transition:transform .45s var(--ease);z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleY(0)}.build-link:hover:before,.build-link:focus-visible:before{transform:none}.build-name{font-size:1.25rem;font-weight:600}.build-label{color:var(--muted);grid-column:1}.build-arrow{color:var(--accent);transition:transform .35s var(--ease);grid-area:1/2/span 2;align-self:center;font-size:1.4rem}.build-link:hover .build-arrow,.build-link:focus-visible .build-arrow{transform:translate(3px,-3px)}.automation-stats{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px}.stat-line{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.3rem);line-height:1.1}.stat-num{color:var(--accent);font-variant-numeric:tabular-nums}.automation-note{color:var(--muted);font-size:var(--step-small);margin:0}@media(max-width:980px){.automation-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:no-preference){.team-flow:after{content:"";background:var(--accent-hover);width:8px;height:8px;box-shadow:0 0 12px var(--accent);animation:handoff 4.5s var(--ease) infinite;border-radius:50%;position:absolute;top:48px;left:calc(clamp(16px,2.4vw,28px) + 24px)}.team-tier:hover .tier-dots i{animation:blip .6s var(--ease) both;animation-delay:calc(var(--i) * 40ms)}}@keyframes handoff{0%{opacity:0;top:48px}10%{opacity:1}85%{opacity:1}to{opacity:0;top:calc(100% - 52px)}}@keyframes blip{50%{background:var(--accent);transform:translateY(-5px)}}@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.team-flow:before{animation:linear both draw;animation-timeline:view();animation-range:entry 20% cover 45%}.team-tier{animation:linear both lift;animation-timeline:view();animation-range:entry entry 60%}.tier-dots i{animation:linear both pop;animation-timeline:view();animation-range:entry calc(30% + var(--i) * 4%) entry calc(60% + var(--i) * 4%)}.automation-builds li,.automation-stats{animation:linear both lift;animation-timeline:view();animation-range:entry entry 40%}}}@keyframes draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pop{0%{opacity:0;transform:scale(.2)}to{opacity:.85;transform:none}}ul.tags{margin:0;padding:0;list-style:none}.tags li{border:1px solid var(--line);font-family:var(--mono);color:var(--ink);border-radius:999px;padding:5px 11px;font-size:.75rem;line-height:1.3}.detail-crumbs{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-bottom:clamp(20px,3vw,40px);padding-bottom:18px;display:flex}.detail-index,.detail-path,.section-num{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem}.detail-index{font-variant-numeric:tabular-nums}.detail-path{text-transform:none;letter-spacing:.02em;color:var(--mint);margin-bottom:14px}.detail-title{font-size:var(--step-display);letter-spacing:-.055em;view-transition-name:project-title;max-width:14ch;margin:10px 0 4px;font-weight:500;line-height:.9}.detail-head .status-badge{margin-top:14px}.detail-actions{flex-wrap:wrap;gap:10px 12px;margin-top:26px;display:flex}.detail-actions .button{margin:0}.detail .detail-figure{margin:0 0 clamp(40px,6vw,80px)}.detail-figure .window img{border-radius:0}.detail-figure figcaption{margin-top:12px}.facts h2{margin-bottom:18px}.facts dl{border-top:1px solid var(--line);margin:0}.facts dl>div{border-bottom:1px solid var(--line);grid-template-columns:7.5rem minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.facts dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px;font-size:.75rem}.facts dd{margin:0;line-height:1.4}.facts .tags{gap:6px}@media(min-width:981px){.facts{align-self:start;position:sticky;top:96px}}.case-sections section{border-top:1px solid var(--line);padding-top:22px;position:relative}.case-sections .section-num{color:var(--accent);margin-bottom:10px}.case-layout .case-sections .outcome{border-radius:var(--radius);border-top-color:#0000}.detail-pager{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(48px,7vw,96px);display:grid;overflow:hidden}.pager-link{background:var(--bg);color:inherit;flex-direction:column;gap:10px;min-height:44px;padding:clamp(20px,3vw,36px);text-decoration:none;transition:background-color .3s;display:flex}.pager-link.next-project{padding-top:clamp(20px,3vw,36px)}.pager-next{text-align:right;align-items:flex-end}.pager-name{letter-spacing:-.045em;font-size:clamp(1.5rem,1rem + 2vw,2.8rem);font-weight:500;line-height:1;transition:color .3s}.pager-link .next-kicker{margin:0}.pager-link:hover,.pager-link:focus-visible{background:var(--surface)}.pager-link:hover .pager-name,.pager-link:focus-visible .pager-name{color:var(--accent)}.header{view-transition-name:site-header}.vt-title{view-transition-name:project-title}.vt-filter .project-card{view-transition-name:var(--vt)}::view-transition-old(root){animation:.28s cubic-bezier(.4,0,1,1) both vt-out}::view-transition-new(root){animation:vt-in .5s var(--ease) 80ms both}::view-transition-group(project-title){animation-duration:.55s;animation-timing-function:var(--ease)}::view-transition-old(project-title){object-fit:none;object-position:left top;width:auto;height:100%}::view-transition-new(project-title){object-fit:none;object-position:left top;width:auto;height:100%}::view-transition-group(*){animation-timing-function:var(--ease)}@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(18px)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.feature-window img,.project-media img{animation:linear both lens;animation-timeline:view();animation-range:cover}.feature-window .win-path,.project-link .win-path{animation:linear both type-in;animation-timeline:view();animation-range:entry 10% entry 70%}.feature-copy>*,.card-detail>*{animation:linear both lift-sm;animation-timeline:view();animation-range:entry 5% entry 55%}.feature-copy>:nth-child(2),.card-detail>:nth-child(2){animation-range:entry 10% entry 60%}.feature-copy>:nth-child(n+3),.card-detail>:nth-child(n+3){animation-range:entry 15% entry 65%}.feature-num{animation:linear both count-glow;animation-timeline:view();animation-range:entry 30% cover 50%}.detail-figure .window{animation:linear both unveil;animation-timeline:view();animation-range:entry entry 45%}.case-sections section,.facts dl>div{animation:linear both lift-sm;animation-timeline:view();animation-range:entry entry 40%}}}@keyframes lens{0%{translate:0 2%;scale:1.14}to{translate:0 -1.5%;scale:1.05}}@keyframes type-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes lift-sm{0%{translate:0 22px}to{translate:0}}@keyframes count-glow{0%{color:var(--muted)}to{color:var(--accent)}}.cursor-label{z-index:60;pointer-events:none;background:var(--accent);color:var(--accent-ink);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .2s ease,scale .3s var(--ease);will-change:transform;border-radius:999px;margin:14px 0 0 14px;padding:8px 14px;font-size:.75rem;font-weight:600;position:fixed;top:0;left:0;scale:.6}.cursor-label.is-on{opacity:1;scale:1}@media not all and (pointer:fine)and (prefers-reduced-motion:no-preference){.cursor-label{display:none}}@media(prefers-reduced-motion:no-preference){.button{transition:background-color .25s ease,border-color .25s ease,color .25s ease,background-position .7s var(--ease);background-image:linear-gradient(105deg,#0000 38%,#ffffff47,#0000 62%);background-position:130% 0;background-repeat:no-repeat;background-size:260% 100%}.button:hover,.button:focus-visible{background-position:-30% 0}.text-link span[aria-hidden=true],.pager-name span[aria-hidden=true]{transition:translate .35s var(--ease);display:inline-block}.text-link:hover span[aria-hidden=true],.pager-next:hover .pager-name span[aria-hidden=true]{translate:3px}.pager-prev:hover .pager-name span[aria-hidden=true]{translate:-3px}.filters button:active{scale:.97}}@media(max-width:760px){.detail-title{letter-spacing:-.05em;font-size:clamp(2.5rem,12vw,3.6rem)}.detail-head .lead{font-size:1.1875rem;line-height:1.4}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .button{text-align:center}.social-links{border-top:1px solid var(--line);padding-top:24px}.detail .project-video{margin-top:32px}.facts dl>div{grid-template-columns:6.25rem minmax(0,1fr)}.detail-pager{grid-template-columns:1fr}.pager-next{text-align:left;align-items:flex-start}.filters{gap:6px}.filters button{padding:10px 14px;font-size:.875rem}.gallery-tools{gap:14px}.gallery-head .page-intro{font-size:1.1875rem;line-height:1.4}.project-grid{row-gap:56px}.card-detail h3{font-size:clamp(1.9rem,8.6vw,2.4rem)}.feature-copy p{line-height:1.5}.chapter-label{row-gap:4px}}#root{position:relative}.sprout-stage{z-index:27;pointer-events:none;contain:strict;position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip}.sprout-view{will-change:transform;width:100%;position:absolute;top:0;left:0}.sprout-stage,.sprout-stage *{pointer-events:none!important}.sprout-stage canvas{display:block}.hero-cta{flex-direction:column;display:flex;position:relative}.ticker-perch{position:relative}.sprout-jar{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;position:absolute}.sprout-jar-hero{height:clamp(200px,16vw,240px);bottom:calc(100% - clamp(200px,16vw,240px)/12.0919);right:14px}.sprout-jar-ticker{--jar-h:clamp(150px, 17vw, 200px);height:var(--jar-h);bottom:calc(100% - .0827 * var(--jar-h) - 1px);right:var(--margin);display:none}@media(max-width:1100px){.sprout-jar-hero{display:none}.sprout-jar-ticker{display:block}.hero-actions{padding-right:calc(clamp(150px,17vw,200px)/1.71527 + 32px)}}@media(max-width:760px){.hero-actions{padding-right:calc(.583 * 82px + 30px - var(--margin) + 12px)}.sprout-jar-ticker{height:82px;bottom:calc(100% - 7.8px);right:30px}}@media print{.sprout-stage,.sprout-jar{display:none}}.hero-availability{margin:14px 0 0}.home-design h2,.home-ai-team h2{max-width:18em}.home-design-lead,.home-ai-team p{max-width:40em;color:var(--muted,inherit);font-size:1.1rem}.home-design-list{flex-wrap:wrap;gap:12px 32px;margin:20px 0 0;padding:0;list-style:none;display:flex}.home-hydro{align-items:center;gap:28px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px);display:flex}.home-hydro-thumb{object-fit:cover;border:1px solid var(--line);flex:none;width:120px;height:150px}.home-hydro h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}.home-hydro-copy p{max-width:40em}.home-hydro-actions{flex-wrap:wrap;gap:10px 28px;margin-top:12px;display:flex}.home-ai-team{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}@media(max-width:760px){.home-hydro{align-items:flex-start;gap:18px}.home-hydro-thumb{width:72px;height:96px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}main:has(>.hydro-gallery){display:flex;flex-direction:column}main:has(>.hydro-gallery)>.hydro-gallery{order:2}main:has(>.hydro-gallery)>.contact{order:3}.hydro-gallery{padding-top:48px;padding-bottom:72px}.hydro-gallery h2{margin-bottom:12px}.hydro-gallery .rooted-heading h2{margin-bottom:0}.gallery-intro{max-width:68ch;margin:0 0 28px}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.media-grid figure{margin:0;min-width:0}.media-grid img,.media-grid video{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--surface)}.media-grid video{aspect-ratio:9 / 16}.media-grid figcaption{margin-top:10px;color:var(--muted);font-size:var(--step-small);line-height:1.45}.system-section+.system-section{margin-top:72px}.wide-grid{grid-template-columns:minmax(0,1fr)}.wide-grid img{aspect-ratio:1600 / 1113}.dashboard-shot{grid-template-columns:minmax(0,640px)}.dashboard-shot img{aspect-ratio:613 / 583;object-fit:contain;background:var(--bg)}.feature-shot{grid-template-columns:minmax(0,1fr)}.feature-shot img{aspect-ratio:1024 / 500;object-fit:contain;background:#234c3b}.rooted-heading{display:flex;align-items:center;gap:16px;margin-bottom:14px}.rooted-heading h2{margin:0}.rooted-heading img{width:64px;height:64px}.rooted-facts{max-width:68ch;margin:0 0 22px;padding-left:1.2em}.rooted-facts li{margin:0 0 12px;line-height:1.6}.rooted-tags{margin-bottom:28px}.journal-section .gallery-intro{margin-bottom:0}@media(max-width:700px){.hydro-gallery{padding-top:36px;padding-bottom:48px}.media-grid{grid-template-columns:1fr;gap:24px}.system-section+.system-section{margin-top:48px}.media-grid img,.media-grid video{max-height:78vh}}.growth-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px 36px;align-items:start;padding-bottom:12px}.growth-hero h1{grid-column:1 / -1;max-width:18em;font-size:clamp(2.2rem,4vw,4rem)}.growth-hero .hero-figure{grid-column:2;grid-row:2 / span 2}.growth-hero .hero-figure img{height:min(52svh,460px);object-position:center}.growth-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:22px}.growth-intro{margin-top:14px}.growth-note{max-width:62ch;margin-top:28px}.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center}.split figure img{height:min(64svh,560px);object-position:center}#baking .split figure img{height:auto;object-fit:contain;background:var(--surface)}.service-card-grid{display:flex;flex-direction:column;gap:0;margin-top:36px}.service-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px 32px;background:transparent;padding:26px 0}.service-card h3{margin:0}.service-card p{margin:0;max-width:58ch}.package-grid{display:flex;flex-direction:column;gap:28px;margin-top:8px}.package-card{background:var(--surface);padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:8px}.package-card>h3{margin:0 0 8px;font-size:clamp(2rem,3vw,2.8rem)}.service-card.package-card{background:transparent;padding:26px 0}.package-card p,.package-card li{line-height:1.55;max-width:68ch}.package-card .button{align-self:flex-start;margin-top:18px}.package-block{margin-top:16px}.package-block h4{margin:0 0 8px}.growth-list,.proof-list{margin:0;padding-left:1.15em}.growth-list li,.proof-list li{margin:8px 0}.package-grid .package-card:nth-child(2){background:var(--field);color:var(--field-ink)}.package-grid .package-card:nth-child(2) p,.package-grid .package-card:nth-child(2) li,.package-grid .package-card:nth-child(2) a{color:var(--field-ink)}.package-grid .package-card:nth-child(2) h4{color:var(--field-muted)}.package-grid .package-card:nth-child(2) .tags span{border-color:#0b100d4d;color:var(--field-ink)}.steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.step{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px 32px;padding:22px 0}.step h3{margin:0}.step p{margin:0;max-width:52ch}.faq{margin-top:8px}.faq details{padding:18px 0}.faq summary{cursor:pointer;font-size:var(--step-lead);font-weight:520;letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-weight:440}.faq details[open] summary:after{content:"–"}.faq details p{margin:12px 0 0;max-width:68ch}.proof-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.case-study{margin-top:64px}.case-study-head h2{margin:0 0 28px}.case-study h3{margin:0 0 10px}.case-study .case-layout section+section{margin-top:28px}.cs-shots{margin-top:36px}.cs-shot-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cs-shot-row{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.cs-shot{margin:0;min-width:0}.cs-shot img{display:block;width:100%;height:auto;background:var(--surface)}.cs-shot.mobile{width:min(240px,100%)}.cs-shot figcaption{margin-top:10px}.cs-note{margin-top:16px}.contact-growth{padding-block:8px 72px}.contact-growth h2{margin-bottom:10px}.contact-growth p{max-width:46ch}.growth-cta .contact-link{color:var(--field-ink)}@media(max-width:980px){.growth-hero,.split,.service-card,.step{grid-template-columns:1fr}.growth-hero h1,.growth-hero .hero-figure,.growth-hero .page-intro,.growth-hero .growth-actions{grid-column:1;grid-row:auto}.growth-hero .hero-figure img,.split figure img{height:auto;max-height:70vw}.cs-shot-grid{grid-template-columns:1fr}}@media(max-width:700px){.cs-shot.mobile{width:calc(50% - 12px)}.package-card{padding:22px 18px}}.services-hydro .split{grid-template-columns:minmax(0,1.6fr) minmax(0,.6fr)}.services-hydro .split figure img{height:min(34svh,300px)}@media(max-width:860px){.services-hydro .split figure img{max-height:46vw}}
