:root {
    --ink: #101612;
    --ink-soft: #37433c;
    --forest-950: #07110d;
    --forest-900: #0a1711;
    --forest-850: #10241a;
    --forest-800: #17392a;
    --forest-700: #25503d;
    --forest-600: #376650;
    --sage-700: #6f8669;
    --sage-500: #95a78b;
    --sage-300: #cbd5c4;
    --sage-150: #e8ede4;
    --cream: #f5f0e8;
    --cream-deep: #ece3d7;
    --paper: #fbfaf7;
    --white: #fff;
    --pink: #dea1c0;
    --pink-deep: #c981a8;
    --pink-soft: #f5dbe8;
    --gold: #b79b64;
    --line: rgba(16, 22, 18, 0.14);
    --line-light: rgba(255, 255, 255, 0.16);
    --shadow-sm: 0 12px 35px rgba(8, 22, 15, 0.08);
    --shadow-md: 0 22px 70px rgba(8, 22, 15, 0.14);
    --shadow-lg: 0 35px 110px rgba(4, 14, 9, 0.22);
    --radius-sm: 14px;
    --radius-md: 26px;
    --radius-lg: 46px;
    --radius-pill: 999px;
    --container: 1240px;
    --header-height: 86px;
    --announcement-height: 34px;
    --serif: Georgia, 'Times New Roman', serif;
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
html.menu-open,
html.cart-open { overflow: hidden; }
body {
    margin: 0;
    min-width: 320px;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
button { color: inherit; }
::selection { background: var(--pink); color: var(--forest-950); }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }

.site-shell { overflow: clip; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { position: relative; padding: clamp(88px, 10vw, 150px) 0; }
.section-cream { background: var(--cream); }
.section-dark { background: var(--forest-950); color: var(--white); }
.narrow { max-width: 760px; margin-inline: auto; }
.centered { text-align: center; }
.lead { font-size: clamp(1.12rem, 1.45vw, 1.32rem); line-height: 1.65; color: var(--ink-soft); }
.section-dark .lead { color: rgba(255,255,255,.78); }

.skip-link {
    position: fixed;
    z-index: 9999;
    top: 12px;
    left: 12px;
    transform: translateY(-160%);
    background: var(--white);
    color: var(--ink);
    padding: 12px 18px;
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
}
.skip-link:focus { transform: translateY(0); }

.announcement-bar {
    height: var(--announcement-height);
    background: var(--pink);
    color: var(--forest-950);
    position: relative;
    z-index: 120;
    font-size: .78rem;
    letter-spacing: .02em;
}
.announcement-inner { height: 100%; display: flex; align-items: center; justify-content: center; gap: 16px; }
.announcement-inner a { font-weight: 800; }
.announcement-inner a:hover { text-decoration: underline; text-underline-offset: 3px; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--header-height);
    background: rgba(7, 17, 13, .88);
    border-bottom: 0;
    backdrop-filter: blur(20px) saturate(130%);
    transition: background .3s ease, box-shadow .3s ease;
}
.site-header.is-scrolled { background: rgba(7, 17, 13, .97); box-shadow: 0 14px 40px rgba(0,0,0,.18); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { min-width: 232px; height: 64px; display:flex; align-items:center; gap:11px; flex:0 0 auto; color:var(--white); }
.brand-mark { width:46px; height:46px; flex:0 0 46px; object-fit:contain; }
.brand-copy { display:grid; gap:1px; min-width:0; line-height:1.08; }
.brand-copy strong { font-size:.92rem; font-weight:650; letter-spacing:.065em; text-transform:uppercase; white-space:nowrap; }
.brand-copy small { color:rgba(255,255,255,.66); font-size:.68rem; font-weight:600; letter-spacing:.035em; white-space:nowrap; }
.desktop-nav { display: flex; align-items: center; gap: clamp(20px, 2.3vw, 36px); color: rgba(255,255,255,.72); font-size: .87rem; font-weight: 700; }
.desktop-nav a { position: relative; padding: 12px 0; transition: color .2s ease; }
.desktop-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 5px; height: 1px; background: var(--pink); transition: right .3s var(--ease); }
.desktop-nav a:hover,
.desktop-nav a.is-active { color: var(--white); }
.desktop-nav a:hover::after,
.desktop-nav a.is-active::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.cart-button {
    border: 1px solid rgba(255,255,255,.18);
    background: transparent;
    color: var(--white);
    height: 42px;
    padding: 0 10px 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: var(--radius-pill);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 800;
    transition: border-color .2s ease, background .2s ease;
}
.cart-button:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.35); }
.cart-count { min-width: 24px; height: 24px; padding: 0 6px; display: grid; place-items: center; border-radius: 50%; background: var(--pink); color: var(--forest-950); font-size: .72rem; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: transparent; cursor: pointer; padding: 0; place-items: center; }
.menu-toggle span { position: absolute; width: 18px; height: 1.5px; background: var(--white); transition: transform .3s var(--ease), opacity .2s ease; }
.menu-toggle span:nth-child(1) { transform: translateY(-6px); }
.menu-toggle span:nth-child(3) { transform: translateY(6px); }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }
.mobile-menu {
    position: fixed;
    inset: calc(var(--announcement-height) + var(--header-height)) 0 auto;
    min-height: calc(100dvh - var(--announcement-height) - var(--header-height));
    background: var(--forest-950);
    padding: 34px 24px 48px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.mobile-menu[hidden] { display: none; }
.mobile-menu nav { display: grid; margin-bottom: 28px; }
.mobile-menu nav a { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: var(--white); font-family: var(--serif); font-size: clamp(1.45rem, 6vw, 2rem); }
.mobile-menu .button { width: 100%; }

.page-progress { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,.08); pointer-events: none; overflow: hidden; }
.page-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--pink-deep), var(--pink)); box-shadow: 0 0 14px rgba(222,161,192,.55); transform-origin: left; transform: scaleX(0); will-change: transform; }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { text-wrap: balance; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: 1.02; }
h1 { font-size: clamp(3.4rem, 7.7vw, 7.8rem); }
h2 { font-size: clamp(2.5rem, 5vw, 5.15rem); }
h3 { line-height: 1.2; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--forest-700); font-size: .73rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: '♥'; flex: 0 0 auto; color: var(--pink-deep); font-size: .68rem; line-height: 1; letter-spacing: 0; transform: translateY(-1px); }
.eyebrow.light { color: var(--pink-soft); }
.eyebrow.light::before { color: var(--pink); }
.section-heading { max-width: 760px; }
.section-heading h2 { margin-bottom: 24px; }
.section-heading p { color: var(--ink-soft); }
.section-heading-row { max-width: none; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); align-items: end; gap: 60px; margin-bottom: 56px; }
.section-heading-row > p { margin: 0 0 12px; font-size: 1.05rem; }

