:root{--paper:#f4f2ec;--paper-soft:#faf8f3;--card:#fff;--ink:#163a2f;--ink-2:#23483c;--body:#2b2d28;--muted:#6c7167;--line:#e7e4da;--line-2:#d7d3c6;--accent:#b04a32;--accent-soft:#c9684f;--blue:#4f6b71;--sage:#879581;--gold:#c6a94c;--max:1180px;--pad:clamp(20px, 4vw, 56px);--radius:14px;--radius-sm:10px;--font-display:"Satoshi", "Helvetica Neue", Arial, sans-serif;--font-ui:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;--ease:cubic-bezier(.16, .8, .24, 1);font-family:var(--font-ui);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:radial-gradient(130% 90% at 88% -8%, color-mix(in srgb, var(--sage) 14%, transparent), transparent 58%), radial-gradient(120% 70% at 0% 0%, color-mix(in srgb, var(--gold) 7%, transparent), transparent 46%), var(--paper);color:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:17px;line-height:1.6;overflow-x:clip}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}a{color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.025em;font-weight:700}h1{text-wrap:balance;max-width:19ch;margin-bottom:28px;font-size:clamp(3rem,7vw,5.9rem);line-height:1.01}h2{text-wrap:balance;margin-bottom:16px;font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.05}h3{margin-bottom:12px;font-size:clamp(1.45rem,2.4vw,1.9rem);line-height:1.18}.kicker{color:var(--accent);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px;font-size:16px;font-weight:600}.lede,.section-heading p,.page-hero p,.case-hero p{color:var(--muted);font-size:clamp(1.12rem,1.6vw,1.32rem);line-height:1.5}.lede{max-width:54ch}.text-link{color:var(--ink);transition:background-size .35s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;padding-bottom:2px;font-weight:500;text-decoration:none}.text-link:after{content:" →";color:var(--accent)}.text-link:hover{background-size:100% 1.5px}.skip-link{background:var(--ink);color:var(--paper-soft);left:var(--pad);z-index:30;transition:transform .2s var(--ease);border-radius:8px;padding:10px 16px;position:fixed;top:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{padding:20px var(--pad);z-index:20;transition:background .3s var(--ease), border-color .3s var(--ease), padding .3s var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{background:color-mix(in srgb, var(--paper) 80%, transparent);border-bottom-color:color-mix(in srgb, var(--line-2) 80%, transparent);backdrop-filter:saturate(140%)blur(14px);padding-top:14px;padding-bottom:14px}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);transition:opacity .2s var(--ease);font-size:25px;font-weight:900;text-decoration:none}.wordmark:hover{opacity:.7}.site-header nav,.site-footer div{align-items:center;gap:clamp(18px,2vw,30px);display:flex}.site-header nav a,.site-footer a{color:var(--ink);opacity:.82;transition:opacity .2s var(--ease);font-size:16px;font-weight:500;text-decoration:none;position:relative}.site-header nav a:after{content:"";transform-origin:0;width:100%;height:1.5px;transition:transform .3s var(--ease);background:currentColor;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.site-header nav a:hover{opacity:1}.site-header nav a:hover:after{transform:scaleX(1)}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.nav-toggle span{background:var(--ink);width:22px;height:1.6px;transition:transform .3s var(--ease), opacity .3s var(--ease);border-radius:2px;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6.6px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.6px)rotate(-45deg)}.site-footer a:hover{opacity:1}.next-section,.work-section,.notes-section,.contact-section,.system-section,.page-hero,.case-hero,.case-image,.case-body{max-width:var(--max);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.button{border:1px solid var(--ink);cursor:pointer;letter-spacing:.01em;min-height:50px;transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.button.primary{background:var(--ink);color:var(--paper-soft)}.button.primary:hover{background:var(--ink-2);transform:translateY(-2px);box-shadow:0 14px 28px -14px #163a2f8c}.button.ghost{border-color:var(--line-2);color:var(--ink);background:0 0}.button.ghost:hover{background:var(--card);border-color:var(--ink);transform:translateY(-2px)}.button.primary:active,.button.ghost:active{transition-duration:.1s;transform:translateY(0)scale(.97)}.button:disabled{cursor:default;opacity:.7;transform:none}#system,#next,#contact{scroll-margin-top:100px}.hero{max-width:var(--max);padding:clamp(150px, 20vh, 224px) var(--pad) clamp(150px, 20vh, 220px);isolation:isolate;margin:0 auto;position:relative;overflow:hidden}.hero-copy{z-index:2;max-width:1000px;position:relative}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-meta{color:var(--muted);align-items:center;gap:10px;margin:28px 0 0;font-size:16px;display:flex}.hero-meta:before{content:"";background:var(--line-2);width:26px;height:1px}.crystal-glyph{color:var(--ink);pointer-events:none;display:block}.crystal-glyph svg{width:100%;height:auto;display:block;overflow:visible}.cg-panel{fill:color-mix(in srgb, var(--card) 82%, transparent);stroke:color-mix(in srgb, var(--ink) 14%, transparent);stroke-width:1.2px}.cg-line{fill:none;stroke:color-mix(in srgb, var(--ink) 45%, transparent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.cg-line.muted{stroke:color-mix(in srgb, var(--blue) 42%, transparent)}.cg-line.dotted{stroke:color-mix(in srgb, var(--ink) 34%, transparent);stroke-dasharray:3 8}.cg-plane{stroke:color-mix(in srgb, var(--paper-soft) 72%, transparent);stroke-linejoin:round;stroke-width:1.1px}.cg-plane.pale{fill:color-mix(in srgb, var(--paper-soft) 82%, var(--blue) 18%)}.cg-plane.teal,.cg-node.teal{fill:color-mix(in srgb, var(--sage) 52%, #2f9a9c 48%)}.cg-plane.blue,.cg-node.blue{fill:color-mix(in srgb, var(--blue) 76%, #8fb8d8 24%)}.cg-plane.stone{fill:color-mix(in srgb, var(--line-2) 72%, var(--ink) 28%)}.cg-plane.sage{fill:color-mix(in srgb, var(--sage) 70%, var(--paper-soft) 30%)}.cg-plane.coral,.cg-node.coral{fill:color-mix(in srgb, var(--accent) 76%, #f5b08b 24%)}.cg-node{stroke:var(--paper-soft);stroke-width:2px}.hero-salt-field{--hero-animation-opacity:.82;z-index:0;opacity:0;filter:drop-shadow(0 26px 38px #163a2f1f);width:100%;height:100%;animation:fadeInHero 1s var(--ease) .15s forwards;display:block;position:absolute;inset:0;mask-image:linear-gradient(90deg,#0000 0 28%,#000 54% 100%),linear-gradient(#0000 0,#000 14% 84%,#0000 100%)}.hero-copy{max-width:720px}.hero-copy .lede{max-width:45ch}.service-illustration{pointer-events:none;width:min(100%,260px);max-width:260px;margin:0 0 18px;display:block}.service-illustration svg{width:100%;height:auto;display:block;overflow:visible}.si-panel,.si-card{fill:color-mix(in srgb, var(--paper-soft) 80%, var(--card) 20%);stroke:color-mix(in srgb, var(--ink) 14%, transparent);stroke-width:1.35px}.si-card{fill:color-mix(in srgb, var(--card) 76%, var(--paper-soft) 24%)}.si-line,.si-path{fill:none;stroke:color-mix(in srgb, var(--ink) 48%, transparent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.si-line.muted,.si-path{stroke:color-mix(in srgb, var(--blue) 40%, transparent)}.si-path{stroke-dasharray:4 7}.si-block,.si-plane{stroke:color-mix(in srgb, var(--paper-soft) 88%, transparent);stroke-linejoin:round;stroke-width:1.15px}.si-block.teal,.si-plane.teal,.si-node.teal{fill:color-mix(in srgb, var(--sage) 58%, #2f9a9c 42%)}.si-block.blue,.si-plane.blue,.si-node.blue{fill:color-mix(in srgb, var(--blue) 78%, #8fb8d8 22%)}.si-block.stone,.si-plane.stone{fill:color-mix(in srgb, var(--line-2) 70%, var(--ink) 30%)}.si-plane.pale{fill:color-mix(in srgb, var(--paper-soft) 78%, var(--sage) 22%)}.si-plane.coral{fill:color-mix(in srgb, var(--accent) 76%, #f3b79d 24%)}.si-node{stroke:var(--paper-soft);stroke-width:3px}.offers-band{max-width:var(--max);padding:0 var(--pad);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:clamp(20px,4vw,44px) auto 0;display:grid}.offers-band a{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-height:310px;color:var(--ink);transition:transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);align-content:start;gap:18px;padding:30px;text-decoration:none;display:grid;position:relative;overflow:hidden}.offers-band a:after{content:"→";color:var(--accent);opacity:0;transition:opacity .28s var(--ease), transform .28s var(--ease);position:absolute;top:22px;right:24px;transform:translate(-6px)}.offers-band a:hover{border-color:var(--line-2);transform:translateY(-5px);box-shadow:0 26px 44px -30px #163a2f73}.offers-band a:hover:after{opacity:1;transform:translate(0)}.offers-band strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.55rem,2.1vw,1.95rem);font-weight:600;line-height:1.08}.offers-band span{color:var(--muted);max-width:18em;font-size:1rem;line-height:1.4}.statement-panels{max-width:var(--max);padding:clamp(72px, 9vw, 124px) var(--pad) 0;gap:0;margin:0 auto;display:grid}.statement-panel{border-top:1px solid var(--line);grid-template-columns:minmax(140px,.26fr) minmax(0,.82fr) minmax(240px,.46fr);align-items:center;gap:clamp(20px,3vw,48px);padding:clamp(32px,4.5vw,60px) 0;display:grid}.statement-panel:last-child{border-bottom:1px solid var(--line)}.statement-panel.accent .kicker{color:var(--blue)}.statement-panel .kicker{margin:0}.statement-panel h2{margin:0;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.06}.statement-panel p:last-child{color:var(--muted);max-width:30em;margin:0;font-size:1.12rem;line-height:1.45}.section-heading{max-width:720px}.section-heading.compact{margin-bottom:40px}.next-section,.work-section,.notes-section,.contact-section,.system-section{padding-top:clamp(80px,11vw,140px);padding-bottom:clamp(80px,11vw,140px)}.system-section{grid-template-columns:minmax(0,.92fr) minmax(300px,.9fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.system-copy{max-width:30em}.loop-figure{justify-content:center;margin:0;display:flex;position:relative}.loop-diagram{z-index:1;width:100%;max-width:600px;height:auto;position:relative;overflow:visible}.loop-diagram #loop-arrow path{fill:color-mix(in srgb, var(--ink) 58%, transparent)}.loop-orbit{fill:none;stroke:color-mix(in srgb, var(--ink) 12%, transparent);stroke-width:1.2px}.loop-flow{fill:none;stroke:color-mix(in srgb, var(--sage) 34%, transparent);stroke-dasharray:13 18;stroke-linecap:round;stroke-width:2.2px;animation:18s linear infinite loopDash}.loop-runner{transform-box:view-box;transform-origin:330px 238px;animation:15s linear infinite loopSpin}.loop-runner circle{fill:var(--accent);stroke:var(--paper);stroke-width:4px}.loop-hub{filter:drop-shadow(0 26px 34px #163a2f1a)}.hub-plane{stroke:color-mix(in srgb, var(--paper-soft) 85%, transparent);stroke-linejoin:round;stroke-width:1.5px}.hub-plane.pale{fill:color-mix(in srgb, var(--paper-soft) 78%, var(--sage) 22%)}.hub-plane.teal{fill:color-mix(in srgb, var(--sage) 56%, #2f9a9c 44%)}.hub-plane.blue{fill:color-mix(in srgb, var(--blue) 78%, #8fb8d8 22%)}.hub-plane.stone{fill:color-mix(in srgb, var(--line-2) 70%, var(--ink) 30%)}.loop-stage circle{fill:var(--ink);stroke:var(--paper);stroke-width:4px}.loop-stage text{fill:var(--ink);font-family:var(--font-ui);font-size:25px;font-weight:650}.loop-connector{fill:none;stroke:color-mix(in srgb, var(--ink) 46%, transparent);stroke-linecap:round;stroke-width:1.8px}.loop-connector.accent{stroke:color-mix(in srgb, var(--accent) 74%, transparent)}.case-gap{margin-top:clamp(28px,4vw,44px)}.next-grid{border-top:1px solid var(--line-2);margin-top:40px}.next-choice{border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;width:100%;transition:background .3s var(--ease), border-color .3s var(--ease), padding .3s var(--ease);background:0 0;border-left:2px solid #0000;grid-template-columns:56px minmax(180px,.58fr) minmax(0,1fr);align-items:baseline;gap:24px;padding:26px 22px 26px 18px;display:grid}.next-choice>span{font-family:var(--font-display);color:var(--muted);font-size:1.05rem;font-weight:600}.next-choice strong{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.3rem,2vw,1.55rem);font-weight:600;line-height:1.16}.next-choice em{color:var(--muted);max-width:46em;font-size:1.02rem;font-style:normal}.next-choice:hover{background:color-mix(in srgb, var(--sage) 8%, transparent)}.next-choice:hover strong{color:var(--blue)}.next-choice[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 6%, transparent);border-left-color:var(--accent);padding-left:22px}.next-choice[aria-pressed=true] strong{color:var(--accent)}.work-list{gap:clamp(48px,7vw,84px);display:grid}.work-row{grid-template-columns:minmax(0,.92fr) minmax(280px,.7fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}.work-row:nth-child(2n) .work-image{order:2}.work-image{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:transform .4s var(--ease), box-shadow .4s var(--ease);text-decoration:none;display:block;overflow:hidden;box-shadow:0 28px 50px -36px #163a2f66}.work-image img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;transition:transform .6s var(--ease)}.work-image:hover{transform:translateY(-4px);box-shadow:0 36px 60px -36px #163a2f80}.work-image:hover img{transform:scale(1.03)}.work-row h2 a,.work-row h3 a{color:var(--ink);transition:color .25s var(--ease);text-decoration:none}.work-row h2 a:hover,.work-row h3 a:hover{color:var(--blue)}.work-row p{color:var(--muted);margin-bottom:18px;font-size:1.1rem}.notes-section{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--paper-soft) 80%, transparent))}.notes-list{border-top:1px solid var(--line-2)}.note-row{border-bottom:1px solid var(--line);transition:padding .3s var(--ease);grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);gap:28px;padding:32px 0;display:grid}.note-row h3{margin-bottom:0}.note-row p{color:var(--muted);align-self:center;margin-bottom:0}.contact-section{grid-template-columns:minmax(0,.78fr) minmax(320px,1fr);align-items:start;gap:clamp(44px,7vw,92px);display:grid}.contact-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:18px;padding:clamp(24px,3vw,36px);display:grid;box-shadow:0 30px 60px -44px #163a2f66}label{gap:8px;display:grid}label span{color:var(--ink);font-size:16px;font-weight:500}.wide{grid-column:1/-1}input,select,textarea{background:var(--paper-soft);border:1px solid var(--line-2);border-radius:var(--radius-sm);color:var(--ink);width:100%;min-height:48px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);padding:12px 14px}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--ink);background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb, var(--ink) 14%, transparent);outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}textarea{resize:vertical}.contact-form .button{grid-column:1/-1;justify-self:start}.page-hero,.case-hero{max-width:900px;padding-top:clamp(150px,18vh,220px);padding-bottom:clamp(44px,6vw,80px)}.case-image{padding-bottom:clamp(48px,6vw,80px)}.case-image img{border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:0 34px 60px -40px #163a2f73}.case-body{grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,100px);padding-bottom:clamp(90px,12vw,140px);display:grid}.case-body p,.case-body li{color:var(--muted);font-size:1.1rem}.case-body ul{margin:0;padding-left:1.1em}.case-body li{margin-bottom:8px}.thanks{min-height:70vh}.site-footer{border-top:1px solid var(--line-2);margin:0 var(--pad);grid-template-columns:1fr 1fr auto;align-items:center;gap:24px;padding:40px 0;display:grid}.site-footer p{color:var(--muted);max-width:30em;margin:0}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes riseInk{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInHero{0%{opacity:0}to{opacity:var(--hero-animation-opacity)}}@keyframes pourIn{0%{opacity:0}to{opacity:1}}@keyframes loopSpin{to{transform:rotate(360deg)}}@keyframes loopDash{to{stroke-dashoffset:-186px}}[data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(28px)}[data-reveal].is-visible{opacity:1;transform:none}.hero-copy>*{opacity:0;animation:rise .8s var(--ease) forwards}.hero-copy .kicker{animation-delay:50ms}.hero-copy h1{animation:riseInk .9s var(--ease) forwards;animation-delay:.12s}.hero-copy .lede{animation-delay:.24s}.hero-copy .hero-actions{animation-delay:.34s}.hero-copy .hero-meta{animation-delay:.44s}@media (width<=1180px){.offers-band{grid-template-columns:1fr 1fr}}@media (width<=920px){.hero{padding-top:clamp(132px,17vh,168px);padding-bottom:clamp(72px,10vh,116px)}.hero-salt-field{--hero-animation-opacity:.38;mask-image:linear-gradient(90deg,#0000 0 36%,#000 68%),linear-gradient(#0000 0,#000 18% 78%,#0000 100%)}.statement-panel{grid-template-columns:1fr;align-items:start;gap:16px}.work-row,.note-row,.contact-section,.system-section,.case-body,.site-footer{grid-template-columns:1fr}.system-section .loop-figure{order:-1}.work-row:nth-child(2n) .work-image{order:0}.next-choice{grid-template-columns:44px 1fr;gap:8px 18px}.next-choice em{grid-column:2}.contact-form{grid-template-columns:1fr}.site-footer{gap:18px}}@media (width<=620px){body{font-size:16px}.nav-toggle{display:flex}.site-header nav{background:color-mix(in srgb, var(--paper-soft) 96%, transparent);backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--line-2);padding:8px var(--pad) 20px;opacity:0;pointer-events:none;transition:opacity .25s var(--ease), transform .25s var(--ease);flex-direction:column;align-items:flex-start;gap:2px;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.site-header nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-header nav a{width:100%;padding:10px 0}.offers-band{grid-template-columns:1fr}.hero-salt-field{--hero-animation-opacity:.2;mask-image:linear-gradient(90deg,#0000 0 48%,#000 82%),linear-gradient(#0000 0,#000 20% 76%,#0000 100%)}.service-illustration{max-width:220px}.next-choice{grid-template-columns:38px 1fr}.next-choice em{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-copy>*,[data-reveal]{opacity:1}.loop-flow,.loop-runner{animation:none}}
