/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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]){appearance:button}::file-selector-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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#20201d;--paper:#f6f2ea;--paper-deep:#ece6dc;--white:#fffdf8;--teal:#0d746d;--teal-deep:#083f3c;--line:#20201d2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{border-bottom:1px solid var(--line);background:var(--paper);letter-spacing:.04em;grid-template-columns:1fr auto 1fr;align-items:center;min-height:74px;padding:0 4.5vw;font-size:12px;display:grid}.wordmark{letter-spacing:0;font-family:Georgia,serif;font-size:19px;font-style:italic}nav{gap:28px;display:flex}nav a,.header-link{transition:opacity .2s}nav a:hover,.header-link:hover{opacity:.55}.header-link{justify-self:end}.hero{border-bottom:1px solid var(--line);grid-template-columns:1.08fr .92fr;align-items:center;gap:7vw;min-height:calc(100svh - 74px);padding:7vw 4.5vw 5vw;display:grid}.hero-copy{max-width:760px}.eyebrow,.kicker,.section-label{text-transform:uppercase;letter-spacing:.17em;margin:0;font-size:10px;font-weight:700}.eyebrow{color:var(--teal)}.hero h1{letter-spacing:-.045em;margin:28px 0 32px;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,5.15vw,76px);font-weight:400;line-height:1.03}.hero-intro{max-width:610px;margin:0;font-family:Georgia,serif;font-size:clamp(18px,1.5vw,23px);line-height:1.52}.quiet-link{text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid;gap:15px;margin-top:42px;padding-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.portrait-wrap{justify-self:end;width:min(100%,590px);margin:0}.portrait-wrap img{object-fit:cover;object-position:center 35%;filter:saturate(.88)contrast(.98);width:100%;max-height:690px}.portrait-wrap figcaption{text-transform:uppercase;letter-spacing:.14em;color:#20201d99;padding-top:12px;font-size:10px}.section{border-bottom:1px solid var(--line);grid-template-columns:20% 1fr;padding:105px 4.5vw;display:grid}.section-label{padding-top:5px}.section-body>h2,.recognition h2,.explore-head h2,.writing-title h2{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:400}.section-body>h2{max-width:950px;margin:16px 0 58px;font-size:clamp(40px,4.7vw,68px);line-height:1.04}.kicker{color:var(--teal)}.two-col{grid-template-columns:.8fr 1fr;gap:8vw;display:grid}.lead{margin:0;font-family:Georgia,serif;font-size:clamp(22px,2.1vw,30px);line-height:1.35}.copy{max-width:640px;font-size:16px;line-height:1.72}.copy p:first-child{margin-top:0}.copy p{margin-bottom:24px}.pull-line{color:var(--teal-deep);font-family:Georgia,serif;font-size:clamp(21px,1.8vw,27px);line-height:1.4}.text-link,.about-links a{text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid;gap:8px;padding:0 0 5px;font-size:11px;font-weight:700;display:inline-flex}.assetblue-summary{border-top:1px solid var(--ink);grid-template-columns:minmax(0,760px) auto;align-items:end;gap:7vw;padding-top:38px;display:grid}.assetblue-summary p{margin:0;font-family:Georgia,serif;font-size:clamp(20px,1.8vw,26px);line-height:1.55}.assetblue-summary .text-link{white-space:nowrap}.explorations{background:var(--white);border-bottom:1px solid var(--line);grid-template-columns:1.1fr 1fr 1fr;padding:78px 4.5vw;display:grid}.explore-head{padding-right:7vw}.explore-head h2{max-width:340px;margin:18px 0;font-size:clamp(32px,3.4vw,49px);line-height:1.07}.explorations article{border-left:1px solid var(--line);flex-direction:column;min-height:285px;padding:2px 3.5vw 0;display:flex}.explorations .number{color:var(--teal);margin:0;font-size:10px}.explorations h3{margin:34px 0 18px;font-family:Georgia,serif;font-size:37px;font-weight:400}.explorations article>p:not(.number){color:#20201db3;max-width:390px;font-size:15px;line-height:1.65}.explorations article span{text-transform:uppercase;letter-spacing:.16em;color:var(--teal);margin-top:auto;font-size:9px}.embibe{background:var(--paper-deep)}.embibe-intro{max-width:790px;font-family:Georgia,serif;font-size:clamp(21px,2vw,27px);line-height:1.48}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:68px 0 92px;display:grid}.stat{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:175px;padding:24px 20px 23px 0;display:flex}.stat:not(:first-child){padding-left:20px}.stat:last-child{border-right:0}.stat strong{letter-spacing:-.045em;font-family:Georgia,serif;font-size:clamp(37px,4.3vw,61px);font-weight:400}.stat span{max-width:180px;font-size:12px;line-height:1.45}.embibe-image{background:var(--white);margin:0}.embibe-image img{object-fit:cover;width:100%;height:100%}.embibe-image figcaption{text-transform:uppercase;letter-spacing:.1em;color:#20201d9e;padding:12px 2px 0;font-size:10px;line-height:1.45}.embibe-story{grid-template-columns:1.08fr .92fr;align-items:center;gap:7vw;margin:0 0 76px;display:grid}.embibe-image-human img{min-height:540px}.embibe-story-copy{max-width:650px}.embibe-story-copy>p:not(.moving-label){margin:24px 0;font-size:16px;line-height:1.72}.embibe-technology{grid-template-columns:1fr 1fr;gap:22px;margin:0 0 92px;display:grid}.embibe-technology img{min-height:360px}.embibe-film{border-top:1px solid var(--ink);margin:0 0 92px;padding-top:50px}.film-heading{grid-template-columns:.48fr 1fr;align-items:baseline;gap:6vw;margin-bottom:28px;display:grid}.film-heading>p:last-child{max-width:600px;margin:0;font-family:Georgia,serif;font-size:21px;line-height:1.4}.film-frame{aspect-ratio:16/9;background:var(--ink);position:relative;overflow:hidden}.film-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.moving-on{border-top:1px solid var(--ink);grid-template-columns:.48fr 1fr;gap:6vw;padding-top:50px;display:grid}.moving-label{text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:11px;font-weight:700}.moving-on>div>p{max-width:680px;font-size:17px;line-height:1.72}blockquote{letter-spacing:-.025em;max-width:820px;margin:48px 0;font-family:Georgia,serif;font-size:clamp(31px,3.6vw,52px);line-height:1.13}.recognition{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:38% 1fr;padding:92px 4.5vw;display:grid}.recognition h2{max-width:420px;margin:18px 0;font-size:clamp(35px,3.7vw,53px);line-height:1.05}.recognition-note{color:#20201dad;max-width:390px;margin-top:28px;font-size:14px;line-height:1.65}.award{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:19px 0;display:grid}.award:first-child{border-top:1px solid var(--line)}.award strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.award span{text-transform:uppercase;letter-spacing:.12em;font-size:10px}.media{background:var(--white);border-bottom:1px solid var(--line);grid-template-columns:38% 1fr;padding:92px 4.5vw 105px;display:grid}.media-head h2{letter-spacing:-.035em;max-width:440px;margin:18px 0;font-family:Georgia,serif;font-size:clamp(35px,3.7vw,53px);font-weight:400;line-height:1.05}.media-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.media-list a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-content:space-between;gap:10px 20px;min-height:170px;padding:22px 24px 20px 0;transition:opacity .2s;display:grid}.media-list a:nth-child(2n){border-left:1px solid var(--line);padding-left:24px}.media-list a:hover{opacity:.58}.media-outlet,.media-detail{text-transform:uppercase;letter-spacing:.13em;color:var(--teal);font-size:9px}.media-list strong{grid-column:1/-1;max-width:330px;font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.2}.media-detail{color:#20201d99}.writing{background:var(--teal-deep);color:#fff;position:relative;overflow:hidden}.writing-art{opacity:.94;height:clamp(220px,29vw,430px);overflow:hidden}.writing-art img{object-fit:cover;object-position:center 47%;width:100%;height:100%}.writing-grid{grid-template-columns:1.08fr .72fr;align-items:end;gap:9vw;padding:84px 4.5vw 100px;display:grid}.publication-mark{background:var(--paper);border-radius:50%;width:108px;height:108px;margin-bottom:32px;overflow:hidden}.publication-mark img{object-fit:cover;width:100%;height:100%}.writing-title h2{max-width:760px;margin:19px 0 30px;font-size:clamp(40px,4.8vw,70px);line-height:1.01}.writing-title>p:not(.section-label){color:#ffffffc7;max-width:650px;font-size:16px;line-height:1.7}.writing-actions{align-items:center;gap:24px;margin-top:32px;display:flex}.button{background:var(--paper);color:var(--ink);text-transform:uppercase;letter-spacing:.11em;align-items:center;gap:18px;padding:15px 18px;font-size:10px;font-weight:700;display:inline-flex}.subscribe-link{text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid #ffffffa6;padding-bottom:5px;font-size:10px}.featured-post{background:var(--paper);min-height:450px;color:var(--ink);flex-direction:column;padding:30px;transition:transform .25s;display:flex}.featured-post:hover{transform:translateY(-5px)}.post-top{text-transform:uppercase;letter-spacing:.14em;justify-content:space-between;font-size:9px;display:flex}.post-word{letter-spacing:-.07em;color:var(--teal-deep);margin:auto 0 13px;font-family:Georgia,serif;font-size:clamp(72px,8vw,112px);line-height:.82}.featured-post>p{margin:8px 0}.featured-post .post-deck{font-family:Georgia,serif;font-size:22px;line-height:1.28}.featured-post .post-excerpt{color:#20201da6;font-size:13px;line-height:1.6}.read{text-transform:uppercase;letter-spacing:.15em;margin-top:17px;font-size:9px;font-weight:700}.about{background:var(--white)}.about .section-body>h2{max-width:930px;font-size:clamp(39px,4.7vw,68px)}.about-links{flex-wrap:wrap;gap:23px;margin-top:42px;display:flex}footer{background:var(--ink);color:var(--paper);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;column-gap:5vw;row-gap:22px;padding:33px 4.5vw;font-size:10px}.footer-brand{display:flex;flex-direction:column;gap:6px}.footer-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}footer p:first-child{font-family:Georgia,serif;font-size:17px;font-style:italic}footer p{margin:0}footer .footer-actions a{justify-self:auto}@media (width<=900px){.site-header{grid-template-columns:1fr auto;padding-top:14px;padding-bottom:12px;min-height:0;row-gap:10px}nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:14px 22px}.hero{grid-template-columns:1fr;min-height:auto;padding-top:10vw}.portrait-wrap{justify-self:start;width:72%}.portrait-wrap img{max-height:660px}.section{grid-template-columns:1fr;gap:42px;padding:82px 6vw}.explorations{grid-template-columns:1fr 1fr;padding:72px 6vw}.explore-head{grid-column:1/-1;margin-bottom:50px}.explorations article:first-of-type{border-left:0;padding-left:0}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.embibe-story{gap:5vw}.embibe-image-human img{min-height:430px}.embibe-technology img{min-height:280px}.recognition,.media{grid-template-columns:1fr;gap:40px;padding:76px 6vw}.writing-grid{grid-template-columns:1fr;padding:70px 6vw 82px}.featured-post{min-height:420px}}@media (width<=600px){.site-header{min-height:0;padding:12px 6vw}.header-link{font-size:10px}.hero{gap:44px;padding:68px 6vw 48px}.hero h1{font-size:clamp(42px,12.5vw,60px)}.hero-intro{font-size:19px}.portrait-wrap{width:100%}.portrait-wrap img{max-height:520px}.two-col,.moving-on,.film-heading{grid-template-columns:1fr;gap:32px}.assetblue-summary{grid-template-columns:1fr;gap:30px}.lead{font-size:23px}.explorations{grid-template-columns:1fr}.explorations article{border-left:0;border-top:1px solid var(--line);min-height:250px;padding:28px 0}.stats{grid-template-columns:1fr}.stat,.stat:not(:first-child){border-right:0;border-bottom:1px solid var(--line);min-height:125px;padding:20px 0}.stat:last-child{border-bottom:0}.embibe-story,.embibe-technology{grid-template-columns:1fr;gap:36px;margin-bottom:72px}.embibe-image-human img,.embibe-technology img{min-height:0;max-height:none}.embibe-film{margin-bottom:72px}.film-heading{margin-bottom:22px}.award{grid-template-columns:1fr;gap:7px}.media-list{grid-template-columns:1fr}.media-list a,.media-list a:nth-child(2n){border-left:0;min-height:150px;padding:22px 0}.writing-art{height:240px}.writing-art img{object-position:center}.publication-mark{width:88px;height:88px}.writing-actions{flex-direction:column;align-items:flex-start}.featured-post{min-height:390px;padding:24px}footer{row-gap:18px}.footer-brand p:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}