.button {
    min-height: 54px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: .87rem;
    font-weight: 850;
    letter-spacing: .015em;
    cursor: pointer;
    transition: transform .25s var(--ease), box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-small { min-height: 42px; padding-inline: 18px; font-size: .78rem; }
.button-pink { background: var(--pink); color: var(--forest-950); box-shadow: 0 14px 34px rgba(222, 161, 192, .23); }
.button-pink:hover { background: #e8b4ce; box-shadow: 0 18px 42px rgba(222, 161, 192, .32); }
.button-dark { background: var(--forest-950); color: var(--white); }
.button-dark:hover { background: var(--forest-800); }
.button-ghost-light { border-color: rgba(255,255,255,.32); color: var(--white); background: rgba(255,255,255,.02); }
.button-ghost-light:hover { border-color: rgba(255,255,255,.66); background: rgba(255,255,255,.08); }
.button-outline-light { border-color: rgba(255,255,255,.26); color: var(--white); background: transparent; }
.button-outline-light:hover { border-color: var(--pink); color: var(--pink-soft); }
.button-quiet { background: transparent; border-color: var(--line); color: var(--ink); }
.button-quiet:hover { border-color: var(--ink); }
.button-full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--forest-800); font-weight: 850; font-size: .9rem; }
.text-link span, .text-link b { transition: transform .25s var(--ease); }
.text-link:hover span, .text-link:hover b { transform: translateX(6px); }
.text-button { padding: 0; border: 0; background: none; color: var(--forest-700); cursor: pointer; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.hero { position: relative; min-height: calc(100dvh - var(--announcement-height) - var(--header-height)); color: var(--white); overflow: hidden; }
.hero-home { display: flex; align-items: center; }
.hero-media { position: absolute; inset: 0; background: url('../images/forest-hero.webp') center 56% / cover no-repeat; transform: scale(1.035); animation: heroDrift 18s ease-in-out infinite alternate; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,12,8,.9) 0%, rgba(4,12,8,.69) 41%, rgba(4,12,8,.24) 75%, rgba(4,12,8,.16) 100%), linear-gradient(0deg, rgba(4,12,8,.62), rgba(4,12,8,.06) 45%, rgba(4,12,8,.18)); }
.hero-overlay::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 23% 46%, rgba(222,161,192,.16), transparent 34%), linear-gradient(180deg, transparent 70%, rgba(4,12,8,.45)); }
@keyframes heroDrift { to { transform: scale(1.075) translate3d(-.6%, -.3%, 0); } }
.hero-content { position: relative; z-index: 3; padding: 84px 0 110px; }
.hero-copy { max-width: 830px; }
.hero-copy h1 { max-width: 820px; margin-bottom: 28px; font-size: clamp(4rem, 8vw, 8.4rem); }
.hero-copy h1 em { color: var(--pink); font-weight: inherit; }
.hero-copy > p { max-width: 690px; margin-bottom: 36px; color: rgba(255,255,255,.82); font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-trust { display: flex; align-items: center; gap: 12px; margin-top: 46px; color: rgba(255,255,255,.62); font-size: .73rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.hero-trust i { width: 4px; height: 4px; border-radius: 50%; background: var(--pink); }
.hero-botanical { position: absolute; z-index: 2; width: 250px; height: 340px; color: rgba(255,255,255,.09); background: currentColor; -webkit-mask: url('../images/leaf-outline.svg') center/contain no-repeat; mask: url('../images/leaf-outline.svg') center/contain no-repeat; pointer-events: none; }
.hero-botanical-one { right: 4%; top: 8%; transform: rotate(18deg); }
.hero-botanical-two { right: 18%; bottom: -8%; width: 170px; transform: rotate(-24deg); }
.scroll-cue { position: absolute; z-index: 5; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.66); font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.scroll-cue i { width: 24px; height: 38px; border: 1px solid rgba(255,255,255,.38); border-radius: 18px; position: relative; }
.scroll-cue i::after { content: ''; position: absolute; top: 8px; left: 50%; width: 3px; height: 7px; border-radius: 3px; background: var(--pink); transform: translateX(-50%); animation: scrollCue 1.8s ease-in-out infinite; }
@keyframes scrollCue { 0%,100% { transform: translate(-50%,0); opacity:.4; } 50% { transform: translate(-50%,11px); opacity:1; } }

.split-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(60px, 9vw, 130px); align-items: start; }
.intro-copy { padding-top: 22px; }
.intro-copy p:not(.lead) { color: var(--ink-soft); }
.intro-section { overflow: hidden; padding-bottom: clamp(64px, 7vw, 96px); }
.intro-section::after { content: ''; position: absolute; z-index: 0; left: -155px; bottom: -235px; width: 470px; aspect-ratio: 958 / 1050; background: url('../images/botanical-gold.webp') center / contain no-repeat; opacity: .065; transform: rotate(7deg); pointer-events: none; }
.intro-section > .container { position: relative; z-index: 1; }
.balance-statement { margin-top: 62px; padding: 28px 0 2px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 44px; }
.balance-statement span { color: var(--sage-700); text-transform: uppercase; font-size: .72rem; font-weight: 850; letter-spacing: .15em; }
.balance-statement strong { max-width: 720px; font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.7rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 400; text-align: right; }
.balance-statement strong em { color: var(--pink-deep); font-weight: 500; }

.support-section { overflow: hidden; }
.support-section::before { content: ''; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(23,57,42,.08); border-radius: 50%; left: 50%; top: 54%; transform: translate(-50%,-50%); box-shadow: 0 0 0 90px rgba(23,57,42,.025), 0 0 0 190px rgba(23,57,42,.018); }
.support-orbit { position: relative; display: grid; grid-template-columns: 1fr 240px 1fr; grid-template-areas: 'a center b' 'c center d'; gap: 24px 34px; margin-top: 64px; align-items: center; }
.support-card { position: relative; z-index: 2; min-height: 250px; padding: 34px; background: rgba(255,255,255,.7); border: 1px solid rgba(23,57,42,.09); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); transition: transform .35s var(--ease), box-shadow .35s ease; }
.support-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-md); }
.support-card > span { display: inline-grid; place-items: center; width: 38px; height: 38px; margin-bottom: 28px; border-radius: 50%; background: var(--pink-soft); color: var(--pink-deep); font-size: .7rem; font-weight: 900; }
.support-card h3 { font-family: var(--serif); font-size: clamp(1.45rem,2.2vw,2rem); font-weight: 400; margin-bottom: 14px; }
.support-card p { margin: 0; color: var(--ink-soft); font-size: .94rem; }
.support-card-a { grid-area: a; }
.support-card-b { grid-area: b; }
.support-card-c { grid-area: c; }
.support-card-d { grid-area: d; }
.support-center { grid-area: center; position: relative; z-index: 1; width: 210px; height: 210px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: var(--forest-950); box-shadow: var(--shadow-md); color: var(--white); text-align: center; }
.support-center::before { content:''; position:absolute; inset:-12px; border:1px solid rgba(23,57,42,.18); border-radius:50%; }
.support-center img { width: 94px; margin-bottom: -8px; }
.support-center span { max-width: 100px; font-family: var(--serif); font-size: 1.05rem; line-height: 1.2; }

.pillar-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.pillar-card { position: relative; min-height: 560px; overflow: hidden; padding: 28px; border-radius: var(--radius-lg); color: var(--white); isolation: isolate; box-shadow: var(--shadow-sm); transition: transform .4s var(--ease), box-shadow .4s ease; }
.pillar-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-lg); }
.pillar-card::before { content:''; position:absolute; inset:0; z-index:-2; background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.22)); }
.pillar-card::after { content:''; position:absolute; width:280px; height:360px; right:-80px; top:-80px; z-index:-1; background: rgba(255,255,255,.08); -webkit-mask:url('../images/leaf-outline.svg') center/contain no-repeat; mask:url('../images/leaf-outline.svg') center/contain no-repeat; transform:rotate(24deg); transition: transform .6s var(--ease); }
.pillar-card:hover::after { transform: rotate(18deg) scale(1.08); }
.pillar-mind { background: #17392a; }
.pillar-body { background: #49684f; }
.pillar-soul { background: #7f626f; }
.pillar-number { position:absolute; top:30px; right:32px; font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.pillar-content { position:absolute; left:32px; right:32px; bottom:34px; }
.pillar-content .eyebrow { color: rgba(255,255,255,.66); margin-bottom:12px; }
.pillar-content h3 { margin:0 0 18px; font-family:var(--serif); font-size:clamp(3.5rem,6vw,5.5rem); font-weight:400; }
.pillar-content p { color:rgba(255,255,255,.74); margin-bottom:24px; }
.pillar-content .text-link { color:var(--white); }
.pillar-art { position:absolute; left:32px; top:64px; width:145px; height:180px; }
.pillar-art span { position:absolute; left:50%; border:3px solid var(--pink); transform:translateX(-50%); border-radius:50% 45% 42% 48%; }
.pillar-art span:nth-child(1) { width:70px; height:42px; top:4px; transform:translateX(-50%) rotate(10deg); }
.pillar-art span:nth-child(2) { width:105px; height:54px; top:60px; transform:translateX(-50%) rotate(-4deg); }
.pillar-art span:nth-child(3) { width:142px; height:68px; top:126px; transform:translateX(-50%) rotate(2deg); }

.nat-preview { overflow:hidden; }
.nat-preview::before { content:''; position:absolute; inset:auto -8% -35% auto; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle, rgba(222,161,192,.14), transparent 68%); }
.nat-preview-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,9vw,130px); align-items:center; }
.nat-image-wrap { position:relative; max-width:520px; }
.nat-image-wrap > img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center center; border-radius:50% 50% 44% 50%; position:relative; z-index:2; filter:saturate(.94) contrast(1.02); }
.nat-image-halo { position:absolute; inset:-24px 12px 20px -24px; border:1px solid rgba(222,161,192,.55); border-radius:50%; }
.nat-image-note { position:absolute; z-index:3; right:-28px; bottom:40px; max-width:230px; padding:20px 22px; background:var(--cream); color:var(--ink); border-radius:18px; box-shadow:var(--shadow-md); }
.nat-image-note span { display:block; color:var(--sage-700); font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.nat-image-note strong { font-family:var(--serif); font-size:1.25rem; font-weight:400; }
.nat-copy h2 { margin-bottom:28px; }
.nat-copy > p:not(.lead) { color:rgba(255,255,255,.66); }
.credential-list { display:flex; flex-wrap:wrap; gap:9px; margin:28px 0 34px; }
.credential-list span { padding:9px 13px; border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-pill); color:rgba(255,255,255,.75); font-size:.76rem; }

.journey-path { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:64px; }
.journey-path::before { content:''; position:absolute; top:34px; left:8%; right:8%; height:1px; background:linear-gradient(90deg, var(--pink), var(--sage-300)); }
.journey-path article { position:relative; padding:0 18px 0 0; }
.journey-step { position:relative; z-index:2; width:68px; height:68px; margin-bottom:28px; display:grid; place-items:center; border-radius:50%; background:var(--paper); border:1px solid var(--pink); color:var(--forest-800); font-size:.72rem; font-weight:900; box-shadow:0 0 0 8px var(--paper); }
.journey-path h3 { font-family:var(--serif); font-size:1.65rem; font-weight:400; margin-bottom:12px; }
.journey-path p { color:var(--ink-soft); font-size:.92rem; }

.book-preview { overflow:hidden; }
.book-preview::before { content:''; position:absolute; left:-130px; top:90px; width:470px; height:470px; border-radius:50%; background:rgba(222,161,192,.11); filter:blur(1px); }
.book-preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,110px); align-items:center; }
.book-visual { position:relative; min-height:540px; display:grid; place-items:center; }
.book-visual > img { position:relative; z-index:2; width:min(100%,650px); filter:drop-shadow(0 30px 30px rgba(28,39,28,.17)); }
.book-glow { position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(222,161,192,.28), transparent 70%); }
.book-bonus { position:absolute; z-index:3; left:2%; bottom:12%; padding:16px 18px; max-width:210px; border-radius:16px; background:var(--forest-950); color:var(--white); box-shadow:var(--shadow-md); }
.book-bonus span { display:block; color:var(--pink); font-size:.66rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.book-bonus strong { font-family:var(--serif); font-weight:400; line-height:1.25; }
.book-copy h2 { margin-bottom:15px; }
.book-copy .lead { color:var(--forest-700); font-family:var(--serif); font-size:1.35rem; }
.check-list { display:grid; gap:12px; padding:0; margin:28px 0 34px; list-style:none; }
.check-list li { position:relative; padding-left:30px; color:var(--ink-soft); }
.check-list li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--pink-deep); font-weight:900; }
.book-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }

.testimonials-section { background:var(--paper); overflow:hidden; }
.testimonial-controls { display:flex; gap:8px; }
.testimonial-controls button { width:48px; height:48px; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; transition:background .2s ease, color .2s ease; }
.testimonial-controls button:hover { background:var(--forest-950); color:var(--white); }
.testimonial-track { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:8px 0 25px; }
.testimonial-track::-webkit-scrollbar { display:none; }
.testimonial-card { flex:0 0 min(420px,85vw); scroll-snap-align:start; min-height:340px; padding:36px; background:var(--cream); border:1px solid rgba(23,57,42,.08); border-radius:var(--radius-md); display:flex; flex-direction:column; }
.quote-mark { color:var(--pink-deep); font-family:var(--serif); font-size:5rem; line-height:.65; }
.testimonial-card blockquote { margin:36px 0 auto; font-family:var(--serif); font-size:1.45rem; line-height:1.45; }
.testimonial-card cite { margin-top:30px; color:var(--sage-700); font-style:normal; font-size:.78rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }

