@font-face{font-family:'Merriweather Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url('/assets/fonts/merriweather-sans-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Merriweather Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url('/assets/fonts/merriweather-sans-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Merriweather Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('/assets/fonts/merriweather-sans-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Merriweather Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('/assets/fonts/merriweather-sans-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Vollkorn';font-style:italic;font-weight:400 900;font-display:swap;src:url('/assets/fonts/vollkorn-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Vollkorn';font-style:italic;font-weight:400 900;font-display:swap;src:url('/assets/fonts/vollkorn-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Vollkorn';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/vollkorn-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Vollkorn';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/vollkorn-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root {
--un-loam:       oklch(0.261 0.026 56);
--un-paper:      oklch(0.978 0.008 74);
--un-russet:     oklch(0.525 0.132 36);
--un-crimson:    oklch(0.412 0.111 30);
--un-leaf:       oklch(0.644 0.118 73);
--un-leaf-lit:   oklch(0.777 0.110 79);
--un-ochre:      oklch(0.476 0.090 75);
--un-moss:       oklch(0.473 0.059 116);
--un-bark:       oklch(0.473 0.035 59);
--un-bracken:    oklch(0.308 0.030 97);
--un-blush:      oklch(0.942 0.020 60);
--un-moss-stone: oklch(0.943 0.017 103);
--un-linen:      oklch(0.946 0.019 80);
--un-hairline:   oklch(0.903 0.016 77);
--un-font-display: "Vollkorn", Georgia, serif;
--un-font-body: "Merriweather Sans", system-ui, sans-serif;
--ease: cubic-bezier(.33,.72,.28,1);
--wrap: 1120px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
background: var(--un-paper);
color: var(--un-loam);
font-family: var(--un-font-body);
font-size: 1.0625rem;
line-height: 1.65;
-webkit-font-smoothing: antialiased;
}
[hidden] { display: none !important; }
img, svg, video { max-width: 100%; height: auto; }
::placeholder { color: color-mix(in oklab, var(--un-bark) 40%, transparent); }
h1, h2 {
font-family: var(--un-font-display);
font-weight: 600;
line-height: 1.14;
letter-spacing: -0.01em;
color: var(--un-loam);
margin: 0 0 .6em;
text-wrap: balance;
}
h1 { font-size: clamp(2.15rem, 4.6vw, 3.35rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.2rem); }
h3 { font-family: var(--un-font-display); font-weight: 620; font-size: 1.3rem; line-height: 1.25; margin: 0 0 .45em; }
p { margin: 0 0 1.1em; }
a { color: var(--un-russet); text-decoration-color: color-mix(in oklab, var(--un-russet) 45%, transparent); text-underline-offset: 3px; transition: color .22s var(--ease), text-decoration-color .22s var(--ease); }
a:hover { color: var(--un-crimson); text-decoration-color: currentColor; }
strong { font-weight: 700; }
small { color: var(--un-bark); }
.eyebrow {
font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
color: var(--un-bark); display: block; margin-bottom: .9rem;
}
.kicker-voice {
font-family: var(--un-font-display); font-style: italic; font-weight: 500;
font-size: clamp(1.15rem, 2vw, 1.4rem); color: var(--un-ochre); line-height: 1.4;
}
.lede { font-size: clamp(1.08rem, 1.6vw, 1.2rem); line-height: 1.7; }
.wrap { max-width: var(--wrap); margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 2.5rem); }
.wrap-narrow { max-width: 800px; }
hr, .divider {
border: 0; height: 26px; margin: 2.6rem auto; width: min(340px, 70%);
background: url(/assets/brand/micro/divider-clearing.svg) no-repeat center / contain;
}
ul.strata { list-style: none; padding-left: 0; margin: 0 0 1.2em; }
ul.strata li { padding-left: 1.7rem; position: relative; margin-bottom: .55em; }
ul.strata li::before {
content: ""; position: absolute; left: 0; top: .28em; width: 1rem; height: 1rem;
background: url(/assets/brand/micro/bullet-strata.svg) no-repeat center / contain;
}
.on-dark ul.strata li::before { background-image: url(/assets/brand/micro/bullet-strata-reversed.svg); }
blockquote {
margin: 2rem 0; padding: .2rem 0 .2rem 3.4rem; position: relative;
font-family: var(--un-font-display); font-size: 1.22rem; font-style: italic; line-height: 1.5;
color: var(--un-crimson);
}
blockquote::before {
content: ""; position: absolute; left: 0; top: .3rem; width: 2.5rem; height: 1.45rem;
background: url(/assets/brand/micro/quote-lobes.svg) no-repeat center / contain;
}
.btn {
display: inline-flex; align-items: center; gap: .5rem;
background: var(--un-russet); color: var(--un-paper);
font-family: var(--un-font-body); font-weight: 700; font-size: 1rem;
padding: .78rem 1.5rem; border-radius: 999px; border: 0; cursor: pointer;
text-decoration: none; line-height: 1.2;
transition: background .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);
}
.btn:hover { background: var(--un-crimson); color: var(--un-paper); transform: translateY(-1px); box-shadow: 0 6px 18px -8px color-mix(in oklab, var(--un-crimson) 60%, transparent); }
.btn:active { transform: translateY(0); }
.btn svg, .btn img { width: 16px; height: 16px; flex: 0 0 auto; }
.btn-quiet {
display: inline-flex; align-items: center; gap: .5rem;
background: transparent; color: var(--un-loam); font-weight: 700; font-size: 1rem;
padding: .74rem 1.4rem; border-radius: 999px; border: 1.5px solid var(--un-loam);
cursor: pointer; text-decoration: none; line-height: 1.2;
transition: background .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease);
}
.btn-quiet:hover { background: var(--un-loam); color: var(--un-linen); border-color: var(--un-loam); }
.on-dark .btn-quiet { color: var(--un-linen); border-color: var(--un-linen); }
.on-dark .btn-quiet:hover { background: var(--un-linen); color: var(--un-loam); }
.site-head {
background: var(--un-paper);
border-bottom: 1px solid var(--un-hairline);
position: sticky; top: 0; z-index: 50;
}
.site-head .bar {
display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
padding-block: .8rem;
}
.site-head .brand { display: inline-flex; align-items: center; text-decoration: none; }
.site-head .brand img { height: 46px; width: auto; display: block; }
.nav-primary { display: flex; align-items: center; gap: 1.5rem; }
.nav-primary a:not(.btn) {
color: var(--un-loam); text-decoration: none; font-weight: 500; font-size: .97rem;
padding-bottom: 2px; border-bottom: 2px solid transparent;
transition: border-color .22s var(--ease), color .22s var(--ease);
}
.nav-primary a:not(.btn):hover { color: var(--un-crimson); border-bottom-color: var(--un-leaf); }
.nav-primary a.btn { color: var(--un-paper); padding: .55rem 1.15rem; font-size: .93rem; }
body[data-page="services"] .nav-primary a[data-nav="services"],
body[data-page="areas"]    .nav-primary a[data-nav="areas"],
body[data-page="guides"]   .nav-primary a[data-nav="guides"],
body[data-page="walk"]     .nav-primary a[data-nav="walk"],
body[data-page="about"]    .nav-primary a[data-nav="about"] {
border-bottom-color: var(--un-russet); color: var(--un-crimson);
}
.nav-toggle { display: none; }
@media (max-width: 880px) {
.nav-primary { display: none; }
.nav-toggle {
display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
background: none; border: 1.5px solid var(--un-loam); border-radius: 999px;
min-height: 44px; padding: .45rem 1.15rem;
font: 700 .9rem var(--un-font-body); color: var(--un-loam); cursor: pointer;
}
.drawer {
position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column;
background: var(--un-loam) url(/assets/brand/textures/loam-grain-panel.webp) center / cover;
padding: 1.2rem clamp(1.25rem, 6vw, 2rem) 2.5rem;
transform: translateX(100%); transition: transform .34s var(--ease); visibility: hidden;
}
.drawer.open { transform: translateX(0); visibility: visible; }
.drawer .drawer-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.2rem; }
.drawer .drawer-top img { height: 40px; width: auto; }
.drawer-close { background: none; border: 1.5px solid var(--un-linen); color: var(--un-linen); border-radius: 999px; min-height: 44px; padding: .45rem 1.15rem; font: 700 .9rem var(--un-font-body); cursor: pointer; }
.drawer nav { display: flex; flex-direction: column; gap: .35rem; }
.drawer nav a:not(.btn) {
color: var(--un-linen); text-decoration: none;
font-family: var(--un-font-display); font-weight: 550; font-size: 1.65rem; line-height: 1.3;
padding: .45rem 0; border-bottom: 1px solid color-mix(in oklab, var(--un-linen) 18%, transparent);
}
.drawer nav a:not(.btn):hover { color: var(--un-leaf-lit); }
.drawer nav a.btn { margin-top: 1.6rem; align-self: flex-start; color: var(--un-paper); font-size: 1.05rem; }
.drawer .drawer-note { margin-top: auto; color: var(--un-leaf-lit); font-size: .9rem; }
}
@media (min-width: 881px) { .drawer { display: none; } }
.band { padding-block: clamp(3rem, 7vw, 5.5rem); position: relative; }
.band-tight { padding-block: clamp(2.2rem, 5vw, 3.5rem); }
.band-blush { background: var(--un-blush); }
.band-moss-stone { background: var(--un-moss-stone); }
.band-loam { background: var(--un-loam) url(/assets/brand/textures/loam-grain-panel.webp) center / cover; color: var(--un-linen); }
.band-bracken { background: var(--un-bracken); color: var(--un-linen); }
.on-dark h1, .on-dark h2, .on-dark h3 { color: var(--un-linen); }
.on-dark { font-weight: 500; }
.on-dark a:not(.btn) { color: var(--un-leaf-lit); text-decoration-color: color-mix(in oklab, var(--un-leaf-lit) 45%, transparent); }
.on-dark a:not(.btn):hover { color: var(--un-linen); }
.on-dark .eyebrow { color: var(--un-leaf-lit); }
.tex-leaf-whisper { background-image: url(/assets/brand/textures/leaf-litter-whisper.svg); background-size: 480px; }
.tex-rake-whisper { background-image: url(/assets/brand/textures/rake-lines-whisper.svg); background-size: 440px; }
.tex-leaf-grain   { background-image: url(/assets/brand/textures/leaf-litter-grain.svg); background-size: 320px; }
.tex-rake-grain   { background-image: url(/assets/brand/textures/rake-lines-grain.svg); background-size: 300px; }
.canopy-top { position: relative; }
.canopy-top::before {
content: ""; position: absolute; left: 0; right: 0; top: -56px; height: 56px;
background: url(/assets/brand/textures/canopy-edge-loam.svg) repeat-x bottom / auto 56px;
pointer-events: none;
}
.canopy-top-paper::before { background-image: url(/assets/brand/textures/canopy-edge-paper.svg); }
.canopy-top-russet::before { background-image: url(/assets/brand/textures/canopy-edge-russet.svg); }
.wm { overflow: clip; isolation: isolate; }
.wm::after {
content: ""; position: absolute; pointer-events: none; z-index: -1;
width: 40%; aspect-ratio: 357/393; right: -5%; bottom: -8%;
background: url(/assets/brand/textures/watermark-mark-loam.svg) no-repeat center / contain;
}
.wm-cream::after { background-image: url(/assets/brand/textures/watermark-mark-cream.svg); }
.wm-left::after { right: auto; left: -6%; }
.card {
background: var(--un-paper); border: 1px solid var(--un-hairline); border-radius: 14px;
padding: 1.6rem 1.5rem; position: relative;
transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
}
a.card { display: block; text-decoration: none; color: var(--un-loam); }
.card:hover { transform: translateY(-3px); border-color: color-mix(in oklab, var(--un-russet) 35%, var(--un-hairline)); box-shadow: 0 14px 30px -18px color-mix(in oklab, var(--un-loam) 45%, transparent); }
.card .spot { width: 56px; height: 56px; margin-bottom: .9rem; }
.card h3 a { color: var(--un-loam); text-decoration: none; }
.card h3 a:hover { color: var(--un-crimson); }
.card .go { font-weight: 700; font-size: .92rem; color: var(--un-russet); }
.card:hover .go { color: var(--un-crimson); }
.grid-2 { display: grid; gap: 1.4rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3 { display: grid; gap: 1.4rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-4 { display: grid; gap: 1.4rem; grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 980px) { .grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } .grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } }
.grid-2 > *, .grid-3 > *, .grid-4 > * { min-width: 0; }
.fig-ground { margin: 0; }
.fig-ground img { display: block; width: 100%; border-radius: 14px; }
.fig-ground::after {
content: ""; display: block; height: 7px; border-radius: 999px;
background: var(--un-loam); width: 38%; margin: 1rem 0 0 2%;
}
.fig-ground.fig-gold::after { background: var(--un-leaf); }
.fig-ground figcaption { color: var(--un-bark); font-size: .88rem; margin-top: .7rem; }
.table-scroll { overflow-x: auto; }
table.un {
border-collapse: collapse; width: 100%; min-width: min(560px, 100%);
font-size: .97rem;
}
table.un th { font-family: var(--un-font-body); font-weight: 700; text-align: left; color: var(--un-loam); }
table.un th, table.un td { padding: .65rem .9rem .65rem 0; border-bottom: 1px solid var(--un-hairline); vertical-align: top; }
table.un td { color: var(--un-loam); }
table.un td.muted { color: var(--un-bark); }
.form-card {
background: var(--un-paper); border: 1px solid var(--un-hairline); border-radius: 16px;
padding: clamp(1.4rem, 3vw, 2.2rem);
color: var(--un-loam); font-weight: 400;
}
.form-card .form-note { color: var(--un-bark); }
.field { margin-bottom: 1.05rem; }
.field label { display: block; font-weight: 700; font-size: .92rem; margin-bottom: .35rem; }
.field input, .field select, .field textarea {
width: 100%; font: 400 1rem var(--un-font-body); color: var(--un-loam);
background: #fff; border: 1.5px solid var(--un-hairline); border-radius: 10px;
padding: .7rem .85rem; transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus {
outline: none; border-color: var(--un-russet);
box-shadow: 0 0 0 3px color-mix(in oklab, var(--un-russet) 18%, transparent);
}
.field-row { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }
.form-note { font-size: .9rem; color: var(--un-bark); }
.lead-result { border-radius: 12px; padding: 1.1rem 1.2rem; margin-top: 1rem; font-weight: 500; }
[data-lead-success].lead-result { background: var(--un-moss-stone); color: var(--un-loam); display: flex; gap: 1rem; align-items: center; }
[data-lead-success] img { width: 84px; height: 63px; flex: 0 0 auto; }
[data-lead-error].lead-result { background: var(--un-blush); color: var(--un-crimson); }
.walk-plan { margin: 0 0 1.8rem; }
.walk-plan svg { display: block; width: 100%; height: auto; }
.walk-stations { display: grid; gap: 1rem; grid-template-columns: repeat(5, minmax(0,1fr)); }
@media (max-width: 1020px) { .walk-stations { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .walk-stations { grid-template-columns: 1fr; } }
.station {
background: var(--un-paper); border: 1.5px solid var(--un-hairline); border-radius: 14px;
padding: 1.1rem 1rem 1rem; transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.station.active { border-color: var(--un-russet); box-shadow: 0 10px 24px -16px color-mix(in oklab, var(--un-crimson) 55%, transparent); }
.station h3 { font-size: 1.08rem; margin-bottom: .2rem; }
.station .st-desc { font-size: .88rem; color: var(--un-bark); margin-bottom: .75rem; min-height: 3.4em; }
.station .st-levels { display: flex; flex-direction: column; gap: .35rem; }
.station .st-levels button {
font: 500 .88rem var(--un-font-body); text-align: left; cursor: pointer;
background: none; border: 1.5px solid var(--un-hairline); border-radius: 8px;
padding: .42rem .6rem; color: var(--un-loam);
transition: border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.station .st-levels button:hover { border-color: var(--un-russet); }
.station .st-levels button[aria-pressed="true"] { background: var(--un-russet); border-color: var(--un-russet); color: var(--un-paper); font-weight: 700; }
.walk-result {
background: var(--un-blush); border-radius: 16px; padding: clamp(1.4rem, 3vw, 2rem);
margin-top: 2rem; position: relative; overflow: clip;
}
.walk-result .scale-line { font-family: var(--un-font-display); font-weight: 620; font-size: clamp(1.35rem, 2.6vw, 1.8rem); line-height: 1.25; margin-bottom: .5rem; }
.walk-result .pair-note { color: var(--un-ochre); font-weight: 700; }
.walk-facts { font-size: .92rem; color: var(--un-bark); border-top: 1px solid color-mix(in oklab, var(--un-bark) 25%, transparent); padding-top: 1rem; margin-top: 1.2rem; }
#walk-leaf { transition: transform .6s var(--ease); will-change: transform; }
.plan-dot circle { transition: fill .25s var(--ease); }
.plan-dot.lit circle { fill: var(--un-russet); }
.register-estate h2, .register-estate h3 { font-weight: 440; line-height: 1.3; letter-spacing: 0; }
.register-estate .eyebrow { color: var(--un-moss); }
.register-estate a:not(.btn) { color: var(--un-crimson); }
body.mode-estate { background: var(--un-moss-stone); }
body.mode-estate .site-head { background: var(--un-moss-stone); }
body.mode-estate h1, body.mode-estate h2 { font-weight: 440; line-height: 1.3; letter-spacing: 0; }
body.mode-estate h1 { font-size: clamp(1.9rem, 3.8vw, 2.7rem); }
body.mode-estate h3 { font-weight: 500; }
body.mode-estate .eyebrow { color: var(--un-moss); }
body.mode-estate .btn, body.mode-estate .nav-primary a.btn {
background: transparent; color: var(--un-crimson); border: 1.5px solid color-mix(in oklab, var(--un-bark) 40%, transparent);
box-shadow: none; transform: none;
}
body.mode-estate .btn:hover { background: color-mix(in oklab, var(--un-bark) 10%, transparent); color: var(--un-crimson); }
body.mode-estate .card { background: color-mix(in oklab, var(--un-paper) 60%, var(--un-moss-stone)); }
body.mode-estate ul.strata li::before { filter: none; }
.estate-step { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.1rem; margin-bottom: 1.6rem; }
.estate-step .n {
font-family: var(--un-font-display); font-weight: 440; font-size: 1.7rem; color: var(--un-moss);
border-top: 2px solid var(--un-moss); padding-top: .3rem;
}
.site-foot { padding: clamp(2.6rem, 6vw, 4rem) 0 2rem; }
.site-foot .cols { display: grid; gap: 2rem; grid-template-columns: 1.4fr 1fr 1fr; align-items: start; }
@media (max-width: 780px) { .site-foot .cols { grid-template-columns: 1fr; } }
.site-foot img.foot-logo { width: 190px; height: auto; }
.site-foot h3 { font-size: .82rem; font-family: var(--un-font-body); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--un-leaf-lit); margin-bottom: .8rem; }
.site-foot nav a { display: block; padding: .22rem 0; }
.site-foot .fine { border-top: 1px solid color-mix(in oklab, var(--un-linen) 16%, transparent); margin-top: 2.4rem; padding-top: 1.4rem; font-size: .85rem; color: color-mix(in oklab, var(--un-linen) 72%, transparent); }
.site-foot .fine a { color: color-mix(in oklab, var(--un-linen) 80%, transparent); }
.foot-estate { background: var(--un-moss-stone); border-top: 1px solid color-mix(in oklab, var(--un-bark) 25%, transparent); padding: 2.4rem 0 2rem; }
.foot-estate .fine { font-size: .85rem; color: var(--un-bark); margin-top: 1.2rem; }
.hero { padding-block: clamp(2.6rem, 6vw, 4.6rem); }
.hero-grid { display: grid; gap: clamp(1.8rem, 4vw, 3.2rem); grid-template-columns: 1.05fr .95fr; align-items: center; }
@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; } }
.hero-grid > * { min-width: 0; }
.hero .fixed-price-line { display: flex; align-items: center; gap: .8rem; margin-top: 1.6rem; font-weight: 500; }
.hero .fixed-price-line img { width: 44px; height: 44px; flex: 0 0 auto; }
.hero .cta-row { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.5rem; }
.page-hero { padding-block: clamp(2.4rem, 5vw, 3.6rem) clamp(1.6rem, 3vw, 2.4rem); }
.crumbs { font-size: .85rem; color: var(--un-bark); margin-bottom: 1.1rem; }
.crumbs a { color: var(--un-bark); }
.crumbs a:hover { color: var(--un-crimson); }
.season-aside {
font-family: var(--un-font-display); font-style: italic; font-weight: 500;
font-size: 1.18rem; color: var(--un-ochre); line-height: 1.5;
border-left: 3px solid var(--un-leaf); padding: .3rem 0 .3rem 1.2rem; margin: 2rem 0;
}
.steps { counter-reset: step; display: grid; gap: 1.4rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 840px) { .steps { grid-template-columns: 1fr; } }
.steps > div { counter-increment: step; position: relative; padding-top: 2.9rem; min-width: 0; }
.steps > div::before {
content: counter(step, decimal-leading-zero);
position: absolute; top: 0; left: 0;
font-family: var(--un-font-display); font-weight: 650; font-size: 1.9rem; color: var(--un-leaf);
}
.mt-0 { margin-top: 0; } .mb-0 { margin-bottom: 0; }
.center { text-align: center; }
.flow > * + * { margin-top: 1.1em; }
.pill-row { display: flex; flex-wrap: wrap; gap: .6rem; }
.pill { display: inline-block; border: 1px solid var(--un-hairline); border-radius: 999px; padding: .3rem .95rem; font-size: .9rem; color: var(--un-bark); text-decoration: none; transition: border-color .2s var(--ease), color .2s var(--ease); }
a.pill:hover { border-color: var(--un-russet); color: var(--un-crimson); }
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--un-loam); color: var(--un-linen); padding: .6rem 1rem; z-index: 100; }
.skip-link:focus { left: 0; }
.refs { font-size: .9rem; color: var(--un-bark); }
.refs li { margin-bottom: .5em; }
.card .go { position: relative; display: inline-block; }
.card .go::after {
content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px;
background: var(--un-leaf); border-radius: 2px;
transform: scaleX(0); transform-origin: left center;
transition: transform .18s var(--ease);
}
.card:hover .go::after,
a.card:focus-visible .go::after { transform: scaleX(1); }
.mo-reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.mo-reveal.mo-in { opacity: 1; transform: none; }
.btn:focus-visible { outline: 2px solid var(--un-crimson); outline-offset: 3px; }
.btn-quiet:focus-visible { outline: 2px solid var(--un-loam); outline-offset: 3px; }
.on-dark .btn-quiet:focus-visible { outline-color: var(--un-linen); }
.nav-primary a:not(.btn):focus-visible { color: var(--un-crimson); border-bottom-color: var(--un-leaf); outline: none; }
a.card:focus-visible {
transform: translateY(-3px);
border-color: color-mix(in oklab, var(--un-russet) 35%, var(--un-hairline));
box-shadow: 0 14px 30px -18px color-mix(in oklab, var(--un-loam) 45%, transparent);
outline: 2px solid var(--un-russet); outline-offset: 3px;
}
a.card:focus-visible .go { color: var(--un-crimson); }
a.pill:focus-visible { border-color: var(--un-russet); color: var(--un-crimson); outline: 2px solid var(--un-russet); outline-offset: 2px; }
.station .st-levels button:focus-visible { border-color: var(--un-russet); outline: 2px solid var(--un-russet); outline-offset: 2px; }
.drawer nav a:not(.btn):focus-visible { color: var(--un-leaf-lit); outline: 2px solid var(--un-leaf-lit); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after {
animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
.card:hover, .btn:hover { transform: none; }
.card .go::after { transform: scaleX(1); opacity: 0; }
.mo-reveal, .mo-reveal.mo-in { opacity: 1 !important; transform: none !important; }
}