/* Now / AssetBlue fold — inverted deep green block */
.section.now{background:var(--teal-deep);color:var(--paper);border-bottom-color:#f6f2ea2b}
.section.now .section-label{color:#f6f2ea99}
.section.now .kicker{color:#7fd6c9}
.section.now .assetblue-summary{border-top-color:#f6f2ea3d}
.section.now .text-link{color:#7fd6c9}

/* Embibe fold — lighter paper tone */
.embibe{background:var(--white)}
/* Alongside / explorations — keep distinct from Embibe */
.explorations{background:var(--paper-deep)}

/* Palette rhythm — light folds alternate paper/white, dark folds use deep green */
.hero{background:var(--white)}
.site-header{background:var(--white)}
.recognition{background:var(--paper-deep)}
.media{background:var(--white)}
.about{background:var(--paper-deep)}
footer{background:var(--paper)}

/* Green accents on light folds */
.hero .eyebrow,.recognition .section-label,.media .section-label,.about .section-label,.explorations .section-label{color:var(--teal)}
.recognition .award strong,.media-outlet{color:var(--teal-deep)}

/* Mint accents on dark folds */
.writing .section-label,.writing .kicker{color:#7fd6c9}
.writing .subscribe-link,.writing .text-link{color:#7fd6c9}

/* Prevent alt-text/label spill outside the circular publication mark */
.publication-mark{overflow:hidden}
.publication-mark img{width:100%;height:100%;object-fit:cover}

/* Prevent heading columns from colliding with the adjacent list */
@media (min-width:861px){
  .recognition,.media{column-gap:6vw}
  .recognition-head,.media-head{min-width:0;padding-right:2vw}
  .recognition h2,.media-head h2,.recognition-note{max-width:100%}
}

/* ---- Accessibility: keyboard navigation & assistive text ---- */
.visually-hidden{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}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--teal-deep);color:var(--paper);padding:12px 20px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.skip-link:focus{left:12px;top:12px}
:where(a,button,[tabindex="0"],iframe,summary):focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.now :where(a,button):focus-visible,.writing :where(a,button):focus-visible{outline-color:#7fd6c9}
section:focus{outline:none}
section:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
.media-list a:focus-visible,.featured-post:focus-visible{outline-offset:-3px}
ul.stats,ul.award-list{list-style:none;margin-block-start:0;padding:0}
ul.stats{margin:68px 0 92px}
li.stat,li.award{list-style:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Sticky header + smooth section anchoring */
html{scroll-behavior:smooth}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(8px)}
.site-header nav{display:flex;flex-wrap:wrap;gap:0 1.6vw;justify-content:center}
.site-header nav a{position:relative;padding:4px 0;text-decoration:none}
.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .25s ease}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}
main > section,section[id]{scroll-margin-top:96px}
@media (max-width:860px){main > section,section[id]{scroll-margin-top:120px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header nav a:after{transition:none}}

/* Content-extreme safety: long unbroken names/URLs must wrap, never overflow */
h1,h2,h3,h4,p,li,a,span,strong,em,blockquote,figcaption,td,th,.wordmark{overflow-wrap:anywhere;word-break:break-word}

/* Live Substack feed */
.post-feed{grid-column:1/-1;margin-top:34px;border-top:1px solid rgba(246,242,234,.24);padding-top:22px}
.feed-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7fd6c9;margin:0 0 14px}
.feed-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.feed-item{border-bottom:1px solid rgba(246,242,234,.16);padding:14px 0}
.feed-item a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;text-decoration:none;color:inherit}
.feed-title{font-size:clamp(18px,2.1vw,24px);letter-spacing:.02em}
.feed-item a:hover .feed-title,.feed-item a:focus-visible .feed-title{color:#7fd6c9}
.feed-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.65;white-space:nowrap}
.feed-deck{margin:6px 0 0;font-size:14px;line-height:1.5;opacity:.8;max-width:60ch}
@media (max-width:600px){.feed-item a{flex-direction:column;gap:4px}.feed-meta{white-space:normal}}

/* Scrollspy: current section highlight in sticky nav */
.site-header nav a[aria-current="true"]{color:var(--teal);font-weight:700}
.site-header nav a[aria-current="true"]:after{right:0;height:2px;background:var(--teal)}

/* Subtle scroll progress indicator under the sticky header */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;pointer-events:none}
.scroll-progress-bar{display:block;height:100%;width:0;background:var(--teal);opacity:.75;transform-origin:left center;transition:width .1s linear}
@media (prefers-reduced-motion:reduce){.scroll-progress-bar{transition:none}}

/* Mobile navigation drawer */
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;background:none;border:1px solid var(--line);cursor:pointer;color:inherit}
.nav-toggle-bars{display:grid;gap:4px;width:18px}
.nav-toggle-bars span{display:block;height:1.5px;background:currentColor;transition:transform .22s ease,opacity .18s ease}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.nav-scrim{position:fixed;inset:0;background:rgba(32,32,29,.45);z-index:60;border:0}
@media (max-width:900px){
  /* backdrop-filter would make the header a containing block for the fixed drawer */
  .site-header{grid-template-columns:1fr auto auto;row-gap:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-toggle{display:flex;order:3}
  .header-link{order:2;margin-right:14px}
  .site-header nav{position:fixed;top:0;right:0;bottom:0;width:min(84vw,340px);z-index:70;background:var(--white);border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:96px 8vw 40px;transform:translateX(102%);transition:transform .28s ease;visibility:hidden;overflow-y:auto}
  body.nav-open .site-header nav{transform:none;visibility:visible;box-shadow:-18px 0 44px rgba(32,32,29,.14)}
  .site-header nav a{width:100%;padding:16px 0;font-size:15px;letter-spacing:.06em;border-bottom:1px solid var(--line)}
  .site-header nav a:after{display:none}
  .site-header nav a[aria-current="true"]{color:var(--teal)}
  body.nav-open{overflow:hidden}
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){.site-header nav{transition:none}}
@media (min-width:901px){.nav-scrim{display:none}}

/* Footer legal line */
footer{row-gap:18px}
.footer-legal{flex:1 0 100%;margin:0;padding-top:20px;border-top:1px solid #20201d1f;text-transform:uppercase;letter-spacing:.14em;opacity:.62;text-align:left}
@media (max-width:900px){.footer-legal{text-align:left}}
footer{color:var(--ink)}
.contact-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-start;justify-content:center;padding:6vh 4vw}
.contact-modal[hidden]{display:none}
.contact-modal-scrim{position:absolute;inset:0;background:rgba(8,32,30,.62)}
.contact-modal-panel{position:relative;background:var(--white);border:1px solid var(--ink);width:min(560px,100%);max-height:88vh;overflow:auto;padding:40px clamp(22px,4vw,46px) 42px}
.contact-modal-close{position:absolute;top:12px;right:12px;background:none;border:0;font-size:18px;line-height:1;color:var(--ink);cursor:pointer;padding:8px}
.contact-modal-panel h2{margin:6px 0 14px;font-size:clamp(28px,3vw,38px);line-height:1.1}
.contact-note{margin:0 0 4px;font-size:15px;line-height:1.6;color:var(--ink-soft,var(--ink))}
.contact-form{display:grid;gap:20px;border-top:1px solid var(--line);padding-top:26px;margin-top:22px}
body.contact-open{overflow:hidden}
.contact-form .field{display:grid;gap:9px}
.contact-form label{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}
.contact-form input,.contact-form textarea{background:var(--white);border:1px solid var(--line);padding:14px 15px;font-family:Arial,Helvetica,sans-serif;font-size:15px;color:var(--ink);width:100%}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-color:var(--teal)}
.contact-form textarea{resize:vertical;line-height:1.6}
.contact-form .field[data-invalid="true"] input,.contact-form .field[data-invalid="true"] textarea{border-color:#a3271f}
.contact-submit{justify-self:start;background:var(--teal-deep);color:var(--paper);border:0;padding:15px 30px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;cursor:pointer;transition:opacity .2s}
.contact-submit:hover{opacity:.82}
.contact-submit[disabled]{opacity:.5;cursor:progress}
.contact-status{margin:0;font-size:13px;line-height:1.6;min-height:1.2em}
.contact-status[data-state="success"]{color:var(--teal-deep);font-family:Georgia,serif;font-size:17px;display:flex;flex-direction:column;gap:6px}
.contact-status .contact-status-time{font-family:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-variant-numeric:tabular-nums}
.contact-status[data-state="error"]{color:#a3271f}
@media (max-width:860px){.contact-modal{padding:0}.contact-modal-panel{width:100%;max-height:100vh;min-height:100vh;border:0}}
.footer-contact{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