.final-cta { min-height:720px; display:grid; place-items:center; overflow:hidden; color:var(--white); }
.final-cta-media { position:absolute; inset:0; background:url('../images/forest-hero.webp') center/cover no-repeat; }
.final-cta-overlay { position:absolute; inset:0; background:linear-gradient(rgba(6,18,12,.84),rgba(6,18,12,.9)), radial-gradient(circle at center, transparent, rgba(0,0,0,.3)); }
.final-cta-content { position:relative; z-index:2; max-width:780px; text-align:center; }
.final-cta-content img { width:110px; margin:0 auto 4px; }
.final-cta-content h2 { margin-bottom:24px; }
.final-cta-content p { max-width:620px; margin:0 auto 32px; color:rgba(255,255,255,.72); font-size:1.08rem; }

.inner-hero { position:relative; min-height:560px; padding:100px 0 90px; display:flex; align-items:center; color:var(--white); background:var(--forest-950); overflow:hidden; }
.inner-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 74% 45%, rgba(222,161,192,.18), transparent 29%), linear-gradient(125deg, transparent 55%, rgba(255,255,255,.035)); }
.inner-hero::after { content:''; position:absolute; right:-90px; top:-100px; width:440px; height:600px; color:rgba(255,255,255,.035); background:currentColor; -webkit-mask:url('../images/leaf-outline.svg') center/contain no-repeat; mask:url('../images/leaf-outline.svg') center/contain no-repeat; transform:rotate(20deg); }
.inner-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:80px; }
.inner-hero h1 { max-width:860px; margin-bottom:26px; font-size:clamp(3.5rem,6.7vw,7rem); }
.inner-hero p { max-width:680px; color:rgba(255,255,255,.72); font-size:1.12rem; }
.inner-hero-mark { display:grid; place-items:center; }
.inner-hero-mark img { width:250px; opacity:.95; filter:drop-shadow(0 25px 25px rgba(0,0,0,.25)); }

.story-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(60px,9vw,130px); align-items:start; }
.story-image { position:sticky; top:140px; }
.story-image > img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center center; border-radius:var(--radius-lg); background:var(--cream); }
.story-image-caption { margin:18px 14px 0; color:var(--sage-700); font-size:.72rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.story-copy h2 { margin-bottom:30px; }
.story-copy p { color:var(--ink-soft); }
.story-copy .lead { color:var(--forest-800); }
.philosophy-section { overflow:hidden; }
.philosophy-section::after { content:''; position:absolute; z-index:0; right:-165px; bottom:-250px; width:560px; aspect-ratio:1043/1100; background:url('../images/botanical-colour.webp') center/contain no-repeat; opacity:.11; transform:rotate(-5deg); pointer-events:none; }
.philosophy-section > .container { position:relative; z-index:1; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:60px; position:relative; z-index:1; }
.value-grid article { padding:30px; background:rgba(255,255,255,.68); border:1px solid rgba(23,57,42,.08); border-radius:var(--radius-md); }
.value-grid article > span { color:var(--pink-deep); font-size:.69rem; font-weight:900; }
.value-grid h3 { margin:46px 0 12px; font-family:var(--serif); font-size:1.55rem; font-weight:400; }
.value-grid p { margin:0; color:var(--ink-soft); font-size:.9rem; }
.credentials-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; }
.credential-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.credential-columns ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.credential-columns li { padding:17px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); }
.credential-columns li::before { content:'·'; color:var(--pink-deep); margin-right:10px; font-weight:900; }
.quote-section-inner { max-width:920px; text-align:center; }
.quote-section-inner blockquote { margin:24px 0 30px; font-family:var(--serif); font-size:clamp(2rem,4.5vw,4.6rem); line-height:1.18; }
.quote-section-inner > span:last-child { color:rgba(255,255,255,.55); font-size:.75rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.simple-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:52px 56px; border-radius:var(--radius-lg); background:var(--cream); }
.section-cream .simple-cta-inner { background:var(--paper); }
.simple-cta-inner h2 { font-size:clamp(2rem,4vw,4rem); margin:0; }
.simple-cta-inner p { color:var(--ink-soft); margin:12px 0 0; }

.inner-hero-services .inner-hero-grid { align-items:end; }
.service-jump { display:grid; border-top:1px solid rgba(255,255,255,.18); }
.service-jump a { display:flex; justify-content:space-between; padding:20px 4px; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.75); font-family:var(--serif); font-size:1.5rem; transition:color .2s ease, padding .2s ease; }
.service-jump a:hover { color:var(--pink); padding-left:10px; }
.service-jump span { font-family:var(--sans); font-size:.7rem; }
.service-panel { padding:clamp(90px,12vw,170px) 0; scroll-margin-top:110px; }
.service-panel:nth-of-type(odd) { background:var(--cream); }
.service-panel-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,10vw,150px); align-items:center; }
.service-panel-grid.reverse { grid-template-columns:1.28fr .72fr; }
.service-panel-grid.reverse .service-visual { order:2; }
.service-visual { min-height:590px; padding:44px; border-radius:var(--radius-lg); background:var(--forest-950); color:var(--white); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; }
.service-visual::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 68% 25%, rgba(222,161,192,.2), transparent 32%); }
.service-visual::after { content:''; position:absolute; right:-90px; top:-60px; width:310px; height:430px; color:rgba(255,255,255,.06); background:currentColor; -webkit-mask:url('../images/leaf-outline.svg') center/contain no-repeat; mask:url('../images/leaf-outline.svg') center/contain no-repeat; transform:rotate(23deg); }
.service-index { position:absolute; top:34px; left:38px; z-index:2; color:var(--pink); font-size:.7rem; font-weight:900; letter-spacing:.15em; }
.service-visual h2 { position:relative; z-index:2; font-size:clamp(4.5rem,8vw,7.6rem); margin:0 0 20px; }
.service-visual p { position:relative; z-index:2; max-width:390px; color:rgba(255,255,255,.68); }
.service-stones { position:absolute; z-index:1; right:28px; top:110px; width:180px; height:230px; }
.service-stones i { position:absolute; left:50%; border:4px solid var(--pink); border-radius:50%; transform:translateX(-50%); }
.service-stones i:nth-child(1){width:76px;height:45px;top:0;transform:translateX(-50%) rotate(10deg)}
.service-stones i:nth-child(2){width:118px;height:58px;top:70px;transform:translateX(-50%) rotate(-5deg)}
.service-stones i:nth-child(3){width:160px;height:78px;top:148px;transform:translateX(-50%) rotate(2deg)}
.service-details h3 { font-family:var(--serif); font-size:clamp(2.4rem,4.2vw,4.4rem); font-weight:400; margin-bottom:24px; }
.service-details > p { color:var(--ink-soft); }
.service-list-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin:34px 0 40px; }
.service-list-grid ul { list-style:none; margin:0; padding:0; }
.service-list-grid li { padding:13px 0 13px 23px; border-bottom:1px solid var(--line); position:relative; font-size:.9rem; }
.service-list-grid li::before { content:''; position:absolute; left:0; top:21px; width:7px; height:7px; border-radius:50%; background:var(--pink); }
.service-panel-body .service-visual { background:#385f49; }
.service-panel-soul .service-visual { background:#735665; }
.scope-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.scope-grid h2 { font-size:clamp(2.5rem,4.5vw,4.5rem); }
.scope-grid p { color:var(--ink-soft); }

.book-hero { position:relative; padding:clamp(90px,10vw,150px) 0; background:var(--cream); overflow:hidden; }
.book-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(110deg, rgba(222,161,192,.18), transparent 45%); }
.book-hero-glow { position:absolute; width:700px; height:700px; left:-220px; top:-170px; border-radius:50%; background:radial-gradient(circle, rgba(222,161,192,.28), transparent 68%); }
.book-hero-grid { position:relative; display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(70px,10vw,150px); align-items:center; }
.book-card-visual { position:relative; display:grid; place-items:center; min-height:680px; }
.book-card-frame { position:relative; z-index:2; width:min(470px,90%); transform:perspective(1000px) rotateY(7deg) rotateX(1deg); transition:transform .6s var(--ease); }
.book-card-visual:hover .book-card-frame { transform:perspective(1000px) rotateY(1deg) rotateX(0); }
.book-card-frame img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:4px; filter:drop-shadow(0 38px 35px rgba(27,34,26,.22)); }
.book-card-shadow { position:absolute; width:430px; height:80px; bottom:30px; border-radius:50%; background:rgba(19,36,25,.2); filter:blur(25px); }
.book-hero-copy h1 { font-size:clamp(3.4rem,6.3vw,6.6rem); margin-bottom:16px; }
.book-subtitle { color:var(--forest-700); font-family:var(--serif); font-size:clamp(1.35rem,2.2vw,1.85rem); }
.book-hero-copy > p { color:var(--ink-soft); }
.book-purchase-card { margin-top:34px; padding:22px 24px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.65); display:flex; justify-content:space-between; align-items:center; gap:20px; box-shadow:var(--shadow-sm); }
.book-purchase-card span { display:block; color:var(--sage-700); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.book-purchase-card strong { font-size:.92rem; }
.secure-note { margin:15px 4px 0; font-size:.72rem; }
.book-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.book-about-grid h2 { font-size:clamp(2.6rem,4.8vw,4.8rem); }
.book-chapter-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; }
.book-chapter-grid article { min-height:310px; padding:34px; border:1px solid var(--line); border-radius:var(--radius-md); position:relative; overflow:hidden; }
.book-chapter-grid article::after { content:''; position:absolute; right:-40px; bottom:-60px; width:180px; height:240px; color:rgba(23,57,42,.045); background:currentColor; -webkit-mask:url('../images/leaf-outline.svg') center/contain no-repeat; mask:url('../images/leaf-outline.svg') center/contain no-repeat; transform:rotate(-18deg); }
.book-chapter-grid span { color:var(--pink-deep); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.book-chapter-grid h3 { margin:70px 0 16px; font-family:var(--serif); font-size:2rem; font-weight:400; }
.book-chapter-grid p { color:var(--ink-soft); }
.book-bonus-grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:90px; }
.book-bonus-grid h2 { max-width:700px; }
.book-bonus-grid p { max-width:620px; color:rgba(255,255,255,.68); }
.meditation-orb { position:relative; width:min(360px,80vw); aspect-ratio:1; margin:auto; border:1px solid rgba(222,161,192,.35); border-radius:50%; display:grid; place-items:center; }
.meditation-orb::before,.meditation-orb::after { content:''; position:absolute; inset:12%; border:1px solid rgba(222,161,192,.22); border-radius:50%; animation:breathe 6s ease-in-out infinite; }
.meditation-orb::after { inset:25%; animation-delay:-3s; }
.meditation-orb span { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--pink); box-shadow:0 0 20px var(--pink); }
.meditation-orb span:nth-child(1){top:15%;left:50%}.meditation-orb span:nth-child(2){bottom:18%;left:24%}.meditation-orb span:nth-child(3){bottom:26%;right:18%}
.meditation-orb b { font-family:var(--serif); font-size:2.2rem; font-weight:400; }
@keyframes breathe { 0%,100%{transform:scale(.95);opacity:.4}50%{transform:scale(1.08);opacity:1} }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:55px; }
.review-grid article { padding:34px; background:var(--cream); border-radius:var(--radius-md); display:flex; flex-direction:column; }
.review-grid p { margin:28px 0 auto; font-family:var(--serif); font-size:1.35rem; }
.review-grid cite { margin-top:28px; color:var(--sage-700); font-style:normal; font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }

