:root {
    color-scheme: light;
    --ink: #17251d;
    --ink-soft: #22372a;
    --paper: #f5f5ef;
    --white: #fdfcf7;
    --mist: #e5ebdf;
    --accent: #a7c987;
    --accent-deep: #52744b;
    --body: #38483d;
    --muted: #6f7b70;
    --line: #d4dacf;
    --line-dark: rgba(246, 247, 244, 0.16);
    --serif: Georgia, "Times New Roman", serif;
    --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --shell: min(100% - 3rem, 76rem);
    --radius: 0.25rem;
    --shadow: 0 1.5rem 5rem rgba(23, 37, 29, 0.11);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; color: var(--body); background: var(--paper); font-family: var(--sans); font-size: 1rem; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { color: var(--ink); background: var(--accent); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 0.8rem; left: 0.8rem; padding: 0.7rem 1rem; color: var(--ink); background: var(--white); transform: translateY(-160%); transition: transform 160ms ease; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 100; top: 0; color: var(--ink); background: rgba(245, 245, 239, 0.92); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: border-color 180ms ease, background 180ms ease; }
.theme-dark .site-header { color: var(--white); background: rgba(23, 37, 29, 0.88); }
.site-header.is-scrolled { border-color: var(--line); }
.theme-dark .site-header.is-scrolled { border-color: var(--line-dark); }
.header-inner { display: flex; min-height: 5.25rem; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: 0.85rem; text-decoration: none; }
.brand-mark { display: grid; width: 2.4rem; height: 2.4rem; flex: 0 0 auto; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--serif); font-size: 0.75rem; letter-spacing: 0.08em; }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { font-size: 0.78rem; letter-spacing: 0.15em; text-transform: uppercase; }
.brand-copy small { margin-top: 0.25rem; color: var(--muted); font-size: 0.67rem; letter-spacing: 0.08em; }
.theme-dark .brand-copy small { color: #afbbaf; }
.site-nav { display: flex; align-items: center; gap: 1.8rem; }
.site-nav ul { display: flex; align-items: center; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.site-nav li a { position: relative; padding-block: 0.7rem; font-size: 0.82rem; font-weight: 600; text-decoration: none; }
.site-nav li a::after { position: absolute; right: 0; bottom: 0.25rem; left: 0; height: 1px; background: var(--accent-deep); content: ""; transform: scaleX(0); transform-origin: right; transition: transform 220ms ease; }
.site-nav li a:hover::after, .site-nav li a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; width: 2.8rem; height: 2.8rem; padding: 0; border: 0; background: transparent; }
.menu-toggle span:not(.sr-only) { display: block; width: 1.5rem; height: 1px; margin: 0.38rem auto; background: currentColor; transition: transform 180ms ease; }
.menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(0.19rem) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-0.19rem) rotate(-45deg); }

