:root{--c-bg:#F7F5F0;--c-surface:#FFFFFF;--c-text:#1A2422;--c-primary:#0F4F45;--c-primary-deep:#0B3B34;--c-secondary:#46605C;--c-accent:#A8511A;--c-dark-bg:#0C1F1C;--c-dark-text:#EDEDE6;--c-hairline:#E2DED5;--c-hairline-dark:rgba(237,237,230,0.18);--ff-display:'Newsreader',Georgia,'Times New Roman',serif;--ff-body:'Karla',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--fs-h1:clamp(2.6rem,5.4vw,4.4rem);--fs-h2:clamp(1.9rem,3vw,2.7rem);--fs-h3:clamp(1.35rem,2vw,1.75rem);--fs-body:1.0625rem;--fs-lead:clamp(1.1875rem,1.5vw,1.25rem);--fs-small:0.9375rem;--fs-tag:0.6875rem;--lh-tight:1.05;--lh-head:1.14;--lh-body:1.65;--measure:62ch;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:40px;--sp-8:56px;--sp-9:72px;--sp-10:96px;--sp-11:128px;--sp-12:160px;--section-y:clamp(72px,10vw,160px);--gutter:clamp(20px,5vw,40px);--container:1200px;--container-narrow:820px;--radius:4px;--radius-lg:6px;--header-h:68px;--mo-dur:520ms;--mo-ease:cubic-bezier(0.22,0.61,0.36,1);--mo-dist:18px;--mo-stagger:90ms;--mo-fast:300ms}@media(min-width:1081px){:root{--header-h:84px}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--ff-body);font-size:var(--fs-body);font-weight:400;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;color:var(--c-primary);margin:0 0 var(--sp-5);letter-spacing:-0.015em}h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}h2{font-size:var(--fs-h2);line-height:var(--lh-head)}h3{font-size:var(--fs-h3);font-weight:500;line-height:1.2;letter-spacing:-0.01em}h4{font-size:1.125rem;font-weight:600;line-height:1.3}p{margin:0 0 var(--sp-5);max-width:var(--measure)}p:last-child{margin-bottom:0}ul,ol{margin:0 0 var(--sp-5);padding-left:1.15em}li{margin-bottom:var(--sp-2)}strong{font-weight:700}em{font-style:italic}small{font-size:var(--fs-small)}hr{border:0;border-top:1px solid var(--c-hairline);margin:var(--sp-8) 0}a{color:var(--c-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em;transition:color var(--mo-fast) var(--mo-ease),text-decoration-thickness var(--mo-fast) var(--mo-ease)}a:hover{color:var(--c-accent);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--c-primary);color:var(--c-dark-text);padding:12px 20px;border-radius:0 0 var(--radius) 0;text-decoration:none;font-weight:700}.skip-link:focus{left:0}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--section-y)}.section--tight{padding-block:clamp(56px,7vw,104px)}.section--surface{background:var(--c-surface)}.section.section--dark{background:var(--c-dark-bg);color:var(--c-dark-text)}.section.section--dark h1,.section.section--dark h2,.section.section--dark h3,.section.section--dark h4{color:var(--c-dark-text)}.section.section--dark a{color:var(--c-dark-text)}.section.section--dark a:hover{color:var(--c-accent)}.section.section--dark p{color:rgba(237,237,230,0.88)}.section-head{margin-bottom:clamp(40px,5vw,72px);max-width:var(--measure)}.turnover-rule{display:flex;align-items:center;gap:3px;width:46px;margin:0 0 var(--sp-3)}.turnover-rule::before{content:'';display:block;width:40px;height:3px;background:var(--c-primary);transform-origin:left center;transition:transform var(--mo-dur) var(--mo-ease)}.turnover-rule::after{content:'';display:block;width:3px;height:3px;background:var(--c-accent)}h2 + .turnover-rule,.turnover-rule + h2{margin-bottom:var(--sp-4)}.section.section--dark .turnover-rule::before,.turnover-rule.turnover-rule--on-dark::before{background:rgba(237,237,230,0.7)}.ready-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-body);font-weight:700;font-size:var(--fs-tag);line-height:1;text-transform:uppercase;letter-spacing:0.14em;color:var(--c-secondary);margin:0 0 var(--sp-4)}.ready-tag::before{content:'';flex:0 0 auto;width:5px;height:5px;background:var(--c-accent);transform:translateY(-0.5px)}.section.section--dark .ready-tag,.ready-tag.ready-tag--on-dark{color:rgba(237,237,230,0.75)}.wash{display:inline;background-image:linear-gradient(180deg,rgba(15,79,69,0) 52%,rgba(15,79,69,0.16) 52%,rgba(15,79,69,0.16) 94%,rgba(15,79,69,0) 94%);padding:0 0.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.section.section--dark .wash,.wash.wash--on-dark{background-image:linear-gradient(180deg,rgba(237,237,230,0) 52%,rgba(237,237,230,0.16) 52%,rgba(237,237,230,0.16) 94%,rgba(237,237,230,0) 94%)}.indexed-steps{list-style:none;margin:0;padding:0}.indexed-step{padding:0 0 var(--sp-7);margin:0 0 var(--sp-7)}.indexed-step:last-child{margin-bottom:0;padding-bottom:0}.indexed-step__num{display:block;position:relative;font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:22px;line-height:1;color:var(--c-accent);padding-bottom:var(--sp-3);margin-bottom:var(--sp-4)}.indexed-step__num::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--c-hairline);transform-origin:left center;transition:transform var(--mo-dur) var(--mo-ease)}.section.section--dark .indexed-step__num::after{background:var(--c-hairline-dark)}.indexed-step__title{margin:0 0 var(--sp-3)}.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--c-secondary);max-width:var(--measure)}.section.section--dark .lead{color:rgba(237,237,230,0.85)}.measure{max-width:var(--measure)}.meta{font-size:var(--fs-small);color:var(--c-secondary)}.pull-quote{font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.35;color:var(--c-primary);border:0;margin:0;max-width:24ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:13px 26px;font-family:var(--ff-body);font-size:0.9375rem;font-weight:700;line-height:1.2;letter-spacing:0.005em;text-decoration:none;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background-color var(--mo-fast) var(--mo-ease),color var(--mo-fast) var(--mo-ease),border-color var(--mo-fast) var(--mo-ease),transform var(--mo-fast) var(--mo-ease)}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--c-primary);color:var(--c-dark-text);border-color:var(--c-primary)}.btn--primary:hover{background:var(--c-primary-deep);border-color:var(--c-primary-deep);color:var(--c-dark-text)}.btn--ghost{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}.btn--ghost:hover{color:var(--c-primary);background:rgba(15,79,69,0.06)}.section.section--dark .btn.btn--primary{background:var(--c-dark-text);color:var(--c-dark-bg);border-color:var(--c-dark-text)}.section.section--dark .btn.btn--ghost{color:var(--c-dark-text);border-color:rgba(237,237,230,0.45)}.section.section--dark .btn.btn--ghost:hover{background:rgba(237,237,230,0.08);color:var(--c-dark-text)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-6)}.link-underline{font-weight:500;color:var(--c-primary);text-decoration:none;border-bottom:1px solid var(--c-primary);padding-bottom:2px;transition:border-bottom-width var(--mo-fast) var(--mo-ease),color var(--mo-fast) var(--mo-ease)}.link-underline:hover{color:var(--c-primary);border-bottom-width:2px}.section.section--dark .link-underline{color:var(--c-dark-text);border-bottom-color:rgba(237,237,230,0.6)}.grid{display:grid;gap:clamp(24px,3vw,40px)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--split{grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);align-items:start}@media(max-width:960px){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.grid--2,.grid--3,.grid--split{grid-template-columns:minmax(0,1fr)}}.stack>*+*{margin-top:var(--sp-5)}.card{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--radius);padding:clamp(24px,3vw,36px);transition:transform var(--mo-fast) var(--mo-ease),border-color var(--mo-fast) var(--mo-ease)}.card p{max-width:46ch}.card:hover{transform:translateY(-4px);border-color:var(--c-primary)}.card.card--dark{background:var(--c-dark-bg);border-color:var(--c-hairline-dark);color:var(--c-dark-text)}.card.card--dark h3,.card.card--dark h4{color:var(--c-dark-text)}.card.card--dark p{color:rgba(237,237,230,0.85)}.card.card--dark .ready-tag{color:rgba(237,237,230,0.75)}.card.card--dark:hover{border-color:rgba(237,237,230,0.5)}.card.card--flat:hover{transform:none;border-color:var(--c-hairline)}.row-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-hairline)}.section.section--dark .row-list{border-top-color:var(--c-hairline-dark)}.row{display:flex;align-items:baseline;gap:var(--sp-4);padding:var(--sp-5) 0;border-bottom:1px solid var(--c-hairline);transition:transform var(--mo-fast) var(--mo-ease)}.section.section--dark .row{border-bottom-color:var(--c-hairline-dark)}.row::before{content:'';flex:0 0 auto;width:5px;height:5px;background:var(--c-accent);opacity:0;transform:translateY(-3px);transition:opacity var(--mo-fast) var(--mo-ease)}.row:hover{transform:translateX(6px)}.row:hover::before{opacity:1}.img-frame{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--c-primary)}img.img-treated,.img-treated>img,.img-treated img{border-radius:var(--radius);filter:saturate(0.88) contrast(1.03) brightness(1.02);width:100%}.img-treated{position:relative;display:block;border-radius:var(--radius);overflow:hidden}.img-treated::after{content:'';position:absolute;inset:0;background:rgba(15,79,69,0.14);mix-blend-mode:multiply;pointer-events:none;border-radius:var(--radius)}img.img-treated::after{content:none}.panel-fill{background:var(--c-primary);border-radius:var(--radius);min-height:320px}.panel-fill--dark{background:var(--c-dark-bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.text-center{text-align:center}.text-center .turnover-rule,.text-center .ready-tag{margin-inline:auto}.text-center p,.text-center .lead{margin-inline:auto}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.reveal{opacity:0;transform:translateY(var(--mo-dist));transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal:not(.is-visible) .turnover-rule::before{transform:scaleX(0)}.reveal:not(.is-visible) .indexed-step__num::after{transform:scaleX(0)}.reveal--d1{--reveal-delay:calc(var(--mo-stagger)*1)}.reveal--d2{--reveal-delay:calc(var(--mo-stagger)*2)}.reveal--d3{--reveal-delay:calc(var(--mo-stagger)*3)}.reveal--d4{--reveal-delay:calc(var(--mo-stagger)*4)}.reveal--d5{--reveal-delay:calc(var(--mo-stagger)*5)}.reveal-stagger>.reveal:nth-child(1){--reveal-delay:0ms}.reveal-stagger>.reveal:nth-child(2){--reveal-delay:calc(var(--mo-stagger)*1)}.reveal-stagger>.reveal:nth-child(3){--reveal-delay:calc(var(--mo-stagger)*2)}.reveal-stagger>.reveal:nth-child(4){--reveal-delay:calc(var(--mo-stagger)*3)}.reveal-stagger>.reveal:nth-child(5){--reveal-delay:calc(var(--mo-stagger)*4)}.reveal-stagger>.reveal:nth-child(6){--reveal-delay:calc(var(--mo-stagger)*5)}.reveal-stagger>.reveal:nth-child(7){--reveal-delay:calc(var(--mo-stagger)*6)}.reveal-stagger>.reveal:nth-child(8){--reveal-delay:calc(var(--mo-stagger)*7)}.enter{opacity:0;animation:mv-enter var(--mo-dur) var(--mo-ease) forwards;animation-delay:var(--reveal-delay,0ms)}@keyframes mv-enter{from{opacity:0;transform:translateY(var(--mo-dist))}to{opacity:1;transform:translateY(0)}}.enter-fade{opacity:0;animation:mv-settle 620ms var(--mo-ease) forwards;animation-delay:var(--reveal-delay,calc(var(--mo-stagger)*2))}@keyframes mv-settle{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.site-header{position:sticky;top:0;z-index:100;background:var(--c-bg);border-bottom:1px solid var(--c-hairline)}.site-header__inner{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--header-h)}.wordmark{display:inline-flex;align-items:flex-end;gap:4px;text-decoration:none;font-family:var(--ff-display);font-weight:600;font-size:1.3125rem;line-height:1;letter-spacing:-0.015em;color:var(--c-primary);white-space:nowrap;flex:0 0 auto}.wordmark:hover{color:var(--c-primary)}.wordmark__dot{display:block;width:6px;height:6px;background:var(--c-accent);margin-bottom:1px;flex:0 0 auto}.wordmark--short{font-size:1.125rem;letter-spacing:0}.wordmark--on-dark{color:var(--c-dark-text)}.wordmark--on-dark:hover{color:var(--c-dark-text)}.site-nav{margin-left:auto}.site-nav__list{display:flex;align-items:center;gap:clamp(14px,1.7vw,24px);list-style:none;margin:0;padding:0}.site-nav__list li{margin:0}.site-nav__link{font-size:0.9063rem;font-weight:500;color:var(--c-secondary);text-decoration:none;padding:6px 0;position:relative;white-space:nowrap;transition:color var(--mo-fast) var(--mo-ease)}.site-nav__link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--c-accent);transform:scaleX(0);transform-origin:left center;transition:transform var(--mo-fast) var(--mo-ease)}.site-nav__link:hover{color:var(--c-primary)}.site-nav__link:hover::after{transform:scaleX(1)}.site-header__cta{flex:0 0 auto;min-height:44px;padding:11px 20px}.nav-toggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.nav-burger{display:none;align-items:center;gap:10px;margin-left:auto;min-height:44px;padding:10px 12px;border:1px solid var(--c-hairline);border-radius:var(--radius);background:var(--c-surface);cursor:pointer;font-family:var(--ff-body);font-weight:700;font-size:var(--fs-tag);letter-spacing:0.14em;text-transform:uppercase;color:var(--c-secondary)}.nav-burger__bars{position:relative;display:block;width:18px;height:2px;background:var(--c-primary)}.nav-burger__bars::before,.nav-burger__bars::after{content:'';position:absolute;left:0;width:18px;height:2px;background:var(--c-primary)}.nav-burger__bars::before{top:-6px}.nav-burger__bars::after{top:6px}.nav-burger__txt--close{display:none}.nav-toggle:focus-visible + .nav-burger{outline:2px solid var(--c-accent);outline-offset:3px}.nav-toggle:checked ~ .nav-burger .nav-burger__txt--open{display:none}.nav-toggle:checked ~ .nav-burger .nav-burger__txt--close{display:inline}.nav-toggle:checked ~ .nav-burger .nav-burger__bars{background:transparent}.nav-toggle:checked ~ .nav-burger .nav-burger__bars::before{top:0;transform:rotate(45deg)}.nav-toggle:checked ~ .nav-burger .nav-burger__bars::after{top:0;transform:rotate(-45deg)}.nav-panel{position:fixed;left:0;right:0;top:var(--header-h);height:calc(100dvh - var(--header-h));overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--c-bg);border-top:1px solid var(--c-hairline);padding:var(--sp-5) var(--gutter) var(--sp-9);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--mo-fast) var(--mo-ease),transform var(--mo-fast) var(--mo-ease),visibility 0s linear var(--mo-fast);display:none}.nav-toggle:checked ~ .nav-panel{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}.nav-panel__list{list-style:none;margin:0 0 var(--sp-5);padding:0}.nav-panel__list li{margin:0;border-bottom:1px solid var(--c-hairline)}.nav-panel__link{display:flex;align-items:center;min-height:52px;padding:12px 0;font-family:var(--ff-display);font-weight:500;font-size:1.25rem;letter-spacing:-0.01em;color:var(--c-primary);text-decoration:none}.nav-panel__link:hover{color:var(--c-accent)}.nav-panel .btn{width:100%}@media(max-width:1080px){.site-nav,.site-header__cta{display:none}.nav-burger{display:inline-flex}.nav-panel{display:block}}.site-footer{background:var(--c-dark-bg);color:var(--c-dark-text);padding-block:clamp(56px,7vw,96px) var(--sp-7)}.site-footer a{color:rgba(237,237,230,0.82);text-decoration:none}.site-footer a:hover{color:var(--c-accent)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.footer-grid{grid-template-columns:minmax(0,1fr)}}.footer-blurb{font-size:var(--fs-small);color:rgba(237,237,230,0.78);max-width:34ch;margin-top:var(--sp-4)}.footer-heading{font-family:var(--ff-body);font-weight:700;font-size:var(--fs-tag);text-transform:uppercase;letter-spacing:0.14em;color:rgba(237,237,230,0.75);margin:0 0 var(--sp-4);display:flex;align-items:center;gap:8px}.footer-heading::before{content:'';width:5px;height:5px;background:var(--c-accent)}.footer-list{list-style:none;margin:0;padding:0}.footer-list li{margin:0 0 var(--sp-3)}.footer-list a{font-size:var(--fs-small);display:inline-block;min-height:28px;line-height:28px}.footer-bottom{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);align-items:center;justify-content:space-between;margin-top:clamp(40px,5vw,72px);padding-top:var(--sp-5);border-top:1px solid var(--c-hairline-dark);font-size:0.875rem;color:rgba(237,237,230,0.7)}.footer-bottom a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}@media(prefers-reduced-motion:reduce){.reveal{transform:none;transition:opacity 240ms linear;transition-delay:0ms}.reveal.is-visible{transform:none}.reveal:not(.is-visible) .turnover-rule::before,.reveal:not(.is-visible) .indexed-step__num::after{transform:none}.turnover-rule::before,.indexed-step__num::after{transition:none}.enter,.enter-fade{animation:mv-fade 240ms linear forwards}@keyframes mv-fade{from{opacity:0}to{opacity:1}}.btn:hover,.card:hover,.row:hover{transform:none}*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}
/* Anchor targets must clear the sticky header; without this the
   heading a visitor jumped to sits underneath it. */
:root { --nn-anchor-clearance: 5.5rem; }
section[id], main[id], [id][class*="section"] { scroll-margin-top: var(--nn-anchor-clearance); }