.contact-hero { position:relative; min-height:520px; padding:100px 0 90px; display:flex; align-items:center; color:var(--white); background:linear-gradient(115deg, var(--forest-950), #17392a); overflow:hidden; }
.contact-hero::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 78% 45%, rgba(222,161,192,.2), transparent 27%); }
.contact-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:90px; align-items:center; }
.contact-hero h1 { font-size:clamp(3.8rem,7vw,7.2rem); margin-bottom:24px; }
.contact-hero p { max-width:680px; color:rgba(255,255,255,.7); font-size:1.1rem; }
.contact-stone-preview { position:relative; height:310px; display:grid; place-items:center; }
.contact-stone-preview i { position:absolute; left:50%; border:6px solid var(--pink); border-radius:50%; transform:translateX(-50%); }
.contact-stone-preview i:nth-child(1){width:100px;height:55px;top:26px;transform:translateX(-50%) rotate(10deg)}
.contact-stone-preview i:nth-child(2){width:148px;height:70px;top:115px;transform:translateX(-50%) rotate(-4deg)}
.contact-stone-preview i:nth-child(3){width:205px;height:92px;top:210px;transform:translateX(-50%) rotate(1deg)}
.contact-stone-preview span { position:absolute; bottom:-18px; color:rgba(255,255,255,.55); font-family:var(--serif); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:44px; align-items:start; }
.journey-form-wrap { border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--white); box-shadow:var(--shadow-md); overflow:hidden; }
.journey-form-header { padding:34px 40px; display:flex; justify-content:space-between; gap:30px; align-items:flex-end; border-bottom:1px solid var(--line); background:linear-gradient(120deg, #fff, var(--cream)); }
.journey-form-header h2 { max-width:650px; margin:0; font-size:clamp(2rem,3.4vw,3.4rem); }
.form-progress { width:190px; flex:0 0 auto; }
.form-progress > span { display:block; margin-bottom:9px; color:var(--sage-700); font-size:.7rem; font-weight:850; text-align:right; }
.form-progress > div { height:5px; border-radius:999px; background:var(--sage-150); overflow:hidden; }
.form-progress i { display:block; height:100%; width:20%; border-radius:inherit; background:linear-gradient(90deg,var(--pink-deep),var(--pink)); transition:width .45s var(--ease); }
.journey-form { padding:44px 40px 38px; }
.form-step { border:0; padding:0; margin:0; }
.js .form-step { display:none; }
.js .form-step.is-active { display:block; animation:stepIn .45s var(--ease); }
@keyframes stepIn { from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none} }
.form-step legend { padding:0; margin-bottom:10px; font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.3rem); line-height:1.1; }
.step-intro { color:var(--ink-soft); margin-bottom:32px; }
.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.choice-card-wide { grid-column:1/-1; }
.choice-card input,
.choice-list input,
.meeting-options input { position:absolute; opacity:0; pointer-events:none; }
.choice-card > span { min-height:145px; padding:24px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:20px; cursor:pointer; transition:border-color .2s ease, background .2s ease, transform .2s var(--ease), box-shadow .2s ease; }
.choice-card > span::before { content:''; width:20px; height:20px; margin-bottom:23px; border:1px solid var(--sage-500); border-radius:50%; box-shadow:inset 0 0 0 5px var(--white); transition:background .2s ease; }
.choice-card b,.choice-list b,.meeting-options b { font-size:.94rem; }
.choice-card small,.choice-list small,.meeting-options small { display:block; margin-top:7px; color:var(--ink-soft); line-height:1.45; }
.choice-card input:checked + span { border-color:var(--pink-deep); background:var(--pink-soft); box-shadow:0 12px 30px rgba(222,161,192,.17); transform:translateY(-2px); }
.choice-card input:checked + span::before { background:var(--pink-deep); }
.choice-card input:focus-visible + span,.choice-list input:focus-visible + span,.meeting-options input:focus-visible + span { outline:3px solid var(--pink); outline-offset:3px; }
.choice-list { display:grid; gap:12px; }
.choice-list label > span { position:relative; display:block; padding:21px 24px 21px 60px; border:1px solid var(--line); border-radius:18px; cursor:pointer; transition:border-color .2s ease, background .2s ease; }
.choice-list label > span::before { content:''; position:absolute; left:23px; top:25px; width:18px; height:18px; border:1px solid var(--sage-500); border-radius:50%; box-shadow:inset 0 0 0 5px var(--white); }
.choice-list input:checked + span { border-color:var(--pink-deep); background:var(--pink-soft); }
.choice-list input:checked + span::before { background:var(--pink-deep); }
.meeting-options { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.meeting-options label > span { min-height:210px; padding:26px; border:1px solid var(--line); border-radius:20px; cursor:pointer; display:flex; flex-direction:column; transition:border-color .2s ease, background .2s ease, transform .2s var(--ease); }
.meeting-options input:checked + span { border-color:var(--pink-deep); background:var(--pink-soft); transform:translateY(-3px); }
.meeting-icon { width:48px; height:48px; margin-bottom:auto; display:grid; place-items:center; border-radius:50%; background:var(--cream); color:var(--forest-800); font-size:1.3rem; }
.floating-field { position:relative; display:block; }
.floating-field input,.floating-field textarea { width:100%; border:1px solid var(--line); border-radius:18px; background:var(--paper); padding:26px 18px 12px; color:var(--ink); resize:vertical; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.floating-field textarea { min-height:220px; padding-top:38px; }
.floating-field > span { position:absolute; left:18px; top:20px; color:var(--sage-700); pointer-events:none; transition:transform .2s ease, font-size .2s ease, top .2s ease; }
.floating-field input:focus,.floating-field textarea:focus { outline:0; border-color:var(--pink-deep); box-shadow:0 0 0 4px rgba(222,161,192,.16); background:var(--white); }
.floating-field input:focus + span,.floating-field input:not(:placeholder-shown)+span,.floating-field textarea:focus + span,.floating-field textarea:not(:placeholder-shown)+span { top:8px; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.character-count { margin-top:8px; color:var(--sage-700); font-size:.72rem; text-align:right; }
.field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.select-field { display:flex; flex-direction:column; gap:7px; }
.select-field > span { color:var(--sage-700); font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.select-field select { width:100%; min-height:62px; appearance:none; border:1px solid var(--line); border-radius:18px; padding:0 48px 0 18px; background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2317392a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") calc(100% - 18px) center/16px no-repeat; }
.select-field select:focus { outline:0; border-color:var(--pink-deep); box-shadow:0 0 0 4px rgba(222,161,192,.16); }
.consent-check { display:flex; gap:13px; margin-top:24px; color:var(--ink-soft); font-size:.82rem; cursor:pointer; }
.consent-check input { width:20px; height:20px; flex:0 0 auto; accent-color:var(--pink-deep); }
.form-navigation { margin-top:38px; padding-top:25px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:12px; }
.form-navigation .button-quiet { margin-right:auto; }
.form-error-summary { margin:24px 0 0; padding:14px 16px; border-radius:12px; background:#fff0f0; color:#8a2525; font-size:.86rem; }
.form-success { text-align:center; padding:20px 20px 10px; }
.form-success h3 { font-family:var(--serif); font-size:2.7rem; font-weight:400; }
.form-success p { max-width:570px; margin:0 auto 24px; color:var(--ink-soft); }
.success-stones { position:relative; width:170px; height:190px; margin:0 auto 20px; }
.success-stones i { position:absolute; left:50%; border:4px solid var(--pink-deep); border-radius:50%; transform:translateX(-50%); }
.success-stones i:nth-child(1){width:60px;height:35px;top:8px;transform:translateX(-50%) rotate(8deg)}
.success-stones i:nth-child(2){width:105px;height:48px;top:68px;transform:translateX(-50%) rotate(-4deg)}
.success-stones i:nth-child(3){width:150px;height:63px;top:132px;transform:translateX(-50%) rotate(1deg)}
.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.contact-aside { display:grid; gap:18px; position:sticky; top:140px; }
.contact-aside-card { padding:30px; background:var(--forest-950); color:var(--white); border-radius:var(--radius-md); }
.contact-aside-card h2 { font-size:2.4rem; margin-bottom:30px; }
.contact-aside-card a { display:block; padding:17px 0; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.82); word-break:break-word; }
.contact-aside-card a span { display:block; margin-bottom:4px; color:var(--pink); font-size:.66rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.contact-note { padding:24px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--cream); }
.contact-note h3 { font-family:var(--serif); font-size:1.45rem; font-weight:400; }
.contact-note p { margin:0; color:var(--ink-soft); font-size:.84rem; }

.checkout-hero { min-height:430px; }
.checkout-section { min-height:550px; }
.checkout-grid { display:grid; grid-template-columns:1fr 380px; gap:50px; align-items:start; }
.checkout-item { display:grid; grid-template-columns:180px 1fr; gap:30px; padding:26px; border:1px solid var(--line); border-radius:var(--radius-md); }
.checkout-item img { width:100%; border-radius:8px; }
.checkout-item span { color:var(--sage-700); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.checkout-item h2 { font-size:2.5rem; margin:10px 0 14px; }
.checkout-item p { color:var(--ink-soft); }
.checkout-summary { padding:30px; background:var(--cream); border-radius:var(--radius-md); position:sticky; top:140px; }
.checkout-summary h2 { font-size:2.5rem; }
.checkout-summary p { color:var(--ink-soft); }
.checkout-summary form { margin:24px 0 18px; }
.checkout-summary small { display:block; margin-top:22px; color:var(--sage-700); line-height:1.5; }

.legal-hero { padding:100px 0 80px; background:var(--forest-950); color:var(--white); }
.legal-hero h1 { font-size:clamp(3.5rem,6vw,6rem); margin-bottom:18px; }
.legal-hero p { color:rgba(255,255,255,.58); }
.legal-grid { display:grid; grid-template-columns:250px minmax(0,780px); gap:90px; justify-content:center; align-items:start; }
.legal-grid aside { position:sticky; top:140px; }
.legal-grid nav { display:grid; border-top:1px solid var(--line); }
.legal-grid nav a { padding:13px 0; border-bottom:1px solid var(--line); color:var(--sage-700); font-size:.82rem; font-weight:700; }
.legal-grid article h2 { margin:54px 0 16px; font-family:var(--serif); font-size:2.2rem; font-weight:400; scroll-margin-top:130px; }
.legal-grid article h2:first-of-type { margin-top:28px; }
.legal-grid article p { color:var(--ink-soft); }
.legal-grid article a { color:var(--forest-700); text-decoration:underline; text-underline-offset:3px; }

.error-section { min-height:calc(100dvh - var(--announcement-height) - var(--header-height)); padding:80px 0; display:grid; place-items:center; background:var(--forest-950); color:var(--white); position:relative; overflow:hidden; }
.error-inner { position:relative; z-index:2; text-align:center; max-width:850px; }
.error-inner h1 { font-size:clamp(3.2rem,7vw,7.2rem); }
.error-inner p { max-width:580px; margin:0 auto 30px; color:rgba(255,255,255,.66); }
.error-inner > div:last-child { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.error-stones { position:relative; width:150px; height:160px; margin:0 auto 22px; transform:rotate(-6deg); }
.error-stones i { position:absolute; left:50%; border:4px solid var(--pink); border-radius:50%; transform:translateX(-50%); }
.error-stones i:nth-child(1){width:54px;height:32px;top:8px}.error-stones i:nth-child(2){width:92px;height:44px;top:61px}.error-stones i:nth-child(3){width:132px;height:57px;top:113px}
.error-leaves i { position:absolute; width:280px; height:390px; color:rgba(255,255,255,.035); background:currentColor; -webkit-mask:url('../images/leaf-outline.svg') center/contain no-repeat; mask:url('../images/leaf-outline.svg') center/contain no-repeat; }
.error-leaves i:nth-child(1){left:-60px;top:-100px;transform:rotate(22deg)}.error-leaves i:nth-child(2){right:-50px;bottom:-90px;transform:rotate(-25deg)}.error-leaves i:nth-child(3){right:18%;top:8%;width:130px;transform:rotate(40deg)}

.site-footer { position:relative; padding:82px 0 24px; background:#050d09; color:var(--white); overflow:hidden; }
.footer-leaf { position:absolute; right:-110px; bottom:-150px; width:430px; height:580px; color:rgba(255,255,255,.03); background:currentColor; -webkit-mask:url('../images/leaf-outline.svg') center/contain no-repeat; mask:url('../images/leaf-outline.svg') center/contain no-repeat; transform:rotate(-18deg); }
.footer-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:60px; padding-bottom:58px; }
.footer-brand img { width:230px; height:auto; aspect-ratio:auto; object-fit:contain; margin-bottom:22px; }
.footer-brand p { max-width:390px; color:rgba(255,255,255,.56); }
.footer-links { display:grid; align-content:start; gap:10px; }
.footer-links h2 { margin-bottom:12px; font-family:var(--sans); font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); }
.footer-links a { color:rgba(255,255,255,.62); font-size:.85rem; transition:color .2s ease, transform .2s ease; }
.footer-links a:hover { color:var(--white); transform:translateX(3px); }
.footer-bottom { position:relative; z-index:2; padding-top:22px; border-top:1px solid rgba(255,255,255,.09); display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.36); font-size:.68rem; }

.cart-drawer { position:fixed; inset:0; z-index:500; pointer-events:none; visibility:hidden; }
.cart-drawer[aria-hidden="false"] { pointer-events:auto; visibility:visible; }
.drawer-backdrop { position:absolute; inset:0; border:0; background:rgba(3,9,6,.64); opacity:0; cursor:pointer; transition:opacity .3s ease; }
.drawer-panel { position:absolute; top:0; right:0; width:min(470px,100%); height:100%; display:flex; flex-direction:column; background:var(--paper); transform:translateX(100%); transition:transform .45s var(--ease); box-shadow:-30px 0 80px rgba(0,0,0,.2); }
.cart-drawer[aria-hidden="false"] .drawer-backdrop { opacity:1; }
.cart-drawer[aria-hidden="false"] .drawer-panel { transform:none; }
.drawer-header { padding:30px; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.drawer-header .eyebrow { margin-bottom:8px; }
.drawer-header h2 { margin:0; font-size:2rem; }
.icon-button { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; font-size:1.6rem; }
.drawer-body { flex:1; overflow:auto; padding:24px 30px; }
.cart-empty { min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.cart-empty img { width:110px; margin-bottom:10px; color:var(--pink-deep); }
.cart-empty h3 { margin:0 0 10px; font-family:var(--serif); font-size:1.8rem; font-weight:400; }
.cart-empty p { max-width:280px; color:var(--ink-soft); }
.cart-item { display:grid; grid-template-columns:110px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.cart-item img { width:100%; border-radius:8px; }
.cart-item h3 { margin:4px 0 5px; font-family:var(--serif); font-size:1.3rem; font-weight:400; }
.cart-item p,.cart-item span { margin:0 0 7px; color:var(--sage-700); font-size:.74rem; }
.cart-remove { padding:0; border:0; background:transparent; color:var(--pink-deep); cursor:pointer; font-size:.74rem; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.drawer-footer { padding:22px 30px 30px; border-top:1px solid var(--line); background:var(--cream); }
.drawer-footer p { margin:0 0 15px; color:var(--ink-soft); font-size:.78rem; }

.flash-stack { position:fixed; z-index:700; top:calc(var(--announcement-height) + var(--header-height) + 16px); right:18px; display:grid; gap:10px; }
.flash { max-width:360px; padding:14px 18px; border-radius:14px; background:var(--white); box-shadow:var(--shadow-md); font-size:.84rem; }
.flash-success { border-left:4px solid var(--forest-600); }
.flash-error { border-left:4px solid #a43b3b; }
.flash-info { border-left:4px solid var(--gold); }
.toast-region { position:fixed; z-index:800; right:18px; bottom:18px; display:grid; gap:10px; pointer-events:none; }
.toast { max-width:360px; padding:15px 18px; border-radius:16px; background:var(--forest-950); color:var(--white); box-shadow:var(--shadow-lg); transform:translateY(20px); opacity:0; animation:toastIn .35s var(--ease) forwards, toastOut .35s ease 3.2s forwards; }
.toast strong { color:var(--pink); }
@keyframes toastIn { to{opacity:1;transform:none} } @keyframes toastOut { to{opacity:0;transform:translateY(10px)} }

.js [data-reveal], .js [data-reveal-group] > * { opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.js [data-reveal].is-visible, .js [data-reveal-group].is-visible > * { opacity:1; transform:none; }
.js [data-reveal-group].is-visible > *:nth-child(2){transition-delay:.08s}.js [data-reveal-group].is-visible > *:nth-child(3){transition-delay:.16s}.js [data-reveal-group].is-visible > *:nth-child(4){transition-delay:.24s}

@media (max-width: 1120px) {
    .desktop-nav { display:none; }
    .menu-toggle { display:grid; position:relative; }
    .desktop-book { display:none; }
    .pillar-grid { grid-template-columns:1fr; }
    .pillar-card { min-height:460px; }
    .support-orbit { grid-template-columns:1fr 190px 1fr; }
    .support-center { width:170px; height:170px; }
    .value-grid { grid-template-columns:repeat(2,1fr); }
    .contact-layout { grid-template-columns:1fr; }
    .contact-aside { position:static; grid-template-columns:1fr 1fr; }
    .checkout-grid { grid-template-columns:1fr; }
    .checkout-summary { position:static; }
    .footer-grid { grid-template-columns:1.4fr repeat(2,1fr); }
    .footer-links:last-child { grid-column:2; }
}

@media (max-width: 900px) {
    :root { --header-height: 76px; }
    .container { width:min(calc(100% - 32px), var(--container)); }
    .brand { min-width:215px; height:56px; gap:10px; }
    .brand-mark { width:42px; height:42px; flex-basis:42px; }
    .brand-copy strong { font-size:.84rem; }
    .brand-copy small { font-size:.62rem; }
    .section-heading-row,.split-intro,.nat-preview-grid,.book-preview-grid,.story-grid,.credentials-grid,.scope-grid,.book-hero-grid,.book-about-grid,.book-bonus-grid,.contact-hero-grid,.inner-hero-grid { grid-template-columns:1fr; gap:44px; }
    .section-heading-row { align-items:start; }
    .section-heading-row > p { max-width:660px; }
    .support-orbit { grid-template-columns:1fr 1fr; grid-template-areas:'center center' 'a b' 'c d'; }
    .support-center { margin:0 auto 20px; }
    .journey-path { grid-template-columns:repeat(2,1fr); gap:42px 24px; }
    .journey-path::before { display:none; }
    .journey-step { box-shadow:none; }
    .nat-image-wrap { margin:auto; }
    .nat-image-note { right:0; }
    .story-image { position:relative; top:auto; max-width:620px; }
    .credential-columns { grid-template-columns:1fr 1fr; }
    .inner-hero-mark { display:none; }
    .service-panel-grid,.service-panel-grid.reverse { grid-template-columns:1fr; gap:44px; }
    .service-panel-grid.reverse .service-visual { order:0; }
    .service-visual { min-height:470px; }
    .book-card-visual { min-height:540px; }
    .book-chapter-grid,.review-grid { grid-template-columns:1fr; }
    .book-chapter-grid article { min-height:240px; }
    .book-chapter-grid h3 { margin-top:40px; }
    .contact-stone-preview { display:none; }
    .legal-grid { grid-template-columns:1fr; gap:35px; }
    .legal-grid aside { position:static; }
    .legal-grid nav { grid-template-columns:repeat(2,1fr); gap:0 20px; }
    .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
}

@media (max-width: 700px) {
    .intro-section::after { display:none; }
    .philosophy-section::after { width:360px; right:-170px; bottom:-165px; opacity:.08; }
    :root { --announcement-height: 40px; }
    .announcement-inner { justify-content:space-between; font-size:.68rem; }
    .announcement-inner span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
    .cart-button-label { display:none; }
    .cart-button { width:42px; padding:0; justify-content:center; border-radius:50%; }
    .cart-count { min-width:25px; }
    .hero-copy h1 { font-size:clamp(3.4rem,16vw,5.4rem); }
    .hero-overlay { background:linear-gradient(90deg,rgba(4,12,8,.9),rgba(4,12,8,.56)),linear-gradient(0deg,rgba(4,12,8,.65),transparent 65%); }
    .hero-actions { flex-direction:column; align-items:stretch; max-width:340px; }
    .hero-actions .button { width:100%; }
    .scroll-cue span { display:none; }
    .balance-statement { align-items:flex-start; flex-direction:column; gap:16px; margin-top:48px; }
    .balance-statement strong { max-width:620px; text-align:left; }
    .support-orbit { grid-template-columns:1fr; grid-template-areas:'center' 'a' 'b' 'c' 'd'; }
    .support-card { min-height:auto; }
    .pillar-card { min-height:500px; }
    .journey-path { grid-template-columns:1fr; }
    .book-visual { min-height:420px; }
    .book-bonus { left:0; bottom:5%; }
    .testimonial-card { flex-basis:88vw; }
    .final-cta { min-height:650px; }
    .inner-hero { min-height:470px; padding:78px 0 70px; }
    .value-grid { grid-template-columns:1fr; }
    .credential-columns { grid-template-columns:1fr; }
    .simple-cta-inner { padding:38px 28px; flex-direction:column; align-items:flex-start; }
    .service-list-grid { grid-template-columns:1fr; gap:0; }
    .service-visual { min-height:430px; padding:30px; }
    .service-stones { transform:scale(.75); transform-origin:right top; }
    .book-hero { padding-top:70px; }
    .book-card-visual { min-height:430px; }
    .book-purchase-card { align-items:stretch; flex-direction:column; }
    .book-purchase-card .button { width:100%; }
    .journey-form-header { padding:28px 24px; flex-direction:column; align-items:stretch; }
    .form-progress { width:100%; }
    .form-progress > span { text-align:left; }
    .journey-form { padding:32px 24px 28px; }
    .choice-grid,.meeting-options,.field-grid { grid-template-columns:1fr; }
    .choice-card-wide { grid-column:auto; }
    .meeting-options label > span { min-height:160px; }
    .form-navigation { flex-wrap:wrap; }
    .form-navigation .button { flex:1 1 45%; }
    .form-navigation .button-quiet { margin-right:0; }
    .contact-aside { grid-template-columns:1fr; }
    .checkout-item { grid-template-columns:110px 1fr; gap:18px; padding:18px; }
    .checkout-item h2 { font-size:1.8rem; }
    .legal-grid nav { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:40px 24px; }
    .footer-brand { grid-column:1/-1; }
    .footer-links:last-child { grid-column:auto; }
    .footer-bottom { flex-direction:column; }
}

@media (max-width: 480px) {
    .container { width:min(calc(100% - 24px), var(--container)); }
    .brand { min-width:176px; gap:8px; }
    .brand-mark { width:36px; height:36px; flex-basis:36px; }
    .brand-copy strong { font-size:.72rem; letter-spacing:.045em; }
    .brand-copy small { font-size:.54rem; letter-spacing:.02em; }
    .header-actions { gap:8px; }
    .menu-toggle,.cart-button { width:40px; height:40px; }
    .hero-content { padding-top:54px; }
    .hero-copy > p { font-size:1rem; }
    .hero-trust { gap:8px; font-size:.62rem; }
    .section { padding:78px 0; }
    .support-card,.testimonial-card { padding:28px; }
    .pillar-card { border-radius:30px; padding:24px; }
    .pillar-content { left:26px; right:26px; bottom:28px; }
    .nat-image-note { position:relative; right:auto; bottom:auto; margin:-28px 18px 0 auto; }
    .book-bonus { position:relative; margin:-35px auto 0; left:auto; bottom:auto; }
    .book-card-visual { min-height:370px; }
    .book-card-frame { width:92%; }
    .contact-hero h1 { font-size:3.6rem; }
    .journey-form-header h2 { font-size:2rem; }
    .form-step legend { font-size:2.1rem; }
    .drawer-header,.drawer-body,.drawer-footer { padding-left:22px; padding-right:22px; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-brand,.footer-links:last-child { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
    [data-reveal], [data-reveal-group] > * { opacity:1; transform:none; }
    .hero-media { transform:none; }
}

/* V3 pricing and compact enquiry refinements */
.book-price-inline { display:flex; align-items:baseline; gap:12px; margin:22px 0 4px; }
.book-price-inline span { color:var(--sage-700); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.book-price-inline strong { font-family:var(--serif); font-size:1.65rem; font-weight:500; }
.book-purchase-card { position:relative; display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:end; }
.book-price-block > span { display:block; color:var(--sage-700); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.book-price-block > strong { display:block; margin-top:4px; font-family:var(--serif); font-size:1.75rem; font-weight:500; }
.book-price-block > small { display:block; max-width:320px; margin-top:5px; color:var(--ink-soft); font-size:.67rem; line-height:1.45; }
.cta-price { margin:10px 0 0; color:var(--pink-deep); font-family:var(--serif); font-size:1.55rem; }

.currency-picker { position:relative; min-width:154px; z-index:25; }
.currency-picker-label { display:block; margin-bottom:7px; color:var(--sage-700); font-size:.64rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.currency-picker-toggle { width:100%; min-height:48px; padding:0 13px; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:14px; background:var(--white); color:var(--ink); font-weight:850; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.currency-picker-toggle:hover,.currency-picker-toggle[aria-expanded="true"] { border-color:var(--pink-deep); background:var(--pink-soft); }
.currency-picker-toggle:focus-visible { outline:3px solid rgba(222,161,192,.45); outline-offset:3px; }
.currency-picker-toggle svg { width:17px; height:17px; margin-left:auto; fill:none; stroke:currentColor; stroke-width:1.8; transition:transform .2s ease; }
.currency-picker-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.currency-flag { display:inline-grid; place-items:center; font-size:1.15rem; line-height:1; }
.currency-picker-menu { position:absolute; right:0; top:calc(100% + 9px); width:min(330px,calc(100vw - 36px)); padding:8px; border:1px solid var(--line); border-radius:18px; background:var(--white); box-shadow:0 24px 65px rgba(8,25,17,.2); }
.currency-picker-menu button { width:100%; padding:11px 12px; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; border:0; border-radius:12px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.currency-picker-menu button:hover,.currency-picker-menu button:focus-visible,.currency-picker-menu button[aria-selected="true"] { outline:0; background:var(--pink-soft); }
.currency-picker-menu button > span:nth-child(2) { display:grid; gap:1px; }
.currency-picker-menu b { font-size:.78rem; }
.currency-picker-menu small { color:var(--ink-soft); font-size:.66rem; }
.currency-picker-menu strong { color:var(--forest-800); font-size:.78rem; }
.checkout-summary .currency-picker { margin:22px 0 4px; }
.checkout-summary .currency-picker-menu { left:0; right:auto; }
.cart-item [data-product-price],.checkout-item [data-product-price] { display:block; margin-top:6px; color:var(--forest-800); font-weight:850; }

.journey-form-header { padding:25px 32px; align-items:center; }
.journey-form-header h2 { max-width:610px; font-size:clamp(1.8rem,2.55vw,2.7rem); }
.journey-form { padding:29px 32px 26px; }
.form-step legend { font-size:clamp(1.8rem,2.7vw,2.65rem); }
.step-intro { margin-bottom:21px; }
.choice-grid { gap:11px; }
.choice-card > span { min-height:116px; padding:17px 20px; border-radius:18px; }
.choice-card > span::before { width:19px; height:19px; margin-bottom:13px; border-radius:6px; box-shadow:none; display:grid; place-items:center; color:var(--white); font-size:.72rem; font-weight:900; }
.choice-card input:checked + span::before { content:'✓'; background:var(--pink-deep); }
.choice-grid.has-error .choice-card > span { border-color:#a43b3b; }
.choice-list { gap:9px; }
.choice-list label > span { padding-top:17px; padding-bottom:17px; }
.meeting-options label > span { min-height:178px; padding:21px; }
.floating-field textarea { min-height:180px; }
.form-navigation { margin-top:27px; padding-top:20px; }

@media (min-width:701px) and (max-height:900px) {
    .contact-section { padding-top:58px; padding-bottom:58px; }
    .journey-form-header { padding:19px 28px; }
    .journey-form-header .eyebrow { margin-bottom:8px; }
    .journey-form-header h2 { font-size:clamp(1.65rem,2.25vw,2.3rem); }
    .journey-form { padding:22px 28px 20px; }
    .form-step legend { font-size:clamp(1.7rem,2.35vw,2.25rem); }
    .step-intro { margin-bottom:15px; font-size:.9rem; }
    .choice-card > span { min-height:99px; padding:13px 17px; }
    .choice-card > span::before { width:17px; height:17px; margin-bottom:9px; }
    .choice-card b,.choice-list b,.meeting-options b { font-size:.88rem; }
    .choice-card small,.choice-list small,.meeting-options small { margin-top:4px; font-size:.75rem; line-height:1.32; }
    .choice-list label > span { padding:13px 18px 13px 52px; }
    .choice-list label > span::before { left:20px; top:18px; }
    .meeting-options label > span { min-height:142px; padding:17px; }
    .meeting-icon { width:40px; height:40px; }
    .floating-field textarea { min-height:150px; }
    .form-navigation { margin-top:18px; padding-top:15px; }
    .form-navigation .button { min-height:46px; }
}

@media (max-width:900px) {
    .book-purchase-card { grid-template-columns:1fr auto; align-items:end; }
    .book-purchase-card .button { grid-column:1/-1; width:100%; }
}

@media (max-width:700px) {
    .book-purchase-card { grid-template-columns:1fr; }
    .book-purchase-card .currency-picker { width:100%; }
    .currency-picker-menu { left:0; right:auto; }
    .journey-form-header { padding:24px; }
    .journey-form { padding:28px 24px 25px; }
    .choice-card > span { min-height:106px; }
}
.book-purchase-card .currency-picker span { color:inherit; font-size:inherit; font-weight:inherit; letter-spacing:normal; text-transform:none; }
.book-purchase-card .currency-picker-label { color:var(--sage-700); font-size:.64rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.book-purchase-card .currency-picker-menu small { color:var(--ink-soft); font-size:.66rem; }

/* V4 botanical environment and currency menu refinements */
html.currency-open .site-shell { overflow: visible; }

.currency-picker { position: relative; min-width: 350px; z-index: auto; }
.currency-picker-label { margin-bottom: 8px; }
.currency-picker-toggle {
    min-height: 54px;
    padding: 0 15px;
    display: grid;
    grid-template-columns: 52px minmax(130px, 1fr) auto 18px;
    align-items: center;
    gap: 14px;
    border-color: rgba(23,57,42,.18);
    border-radius: 16px;
    background: rgba(255,255,255,.9);
    text-align: left;
}
.currency-current-code { color: var(--ink); font-size: .83rem; font-weight: 900; letter-spacing: .035em; }
.currency-current-name { min-width: 0; overflow: hidden; color: var(--ink-soft); font-size: .75rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.currency-current-price { color: var(--forest-800); font-size: .82rem; font-weight: 900; white-space: nowrap; }
.currency-picker-toggle svg { margin-left: 0; }
.currency-picker-toggle:hover,
.currency-picker-toggle[aria-expanded="true"] { border-color: var(--pink-deep); background: linear-gradient(90deg, rgba(245,219,232,.82), rgba(255,255,255,.96)); box-shadow: 0 12px 28px rgba(8,25,17,.08); }
.currency-picker-menu {
    position: fixed;
    z-index: 2147483000;
    right: auto;
    top: 0;
    width: 390px;
    max-height: min(430px, calc(100dvh - 24px));
    overflow: auto;
    padding: 8px;
    border: 1px solid rgba(23,57,42,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.985);
    box-shadow: 0 30px 90px rgba(4,18,11,.26);
    backdrop-filter: blur(20px);
}
.currency-picker-menu button {
    min-height: 58px;
    padding: 10px 13px;
    display: grid;
    grid-template-columns: 52px minmax(135px,1fr) auto;
    align-items: center;
    gap: 14px;
    border-radius: 12px;
}
.currency-picker-menu button b { color: var(--ink); font-size: .8rem; font-weight: 900; letter-spacing: .025em; }
.currency-picker-menu button span { min-width: 0; color: var(--ink-soft); font-size: .74rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.currency-picker-menu button strong { color: var(--forest-800); font-size: .79rem; font-weight: 900; white-space: nowrap; }
.currency-picker-menu button:hover,
.currency-picker-menu button:focus-visible { background: var(--sage-150); }
.currency-picker-menu button[aria-selected="true"] { background: var(--pink-soft); box-shadow: inset 3px 0 0 var(--pink-deep); }
.currency-picker-menu[data-placement="top"] { transform-origin: bottom; }
.currency-picker-menu[data-placement="bottom"] { transform-origin: top; }
.book-purchase-card { grid-template-columns: minmax(180px,1fr) minmax(350px,.95fr) auto; }
.book-purchase-card .currency-picker span,
.book-purchase-card .currency-picker b,
.book-purchase-card .currency-picker strong { letter-spacing: initial; text-transform: none; }
.book-purchase-card .currency-current-code,
.book-purchase-card .currency-picker-menu b { font-size: .8rem; font-weight: 900; }
.book-purchase-card .currency-current-name,
.book-purchase-card .currency-picker-menu span { color: var(--ink-soft); font-size: .74rem; font-weight: 600; }
.book-purchase-card .currency-current-price,
.book-purchase-card .currency-picker-menu strong { color: var(--forest-800); font-size: .79rem; font-weight: 900; }

/* Green is the atmosphere, pink remains the point of focus. */
.section-cream { background: linear-gradient(135deg, #f5f0e8 0%, #eef2e9 52%, #f5f0e8 100%); }
.support-card,
.value-grid article,
.review-grid article,
.contact-aside-card,
.checkout-summary { box-shadow: 0 18px 55px rgba(23,57,42,.09); }
.support-card { border-color: rgba(37,80,61,.13); }
.pillars-section,
.process-section,
.testimonials-section,
.credentials-section,
.book-inside,
.book-reviews,
.contact-form-section,
.checkout-section,
.story-section { overflow: hidden; }
.pillars-section > .container,
.process-section > .container,
.testimonials-section > .container,
.credentials-section > .container,
.book-inside > .container,
.book-reviews > .container,
.contact-form-section > .container,
.checkout-section > .container,
.story-section > .container,
.support-section > .container,
.book-preview > .container,
.nat-preview > .container,
.quote-section > .container,
.book-bonus-section > .container,
.final-cta > .container { position: relative; z-index: 2; }

.support-section { background: linear-gradient(145deg, #f5f0e8 0%, #edf2e8 48%, #f4eee6 100%); }
.support-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -120px;
    top: 8%;
    width: 430px;
    aspect-ratio: 958 / 1050;
    background: url('../images/botanical-gold.webp') center/contain no-repeat;
    opacity: .12;
    transform: rotate(-8deg);
    pointer-events: none;
}

.pillars-section { background: linear-gradient(180deg, var(--paper) 0%, #f1f5ee 55%, var(--paper) 100%); }
.pillars-section::before {
    content: '';
    position: absolute;
    z-index: 0;
    left: -105px;
    bottom: -135px;
    width: 390px;
    height: 660px;
    background: rgba(37,80,61,.075);
    -webkit-mask: url('../images/fern-frond.svg') center/contain no-repeat;
    mask: url('../images/fern-frond.svg') center/contain no-repeat;
    transform: rotate(-13deg);
    pointer-events: none;
}
.pillars-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -95px;
    top: 12%;
    width: 330px;
    height: 470px;
    background: rgba(111,134,105,.08);
    -webkit-mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    transform: rotate(13deg);
    pointer-events: none;
}

.nat-preview::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -105px;
    top: 4%;
    width: 470px;
    height: 470px;
    background: url('../images/monstera-outline.png') center/contain no-repeat;
    filter: invert(1);
    opacity: .085;
    transform: rotate(15deg);
    pointer-events: none;
}

.process-section { background: linear-gradient(125deg, #fbfaf7 0%, #f2f6ef 58%, #f8f4ed 100%); }
.process-section::before {
    content: '';
    position: absolute;
    z-index: 0;
    left: -85px;
    bottom: -230px;
    width: 430px;
    height: 720px;
    background: rgba(37,80,61,.075);
    -webkit-mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    transform: rotate(-22deg);
    pointer-events: none;
}
.process-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -130px;
    top: -170px;
    width: 410px;
    height: 520px;
    background: rgba(111,134,105,.055);
    -webkit-mask: url('../images/palm-spray.svg') center/contain no-repeat;
    mask: url('../images/palm-spray.svg') center/contain no-repeat;
    transform: rotate(11deg);
    pointer-events: none;
}

.book-preview::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -150px;
    bottom: -210px;
    width: 470px;
    aspect-ratio: 1043 / 1100;
    background: url('../images/botanical-colour.webp') center/contain no-repeat;
    opacity: .13;
    transform: rotate(-8deg);
    pointer-events: none;
}

.testimonials-section { background: linear-gradient(140deg, #fbfaf7, #eff4ec 55%, #fbfaf7); }
.testimonials-section::before {
    content: '';
    position: absolute;
    z-index: 0;
    right: -105px;
    top: -145px;
    width: 360px;
    height: 580px;
    background: rgba(37,80,61,.07);
    -webkit-mask: url('../images/fern-frond.svg') center/contain no-repeat;
    mask: url('../images/fern-frond.svg') center/contain no-repeat;
    transform: rotate(24deg);
    pointer-events: none;
}

.final-cta::after {
    content: '';
    position: absolute;
    z-index: 1;
    left: -120px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: url('../images/monstera-outline.png') center/contain no-repeat;
    filter: invert(1);
    opacity: .075;
    transform: rotate(-18deg);
    pointer-events: none;
}

.story-section { background: linear-gradient(135deg, var(--paper), #f2f6ef 60%, var(--paper)); }
.story-section::before {
    content: '';
    position: absolute;
    z-index: 0;
    right: -120px;
    bottom: -190px;
    width: 410px;
    height: 680px;
    background: rgba(37,80,61,.065);
    -webkit-mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    transform: rotate(19deg);
    pointer-events: none;
}
.credentials-section { background: linear-gradient(180deg, var(--paper), #f4f7f1); }
.credentials-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    left: -90px;
    bottom: -210px;
    width: 360px;
    height: 620px;
    background: rgba(111,134,105,.075);
    -webkit-mask: url('../images/fern-frond.svg') center/contain no-repeat;
    mask: url('../images/fern-frond.svg') center/contain no-repeat;
    transform: rotate(-10deg);
    pointer-events: none;
}
.quote-section { overflow: hidden; }
.quote-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -120px;
    top: -90px;
    width: 430px;
    height: 430px;
    background: url('../images/monstera-outline.png') center/contain no-repeat;
    filter: invert(1);
    opacity: .08;
    transform: rotate(12deg);
    pointer-events: none;
}

.service-panel { position: relative; overflow: hidden; }
.service-panel > .container { position: relative; z-index: 2; }
.service-panel-mind::before {
    content: '';
    position: absolute;
    left: -105px;
    bottom: -190px;
    width: 370px;
    height: 640px;
    background: rgba(37,80,61,.07);
    -webkit-mask: url('../images/fern-frond.svg') center/contain no-repeat;
    mask: url('../images/fern-frond.svg') center/contain no-repeat;
    transform: rotate(-13deg);
}
.service-panel-body::after {
    content: '';
    position: absolute;
    right: -150px;
    top: 8%;
    width: 460px;
    aspect-ratio: 1043 / 1100;
    background: url('../images/botanical-colour.webp') center/contain no-repeat;
    opacity: .11;
    transform: rotate(-7deg);
}
.service-panel-soul::before {
    content: '';
    position: absolute;
    left: -90px;
    top: 7%;
    width: 390px;
    height: 600px;
    background: rgba(37,80,61,.065);
    -webkit-mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    transform: rotate(-21deg);
}
.scope-section::after {
    content: '';
    position: absolute;
    right: -110px;
    bottom: -150px;
    width: 330px;
    height: 430px;
    background: rgba(37,80,61,.06);
    -webkit-mask: url('../images/leaf-pair.svg') center/contain no-repeat;
    mask: url('../images/leaf-pair.svg') center/contain no-repeat;
}

.book-hero::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -120px;
    bottom: -170px;
    width: 430px;
    aspect-ratio: 958 / 1050;
    background: url('../images/botanical-gold.webp') center/contain no-repeat;
    opacity: .13;
    transform: rotate(-9deg);
}
.book-inside { background: linear-gradient(135deg, var(--paper), #eff4ec 60%, var(--paper)); }
.book-inside::before {
    content: '';
    position: absolute;
    z-index: 0;
    left: -110px;
    top: -170px;
    width: 360px;
    height: 620px;
    background: rgba(37,80,61,.065);
    -webkit-mask: url('../images/fern-frond.svg') center/contain no-repeat;
    mask: url('../images/fern-frond.svg') center/contain no-repeat;
    transform: rotate(-18deg);
}
.book-bonus-section { overflow: hidden; }
.book-bonus-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -80px;
    top: -90px;
    width: 410px;
    height: 410px;
    background: url('../images/monstera-outline.png') center/contain no-repeat;
    filter: invert(1);
    opacity: .08;
    transform: rotate(12deg);
}
.book-reviews { background: linear-gradient(155deg, var(--paper), #f0f5ed 58%, var(--paper)); }
.book-reviews::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -85px;
    bottom: -140px;
    width: 330px;
    height: 490px;
    background: rgba(111,134,105,.07);
    -webkit-mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    mask: url('../images/eucalyptus-sprig.svg') center/contain no-repeat;
    transform: rotate(16deg);
}

.contact-hero::before {
    content: '';
    position: absolute;
    z-index: 1;
    left: -110px;
    bottom: -190px;
    width: 460px;
    height: 460px;
    background: url('../images/monstera-outline.png') center/contain no-repeat;
    filter: invert(1);
    opacity: .07;
    transform: rotate(-16deg);
}
.contact-form-section { background: linear-gradient(145deg, var(--paper), #eef4eb 48%, var(--paper)); }
.contact-form-section::before {
    content: '';
    position: absolute;
    z-index: 0;
    right: -125px;
    top: 8%;
    width: 390px;
    aspect-ratio: 1043 / 1100;
    background: url('../images/botanical-colour.webp') center/contain no-repeat;
    opacity: .11;
    transform: rotate(-8deg);
}
.contact-form-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    left: -115px;
    bottom: -170px;
    width: 350px;
    height: 600px;
    background: rgba(37,80,61,.06);
    -webkit-mask: url('../images/fern-frond.svg') center/contain no-repeat;
    mask: url('../images/fern-frond.svg') center/contain no-repeat;
    transform: rotate(-16deg);
}

.checkout-section { background: linear-gradient(135deg, var(--paper), #eef4eb 55%, var(--paper)); }
.checkout-section::after {
    content: '';
    position: absolute;
    z-index: 0;
    right: -105px;
    bottom: -150px;
    width: 340px;
    height: 470px;
    background: rgba(37,80,61,.065);
    -webkit-mask: url('../images/leaf-pair.svg') center/contain no-repeat;
    mask: url('../images/leaf-pair.svg') center/contain no-repeat;
    transform: rotate(9deg);
}

@media (max-width: 1120px) {
    .book-purchase-card { grid-template-columns: 1fr minmax(330px,.9fr); }
    .book-purchase-card .button { grid-column: 1/-1; width: 100%; }
}

@media (max-width: 760px) {
    .currency-picker { width: 100%; min-width: 0; }
    .currency-picker-toggle { grid-template-columns: 46px minmax(95px,1fr) auto 18px; gap: 9px; padding-inline: 12px; }
    .currency-picker-menu button { grid-template-columns: 46px minmax(90px,1fr) auto; gap: 9px; padding-inline: 11px; }
    .currency-current-name,
    .currency-picker-menu button span { font-size: .68rem; }
    .currency-current-price,
    .currency-picker-menu button strong { font-size: .73rem; }
    .book-purchase-card { grid-template-columns: 1fr; }
    .support-section::after,
    .book-preview::after,
    .service-panel-body::after,
    .contact-form-section::before { opacity: .07; width: 300px; right: -145px; }
    .pillars-section::before,
    .process-section::before,
    .credentials-section::after,
    .service-panel-mind::before,
    .contact-form-section::after { width: 250px; opacity: .7; }
    .nat-preview::after,
    .quote-section::after,
    .book-bonus-section::after,
    .final-cta::after,
    .contact-hero::before { width: 280px; height: 280px; opacity: .055; }
}

@media (max-width: 430px) {
    .currency-picker-toggle { grid-template-columns: 42px minmax(0,1fr) auto 16px; }
    .currency-picker-menu button { grid-template-columns: 42px minmax(0,1fr) auto; }
    .currency-current-name,
    .currency-picker-menu button span { max-width: 105px; }
}

@media (max-width: 430px) {
    .currency-picker-menu button { grid-template-columns: 38px minmax(0,1fr) auto; gap: 6px; padding-inline: 8px; }
    .currency-picker-menu button span { max-width: none; font-size: .62rem; letter-spacing: -.01em; }
    .currency-picker-menu button b { font-size: .72rem; }
    .currency-picker-menu button strong { font-size: .67rem; }
}

/* V5 functional polish: keep purchase button labels on one line without changing the V4 layout. */
.book-purchase-card > .button, .simple-cta .button, .book-actions .button { white-space: nowrap; }


/* V5.3 checkout alignment and spacing polish */
.checkout-summary .currency-picker {
    width: 100%;
    min-width: 0;
    margin: 22px 0 14px;
}
.checkout-summary .currency-picker-toggle {
    width: 100%;
}
.checkout-summary > .button-full {
    width: 100%;
    margin: 0;
}
.checkout-summary .text-button {
    display: inline-block;
    margin-top: 10px;
}

/* Keep book-page decoration from intercepting purchase controls. */
.book-hero::before,
.book-hero::after,
.book-hero-glow { pointer-events: none; }

/* V5.5: speaking on the About page. */
.speaker-section { background: var(--cream); }
.speaker-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 88px); align-items: center; }
.speaker-photo { margin: 0; }
.speaker-photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--radius-lg) var(--radius-lg) 12px 12px; box-shadow: var(--shadow-md); }
.speaker-photo figcaption { margin-top: 18px; color: var(--forest-700); font-size: .76rem; letter-spacing: .04em; }
.speaker-copy h2 { font-size: clamp(2.2rem, 3.6vw, 3.7rem); line-height: 1.12; margin-bottom: 24px; }
.speaker-copy > p { color: var(--ink-soft); }
.speaker-copy h3 { margin: 28px 0 12px; font-size: 1.35rem; }
.speaker-themes { list-style: none; padding: 0; margin: 0 0 25px; border-top: 1px solid var(--line); }
.speaker-themes li { padding: 13px 0; border-bottom: 1px solid var(--line); }
.speaker-themes strong { display: block; font-size: .9rem; color: var(--forest-800); }
.speaker-themes span { display: block; margin-top: 3px; color: var(--ink-soft); font-size: .85rem; }
.speaker-invite { font-size: .9rem; }
#speaking { scroll-margin-top: 130px; }
.speaking-enquiry { padding-bottom: 0; }
.speaking-enquiry-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 36px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--cream); }
.speaking-enquiry-inner > div { max-width: 700px; }
.speaking-enquiry-inner h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 12px; }
.speaking-enquiry-inner p { margin: 0; color: var(--ink-soft); }
.speaking-enquiry-inner .button { flex-shrink: 0; }
@media (max-width: 900px) {
    .speaker-grid { grid-template-columns: 1fr; }
    .speaker-photo { max-width: 600px; margin-inline: auto; }
    .speaking-enquiry-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
    .speaking-enquiry-inner { padding: 25px; }
    .speaking-enquiry-inner .button { white-space: normal; text-align: center; }
}