.button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: 0.65rem; padding: 0.8rem 1.25rem; border: 1px solid var(--ink); border-radius: 99rem; color: var(--white); background: var(--ink); font-size: 0.85rem; font-weight: 700; text-decoration: none; transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.button:hover { color: var(--ink); background: var(--accent); border-color: var(--accent); transform: translateY(-1px); }
.button-small { min-height: 2.65rem; padding: 0.6rem 1rem; font-size: 0.78rem; }
.button-light { color: var(--ink); background: var(--white); border-color: var(--white); }
.button-light:hover { background: var(--accent); border-color: var(--accent); }
.button-outline-light { color: var(--white); background: transparent; border-color: rgba(255,255,255,0.48); }
.button-outline-light:hover { color: var(--ink); background: var(--white); border-color: var(--white); }
.button-row { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.text-link { display: inline-flex; align-items: center; gap: 0.5rem; padding-block: 0.2rem; border-bottom: 1px solid currentColor; color: var(--ink); font-size: 0.88rem; font-weight: 700; text-decoration: none; }
.text-link.light { color: var(--white); }
.text-link span { transition: transform 180ms ease; }
.text-link:hover span { transform: translate(0.2rem, -0.2rem); }

.eyebrow { display: flex; align-items: center; gap: 0.75rem; margin: 0 0 1.35rem; color: var(--accent-deep); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.15em; line-height: 1.4; text-transform: uppercase; }
.eyebrow::before { width: 2.2rem; height: 1px; flex: 0 0 auto; background: currentColor; content: ""; }
.theme-dark .eyebrow, .dark .eyebrow, .site-footer .eyebrow { color: var(--accent); }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { color: var(--ink); font-family: var(--serif); font-weight: 400; }
h1 { margin: 0; font-size: clamp(3.35rem, 7.5vw, 7.1rem); line-height: 0.96; letter-spacing: -0.052em; }
h2 { margin: 0; font-size: clamp(2.35rem, 4.5vw, 4.5rem); line-height: 1.02; letter-spacing: -0.038em; }
h3 { margin: 0; font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.18; letter-spacing: -0.02em; }
.dark h1, .dark h2, .dark h3, .theme-dark .page-hero h1 { color: var(--white); }
.accent { color: var(--accent-deep); font-style: italic; }
.dark .accent, .theme-dark .accent { color: var(--accent); }
.lead { margin: 0; font-size: clamp(1.15rem, 1.7vw, 1.38rem); line-height: 1.65; }
.large-copy { max-width: 40rem; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.6; }
.fine-print { color: var(--muted); font-size: 0.78rem; line-height: 1.5; }

.home-hero { position: relative; min-height: min(48rem, calc(100svh - 5.25rem)); overflow: hidden; color: #d9e1d8; background: radial-gradient(circle at 83% 18%, rgba(167,201,135,0.16), transparent 27rem), linear-gradient(145deg, var(--ink-soft), #101a14 70%); isolation: isolate; }
.home-hero::before, .home-hero::after { position: absolute; z-index: -1; border: 1px solid rgba(167,201,135,0.14); border-radius: 50%; content: ""; }
.home-hero::before { top: -18rem; right: -9rem; width: 40rem; height: 40rem; }
.home-hero::after { right: 14%; bottom: -27rem; width: 47rem; height: 47rem; }
.home-hero-grid { display: grid; min-height: inherit; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.6fr); align-items: end; gap: 5rem; padding-block: clamp(5rem, 12vh, 8rem); }
.home-hero h1 { max-width: 11ch; color: var(--white); }
.home-hero-aside { padding-bottom: 0.5rem; }
.home-hero-aside p { margin: 0; font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.7; }
.micro-proof { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; margin-top: 1.7rem; padding-top: 1.35rem; border-top: 1px solid var(--line-dark); color: #afbbaf; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.micro-proof span:not(:last-child)::after { margin-left: 1rem; color: var(--accent); content: "·"; }

.trust-strip { color: var(--ink); background: var(--accent); }
.trust-grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); }
.trust-item { min-height: 7rem; padding: 1.5rem; border-left: 1px solid rgba(23,37,29,0.18); }
.trust-item:first-child { border-left: 0; }
.trust-item p { margin: 0; font-size: 0.82rem; line-height: 1.5; }
.trust-item strong { display: block; margin-bottom: 0.2rem; font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }

.section { padding-block: clamp(5rem, 10vw, 9rem); }
.section-tight { padding-block: clamp(4rem, 7vw, 6rem); }
.section-white { background: var(--white); }
.section-mist { background: var(--mist); }
.section-dark { color: #d4ddd3; background: var(--ink); }
.split { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.split-narrow { grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr); }
.sticky-title { position: sticky; top: 8.5rem; }
.section-number { display: block; margin-bottom: 2.3rem; color: var(--accent-deep); font-size: 0.74rem; font-weight: 750; letter-spacing: 0.12em; }
.recognition-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.recognition-list li { display: grid; grid-template-columns: 2.5rem 1fr; gap: 0.9rem; padding: 1.45rem 0; border-bottom: 1px solid var(--line); font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.recognition-list span { color: var(--accent-deep); font-size: 0.75rem; font-weight: 700; }

.definition { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(3rem, 8vw, 7rem); align-items: end; }
.definition-copy p { max-width: 42rem; margin: 2rem 0 0; font-size: 1.08rem; }
.definition-note { padding: 2rem; border-left: 1px solid var(--accent-deep); }
.definition-note p { margin: 0; font-family: var(--serif); font-size: 1.45rem; line-height: 1.45; }

.outcomes-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.outcome { min-height: 16rem; padding: 2rem 1.5rem; border-left: 1px solid var(--line-dark); }
.outcome:first-child { border-left: 0; }
.outcome span { color: var(--accent); font-size: 0.72rem; letter-spacing: 0.12em; }
.outcome h3 { margin-top: 3.5rem; color: var(--white); font-size: 1.45rem; }
.outcome p { margin: 0.7rem 0 0; color: #afbbaf; font-size: 0.9rem; line-height: 1.6; }

.tanja-preview { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: clamp(3rem, 8vw, 8rem); align-items: stretch; }
.monogram-panel { position: relative; display: grid; min-height: 35rem; place-items: center; overflow: hidden; color: var(--white); background: linear-gradient(155deg, #2d4a36, var(--ink)); }
.monogram-panel::before { position: absolute; width: 26rem; height: 26rem; border: 1px solid rgba(167,201,135,0.24); border-radius: 50%; content: ""; }
.monogram-panel strong { font-family: var(--serif); font-size: clamp(7rem, 15vw, 13rem); font-weight: 400; letter-spacing: -0.08em; }
.monogram-panel small { position: absolute; right: 1.5rem; bottom: 1.5rem; color: var(--accent); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.tanja-copy { display: flex; flex-direction: column; justify-content: center; }
.tanja-copy h2 { max-width: 10ch; }
.tanja-copy .large-copy { margin: 2rem 0; }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-top: 1px solid var(--line); }
.step { padding: 2rem 2rem 0 0; }
.step + .step { padding-left: 2rem; border-left: 1px solid var(--line); }
.step span { display: block; margin-bottom: 4rem; color: var(--accent-deep); font-size: 0.75rem; font-weight: 700; }
.step p { margin: 0.9rem 0 0; color: var(--muted); }

.offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3.5rem; }
.offer-card { display: flex; min-height: 25rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.3rem); border: 1px solid var(--line); background: rgba(255,255,255,0.32); }
.offer-card.featured { color: #d5ded4; background: var(--ink); border-color: var(--ink); box-shadow: var(--shadow); }
.offer-card .tag { margin: 0 0 3.5rem; color: var(--accent-deep); font-size: 0.7rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.offer-card.featured .tag { color: var(--accent); }
.offer-card.featured h3 { color: var(--white); }
.offer-card > p { margin: 1rem 0 0; color: var(--muted); }
.offer-card.featured > p { color: #afbbaf; }
.offer-meta { margin-top: auto; padding-top: 2rem; }
.offer-price { display: block; color: var(--ink); font-family: var(--serif); font-size: 2rem; }
.featured .offer-price { color: var(--white); }
.offer-meta small { color: var(--muted); }

.boundary { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: start; max-width: 58rem; }
.boundary-mark { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--accent-deep); border-radius: 50%; color: var(--accent-deep); font-family: var(--serif); font-size: 1.3rem; }
.boundary p { margin: 1rem 0 0; }

.page-hero { padding-block: clamp(4.5rem, 9vw, 8rem); color: #d4ddd3; background: radial-gradient(circle at 83% 18%, rgba(167,201,135,0.13), transparent 25rem), var(--ink); }
.page-hero-grid { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 5rem; align-items: end; }
.page-hero h1 { max-width: 11ch; color: var(--white); font-size: clamp(3rem, 6.8vw, 6.1rem); }
.page-intro { padding-top: 1.5rem; border-top: 1px solid var(--line-dark); }
.page-intro .section-number { color: var(--accent); }
.breadcrumbs { padding-block: 1rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; color: var(--muted); font-size: 0.75rem; list-style: none; }
.breadcrumbs li:not(:last-child)::after { margin-left: 0.5rem; content: "/"; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--ink); }

.prose { max-width: 45rem; }
.prose h2 { margin: 4rem 0 1.5rem; font-size: clamp(2rem, 3.5vw, 3.25rem); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 2.5rem 0 1rem; }
.prose p { margin: 0 0 1.35rem; }
.prose ul { margin: 1.3rem 0 2rem; padding-left: 1.2rem; }
.prose li { margin: 0.5rem 0; }
.prose strong { color: var(--ink); }
.pullquote { margin: 3rem 0; padding: 2rem 0 2rem 2rem; border-left: 1px solid var(--accent-deep); color: var(--ink); font-family: var(--serif); font-size: clamp(1.45rem, 2.4vw, 2.1rem); line-height: 1.4; }
.fact-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.fact-list li { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.fact-list strong { color: var(--ink); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; }

.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 3rem; background: var(--line); border: 1px solid var(--line); }
.feature-card { min-height: 16rem; padding: 2rem; background: var(--white); }
.feature-card span { color: var(--accent-deep); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.12em; }
.feature-card h3 { margin-top: 3rem; }
.feature-card p { margin: 0.8rem 0 0; color: var(--muted); }

.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.6rem 0; color: var(--ink); font-family: var(--serif); font-size: clamp(1.18rem, 1.8vw, 1.45rem); cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { color: var(--accent-deep); font-family: var(--sans); font-size: 1.4rem; content: "+"; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details div { max-width: 44rem; padding: 0 0 1.6rem; }
.faq-list details p { margin: 0; }

.price-table { margin-top: 3rem; border-top: 1px solid var(--line); }
.price-row { display: grid; grid-template-columns: 1.15fr 0.65fr 0.45fr; gap: 2rem; align-items: center; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.price-row h3 { font-size: 1.3rem; }
.price-row p { margin: 0; color: var(--muted); font-size: 0.9rem; }
.price-row strong { color: var(--ink); font-family: var(--serif); font-size: 1.55rem; font-weight: 400; text-align: right; }

.contact-grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.contact-aside { position: sticky; top: 8rem; }
.contact-aside h2 { font-size: clamp(2.1rem, 3.8vw, 3.5rem); }
.contact-aside p { margin: 1.5rem 0; }
.contact-note { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.85rem; }
.contact-form { padding: clamp(1.5rem, 4vw, 3rem); background: var(--white); box-shadow: var(--shadow); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.3rem; }
.field { display: grid; gap: 0.45rem; }
.field-full { grid-column: 1 / -1; }
.field label, .field legend { color: var(--ink); font-size: 0.82rem; font-weight: 700; }
.field input, .field select { width: 100%; min-height: 3.25rem; padding: 0.75rem 0.9rem; border: 1px solid #bec8bc; border-radius: 0; color: var(--ink); background: var(--white); }
.field input:focus, .field select:focus { border-color: var(--accent-deep); outline: 2px solid rgba(82,116,75,0.18); outline-offset: 0; }
.field-help { margin: 0; color: var(--muted); font-size: 0.76rem; line-height: 1.45; }
.radio-group { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.25rem; }
.radio-option { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.65rem 0.9rem; border: 1px solid var(--line); cursor: pointer; }
.radio-option:has(input:checked) { border-color: var(--accent-deep); background: rgba(167,201,135,0.16); }
.form-actions { display: flex; align-items: center; gap: 1.2rem; margin-top: 2rem; }
.form-actions p { margin: 0; color: var(--muted); font-size: 0.76rem; line-height: 1.5; }
.form-status { margin: 0 0 1.5rem; padding: 1rem; border-left: 3px solid #a1574a; background: #f7ece9; }
.honeypot { position: absolute; left: -9999px; }

.success-card { max-width: 50rem; margin-inline: auto; padding: clamp(2rem, 6vw, 5rem); text-align: center; background: var(--white); box-shadow: var(--shadow); }
.success-mark { display: grid; width: 4rem; height: 4rem; margin: 0 auto 2rem; place-items: center; border: 1px solid var(--accent-deep); border-radius: 50%; color: var(--accent-deep); font-family: var(--serif); font-size: 1.6rem; }
.success-card p { max-width: 35rem; margin: 1.5rem auto 0; }

.site-footer { color: #b9c4b9; background: #101a14; }
.footer-cta { padding-block: clamp(5rem, 9vw, 8rem); border-bottom: 1px solid var(--line-dark); }
.footer-cta-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(3rem, 9vw, 8rem); align-items: end; }
.footer-cta h2 { max-width: 12ch; color: var(--white); }
.footer-cta-grid p { max-width: 30rem; margin: 0 0 1.5rem; }
.footer-main { display: grid; grid-template-columns: 1.5fr 0.75fr 0.75fr; gap: 4rem; padding-block: 4rem; }
.footer-brand { display: flex; gap: 1rem; }
.footer-brand p { margin: 0; }
.footer-brand strong { color: var(--white); }
.footer-main nav { display: grid; align-content: start; gap: 0.55rem; }
.footer-main nav a { width: fit-content; text-decoration: none; }
.footer-main nav a:hover { color: var(--white); }
.footer-label { margin: 0 0 0.6rem; color: var(--accent); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding-block: 1.25rem 2rem; border-top: 1px solid var(--line-dark); color: #89958b; font-size: 0.72rem; }
.footer-bottom p { margin: 0; }

.legal { max-width: 48rem; }
.legal h2 { margin: 3rem 0 1rem; font-size: 2rem; }
.legal h3 { margin: 2rem 0 0.75rem; font-family: var(--sans); font-size: 1rem; font-weight: 750; }
.legal p, .legal li { font-size: 0.95rem; }

/* Page components */
.hero--home { position: relative; min-height: min(49rem, calc(100svh - 5.25rem)); overflow: hidden; color: #d9e1d8; background: radial-gradient(circle at 82% 18%, rgba(167,201,135,.17), transparent 28rem), linear-gradient(145deg, var(--ink-soft), #101a14 70%); isolation: isolate; }
.hero--home::before { position: absolute; z-index: -1; top: -18rem; right: -10rem; width: 42rem; height: 42rem; border: 1px solid rgba(167,201,135,.16); border-radius: 50%; content: ""; }
.hero__grid { display: grid; min-height: inherit; grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); padding-block: clamp(5rem, 11vh, 8rem); }
.hero__content h1 { max-width: 11ch; color: var(--white); }
.hero__content h1 em, .page-hero h1 em, .hero--compact h1 em { color: var(--accent); font-weight: inherit; }
.hero__content .lead { max-width: 36rem; margin-top: 2rem; }
.button--light { color: var(--ink); background: var(--white); border-color: var(--white); }
.text-link--light { color: var(--white); align-self: center; margin-left: .6rem; }
.hero__mark { position: relative; display: grid; aspect-ratio: 1; place-items: center; border: 1px solid rgba(167,201,135,.24); border-radius: 50%; }
.hero__mark::before { position: absolute; inset: 10%; border: 1px solid rgba(167,201,135,.13); border-radius: inherit; content: ""; }
.hero__mark span { color: var(--white); font-family: var(--serif); font-size: clamp(5rem, 11vw, 9rem); letter-spacing: -.08em; }
.hero__mark small { position: absolute; bottom: 14%; color: var(--accent); font-size: .67rem; letter-spacing: .16em; text-transform: uppercase; }
.proof { color: var(--ink); background: var(--accent); }
.proof__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.proof p { margin: 0; padding: 1.4rem; border-left: 1px solid rgba(23,37,29,.18); font-size: .74rem; font-weight: 750; letter-spacing: .11em; text-align: center; text-transform: uppercase; }
.proof p:first-child { border-left: 0; }
.section--tint { background: var(--mist); }
.section--dark { color: #cdd6da; background: var(--ink); }
.section--dark h2, .section--dark h3 { color: var(--white); }
.section--dark .eyebrow { color: var(--accent); }
.section--boundary { background: var(--white); }
.section-heading h2 { max-width: 12ch; }
.section-heading--wide h2 { max-width: 18ch; }
.narrow { max-width: 52rem; }
.center { text-align: center; }
.center .eyebrow { justify-content: center; }
.center .large-copy { margin-inline: auto; }
.check-list { border-top: 1px solid var(--line); }
.check-list p { position: relative; margin: 0; padding: 1.25rem 0 1.25rem 2.2rem; border-bottom: 1px solid var(--line); font-size: 1.07rem; }
.check-list p::before { position: absolute; top: 1.42rem; left: 0; color: var(--accent-deep); content: "↗"; }
.card-grid { display: grid; gap: 1px; margin-top: 3.5rem; background: var(--line); border: 1px solid var(--line); }
.card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.info-card, .quiet-card { min-height: 16rem; padding: clamp(1.5rem, 3vw, 2.2rem); background: var(--white); }
.info-card h3, .quiet-card h3 { margin-top: 2.5rem; }
.info-card p, .quiet-card p { margin: .8rem 0 0; color: var(--muted); }
.quiet-card { color: #cdd6da; background: var(--ink-soft); }
.quiet-card span { color: var(--accent); font-size: .72rem; letter-spacing: .12em; }
.quiet-card p { color: #afbbaf; }
.profile-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.portrait-placeholder { position: relative; display: grid; min-height: 31rem; place-items: center; overflow: hidden; color: var(--white); background: linear-gradient(155deg, #2d4a36, var(--ink)); }
.portrait-placeholder::before { position: absolute; width: 25rem; height: 25rem; border: 1px solid rgba(167,201,135,.24); border-radius: 50%; content: ""; }
.portrait-placeholder span { font-family: var(--serif); font-size: clamp(7rem, 15vw, 12rem); letter-spacing: -.08em; }
.portrait-placeholder small { position: absolute; right: 1.5rem; bottom: 1.5rem; color: var(--accent); font-size: .67rem; letter-spacing: .12em; text-transform: uppercase; }
.portrait-placeholder--tall { min-height: 39rem; }
.steps { padding: 0; list-style: none; }
.steps li { padding: 2rem 2rem 0 0; }
.steps li + li { padding-left: 2rem; border-left: 1px solid var(--line); }
.steps li > span { display: block; margin-bottom: 3.5rem; color: var(--accent-deep); font-size: .75rem; font-weight: 750; }
.steps li p { color: var(--muted); }
.offer-grid { grid-template-columns: minmax(0, 1fr) minmax(20rem, .75fr); align-items: start; gap: clamp(3rem, 8vw, 8rem); margin-top: 0; }
.price-card { padding: clamp(2rem, 5vw, 3.5rem); color: #cdd6da; background: var(--ink); box-shadow: var(--shadow); }
.price-card .eyebrow { color: var(--accent); }
.price-card .price { margin: 1rem 0 0; color: var(--white); font-family: var(--serif); font-size: clamp(4rem, 8vw, 6rem); line-height: 1; }
.price-card .price small { font-size: 1.2rem; }
.price-card hr { margin: 2rem 0; border: 0; border-top: 1px solid var(--line-dark); }
.price-card .button { margin-top: 1.5rem; color: var(--ink); background: var(--white); border-color: var(--white); }
.detail-list { margin: 3rem 0 0; border-top: 1px solid var(--line); }
.detail-list div { display: grid; grid-template-columns: 10rem 1fr; gap: 2rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line); }
.detail-list dt { color: var(--ink); font-weight: 750; }
.detail-list dd { margin: 0; }
.quote-panel { padding: clamp(2rem, 6vw, 5rem); border-left: 3px solid var(--accent-deep); background: var(--white); box-shadow: var(--shadow); }
.quote-panel blockquote { max-width: 20ch; margin: 0; color: var(--ink); font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.15; }
.quote-panel p { margin: 1.5rem 0; }
.contact-grid { grid-template-columns: .8fr 1.2fr; }
.form-card { padding: clamp(1.5rem, 4vw, 3rem); background: var(--white); box-shadow: var(--shadow); }
.field-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.form-card .field { margin-bottom: 1.2rem; }
.form-card fieldset { padding: 0; border: 0; }
.radio-row { display: flex; flex-wrap: wrap; gap: .75rem 1.3rem; }
.radio-row label, .consent { display: flex; align-items: flex-start; gap: .55rem; }
.radio-row input, .consent input { margin-top: .35rem; accent-color: var(--accent-deep); }
.field-hint, .form-footnote { margin: -.7rem 0 1.3rem; color: var(--muted); font-size: .76rem; }
.field-hint--error { color: #8b3f34; font-weight: 700; }
.form-card input[aria-invalid="true"] { border-color: #a1574a; }
.form-card button[aria-busy="true"] { cursor: wait; opacity: .72; }
.consent { margin: 1.5rem 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.button--full { width: 100%; }
.form-message { margin-bottom: 1.2rem; padding: 1rem; border-left: 3px solid #a1574a; background: #f7ece9; }
.contact-pending { min-height: 22rem; display: flex; flex-direction: column; justify-content: center; }
.contact-pending h2 { font-size: clamp(2.5rem, 5vw, 4.3rem); }
.contact-pending > p:last-child { max-width: 30rem; margin-top: 1.5rem; }
.garden-section { color: #d7e0d5; background: linear-gradient(130deg, #2b4834 0%, #203526 55%, #17251d 100%); }
.garden-section h2 { max-width: 13ch; color: var(--white); }
.garden-section .eyebrow { color: var(--accent); }
.garden-frame { padding: clamp(2rem, 5vw, 4rem); border: 1px solid rgba(167,201,135,.28); }
.garden-frame p:last-child { margin-bottom: 0; }
.honey { position: absolute; left: -9999px; }
.hero--compact { padding-block: clamp(6rem, 14vw, 11rem); color: #d4ddd3; background: var(--ink); }
.hero--compact h1 { color: var(--white); }
.hero--compact .lead { max-width: 36rem; margin: 2rem auto; }

.has-reveal [data-reveal], .has-reveal .reveal { opacity: 0; transform: translateY(1rem); transition: opacity 600ms ease, transform 600ms cubic-bezier(.22,1,.36,1); }
.has-reveal [data-reveal].is-visible, .has-reveal .reveal.is-visible { opacity: 1; transform: none; }

.footer-link-button { display: block; margin: 0; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; text-align: left; cursor: pointer; }
.footer-link-button:hover, .footer-link-button:focus-visible { color: var(--white); }
.cookie-consent { position: fixed; z-index: 300; right: 1rem; bottom: 1rem; left: 1rem; color: #d7e0d5; background: var(--ink); border: 1px solid rgba(167,201,135,.35); box-shadow: 0 1.5rem 4rem rgba(10,22,14,.3); }
.cookie-consent[hidden] { display: none; }
.cookie-consent__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 5vw, 4rem); align-items: end; width: min(100%, 76rem); margin: 0 auto; padding: clamp(1.4rem, 3vw, 2.2rem); }
.cookie-consent h2 { margin: .25rem 0 .55rem; color: var(--white); font-size: clamp(1.8rem, 4vw, 2.7rem); }
.cookie-consent p { max-width: 48rem; margin: 0; font-size: .9rem; }
.cookie-consent .eyebrow { color: var(--accent); font-size: .66rem; }
.cookie-consent a { display: inline-block; margin-top: .65rem; color: var(--white); font-size: .82rem; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.cookie-consent .button { white-space: nowrap; }
.cookie-consent .button-ghost { color: var(--white); border-color: rgba(255,255,255,.45); }

@media (max-width: 1040px) {
    .site-nav { gap: 1rem; }
    .site-nav ul { gap: 1rem; }
    .home-hero-grid { gap: 3rem; }
    .outcomes-grid { grid-template-columns: repeat(2, 1fr); }
    .outcome:nth-child(3) { border-left: 0; border-top: 1px solid var(--line-dark); }
    .outcome:nth-child(4) { border-top: 1px solid var(--line-dark); }
}

@media (max-width: 920px) {
    :root { --shell: min(100% - 2rem, 76rem); }
    .menu-toggle { display: block; }
    .site-nav { position: fixed; z-index: 101; top: 5.25rem; right: 0; left: 0; display: grid; width: 100%; height: calc(100svh - 5.25rem); align-content: start; gap: 2rem; overflow-y: auto; padding: 2rem 1rem 3rem; color: var(--ink); background: var(--paper); visibility: hidden; opacity: 0; transform: translateY(-0.5rem); transition: opacity 160ms ease, transform 160ms ease, visibility 160ms; }
    .theme-dark .site-nav { color: var(--white); background: var(--ink); }
    .menu-open .site-nav { visibility: visible; opacity: 1; transform: none; }
    .site-nav ul { display: grid; gap: 0; }
    .site-nav li { border-bottom: 1px solid var(--line); }
    .theme-dark .site-nav li { border-color: var(--line-dark); }
    .site-nav li a { display: block; padding: 1rem 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
    .site-nav li a::after { display: none; }
    .site-nav .button { width: 100%; }
    .home-hero-grid, .hero__grid, .page-hero-grid, .split, .definition, .tanja-preview, .profile-grid, .footer-cta-grid, .contact-grid { grid-template-columns: 1fr; }
    .home-hero-grid { align-content: center; align-items: start; gap: 2.5rem; }
    .home-hero-aside { max-width: 34rem; }
    .page-hero-grid { gap: 3rem; }
    .sticky-title, .contact-aside { position: static; }
    .monogram-panel { min-height: 25rem; }
    .offer-grid, .card-grid--3 { grid-template-columns: 1fr; }
    .offer-card { min-height: auto; }
    .offer-card .tag { margin-bottom: 2rem; }
    .offer-meta { margin-top: 3rem; }
}

@media (max-width: 700px) {
    .header-inner { min-height: 4.5rem; }
    .site-nav { top: 4.5rem; height: calc(100svh - 4.5rem); }
    .brand-copy small { display: none; }
    h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
    .home-hero, .hero--home { min-height: calc(100svh - 4.5rem); }
    .home-hero-grid { padding-block: 4rem; }
    .button-row { display: grid; }
    .button-row .button { width: 100%; }
    .micro-proof { display: grid; gap: 0.3rem; }
    .micro-proof span::after { display: none; }
    .trust-grid { grid-template-columns: 1fr 1fr; }
    .trust-item { min-height: 6rem; border-bottom: 1px solid rgba(23,37,29,0.18); }
    .trust-item:nth-child(odd) { border-left: 0; }
    .outcomes-grid, .steps, .feature-grid, .form-grid, .proof__grid, .field-row { grid-template-columns: 1fr; }
    .hero__mark { display: none; }
    .proof p { border-left: 0; border-bottom: 1px solid rgba(23,37,29,.18); }
    .steps li, .steps li + li { padding: 1.5rem 0; border-left: 0; border-bottom: 1px solid var(--line); }
    .steps li > span { margin-bottom: 1rem; }
    .detail-list div { grid-template-columns: 1fr; gap: .25rem; }
    .outcome { min-height: auto; border-left: 0; border-top: 1px solid var(--line-dark); }
    .outcome:first-child { border-top: 0; }
    .outcome h3 { margin-top: 2rem; }
    .step { padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
    .step + .step { padding-left: 0; border-left: 0; }
    .step span { margin-bottom: 1.5rem; }
    .fact-list li { grid-template-columns: 1fr; gap: 0.25rem; }
    .price-row { grid-template-columns: 1fr auto; gap: 0.35rem 1rem; }
    .price-row p { grid-column: 1 / -1; grid-row: 2; }
    .price-row strong { grid-column: 2; grid-row: 1; font-size: 1.3rem; }
    .field-full { grid-column: auto; }
    .form-actions { align-items: stretch; flex-direction: column; }
    .footer-main { grid-template-columns: 1fr 1fr; gap: 3rem 2rem; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; gap: 0.3rem; }
    .cookie-consent { right: .5rem; bottom: .5rem; left: .5rem; }
    .cookie-consent__inner { grid-template-columns: 1fr; }
    .cookie-consent__actions { display: grid; grid-template-columns: 1fr; }
    .cookie-consent .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
    .site-header, .site-footer, .button-row, .breadcrumbs, .cookie-consent { display: none; }
    body { color: #000; background: #fff; }
    .page-hero, .section-dark { color: #000; background: #fff; }
    .page-hero h1, .section-dark h2, .section-dark h3 { color: #000; }
}
