:root {
    --logo-green: #104424;
    --ink: #17362f;
    --ink-soft: #486159;
    --forest: #163f35;
    --forest-deep: #0d2c26;
    --sage: #8fac98;
    --sage-pale: #dfe9df;
    --rose: #d8a8ad;
    --sand: #d8af8f;
    --gold: #b99a63;
    --cream: #f7f4ec;
    --paper: #fffdf8;
    --line: rgba(23, 54, 47, .14);
    --shadow: 0 24px 70px rgba(13, 44, 38, .13);
    --serif: Georgia, 'Times New Roman', serif;
    --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: var(--sans);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
body.intro-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #c68470; outline-offset: 4px; }
.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; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.skip-link { position: fixed; z-index: 9999; left: 1rem; top: -4rem; background: white; padding: .75rem 1rem; border-radius: 999px; transition: top .2s; }
.skip-link:focus { top: 1rem; }

.site-header {
    position: sticky;
    z-index: 80;
    top: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 76px;
    padding: 0 clamp(1.25rem, 5vw, 5rem);
    border-bottom: 1px solid transparent;
    background: rgba(247, 244, 236, .86);
    backdrop-filter: blur(18px);
    transition: border-color .25s, min-height .25s;
}
.site-header.is-scrolled { min-height: 66px; border-color: var(--line); }
.brand { display: inline-flex; align-items: center; gap: .65rem; width: fit-content; color: var(--forest); text-decoration: none; font-size: .82rem; font-weight: 800; letter-spacing: .24em; }
.brand-mark { width: 38px; height: 38px; flex: 0 0 38px; object-fit: contain; }
.primary-nav { display: flex; gap: clamp(1rem, 2.5vw, 2.2rem); align-items: center; }
.primary-nav a { position: relative; text-decoration: none; font-size: .82rem; font-weight: 650; }
.primary-nav a::after { position: absolute; right: 0; bottom: -.35rem; left: 0; height: 1px; background: currentColor; content: ''; transform: scaleX(0); transition: transform .2s; }
.primary-nav a:hover::after { transform: scaleX(1); }
.header-actions { display: flex; justify-self: end; gap: 1rem; align-items: center; }
.header-actions a { text-decoration: none; font-size: .78rem; font-weight: 700; }
.cart-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; color: white; background: var(--forest); border-radius: 99px; font-size: .66rem; }
.nav-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; }
.nav-toggle > span:not(.sr-only) { display: block; width: 100%; height: 1px; margin: 5px 0; background: var(--ink); }

.intro-stage {
    position: fixed;
    z-index: 999;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--logo-green);
    background:
        radial-gradient(circle at 50% 38%, rgba(143, 172, 152, .20), transparent 33%),
        linear-gradient(145deg, #fbf9f2, var(--cream) 58%, #eee9dc);
    transition: opacity .7s ease, visibility .7s;
}
.intro-stage::before, .intro-stage::after { position: absolute; width: 48vw; height: 48vw; border: 1px solid rgba(16,68,36,.07); border-radius: 50%; content: ''; }
.intro-stage::before { left: -20vw; top: -23vw; }
.intro-stage::after { right: -20vw; bottom: -26vw; }
.intro-stage.is-exiting { opacity: 0; visibility: hidden; pointer-events: none; }
.skip-intro { position: absolute; z-index: 3; top: max(1.25rem, env(safe-area-inset-top)); right: max(1.25rem, env(safe-area-inset-right)); padding: .6rem 1rem; color: rgba(16,68,36,.72); border: 1px solid rgba(16,68,36,.22); background: rgba(255,253,248,.48); border-radius: 99px; cursor: pointer; font-size: .75rem; }
.skip-intro:hover { color: var(--logo-green); border-color: rgba(16,68,36,.58); }
.intro-copy { position: relative; z-index: 2; display: grid; justify-items: center; text-align: center; }
.brand-flower-navigation { position: relative; aspect-ratio: 1 / 1; height: auto; min-width: 0; isolation: isolate; }
.brand-flower-navigation--intro { width: min(72vw, 390px); opacity: 0; transform: scale(.74) rotate(-24deg); animation: official-mark-arrive 1.25s cubic-bezier(.19,1,.22,1) forwards; }
.brand-flower-rotor { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; animation: brand-mark-spin 24s linear infinite; transform-origin: 50% 50%; }
.brand-flower-navigation:hover .brand-flower-rotor,
.brand-flower-navigation:focus-within .brand-flower-rotor,
.brand-flower-rotor.is-paused { animation-play-state: paused; }
.brand-flower-art { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; filter: drop-shadow(0 22px 42px rgba(16,68,36,.10)); transform: scale(.88); transform-origin: 50% 50%; user-select: none; -webkit-user-drag: none; }
.brand-petal-hotspot { position: absolute; z-index: 2; left: var(--petal-x); top: var(--petal-y); width: 22%; height: 17.6%; border: 1px solid transparent; background: transparent; border-radius: 48% 52% 50% 50%; text-decoration: none; transform: translate(-50%,-50%); transition: background .25s, border-color .25s, box-shadow .25s, transform .25s; }
.brand-petal-hotspot--1 { --petal-x: 50%; --petal-y: 25.4%; --label-left: 50%; --label-top: -72%; }
.brand-petal-hotspot--2 { --petal-x: 74.6%; --petal-y: 43%; --label-left: 139%; --label-top: 18%; }
.brand-petal-hotspot--3 { --petal-x: 65.8%; --petal-y: 70.2%; --label-left: 107%; --label-top: 141%; }
.brand-petal-hotspot--4 { --petal-x: 34.2%; --petal-y: 70.2%; --label-left: -7%; --label-top: 141%; }
.brand-petal-hotspot--5 { --petal-x: 25.4%; --petal-y: 43%; --label-left: -39%; --label-top: 18%; }
.brand-petal-hotspot span { position: absolute; z-index: 3; left: var(--label-left); top: var(--label-top); padding: .48rem .78rem; opacity: .36; color: var(--logo-green); border: 1px solid rgba(16,68,36,.13); background: rgba(255,253,248,.74); border-radius: 999px; box-shadow: 0 8px 26px rgba(16,68,36,.08); font-size: .62rem; font-weight: 850; letter-spacing: .07em; line-height: 1; pointer-events: none; text-transform: uppercase; white-space: nowrap; animation: brand-label-counter-spin 24s linear infinite; transition: opacity .25s, scale .25s, background .25s, box-shadow .25s; }
.brand-flower-navigation:hover .brand-petal-hotspot span,
.brand-flower-navigation:focus-within .brand-petal-hotspot span,
.brand-flower-rotor.is-paused .brand-petal-hotspot span { animation-play-state: paused; }
.brand-flower-navigation.has-near .brand-petal-hotspot span { opacity: .14; }
.brand-petal-hotspot:hover,
.brand-petal-hotspot:focus-visible,
.brand-petal-hotspot.is-active,
.brand-petal-hotspot.is-near { border-color: rgba(16,68,36,.22); background: rgba(143,172,152,.14); box-shadow: 0 0 0 7px rgba(255,253,248,.32), 0 12px 32px rgba(16,68,36,.13); transform: translate(-50%,-50%) scale(1.08); }
.brand-petal-hotspot:hover span,
.brand-petal-hotspot:focus-visible span,
.brand-petal-hotspot.is-active span,
.brand-petal-hotspot.is-near span { opacity: 1; scale: 1.05; background: rgba(255,253,248,.97); box-shadow: 0 12px 32px rgba(16,68,36,.16); }
.intro-kicker { margin: 1.25rem 0 .15rem; opacity: 0; font-size: .66rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; animation: fade-up .8s 1s forwards; }
.intro-wordmark { opacity: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(2.2rem, 8vw, 4.2rem); letter-spacing: .21em; line-height: 1.1; animation: fade-up .8s 1.15s forwards; }
.intro-tagline { margin: .8rem 0 0; opacity: 0; color: rgba(16,68,36,.68); font-size: .73rem; letter-spacing: .12em; animation: fade-up .8s 1.3s forwards; }
.returning .brand-flower-navigation--intro { animation-duration: .55s; }
.returning .intro-wordmark, .returning .intro-tagline, .returning .intro-kicker { animation-delay: .35s; }

.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); min-height: calc(100svh - 76px); align-items: center; gap: clamp(3rem, 8vw, 8rem); overflow: hidden; padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 7vw, 7rem); }
.hero::before { position: absolute; right: -18rem; top: 4rem; width: 42rem; height: 42rem; border: 1px solid var(--line); border-radius: 50%; content: ''; }
.eyebrow { margin: 0 0 1rem; color: #9a7154; font-size: .69rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero h1, .section-heading h2, .principles h2, .coming-page h1, .error-page h1 { max-width: 13ch; margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3.1rem, 6vw, 6.5rem); font-weight: 500; letter-spacing: -.045em; line-height: .96; }
.hero h1 em { color: #74483c; font-weight: 500; }
.hero-lead { max-width: 580px; margin: 2rem 0 0; color: var(--ink-soft); font-size: clamp(1rem, 1.5vw, 1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1.35rem; align-items: center; margin-top: 2.2rem; }
.public-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .75rem 1.25rem; border: 1px solid var(--forest); border-radius: 99px; text-decoration: none; font-size: .78rem; font-weight: 750; }
.public-button-primary { color: white; background: var(--forest); }
.public-button-primary:hover { background: var(--forest-deep); }
.text-link { text-decoration: none; font-size: .82rem; font-weight: 750; }
.text-link span { display: inline-block; margin-left: .3rem; transition: transform .2s; }
.text-link:hover span { transform: translate(3px,-3px); }
.hero-brand-experience { position: relative; z-index: 2; display: grid; width: min(100%, 590px); justify-items: center; justify-self: end; }
.brand-flower-navigation--hero { width: min(100%, 590px); }
.brand-flower-navigation--hero .brand-flower-rotor { filter: drop-shadow(0 24px 55px rgba(16,68,36,.11)); }

.ecosystem-strip { padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 7vw, 7rem); color: white; background: var(--forest-deep); }
.section-heading { display: grid; grid-template-columns: .55fr 1fr; gap: 2rem; align-items: end; margin-bottom: 3.5rem; }
.section-heading .eyebrow { color: #d4b99f; }
.section-heading h2 { max-width: 10ch; font-size: clamp(2.8rem, 5vw, 5rem); }
.ecosystem-heading > div { display: grid; justify-items: start; gap: 1.25rem; }
.ecosystem-heading-mark { width: clamp(82px, 8vw, 116px); height: auto; filter: brightness(0) invert(1); opacity: .9; }
.petal-card-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255,255,255,.15); }
.petal-card { position: relative; display: flex; min-height: 260px; flex-direction: column; justify-content: space-between; padding: 1.4rem; border-right: 1px solid rgba(255,255,255,.15); text-decoration: none; transition: background .25s; }
.petal-card:first-child { border-left: 1px solid rgba(255,255,255,.15); }
.petal-card:hover { background: rgba(255,255,255,.07); }
.petal-card h3 { margin: 0 0 .6rem; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.petal-card p { margin: 0; color: rgba(255,255,255,.6); font-size: .78rem; }
.petal-number { color: #d4b99f; font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.card-arrow { position: absolute; right: 1.25rem; top: 1.2rem; opacity: .55; }

.principles { padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 7vw, 7rem); }
.principles > h2 { max-width: 14ch; font-size: clamp(2.8rem, 5vw, 5.3rem); }
.principles-brand { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-bottom: 2rem; }
.principles-brand > div { display: grid; gap: .25rem; }
.principles-brand .eyebrow { margin: 0; }
.principles-brand span { color: var(--ink-soft); font-size: .7rem; }
.principles-brand-mark { width: clamp(72px, 7vw, 104px); height: auto; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 4rem; background: var(--line); border: 1px solid var(--line); }
.principle-grid article { padding: clamp(1.5rem, 4vw, 3rem); background: var(--cream); }
.principle-grid span { color: #9a7154; font-size: .6rem; font-weight: 800; }
.principle-grid h3 { margin: 3rem 0 .6rem; font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.principle-grid p { margin: 0; color: var(--ink-soft); font-size: .88rem; }
.section-lead { max-width: 650px; margin: 1.5rem 0 0; color: var(--ink-soft); }
.announcement-section { display: flex; justify-content: center; gap: .75rem; align-items: center; padding: .8rem 1rem; color: white; background: #9a7154; text-align: center; font-size: .76rem; }
.catalog-section, .editorial-section, .testimonial-section, .social-section, .newsletter-section { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem); }
.catalog-section:nth-child(even), .editorial-section:nth-child(even) { background: var(--paper); }
.catalog-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.7rem; }
.catalog-heading h2, .social-section h2, .newsletter-section h2, .testimonial-section h2 { max-width: 13ch; margin: 0; font-family: var(--serif); font-size: clamp(2.6rem, 4.8vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.catalog-heading p:not(.eyebrow) { max-width: 590px; color: var(--ink-soft); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(.8rem, 2vw, 1.5rem); }
.product-card { min-width: 0; }
.product-image { position: relative; display: grid; aspect-ratio: 4/5; place-items: center; overflow: hidden; background: #e7ece5; border-radius: 44% 8px 44% 8px; text-decoration: none; }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.product-card:hover .product-image img { transform: scale(1.035); }
.product-image .product-image-fallback { width: min(46%, 180px); height: auto; aspect-ratio: 1; padding: .25rem; object-fit: contain; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 14px 40px rgba(13,44,38,.1); }
.product-badges { position: absolute; left: .7rem; top: .7rem; display: flex; flex-wrap: wrap; gap: .3rem; }
.product-badges span { padding: .25rem .5rem; color: white; background: var(--forest); border-radius: 99px; font-size: .55rem; font-weight: 800; letter-spacing: .06em; }
.product-card-copy { padding: 1rem .2rem; }
.product-card-copy > p { margin: 0 0 .25rem; color: #9a7154; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card-copy h3 { margin: 0 0 .55rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.product-card-copy h3 a { text-decoration: none; }
.product-price { display: flex; gap: .5rem; align-items: baseline; font-size: .8rem; }
.product-price s { color: var(--ink-soft); }
.editorial-grid, .testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.editorial-grid a, .testimonial-grid blockquote { margin: 0; padding: 1.6rem; border: 1px solid var(--line); background: var(--paper); border-radius: 20px 5px 20px 5px; text-decoration: none; }
.editorial-grid span { color: #9a7154; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.editorial-grid h3 { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.editorial-grid p, .testimonial-grid p { color: var(--ink-soft); font-size: .85rem; }
.social-section, .newsletter-section { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; color: white; background: var(--forest); }
.social-section .eyebrow, .newsletter-section .eyebrow { color: #d9bca4; }
.social-link-grid { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(255,255,255,.16); }
.social-link-grid a { display: flex; justify-content: space-between; padding: 1rem; border: 1px solid rgba(255,255,255,.12); text-decoration: none; font-size: .8rem; }
.newsletter-note { padding: 1.5rem; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.7); font-size: .82rem; }
.site-footer { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; padding: 4rem clamp(1.25rem, 7vw, 7rem) 2rem; color: rgba(255,255,255,.74); background: #09241f; }
.site-footer > div { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.site-footer strong { margin-bottom: .5rem; color: white; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.site-footer a { text-decoration: none; font-size: .83rem; }
.site-footer a:hover { color: white; }
.footer-brand { color: white; }
.site-footer p { margin: .25rem 0; font-size: .75rem; }
.footer-legal { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.1); }
.coming-page, .error-page, .temporary-home { min-height: 70svh; display: grid; align-content: center; justify-items: start; padding: 6rem clamp(1.25rem, 12vw, 12rem); }
.coming-page h1, .error-page h1 { margin-bottom: 1.5rem; }
.coming-page p:not(.eyebrow), .error-page p:not(.eyebrow) { max-width: 620px; color: var(--ink-soft); }
.coming-page .public-button, .error-page .public-button { margin-top: 1rem; }
.policy-page { max-width: 940px; margin: auto; padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 4rem); }
.policy-page h1 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 7vw, 6rem); font-weight: 400; line-height: 1; }
.policy-page header > p:last-child { color: var(--ink-soft); font-size: .78rem; }
.policy-content { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--line); color: var(--ink-soft); line-height: 1.85; }
.site-announcement { position: relative; z-index: 90; display: flex; min-height: 38px; justify-content: center; align-items: center; gap: 1rem; padding: .45rem 3rem; color: white; background: var(--forest); text-align: center; font-size: .72rem; }
.site-announcement a { text-decoration: none; }
.site-announcement button { position: absolute; right: 1rem; width: 30px; height: 30px; color: inherit; border: 0; background: transparent; cursor: pointer; font-size: 1.2rem; }
.site-announcement[hidden] { display: none; }
.public-alert { position: fixed; z-index: 120; right: 1rem; top: 6rem; max-width: min(420px, calc(100vw - 2rem)); padding: .85rem 1rem; border: 1px solid; background: white; border-radius: 12px; box-shadow: var(--shadow); font-size: .8rem; animation: alert-arrive .35s ease both; }
.public-alert-success { color: #215e44; border-color: #b9d9c8; background: #edf8f1; }
.public-alert-error { color: #843333; border-color: #e3bcbc; background: #fff0f0; }

.store-masthead, .commerce-heading { display: flex; justify-content: space-between; gap: 3rem; align-items: end; padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 7vw, 7rem) 3rem; }
.store-masthead h1, .commerce-heading h1, .product-purchase h1 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3.2rem, 7vw, 6.7rem); font-weight: 500; letter-spacing: -.05em; line-height: .95; }
.store-masthead > div > p:last-child, .commerce-heading > p:last-child { max-width: 610px; color: var(--ink-soft); }
.store-search { display: flex; width: min(100%, 440px); overflow: hidden; border: 1px solid var(--line); background: var(--paper); border-radius: 999px; }
.store-search input { width: 100%; min-width: 0; padding: .8rem 1rem; border: 0; background: transparent; }
.store-search button { padding: .8rem 1.2rem; color: white; border: 0; background: var(--forest); cursor: pointer; }
.store-shell { display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); padding: 1rem clamp(1.25rem, 7vw, 7rem) clamp(6rem, 10vw, 10rem); }
.store-filters { align-self: start; padding: 1.2rem; border: 1px solid var(--line); background: rgba(255,253,248,.72); border-radius: 18px; }
.store-filters form, .store-filters label { display: grid; gap: .4rem; }
.store-filters form { gap: 1rem; }
.store-filters label { color: var(--ink-soft); font-size: .72rem; font-weight: 750; }
.store-filters select, .store-filters input { width: 100%; min-height: 42px; padding: .6rem .7rem; color: var(--ink); border: 1px solid var(--line); background: white; border-radius: 8px; }
.store-filters .filter-check { display: flex; align-items: center; gap: .55rem; }
.store-filters .filter-check input { width: 18px; min-height: 18px; }
.filter-price { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.result-summary { display: flex; gap: .35rem; margin-bottom: 1.2rem; color: var(--ink-soft); font-size: .75rem; }
.store-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.store-empty, .cart-empty { display: grid; min-height: 420px; place-items: center; align-content: center; gap: .6rem; padding: 3rem; border: 1px dashed rgba(16,68,36,.22); background: rgba(255,253,248,.55); border-radius: 28px; text-align: center; }
.store-empty h2, .cart-empty h2 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.store-empty p, .cart-empty p { margin: 0 0 .6rem; color: var(--ink-soft); }
.store-empty-mark { width: 92px; height: 92px; object-fit: contain; opacity: .32; }
.public-pagination { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2.5rem; }
.public-pagination a { display: grid; min-width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); background: var(--paper); border-radius: 99px; text-decoration: none; font-size: .75rem; }
.public-pagination a.is-active { color: white; border-color: var(--forest); background: var(--forest); }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1.1rem clamp(1.25rem, 7vw, 7rem); color: var(--ink-soft); font-size: .7rem; }
.breadcrumbs a { text-decoration: none; }
.product-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; padding: 2rem clamp(1.25rem, 7vw, 7rem) clamp(5rem, 9vw, 8rem); }
.product-gallery { min-width: 0; }
.product-main-image { display: grid; aspect-ratio: 1 / 1; place-items: center; overflow: hidden; background: #e6ece5; border-radius: 42% 8px 42% 8px; }
.product-main-image > img { width: 100%; height: 100%; object-fit: cover; }
.product-main-fallback { width: 42%; height: 42%; object-fit: contain; opacity: .45; }
.product-thumbnails { display: flex; gap: .7rem; overflow-x: auto; margin-top: .8rem; padding-bottom: .4rem; }
.product-thumbnails button { width: 72px; height: 72px; flex: 0 0 72px; overflow: hidden; padding: 0; border: 1px solid var(--line); background: white; border-radius: 12px 3px 12px 3px; cursor: pointer; }
.product-thumbnails button.is-active { outline: 2px solid var(--forest); outline-offset: 2px; }
.product-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.product-purchase { position: sticky; top: 98px; }
.product-purchase h1 { font-size: clamp(2.8rem, 5.8vw, 5.8rem); }
.product-rating { color: #8c6b38; font-size: .78rem; }
.product-rating span { color: var(--ink-soft); }
.product-page-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1rem 0; }
.product-page-badges span { padding: .28rem .55rem; color: white; background: var(--forest); border-radius: 99px; font-size: .55rem; font-weight: 850; }
.product-page-price { display: flex; gap: .8rem; align-items: baseline; margin: 1.2rem 0; font-size: 1rem; }
.product-page-price strong { color: var(--logo-green); font-family: var(--serif); font-size: 2rem; }
.product-page-price s { color: var(--ink-soft); }
.product-summary { color: var(--ink-soft); }
.stock-message { font-size: .75rem; font-weight: 800; }
.stock-message.is-available { color: #2d7456; }
.stock-message.is-unavailable, .line-warning { color: #a43f3f; }
.product-buy-form, .waitlist-form { display: grid; grid-template-columns: 1fr 100px; gap: .8rem; margin-top: 1.4rem; }
.product-buy-form label, .waitlist-form label, .reviews-section form label, .cart-summary label { display: grid; gap: .35rem; color: var(--ink-soft); font-size: .72rem; font-weight: 750; }
.product-buy-form select, .product-buy-form input, .waitlist-form input, .reviews-section input, .reviews-section select, .reviews-section textarea, .cart-summary input { width: 100%; min-height: 46px; padding: .65rem .75rem; color: var(--ink); border: 1px solid var(--line); background: white; border-radius: 9px; }
.product-buy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; grid-column: 1 / -1; }
.waitlist-form { grid-template-columns: 1fr 1fr; }
.waitlist-form .consent-check { display: flex; grid-column: 1 / -1; align-items: center; }
.waitlist-form .consent-check input { width: 18px; min-height: 18px; }
.wishlist-form { margin-top: 1rem; }
.wishlist-form button { padding: .45rem 0; color: var(--forest); border: 0; background: transparent; cursor: pointer; font-weight: 750; }
.whatsapp-enquiry { display: inline-block; margin-top: .7rem; color: var(--forest); font-size: .78rem; font-weight: 750; text-decoration: none; }
.purchase-trust { display: flex; flex-wrap: wrap; gap: .4rem .8rem; margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .65rem; }
.purchase-trust span::before { margin-right: .3rem; color: #2d7456; content: '✓'; }
.product-information { display: grid; gap: 1px; background: var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-information article { display: grid; grid-template-columns: minmax(220px, .4fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 8rem); padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 12vw, 12rem); background: var(--paper); }
.product-information article > .eyebrow { grid-column: 1; }
.product-information h2 { grid-column: 1; margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(2rem, 4vw, 4rem); font-weight: 500; line-height: 1; }
.product-information .prose, .product-information dl, .product-information article > img, .product-information article > p:not(.eyebrow) { grid-column: 2; }
.prose { color: var(--ink-soft); line-height: 1.9; }
.compliance-panel dl { margin: 0; }
.compliance-panel dl div { padding: .8rem 0; border-bottom: 1px solid var(--line); }
.compliance-panel dt { color: var(--ink-soft); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.compliance-panel dd { margin: .25rem 0 0; }
.reviews-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 7vw, 7rem); }
.reviews-section h2 { margin: 0 0 2rem; color: var(--logo-green); font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 4.8rem); font-weight: 500; }
.reviews-section blockquote { margin: 0 0 .8rem; padding: 1.2rem; border: 1px solid var(--line); background: var(--paper); border-radius: 18px 4px 18px 4px; }
.reviews-section blockquote strong { color: #a17a37; }
.reviews-section blockquote footer { color: var(--ink-soft); font-size: .7rem; }
.reviews-section form { display: grid; gap: .8rem; align-self: start; padding: 1.4rem; border: 1px solid var(--line); background: var(--paper); border-radius: 20px; }
.reviews-section textarea { min-height: 130px; resize: vertical; }

.commerce-heading { align-items: start; flex-direction: column; gap: .4rem; }
.commerce-heading h1 { font-size: clamp(3.2rem, 7vw, 6rem); }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding: 1rem clamp(1.25rem, 7vw, 7rem) clamp(6rem, 10vw, 10rem); }
.cart-lines { display: grid; gap: .8rem; }
.cart-line { display: grid; grid-template-columns: 110px minmax(0, 1fr) 80px auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid var(--line); background: var(--paper); border-radius: 18px 5px 18px 5px; }
.cart-line-image { display: grid; width: 110px; aspect-ratio: 1; place-items: center; overflow: hidden; background: #e6ece5; border-radius: 14px 3px 14px 3px; }
.cart-line-image img { width: 100%; height: 100%; object-fit: cover; }
.cart-fallback { width: 60%; height: 60%; object-fit: contain; opacity: .4; }
.cart-line-copy h2 { margin: 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.cart-line-copy h2 a { text-decoration: none; }
.cart-line-copy p, .cart-line-copy small { display: block; margin: .1rem 0; color: var(--ink-soft); font-size: .7rem; }
.cart-line-copy .line-warning { display: block; margin-top: .35rem; font-size: .68rem; }
.cart-quantity { display: grid; gap: .25rem; color: var(--ink-soft); font-size: .65rem; }
.cart-quantity input { width: 70px; min-height: 40px; padding: .45rem; border: 1px solid var(--line); border-radius: 7px; }
.cart-line-total { white-space: nowrap; }
.cart-remove { grid-column: 2; justify-self: start; padding: 0; color: #8c4e49; border: 0; background: transparent; cursor: pointer; font-size: .7rem; }
.cart-summary { position: sticky; top: 96px; padding: 1.4rem; color: white; background: var(--forest-deep); border-radius: 24px 6px 24px 6px; }
.cart-summary h2 { margin: 0 0 1.3rem; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
.cart-summary dl { margin: 0; }
.cart-summary dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.cart-summary dd { margin: 0; text-align: right; }
.cart-summary form { display: flex; gap: .4rem; margin-top: 1.2rem; }
.cart-summary form label { flex: 1; color: rgba(255,255,255,.72); }
.cart-summary form button { align-self: end; min-height: 46px; padding: .6rem .8rem; color: var(--forest); border: 0; background: var(--paper); border-radius: 8px; cursor: pointer; font-weight: 750; }
.cart-summary .checkout-button { width: 100%; margin-top: 1rem; color: var(--forest-deep); border-color: white; background: white; }
.cart-summary > p { color: rgba(255,255,255,.62); font-size: .68rem; }
.cart-empty { max-width: 1000px; margin: 0 auto 7rem; }
.wishlist-products { padding-top: 1rem; }

@keyframes alert-arrive { from { opacity: 0; transform: translateY(-10px); } }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@keyframes official-mark-arrive { to { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes brand-mark-spin { to { transform: rotate(360deg); } }
@keyframes brand-label-counter-spin {
    from { transform: translate(-50%,-50%) rotate(0deg); }
    to { transform: translate(-50%,-50%) rotate(-360deg); }
}
@keyframes fade-up { to { opacity: 1; transform: translateY(0); } }

@media (max-width: 980px) {
    .site-header { grid-template-columns: 1fr auto; min-height: 68px; }
    .nav-toggle { display: block; grid-column: 2; grid-row: 1; }
    .primary-nav { position: absolute; top: 100%; right: 1rem; left: 1rem; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .6rem; border: 1px solid var(--line); background: var(--paper); border-radius: 16px; box-shadow: var(--shadow); }
    .primary-nav.is-open { display: flex; }
    .primary-nav a { padding: .8rem 1rem; }
    .header-actions { display: none; }
    .hero { grid-template-columns: 1fr; min-height: auto; }
    .hero-brand-experience { justify-self: center; width: min(88vw, 560px); }
    .section-heading { grid-template-columns: 1fr; }
    .petal-card-grid { grid-template-columns: repeat(2, 1fr); }
    .petal-card { min-height: 210px; border-bottom: 1px solid rgba(255,255,255,.15); }
    .petal-card:last-child { grid-column: 1 / -1; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .store-masthead { align-items: flex-start; flex-direction: column; }
    .store-shell { grid-template-columns: 1fr; }
    .store-filters form { grid-template-columns: repeat(2, 1fr); }
    .store-filters .public-button { align-self: end; }
    .store-product-grid { grid-template-columns: repeat(2, 1fr); }
    .product-hero { grid-template-columns: 1fr; }
    .product-purchase { position: static; }
    .product-information article { grid-template-columns: 1fr; }
    .product-information .prose, .product-information dl, .product-information article > img, .product-information article > p:not(.eyebrow) { grid-column: 1; }
    .reviews-section { grid-template-columns: 1fr; }
    .cart-layout { grid-template-columns: 1fr; }
    .cart-summary { position: static; }
}

@media (max-width: 640px) {
    .site-header { padding: 0 1rem; }
    .hero { gap: 4rem; padding-top: 3.5rem; padding-bottom: 5rem; }
    .hero h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
    .hero-actions { align-items: stretch; flex-direction: column; }
    .hero-actions .text-link { padding: .7rem .2rem; }
    .hero-brand-experience { width: 100%; margin-bottom: 1rem; }
    .brand-flower-navigation--hero { width: min(92vw, 420px); }
    .brand-flower-navigation--intro { width: min(92vw, 360px); }
    .brand-petal-hotspot span { padding: .38rem .48rem; opacity: .58; font-size: .52rem; letter-spacing: .06em; }
    .petal-card-grid { grid-template-columns: 1fr; }
    .petal-card, .petal-card:first-child { min-height: 180px; border-left: 1px solid rgba(255,255,255,.15); }
    .petal-card:last-child { grid-column: auto; }
    .principle-grid { grid-template-columns: 1fr; }
    .principle-grid h3 { margin-top: 2rem; }
    .principles-brand { align-items: flex-start; }
    .site-footer { grid-template-columns: 1fr 1fr; }
    .site-footer > div:first-child { grid-column: 1 / -1; }
    .catalog-heading { align-items: flex-start; flex-direction: column; }
    .product-grid, .editorial-grid, .testimonial-grid { grid-template-columns: 1fr; }
    .social-section, .newsletter-section { grid-template-columns: 1fr; gap: 2rem; }
    .announcement-section { align-items: stretch; flex-direction: column; gap: 0; }
    .store-masthead, .commerce-heading { padding-top: 3rem; }
    .store-search { width: 100%; }
    .store-filters form { grid-template-columns: 1fr; }
    .store-product-grid { grid-template-columns: 1fr; }
    .product-hero { padding-top: 1rem; }
    .product-buy-form, .waitlist-form { grid-template-columns: 1fr; }
    .product-buy-actions, .waitlist-form .consent-check { grid-column: 1; }
    .product-buy-actions { position: sticky; z-index: 30; bottom: 0; margin: 0 -1.25rem; padding: .8rem 1.25rem max(.8rem, env(safe-area-inset-bottom)); background: rgba(247,244,236,.96); box-shadow: 0 -12px 35px rgba(13,44,38,.12); backdrop-filter: blur(12px); }
    .product-information article { padding-top: 3rem; padding-bottom: 3rem; }
    .cart-line { grid-template-columns: 80px minmax(0, 1fr) auto; }
    .cart-line-image { width: 80px; }
    .cart-quantity { grid-column: 2; }
    .cart-line-total { grid-column: 3; grid-row: 1 / span 2; }
    .cart-remove { grid-column: 2; }
    .cart-summary form { align-items: stretch; flex-direction: column; }
}

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

/* Phase 6–10 commerce surfaces */
.cart-line-label { display: inline-flex; margin: .35rem .35rem .35rem 0; padding: .2rem .45rem; color: white; background: var(--logo-green); border-radius: 999px; font-size: .55rem; font-weight: 850; letter-spacing: .06em; }
.checkout-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding: clamp(4rem,8vw,7rem) clamp(1.25rem,7vw,7rem) 2rem; }
.checkout-heading h1, .tracking-page h1, .confirmation-hero h1, .bundle-detail h1 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3rem,7vw,6rem); font-weight: 500; letter-spacing: -.045em; line-height: .96; }
.checkout-heading > div:first-child > p:last-child { max-width: 620px; color: var(--ink-soft); }
.checkout-steps { display: flex; gap: .4rem; }
.checkout-steps span { padding: .45rem .7rem; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 99px; font-size: .62rem; }
.checkout-steps .is-active { color: white; border-color: var(--forest); background: var(--forest); }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.45fr); gap: clamp(2rem,5vw,5rem); align-items: start; padding: 1rem clamp(1.25rem,7vw,7rem) clamp(6rem,9vw,9rem); }
.checkout-fields { display: grid; gap: 1rem; }
.checkout-section { padding: clamp(1.2rem,3vw,2rem); border: 1px solid var(--line); background: rgba(255,253,248,.78); border-radius: 24px 6px 24px 6px; }
.checkout-section-heading { display: flex; gap: 1rem; align-items: start; margin-bottom: 1.2rem; }
.checkout-section-heading > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: white; background: var(--forest); border-radius: 50%; font-size: .72rem; }
.checkout-section h2 { margin: 0; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.checkout-section-heading p { margin: .2rem 0 0; color: var(--ink-soft); font-size: .7rem; }
.checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.checkout-grid .span-2 { grid-column: 1 / -1; }
.checkout-section label, .claim-form label, .claim-verify label, .bundle-detail form label { display: grid; gap: .38rem; color: var(--ink-soft); font-size: .7rem; font-weight: 750; }
.checkout-section input, .checkout-section select, .checkout-section textarea, .claim-form input, .claim-form select, .claim-form textarea, .claim-verify input, .bundle-detail form input { width: 100%; min-height: 46px; padding: .65rem .75rem; color: var(--ink); border: 1px solid var(--line); background: white; border-radius: 9px; }
.payment-choice, .checkout-check { display: flex !important; grid-template-columns: none; gap: .8rem !important; align-items: start; }
.payment-choice input, .checkout-check input { width: 18px; min-height: 18px; margin-top: .12rem; }
.payment-choice span { display: grid; gap: .2rem; }
.payment-choice small { color: var(--ink-soft); font-weight: 500; }
.checkout-summary { position: sticky; top: 96px; padding: 1.5rem; color: white; background: var(--forest-deep); border-radius: 26px 7px 26px 7px; }
.checkout-summary h2 { margin: 0 0 1.2rem; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.checkout-items { display: grid; gap: .7rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.13); }
.checkout-items > div, .checkout-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; }
.checkout-items span { color: rgba(255,255,255,.75); }
.checkout-summary dl { display: grid; gap: .55rem; margin: 1rem 0; }
.checkout-summary dd { margin: 0; text-align: right; }
.checkout-summary .discount-row { color: #ccead9; }
.checkout-summary .checkout-total { margin-top: .4rem; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.2); font-size: 1rem; font-weight: 800; }
.place-order-button { width: 100%; color: var(--forest-deep); border-color: white; background: white; }
.checkout-summary > p { color: rgba(255,255,255,.62); font-size: .65rem; line-height: 1.6; }

.confirmation-hero { padding: clamp(4rem,8vw,7rem) clamp(1.25rem,12vw,12rem) 2rem; }
.order-confirmation-heading { padding: clamp(4rem,8vw,7rem) clamp(1.25rem,10vw,10rem) 2rem; }
.order-confirmation-heading h1 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3.5rem,8vw,7rem); font-weight: 500; line-height: .95; }
.order-confirmation-heading > p:last-child { color: var(--ink-soft); }
.confirmation-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.55fr); gap: 1rem; align-items: start; padding: 1rem clamp(1.25rem,10vw,10rem) clamp(6rem,9vw,9rem); }
.confirmation-main { display: grid; gap: 1rem; }
.status-line { display: flex; justify-content: space-between; gap: .7rem; align-items: center; margin-bottom: 1rem; color: var(--ink-soft); font-size: .68rem; }
.order-status { padding: .3rem .55rem; color: white; background: var(--forest); border-radius: 99px; text-transform: capitalize; }
.confirmation-total { font-size: .95rem !important; font-weight: 850; }
.confirmation-card address { color: var(--ink-soft); font-style: normal; line-height: 1.7; }
.payment-instructions { position: sticky; top: 96px; padding: 1.5rem; border: 1px solid var(--line); background: #e8ede6; border-radius: 26px 7px 26px 7px; }
.payment-instructions h2 { margin: .2rem 0 1rem; color: var(--logo-green); font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.payment-instructions dl { display: grid; gap: .5rem; }
.payment-instructions dl div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line); font-size: .74rem; }
.payment-instructions dd { margin: 0; text-align: right; }.bank-number{font-weight:850;letter-spacing:.06em}
.payment-instructions form { display: grid; gap: .7rem; margin: 1rem 0; }
.payment-instructions form label { display: grid; gap: .35rem; color: var(--ink-soft); font-size: .7rem; font-weight: 750; }
.payment-instructions input, .payment-instructions textarea { width: 100%; padding: .65rem; border: 1px solid var(--line); background: white; border-radius: 8px; }
.payment-instructions small { color: var(--ink-soft); font-size: .62rem; }
.payment-qr { display: block; width: min(220px,100%); margin: 0 auto 1rem; padding: .5rem; background: white; border-radius: 12px; }
.payment-verified, .receipt-pending { margin: 1rem 0; padding: .8rem; border-radius: 9px; font-size: .72rem; font-weight: 800; }.payment-verified{color:#215e44;background:#dff3e7}.receipt-pending{color:#76501a;background:#fff3d8}
.confirmation-hero > p:last-child { max-width: 680px; color: var(--ink-soft); }
.confirmation-grid, .tracking-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.5fr); gap: 1rem; align-items: start; padding: 1rem clamp(1.25rem,12vw,12rem) clamp(6rem,9vw,9rem); }
.tracking-main { display: grid; gap: 1rem; min-width: 0; }
.tracking-payment-instructions { position: static; }
.tracking-payment-instructions .payment-amount { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; margin: 0 0 1rem; padding: .75rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .72rem; }
.tracking-payment-instructions .payment-amount strong { color: var(--logo-green); font-family: var(--serif); font-size: 1.45rem; font-weight: 600; }
.tracking-payment-instructions .payment-safety-note { margin-bottom: 0; padding: .75rem; color: var(--ink-soft); background: rgba(255,255,255,.62); border-radius: 9px; font-size: .66rem; line-height: 1.55; }
.tracking-payment-pending { padding: 1.2rem 1.35rem; color: #76501a; border: 1px solid #ead8ae; background: #fff3d8; border-radius: 18px 5px 18px 5px; }
.tracking-payment-pending strong { display: block; margin-bottom: .25rem; }
.tracking-payment-pending p { margin: 0; font-size: .72rem; line-height: 1.6; }
.confirmation-card, .order-timeline { padding: 1.4rem; border: 1px solid var(--line); background: var(--paper); border-radius: 22px 5px 22px 5px; }
.confirmation-card h2, .order-timeline h2 { margin-top: 0; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; }
.confirmation-item, .confirmation-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .76rem; }
.confirmation-card dd { margin: 0; }
.order-timeline article { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: .7rem; padding-bottom: 1rem; }
.order-timeline article > span { width: 10px; height: 10px; margin-top: .25rem; background: var(--forest); border-radius: 50%; }
.order-timeline time { display: block; margin-top: .15rem; color: var(--ink-soft); font-size: .62rem; }
.tracking-page { display: grid; grid-template-columns: 1fr minmax(300px,.6fr); gap: clamp(2rem,7vw,7rem); align-items: center; min-height: 68svh; padding: clamp(4rem,9vw,8rem) clamp(1.25rem,12vw,12rem); }
.tracking-page form, .claim-verify form { display: grid; gap: .8rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--paper); border-radius: 24px 6px 24px 6px; }
.tracking-page label { display: grid; gap: .35rem; color: var(--ink-soft); font-size: .72rem; font-weight: 750; }
.tracking-page input { min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 9px; }
.tracking-page form p, .claim-verify form p { color: var(--ink-soft); font-size: .65rem; }

.claim-verify, .claim-form { max-width: 1080px; margin: 0 auto clamp(6rem,9vw,9rem); padding: 0 1.25rem; }
.claim-verify form { max-width: 620px; margin: auto; }
.claim-form { display: grid; grid-template-columns: .45fr 1fr; gap: clamp(2rem,6vw,6rem); }
.claim-form h2 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: 2.5rem; font-weight: 500; }
.claim-form form { display: grid; gap: .9rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--paper); border-radius: 24px 6px 24px 6px; }
.claim-form fieldset { padding: 1rem; border: 1px solid var(--line); border-radius: 10px; }
.claim-item { display: flex !important; grid-template-columns: none; align-items: center; padding: .4rem 0; }
.claim-item input { width: 18px; min-height: 18px; }
.claim-note { color: var(--ink-soft); font-size: .68rem; }

.bundle-heading { padding-bottom: 1rem; }
.bundle-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1rem clamp(1.25rem,7vw,7rem) clamp(6rem,9vw,9rem); }
.bundle-card { display: grid; grid-template-columns: minmax(180px,.8fr) 1fr; overflow: hidden; border: 1px solid var(--line); background: var(--paper); border-radius: 30px 7px 30px 7px; }
.bundle-card > div { padding: 1.5rem; }
.bundle-card h2 { margin: .2rem 0; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.bundle-card h2 a { text-decoration: none; }
.bundle-card p:not(.eyebrow) { color: var(--ink-soft); font-size: .76rem; }
.bundle-image { position: relative; display: grid; min-height: 300px; place-items: center; overflow: hidden; background: #e6ece5; }
.bundle-image img { width: 100%; height: 100%; object-fit: cover; }
.bundle-image > span { position: absolute; top: 1rem; left: 1rem; padding: .3rem .55rem; color: white; background: var(--forest); border-radius: 99px; font-size: .58rem; font-weight: 850; }
.bundle-fallback, .bundle-detail-fallback, .bundle-item-fallback { width: 40%; height: 40%; object-fit: contain; opacity: .4; }
.bundle-price { display: flex; gap: .7rem; align-items: baseline; margin: 1rem 0; }
.bundle-price strong { color: var(--logo-green); font-family: var(--serif); font-size: 1.7rem; }
.bundle-price s { color: var(--ink-soft); }
.bundle-detail { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(2rem,7vw,7rem); align-items: center; padding: 2rem clamp(1.25rem,7vw,7rem) clamp(5rem,8vw,8rem); }
.bundle-detail-image { display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; background: #e6ece5; border-radius: 42% 8px 42% 8px; }
.bundle-detail-image img { width: 100%; height: 100%; object-fit: cover; }
.bundle-detail-copy > p { color: var(--ink-soft); line-height: 1.75; }
.bundle-price-large strong { font-size: 2.2rem; }.bundle-price-large span{padding:.25rem .5rem;color:white;background:var(--forest);border-radius:99px;font-size:.62rem}
.bundle-detail form { display: grid; grid-template-columns: 120px 1fr; gap: .7rem; align-items: end; margin-top: 1.2rem; }
.bundle-contents { padding: clamp(4rem,8vw,7rem) clamp(1.25rem,12vw,12rem); background: #e8ede6; }
.bundle-contents h2 { margin: 0 0 2rem; color: var(--logo-green); font-family: var(--serif); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 500; }
.bundle-contents > div { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.bundle-contents article { display: grid; grid-template-columns: 90px 1fr; gap: .8rem; align-items: center; padding: .8rem; background: var(--paper); border-radius: 16px 4px 16px 4px; }
.bundle-contents article > a { display: grid; width: 90px; height: 90px; place-items: center; overflow: hidden; background: white; }
.bundle-contents article img { width: 100%; height: 100%; object-fit: cover; }.bundle-contents article div{display:grid;gap:.2rem}.bundle-contents span,.bundle-contents small{color:var(--ink-soft);font-size:.65rem}

.marketing-popup[hidden] { display: none; }
.marketing-popup { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 1rem; }
.marketing-popup-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(4,23,18,.68); backdrop-filter: blur(5px); }
.marketing-popup-card { position: relative; display: grid; grid-template-columns: minmax(180px,.75fr) 1fr; width: min(760px,100%); max-height: calc(100svh - 2rem); overflow: auto; background: var(--paper); border-radius: 32px 8px 32px 8px; box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.marketing-popup-card > img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }.marketing-popup-card>div{align-self:center;padding:clamp(1.5rem,5vw,3.5rem)}.marketing-popup-card h2{margin:.2rem 0 1rem;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2.2rem,5vw,4rem);font-weight:500;line-height:1}.marketing-popup-card p:not(.eyebrow){color:var(--ink-soft);line-height:1.7}.marketing-popup-close{position:absolute;z-index:1;top:.7rem;right:.7rem;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:50%;cursor:pointer;font-size:1.4rem}.popup-open{overflow:hidden}
.help-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-bottom: clamp(6rem,9vw,9rem); padding: 1px clamp(1.25rem,7vw,7rem); background: var(--line); }
.help-grid article { min-height: 270px; padding: clamp(1.5rem,3vw,2.4rem); background: var(--paper); }
.help-grid article > span { color: #9a725a; font-size: .65rem; font-weight: 850; letter-spacing: .1em; }
.help-grid h2 { margin: 2rem 0 .7rem; color: var(--logo-green); font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
.help-grid p { color: var(--ink-soft); font-size: .76rem; line-height: 1.75; }
.help-grid a { color: var(--forest); font-size: .72rem; font-weight: 800; text-decoration: none; }

@media (max-width: 900px) {
    .checkout-layout, .confirmation-grid, .confirmation-layout, .tracking-layout, .bundle-detail { grid-template-columns: 1fr; }
    .checkout-summary { position: static; }
    .payment-instructions { position: static; }
    .bundle-grid { grid-template-columns: 1fr; }
    .bundle-contents > div { grid-template-columns: repeat(2,1fr); }
    .help-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px) {
    .checkout-heading { align-items: flex-start; flex-direction: column; }
    .checkout-steps { width: 100%; overflow-x: auto; }
    .checkout-grid, .claim-form, .tracking-page { grid-template-columns: 1fr; }
    .checkout-grid .span-2 { grid-column: 1; }
    .claim-form { padding: 0 1.25rem; }
    .bundle-card, .marketing-popup-card { grid-template-columns: 1fr; }
    .bundle-image { min-height: 230px; }
    .bundle-detail form { grid-template-columns: 1fr; }
    .bundle-contents > div { grid-template-columns: 1fr; }
    .help-grid { grid-template-columns: 1fr; }
    .marketing-popup-card > img { min-height: 190px; max-height: 240px; }
}

/* Phase 11 · ecosystem content */
.ecosystem-masthead { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.65fr); min-height: 620px; align-items: center; gap: clamp(2rem,7vw,7rem); overflow: hidden; padding: clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,8rem); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 79% 42%, rgba(143,172,152,.22), transparent 31%), var(--cream); }
.ecosystem-masthead::after { position: absolute; right: -13rem; bottom: -18rem; width: 42rem; height: 42rem; border: 1px solid rgba(16,68,36,.1); border-radius: 50%; content: ''; }
.ecosystem-masthead > div { position: relative; z-index: 1; }
.ecosystem-masthead h1 { max-width: 11ch; margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3.6rem,8vw,7.6rem); font-weight: 400; letter-spacing: -.055em; line-height: .91; }
.ecosystem-masthead > div:first-child > p:last-child { max-width: 650px; margin: 2rem 0 0; color: var(--ink-soft); font-size: clamp(.95rem,1.4vw,1.15rem); }
.ecosystem-masthead-mark { display: grid; aspect-ratio: 1; place-items: center; justify-self: end; width: min(100%,440px); border: 1px solid rgba(16,68,36,.09); background: rgba(255,253,248,.38); border-radius: 50%; }
.ecosystem-hero-mark { width: 66%; height: 66%; object-fit: contain; opacity: .85; filter: drop-shadow(0 22px 45px rgba(16,68,36,.13)); }
.education-masthead { background: radial-gradient(circle at 77% 41%, rgba(216,175,143,.23), transparent 30%), var(--cream); }
.category-masthead-beauty { background: radial-gradient(circle at 78% 42%, rgba(216,168,173,.24), transparent 31%), var(--cream); }

.education-categories, .category-chip-row { display: flex; gap: .55rem; overflow-x: auto; padding: 1.1rem clamp(1.25rem,7vw,7rem); border-bottom: 1px solid var(--line); background: rgba(255,253,248,.7); scrollbar-width: thin; }
.education-categories a, .category-chip-row a { display: inline-flex; min-height: 40px; flex: 0 0 auto; align-items: center; gap: .5rem; padding: .5rem .9rem; border: 1px solid var(--line); background: var(--paper); border-radius: 99px; text-decoration: none; font-size: .7rem; font-weight: 750; }
.education-categories a span, .category-chip-row a span { display: grid; min-width: 20px; height: 20px; place-items: center; color: var(--ink-soft); background: var(--sage-pale); border-radius: 50%; font-size: .58rem; }
.education-categories a.is-active, .category-chip-row a.is-active { color: white; border-color: var(--forest); background: var(--forest); }
.education-categories a.is-active span, .category-chip-row a.is-active span { color: var(--forest); background: white; }

.education-index-section, .ecosystem-catalog-shell { padding: clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem); }
.section-heading-row { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: 2.5rem; }
.section-heading-row h2 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(2.6rem,5vw,4.8rem); font-weight: 400; line-height: 1; }
.section-heading-row > p { max-width: 430px; color: var(--ink-soft); font-size: .82rem; }
.education-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.education-card-grid > article { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); background: var(--paper); border-radius: 25px 6px 25px 6px; }
.education-index-grid > article { padding: 0; overflow: hidden; }
.education-card-image { position: relative; display: grid; aspect-ratio: 16/10; place-items: center; overflow: hidden; background: #e6ece5; text-decoration: none; }
.education-card-image > img:not(.education-card-mark) { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.education-card:hover .education-card-image > img:not(.education-card-mark) { transform: scale(1.035); }
.education-card-mark { width: 31%; height: auto; opacity: .42; }
.education-card-image > span { position: absolute; top: .8rem; left: .8rem; padding: .25rem .55rem; color: white; background: var(--forest); border-radius: 99px; font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.education-card > div { padding: 1.35rem; }
.education-source, .education-card-grid > article > span { margin: 0; color: #9a7154; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.education-card h3, .education-card-grid > article h3 { margin: .7rem 0; font-family: var(--serif); font-size: 1.6rem; font-weight: 400; line-height: 1.12; }
.education-card h3 a, .education-card-grid > article a { text-decoration: none; }
.education-card > div > p:not(.education-source), .education-card-grid > article > p { color: var(--ink-soft); font-size: .78rem; line-height: 1.7; }
.education-card footer { display: flex; justify-content: space-between; gap: .7rem; margin-top: 1.2rem; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .62rem; }
.education-card-grid > article > a { display: inline-block; margin-top: 1rem; color: var(--forest); font-size: .72rem; font-weight: 800; }
.education-boundary { display: grid; grid-template-columns: .4fr 1fr; gap: 2rem; margin: 0 clamp(1.25rem,7vw,7rem) clamp(5rem,9vw,9rem); padding: 1.5rem; color: rgba(255,255,255,.78); background: var(--forest-deep); border-radius: 24px 6px 24px 6px; }
.education-boundary strong { color: white; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }.education-boundary p{margin:0;font-size:.78rem}

.education-detail { max-width: 1180px; margin: auto; padding: clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,4rem); }
.education-detail header { max-width: 950px; }
.education-detail h1 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3.2rem,7vw,6.8rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.education-byline { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 1.5rem; color: var(--ink-soft); font-size: .7rem; }
.education-detail > figure { overflow: hidden; margin: 3rem 0; background: #e6ece5; border-radius: 40px 7px 40px 7px; }.education-detail>figure img{width:100%;max-height:620px;object-fit:cover}
.education-detail-body { display: grid; grid-template-columns: 1fr minmax(280px,.45fr); gap: clamp(2rem,6vw,6rem); align-items: start; }
.education-detail-body > .prose { color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1.3rem,2.2vw,1.8rem); line-height: 1.65; }
.education-detail-body aside { padding: 1.4rem; border: 1px solid var(--line); background: var(--paper); border-radius: 22px 6px 22px 6px; }.education-detail-body aside strong{font-family:var(--serif);font-size:1.35rem;font-weight:400}.education-detail-body aside p{color:var(--ink-soft);font-size:.75rem}.education-related-products{background:var(--paper)}

.ecosystem-catalog-shell > .catalog-heading > p { max-width: 440px; color: var(--ink-soft); font-size: .78rem; }
.ecosystem-filter-bar { display: grid; grid-template-columns: minmax(220px,1fr) 220px auto auto; gap: .7rem; align-items: end; margin-bottom: 2rem; padding: 1rem; border: 1px solid var(--line); background: rgba(255,253,248,.72); border-radius: 18px; }
.ecosystem-filter-bar label { display: grid; gap: .3rem; color: var(--ink-soft); font-size: .66rem; font-weight: 750; }.ecosystem-filter-bar input,.ecosystem-filter-bar select{width:100%;min-height:44px;padding:.6rem .7rem;border:1px solid var(--line);background:white;border-radius:8px}.ecosystem-filter-bar .filter-check{display:flex;align-items:center;gap:.5rem;min-height:44px}.ecosystem-filter-bar .filter-check input{width:18px;min-height:18px}
.ecosystem-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.category-editorial-panel { display: grid; grid-template-columns: minmax(280px,.8fr) 1fr; min-height: 480px; align-items: center; gap: clamp(2rem,7vw,7rem); padding: clamp(4rem,8vw,8rem) clamp(1.25rem,9vw,9rem); color: white; background: var(--forest-deep); }
.category-editorial-panel > img, .category-editorial-mark { width: 100%; height: min(52vw,520px); object-fit: cover; background: rgba(255,255,255,.06); border-radius: 45% 8px 45% 8px; }.category-editorial-mark{display:grid;place-items:center}.category-guidance-mark{width:48%;height:auto;filter:brightness(0) invert(1);opacity:.7}.category-editorial-panel .eyebrow{color:#d9bca4}.category-editorial-panel h2{max-width:12ch;margin:0;font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:1}.category-editorial-panel p:not(.eyebrow){max-width:600px;color:rgba(255,255,255,.67)}
.product-education-section { padding: clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem); background: #e8ede6; }.category-education-section{background:var(--cream)}
.faq-section { display: grid; grid-template-columns: minmax(240px,.45fr) 1fr; gap: clamp(2rem,8vw,8rem); padding: clamp(4rem,8vw,8rem) clamp(1.25rem,9vw,9rem); }
.faq-section h2 { margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(2.5rem,5vw,4.7rem); font-weight: 400; line-height: 1; }
.faq-list { border-top: 1px solid var(--line); }.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:1.15rem 2.5rem 1.15rem 0;cursor:pointer;font-family:var(--serif);font-size:1.25rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{position:absolute;right:.2rem;top:1.05rem;content:'+';font-family:var(--sans);font-size:1.2rem}.faq-list details[open] summary::after{content:'−'}.faq-list details>div{padding:0 2rem 1.2rem 0;color:var(--ink-soft);font-size:.8rem;line-height:1.8}

.about-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.65fr); min-height: 760px; align-items: center; gap: clamp(3rem,8vw,8rem); overflow: hidden; padding: clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,8rem); background: radial-gradient(circle at 80% 35%, rgba(143,172,152,.24), transparent 31%), var(--cream); }
.about-hero h1 { max-width: 12ch; margin: 0; color: var(--logo-green); font-family: var(--serif); font-size: clamp(3.7rem,8vw,8rem); font-weight: 400; letter-spacing: -.06em; line-height: .9; }.about-hero>div:first-child>p:last-child{max-width:650px;margin-top:2rem;color:var(--ink-soft);font-size:1.05rem}.about-hero-flower{display:grid;justify-items:center;gap:1.2rem}.about-hero-mark{width:min(100%,440px);height:auto;filter:drop-shadow(0 25px 55px rgba(16,68,36,.14))}.about-hero-flower span{color:var(--logo-green);font-size:.65rem;font-weight:850;letter-spacing:.2em;text-align:center;text-transform:uppercase}
.about-story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 1px; background: var(--line); }.about-story-grid article{min-height:400px;padding:clamp(2rem,6vw,6rem);background:var(--paper)}.about-story-grid article img{width:100%;height:220px;margin-bottom:2rem;object-fit:cover;border-radius:24px 5px 24px 5px}.about-story-grid h2{max-width:13ch;margin:.4rem 0 1.2rem;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.2rem);font-weight:400;line-height:1}.about-story-grid article>p:not(.eyebrow){max-width:620px;color:var(--ink-soft)}
.ecosystem-visual-section { overflow:hidden;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,7rem);background:#e8ede6}.ecosystem-orbit{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);gap:1rem;max-width:1200px;margin:auto}.ecosystem-orbit::before{position:absolute;z-index:0;inset:13% 17%;border:1px solid rgba(16,68,36,.17);border-radius:50%;content:''}.ecosystem-orbit-centre,.ecosystem-orbit-card{position:relative;z-index:1}.ecosystem-orbit-centre{display:grid;grid-column:2;grid-row:2;aspect-ratio:1;place-items:center;align-content:center;gap:.8rem;width:min(100%,270px);justify-self:center;padding:2rem;border:1px solid rgba(16,68,36,.14);background:var(--paper);border-radius:50%;box-shadow:var(--shadow)}.ecosystem-orbit-mark{width:70%;height:auto}.ecosystem-orbit-centre strong{color:var(--logo-green);font-size:.67rem;letter-spacing:.25em}.ecosystem-orbit-card{min-height:190px;padding:1.3rem;border:1px solid var(--line);background:rgba(255,253,248,.9);border-radius:22px 5px 22px 5px}.ecosystem-orbit-card>span{display:block;width:26px;height:3px;background:var(--area-accent);border-radius:99px}.ecosystem-orbit-card h3{margin:1rem 0 .5rem;color:var(--area-accent);font-family:var(--serif);font-size:1.5rem;font-weight:400}.ecosystem-orbit-card p{color:var(--ink-soft);font-size:.72rem}.ecosystem-orbit-card a{font-size:.68rem;font-weight:800;text-decoration:none}.ecosystem-orbit-card-1{grid-column:2;grid-row:1}.ecosystem-orbit-card-2{grid-column:3;grid-row:1}.ecosystem-orbit-card-3{grid-column:3;grid-row:3}.ecosystem-orbit-card-4{grid-column:1;grid-row:3}.ecosystem-orbit-card-5{grid-column:1;grid-row:1}
.projects-section { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,7rem) }.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-card{overflow:hidden;border:1px solid var(--line);background:var(--paper);border-radius:30px 7px 30px 7px}.project-card-image{display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;background:#e6ece5}.project-card-image>img:not(.project-logo-image){width:100%;height:100%;object-fit:cover}.project-logo-image{width:50%;max-height:55%;object-fit:contain}.project-card-mark{width:30%;height:auto;opacity:.4}.project-card>div{padding:1.4rem}.project-card h3{margin:.4rem 0;font-family:var(--serif);font-size:1.8rem;font-weight:400}.project-card h3 a{text-decoration:none}.project-card>div>p:not(.eyebrow){min-height:3.8em;color:var(--ink-soft);font-size:.75rem}.project-card>div>span{color:#9a7154;font-size:.62rem;font-weight:750;text-transform:uppercase}
.partners-section{display:grid;grid-template-columns:minmax(240px,.5fr) 1fr;gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,8rem);color:white;background:var(--forest-deep)}.partners-section h2{max-width:10ch;margin:0;font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:1}.partners-section .eyebrow{color:#d9bca4}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.15)}.partner-grid article{display:grid;min-height:220px;place-items:center;align-content:center;gap:.6rem;padding:1.3rem;background:var(--forest-deep);text-align:center}.partner-grid img{width:100px;height:70px;object-fit:contain;filter:brightness(0) invert(1)}.partner-grid article>span{display:grid;width:66px;height:66px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-family:var(--serif);font-size:2rem}.partner-grid h3{margin:0;font-family:var(--serif);font-weight:400}.partner-grid p{margin:0;color:rgba(255,255,255,.58);font-size:.65rem}.partner-grid a{color:#d9bca4;font-size:.65rem;text-decoration:none}
.ecosystem-timeline{display:grid;grid-template-columns:minmax(240px,.45fr) 1fr;gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,8rem)}.timeline-heading{position:sticky;top:110px;align-self:start}.timeline-heading h2{max-width:10ch;margin:0;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:1}.timeline-list article{display:grid;grid-template-columns:70px 15px 1fr;gap:1rem;padding-bottom:2.5rem}.timeline-list time{color:#9a7154;font-size:.72rem;font-weight:850}.timeline-list article>span{position:relative;width:11px;height:11px;margin-top:.25rem;background:var(--forest);border-radius:50%}.timeline-list article>span::after{position:absolute;top:11px;left:5px;width:1px;height:calc(100% + 2.5rem);background:var(--line);content:''}.timeline-list article:last-child>span::after{display:none}.timeline-list img{width:100%;max-height:260px;margin-bottom:1rem;object-fit:cover;border-radius:22px 5px 22px 5px}.timeline-list h3{margin:0;font-family:var(--serif);font-size:1.8rem;font-weight:400}.timeline-list p{color:var(--ink-soft);font-size:.78rem}

.project-detail { padding:2rem clamp(1.25rem,7vw,7rem) clamp(5rem,9vw,9rem) }.project-detail>header{display:grid;grid-template-columns:1fr minmax(340px,.85fr);gap:clamp(3rem,8vw,8rem);align-items:center}.project-detail h1{max-width:10ch;margin:0;color:var(--logo-green);font-family:var(--serif);font-size:clamp(3.5rem,7vw,7rem);font-weight:400;letter-spacing:-.055em;line-height:.93}.project-detail header>div:first-child>p:not(.eyebrow){max-width:600px;color:var(--ink-soft);font-size:1rem}.project-meta{display:flex;gap:.6rem;margin:1.5rem 0}.project-meta span{padding:.3rem .6rem;color:var(--forest);background:var(--sage-pale);border-radius:99px;font-size:.62rem;font-weight:800;text-transform:uppercase}.project-detail-visual{display:grid;aspect-ratio:1;place-items:center;overflow:hidden;background:#e6ece5;border-radius:43% 8px 43% 8px}.project-detail-visual>img:not(.project-detail-logo){width:100%;height:100%;object-fit:cover}.project-detail-logo{width:56%;height:56%;object-fit:contain}.project-detail-mark{width:42%;height:auto;opacity:.42}.project-detail>section{display:grid;grid-template-columns:.3fr 1fr;gap:3rem;max-width:980px;margin:6rem auto 0;padding-top:3rem;border-top:1px solid var(--line)}.project-prose{color:var(--ink-soft);font-size:1rem;line-height:1.9}.project-back{display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1.25rem,7vw,7rem);color:white;background:var(--forest)}.project-back p{margin:0}.project-back a{color:white}

.contact-layout{display:grid;grid-template-columns:minmax(280px,.7fr) 1fr;gap:clamp(2rem,7vw,7rem);align-items:start;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,9vw,9rem)}.contact-channels h2,.contact-form h2{margin:0 0 1.5rem;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2.3rem,4vw,4rem);font-weight:400;line-height:1}.contact-channels>a{display:grid;grid-template-columns:90px 1fr auto;gap:.7rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-channels>a span{color:#9a7154;font-size:.62rem;font-weight:800;text-transform:uppercase}.contact-channels>a strong{overflow-wrap:anywhere;font-size:.78rem}.contact-channels address{margin-top:1.5rem;color:var(--ink-soft);font-style:normal;font-size:.78rem;line-height:1.8}.contact-note{margin-top:2rem;padding:1rem;color:var(--ink-soft);border:1px solid var(--line);background:var(--paper);border-radius:14px;font-size:.68rem}.contact-form{display:grid;gap:1rem;padding:clamp(1.4rem,4vw,3rem);border:1px solid var(--line);background:var(--paper);border-radius:32px 7px 32px 7px}.contact-form label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.7rem;font-weight:750}.contact-form input,.contact-form textarea{width:100%;padding:.75rem;border:1px solid var(--line);background:white;border-radius:9px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form>small{color:var(--ink-soft);font-size:.65rem}.contact-form .public-button{justify-self:start}

.help-faq-section{display:grid;grid-template-columns:minmax(240px,.4fr) 1fr;gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,8rem);background:#e8ede6}.help-faq-section>div:first-child h2{margin:0;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:1}.help-faq-section>div:first-child>p:last-child{color:var(--ink-soft);font-size:.75rem}.help-faq-section>div:last-child{display:grid;gap:2.5rem}.help-faq-section section>h3{margin:0 0 .5rem;color:#9a7154;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.help-policy-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px clamp(1.25rem,7vw,7rem) clamp(5rem,9vw,9rem);background:var(--line)}.help-policy-links a{padding:1.2rem;background:var(--paper);text-align:center;text-decoration:none;font-size:.72rem;font-weight:750}

.ecosystem-home-grid { grid-template-columns:repeat(5,1fr) }.ecosystem-home-grid article{border-top:3px solid var(--area-accent)}.ecosystem-home-grid article .text-link{display:inline-block;margin-top:1rem}
.ecosystem-orbit-card ul{margin:.7rem 0;padding:0;list-style:none}.ecosystem-orbit-card li{padding:.2rem 0;color:var(--area-accent);font-size:.62rem;font-weight:750}.ecosystem-orbit-card li::before{margin-right:.35rem;content:'—'}

@media (max-width: 1050px) {
    .ecosystem-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
    .ecosystem-home-grid { grid-template-columns:repeat(3,1fr) }
    .partner-grid { grid-template-columns:repeat(2,1fr) }
}
@media (max-width: 900px) {
    .ecosystem-masthead,.about-hero { grid-template-columns:1fr;min-height:auto }
    .ecosystem-masthead-mark { width:min(70vw,400px);justify-self:center }.about-hero-flower{width:min(70vw,430px);justify-self:center}
    .education-card-grid,.project-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
    .ecosystem-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
    .ecosystem-filter-bar { grid-template-columns:1fr 1fr }.ecosystem-filter-bar .public-button{width:100%}
    .category-editorial-panel,.education-detail-body,.partners-section,.ecosystem-timeline,.faq-section,.help-faq-section,.contact-layout,.project-detail>header { grid-template-columns:1fr }
    .timeline-heading { position:static }
    .partner-grid { grid-template-columns:repeat(3,1fr) }
    .project-detail>section { grid-template-columns:1fr;gap:1rem }
}
@media (max-width: 680px) {
    .ecosystem-masthead { min-height:auto;padding-top:4rem }.ecosystem-masthead h1{font-size:clamp(3.2rem,16vw,5rem)}
    .section-heading-row,.education-boundary,.project-back { align-items:flex-start;flex-direction:column }.section-heading-row{display:flex}.education-boundary{display:grid;grid-template-columns:1fr}
    .education-card-grid,.education-index-grid,.project-grid,.ecosystem-product-grid,.about-story-grid,.contact-form-grid { grid-template-columns:1fr }
    .ecosystem-filter-bar { grid-template-columns:1fr }.ecosystem-filter-bar .filter-check{min-height:auto}
    .category-editorial-panel { min-height:auto }.category-editorial-panel>img,.category-editorial-mark{height:80vw;max-height:420px}
    .ecosystem-orbit { display:flex;flex-direction:column }.ecosystem-orbit::before{display:none}.ecosystem-orbit-centre{order:-1;width:210px}.ecosystem-orbit-card{min-height:0}
    .partner-grid { grid-template-columns:1fr 1fr }.partner-grid article{min-height:180px}
    .timeline-list article { grid-template-columns:52px 13px 1fr;gap:.6rem }
    .project-detail-visual{order:-1}.project-back{display:flex}
    .help-policy-links { grid-template-columns:1fr }
    .ecosystem-home-grid { grid-template-columns:1fr }
}

/* Phase 13 privacy centre */
.consent-banner { position: fixed; z-index: 190; right: 1rem; bottom: 1rem; left: 1rem; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.25rem; align-items: center; max-width: 1100px; margin: auto; padding: 1.15rem; color: white; background: #0c352c; border: 1px solid rgba(255,255,255,.16); border-radius: 20px 6px 20px 6px; box-shadow: 0 22px 70px rgba(0,0,0,.28); }
.consent-banner p { max-width: 720px; margin: .25rem 0; color: rgba(255,255,255,.72); font-size: .72rem; }
.consent-banner a { color: #e0c4ae; font-size: .68rem; }
.consent-banner > div:last-child { display: flex; flex-wrap: wrap; gap: .55rem; }
.consent-banner form { margin: 0; }
.consent-banner .public-button-quiet { color: white; border-color: rgba(255,255,255,.35); background: transparent; }
.public-form { display: grid; gap: 1rem; max-width: 760px; margin: 0 auto 5rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--paper); border-radius: 24px 6px 24px 6px; }
.public-form label { display: grid; grid-template-columns: auto 1fr; gap: .6rem; align-items: start; padding: .8rem 0; border-bottom: 1px solid var(--line); font-weight: 750; }
.public-form label small { grid-column: 2; color: var(--ink-soft); font-weight: 400; }
@media (max-width: 680px) { .consent-banner { grid-template-columns: 1fr; }.consent-banner > div:last-child,.consent-banner form,.consent-banner button { width: 100%; } }

/* Order tracking heading and narrow-screen bank details. */
.tracking-heading{padding:3rem clamp(1.25rem,12vw,12rem) 1rem}
.tracking-heading h1{color:var(--logo-green);font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem);overflow-wrap:anywhere}
.tracking-heading>div{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}
.tracking-payment-instructions dd{overflow-wrap:anywhere;min-width:0}
.tracking-payment-instructions .payment-qr{height:auto;object-fit:contain}

/* 100 Hari 100 Ilmu Kesihatan collection */
.education-collection-feature{padding:clamp(2.2rem,5vw,5rem) clamp(1.25rem,7vw,7rem) 0;background:#f7f4ed}
.education-collection-link{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);min-height:470px;overflow:hidden;color:white;background:radial-gradient(circle at 82% 38%,rgba(223,190,164,.25),transparent 27%),linear-gradient(135deg,#092f27,#104424 64%,#226443);border-radius:42px 8px 42px 8px;box-shadow:0 30px 80px rgba(9,47,39,.16);text-decoration:none}
.education-collection-link::before{position:absolute;inset:0;background:linear-gradient(115deg,transparent 49%,rgba(255,255,255,.04) 49.2%,transparent 49.5%);content:'';pointer-events:none}
.education-collection-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,6rem)}.education-collection-copy .eyebrow{color:#dfbea4}.education-collection-copy h2{max-width:10ch;margin:.25rem 0 1.2rem;color:white;font-family:var(--serif);font-size:clamp(3.2rem,7vw,6.5rem);font-weight:400;letter-spacing:-.055em;line-height:.88}.education-collection-copy>p:not(.eyebrow){max-width:660px;color:rgba(255,255,255,.68);font-size:.9rem;line-height:1.8}
.education-collection-meta{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;align-items:center;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.64);font-size:.65rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.education-collection-meta span strong{margin-right:.25rem;color:white;font-family:var(--serif);font-size:1.35rem;font-weight:400}.education-collection-meta b{margin-left:auto;color:white;font-size:.68rem}.education-collection-meta i{display:inline-grid;width:30px;height:30px;margin-left:.45rem;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;font-style:normal;transition:transform .25s}.education-collection-link:hover .education-collection-meta i{transform:translateX(4px)}
.education-collection-visual{position:relative;display:grid;place-items:center;align-content:center;min-height:360px}.education-collection-ring{position:absolute;width:min(34vw,390px);aspect-ratio:1;border:1px solid rgba(255,255,255,.2);border-radius:50%}.education-collection-ring::before{position:absolute;inset:11%;border:1px dashed rgba(255,255,255,.22);border-radius:50%;content:'';animation:education-orbit 34s linear infinite}.education-collection-mark{width:min(24vw,250px);height:auto;filter:brightness(0) invert(1);opacity:.16}.education-collection-visual>strong{position:absolute;color:white;font-family:var(--serif);font-size:clamp(5.5rem,11vw,9rem);font-weight:400;line-height:.8}.education-collection-visual>small{position:absolute;top:67%;color:#dfbea4;font-size:.57rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.education-series-masthead{position:relative;isolation:isolate;color:white;background:radial-gradient(circle at 78% 42%,rgba(226,200,176,.22),transparent 28%),linear-gradient(135deg,#0b372c,#104424 58%,#1e5d40)}
.education-series-masthead::after{position:absolute;z-index:-1;right:-8vw;bottom:-18vw;width:46vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:''}
.education-series-masthead h1{max-width:10ch;color:white}.education-series-masthead>div:first-child>p:not(.eyebrow){color:rgba(255,255,255,.72)}.education-series-masthead .eyebrow{color:#dfbea4}
.education-series-orbit{position:relative;display:grid;place-items:center;align-content:center;justify-self:center;width:min(38vw,460px);aspect-ratio:1}
.education-series-orbit::before,.education-series-orbit::after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;content:''}.education-series-orbit::after{inset:12%;border-style:dashed;animation:education-orbit 32s linear infinite}
.education-series-orbit .ecosystem-hero-mark{width:58%;height:auto;filter:brightness(0) invert(1);opacity:.22}.education-series-orbit>span{position:absolute;color:white;font-family:var(--serif);font-size:clamp(4.8rem,10vw,8rem);line-height:.8}.education-series-orbit>small{position:absolute;top:66%;color:#dfbea4;font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
@keyframes education-orbit{to{transform:rotate(360deg)}}
.education-heading-row{align-items:end}.education-search{display:grid;width:min(100%,470px);gap:.4rem}.education-search>label{color:var(--ink-soft);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.education-search>div{display:grid;grid-template-columns:1fr auto}.education-search input{min-width:0;padding:.8rem 1rem;border:1px solid var(--line);background:var(--paper);border-radius:12px 0 0 12px}.education-search button{padding:.75rem 1.1rem;color:white;border:0;background:var(--forest);border-radius:0 12px 12px 0;font-weight:800;cursor:pointer}
.education-series-section{background:linear-gradient(180deg,#e9eee7 0,#f7f4ed 34rem)}.education-series-card{transition:transform .25s,box-shadow .25s}.education-series-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(16,68,36,.12)}
.education-card-image>span.education-day-badge{display:grid;min-width:58px;min-height:58px;place-items:center;align-content:center;padding:.35rem;color:var(--forest);background:rgba(255,253,248,.94);border:1px solid rgba(16,68,36,.12);border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.11)}.education-day-badge b{font-family:var(--serif);font-size:1.25rem;line-height:1}.education-day-badge small{font-size:.48rem;letter-spacing:.12em}
.education-series-detail>header{position:relative;padding-left:clamp(0px,9vw,120px)}.education-article-day{position:absolute;top:.2rem;left:0;display:grid;width:82px;aspect-ratio:1;place-items:center;align-content:center;color:white;background:var(--forest);border-radius:50%}.education-article-day span{font-size:.52rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.education-article-day strong{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}
.education-article-copy{min-width:0;color:var(--ink)!important;font-family:var(--sans)!important;font-size:clamp(1rem,1.5vw,1.12rem)!important;line-height:1.9!important}.education-article-copy>p:first-child{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1.6}.education-article-copy h2,.education-article-copy h3,.education-article-copy h4{margin:2.2rem 0 .7rem;color:var(--logo-green);font-family:var(--serif);font-weight:400;line-height:1.14}.education-article-copy h2{font-size:clamp(2rem,3.5vw,3rem)}.education-article-copy h3{font-size:clamp(1.55rem,2.5vw,2.2rem)}.education-article-copy ul,.education-article-copy ol{padding-left:1.4rem}.education-article-copy li{margin:.45rem 0}.education-article-copy blockquote{margin:2rem 0;padding:1.4rem 1.6rem;color:var(--logo-green);border-left:3px solid #b48667;background:#e9eee7;font-family:var(--serif);font-size:1.3rem}.education-article-copy a{color:var(--forest);font-weight:750;text-decoration-thickness:1px;text-underline-offset:3px}
.education-series-navigation{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.education-series-navigation a{display:grid;gap:.4rem;padding:1.2rem;color:var(--logo-green);border:1px solid var(--line);background:var(--paper);border-radius:18px 5px 18px 5px;text-decoration:none}.education-series-navigation a:hover{border-color:var(--forest);box-shadow:0 14px 34px rgba(16,68,36,.08)}.education-series-navigation small{color:#9a7154;font-size:.62rem;font-weight:800;text-transform:uppercase}.education-series-navigation strong{font-family:var(--serif);font-size:1.15rem;font-weight:400}.education-series-navigation .is-next{text-align:right}
@media (prefers-reduced-motion:reduce){.education-series-orbit::after,.education-collection-ring::before{animation:none}}
@media (max-width:900px){.education-collection-link{grid-template-columns:1fr}.education-collection-visual{order:-1;min-height:300px}.education-collection-ring{width:min(65vw,330px)}.education-collection-mark{width:min(42vw,220px)}.education-collection-copy{padding-top:1rem}.education-series-orbit{width:min(70vw,390px)}.education-series-masthead .education-series-orbit{order:-1}.education-series-masthead{padding-top:3rem}}
@media (max-width:680px){.education-collection-feature{padding-top:1.25rem}.education-collection-link{min-height:0;border-radius:28px 6px 28px 6px}.education-collection-visual{min-height:250px}.education-collection-copy{padding:1.5rem 1.25rem 2rem}.education-collection-copy h2{font-size:clamp(3rem,15vw,4.5rem)}.education-collection-meta{align-items:flex-start;flex-direction:column}.education-collection-meta b{margin-left:0}.education-heading-row{align-items:stretch}.education-search{width:100%}.education-series-detail>header{padding-left:0;padding-top:88px}.education-article-day{width:70px}.education-series-navigation{grid-template-columns:1fr}.education-series-navigation>span{display:none}.education-series-navigation .is-next{text-align:left}}

/* Phase 15.4 · education preview + conversion CTA + SEO approval */
.education-preview-banner{display:flex;justify-content:center;gap:.7rem;align-items:center;padding:.75rem 1rem;color:#163f35;background:#eef4ef;border-bottom:1px solid #d5dfd7;font-size:.78rem}.education-preview-banner strong{font-weight:800}.education-preview-banner span{color:#596c64}
.education-product-cta{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:clamp(1.25rem,4vw,3rem);align-items:center;margin:clamp(2.5rem,6vw,5rem) 0 0;padding:clamp(1.2rem,4vw,2.4rem);border:1px solid var(--line);background:linear-gradient(145deg,#f4f7f2,#fff);border-radius:30px 8px 30px 8px}.education-product-cta-media{display:grid;place-items:center;min-height:220px;overflow:hidden;background:#e9eee8;border-radius:24px 6px 24px 6px}.education-product-cta-media a{display:grid;width:100%;height:100%;place-items:center}.education-product-cta-media img{width:100%;max-height:330px;object-fit:contain}.education-product-cta-fallback{width:min(160px,55%);height:auto}.education-product-cta-copy h2{margin:.15rem 0 .7rem;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;letter-spacing:-.035em}.education-product-cta-copy>p:not(.eyebrow){max-width:760px;color:var(--ink-soft);line-height:1.7}.education-product-cta-price{display:flex;gap:.65rem;align-items:baseline;margin:1rem 0}.education-product-cta-price strong{color:var(--logo-green);font-family:var(--serif);font-size:1.8rem;font-weight:400}.education-product-cta-price s{color:#8a968f}.education-product-cta-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.education-product-cta-actions form{margin:0}.education-product-cta-copy small{display:block;margin-top:.9rem;color:#74827b;font-size:.68rem}
.seo-review-page{max-width:980px;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2.5rem)}.seo-review-page>h1{max-width:900px;margin:.2rem 0 1rem;color:var(--logo-green);font-family:var(--serif);font-size:clamp(2.7rem,6vw,5.5rem);font-weight:400;letter-spacing:-.045em;line-height:1}.seo-review-meta{display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;margin-bottom:1.3rem;color:var(--ink-soft);font-size:.78rem}.seo-review-warning{margin:1rem 0 1.5rem;padding:1rem 1.2rem;border:1px solid #e2cf9d;background:#fff9e7;border-radius:14px}.seo-review-warning p{margin:.35rem 0 0;color:#6f5d31}.seo-review-excerpt{max-width:800px;color:var(--ink-soft);font-family:var(--serif);font-size:1.35rem;line-height:1.55}.seo-review-copy{margin:2rem 0;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--line);background:#fff;border-radius:20px}.seo-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.seo-review-actions>div{padding:1.2rem;border:1px solid var(--line);background:var(--paper);border-radius:16px}.seo-review-actions h2{margin:0 0 .5rem;font-family:var(--serif);font-size:1.5rem;font-weight:400}.seo-review-actions form{display:grid;gap:.9rem}.seo-review-actions label{display:grid;gap:.4rem;color:var(--ink-soft);font-size:.78rem}.seo-review-actions input[type="datetime-local"],.seo-review-actions textarea{width:100%;padding:.7rem;border:1px solid var(--line);background:#fff;border-radius:9px}.seo-review-confirm{grid-template-columns:auto 1fr!important;align-items:start}.seo-review-confirm input{width:18px;height:18px;margin-top:.1rem}.seo-review-feedback-buttons{display:flex;flex-wrap:wrap;gap:.6rem}.seo-review-reject{border-color:#d9b5b5;color:#8d3c3c}.seo-review-footnote{margin-top:1rem;color:#74827b;font-size:.7rem}
@media(max-width:760px){.education-preview-banner{align-items:flex-start;flex-direction:column;gap:.15rem}.education-product-cta,.seo-review-actions{grid-template-columns:1fr}.education-product-cta-media{min-height:180px}.education-product-cta-actions{align-items:stretch;flex-direction:column}.education-product-cta-actions .public-button,.education-product-cta-actions form,.education-product-cta-actions form button{width:100%}}
.seo-review-product{display:grid;grid-template-columns:160px 1fr;gap:1rem;align-items:center;margin:1rem 0 2rem;padding:1rem;border:1px solid var(--line);background:#f7faf6;border-radius:16px}.seo-review-product>div:first-child{display:grid;place-items:center;min-height:140px;background:#e9eee8;border-radius:12px}.seo-review-product img{width:100%;max-height:180px;object-fit:contain}.seo-review-product h2{margin:.15rem 0 .4rem;font-family:var(--serif);font-size:1.7rem;font-weight:400}.seo-review-product p{margin:.35rem 0;color:var(--ink-soft)}.seo-review-product-price{display:flex;gap:.5rem;align-items:baseline}.seo-review-product-price strong{color:var(--logo-green);font-size:1.3rem}.seo-review-product small{display:block;margin-top:.55rem;color:#74827b;font-size:.68rem}@media(max-width:620px){.seo-review-product{grid-template-columns:1fr}}

/* SEO Growth 15.4.2 approval preview parity */
.seo-review-disclaimer{margin:24px 0;padding:18px 20px;border:1px solid rgba(22,63,53,.14);border-radius:14px;background:rgba(22,63,53,.045)}
.seo-review-disclaimer strong{display:block;margin-bottom:6px;color:#163f35}
.seo-review-disclaimer p{margin:0;line-height:1.65}
.seo-review-footnote span{opacity:.72;white-space:nowrap}


/* Phase 15.6: readable, safe formatted product description.
   Scoped so checkout, education articles and all other .prose blocks stay unchanged. */
.product-information .product-richtext {
  min-width: 0;
  max-width: 74ch;
  font-size: clamp(.96rem, 1.05vw, 1.08rem);
  line-height: 1.7;
  letter-spacing: normal;
  overflow-wrap: anywhere;
}
.product-information .product-richtext p { margin: 0 0 1rem; }
.product-information .product-richtext h3,
.product-information .product-richtext h4 {
  grid-column: auto;
  color: var(--logo-green);
  font-family: inherit;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: normal;
  margin: 1.7rem 0 .65rem;
}
.product-information .product-richtext h3 { font-size: clamp(1.15rem, 1.8vw, 1.42rem); }
.product-information .product-richtext h4 { font-size: clamp(1.04rem, 1.5vw, 1.2rem); }
.product-information .product-richtext ul,
.product-information .product-richtext ol { padding-left: 1.45rem; margin: .4rem 0 1.25rem; }
.product-information .product-richtext li { padding-left: .15rem; margin: .24rem 0; }
.product-information .product-richtext strong { color: var(--ink); font-weight: 730; }
.product-information .product-richtext > :first-child { margin-top: 0; }
.product-information .product-richtext > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .product-information .product-richtext { max-width: 100%; font-size: 1rem; line-height: 1.65; }
  .product-information .product-richtext h3 { font-size: 1.18rem; }
  .product-information .product-richtext h4 { font-size: 1.08rem; }
  .product-information .product-richtext p { margin-bottom: .9rem; }
}

/* Keep the consent notice readable and clear on narrow screens. */
.consent-banner { gap: .85rem; }
.consent-banner strong { font-size: .87rem; }
.consent-banner p { font-size: .76rem; line-height: 1.55; }
.consent-banner a { font-size: .75rem; }
@media (max-width: 680px) {
  .consent-banner { padding: .9rem; border-radius: 14px; gap: .75rem; }
  .consent-banner > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; }
  .consent-banner form, .consent-banner button { min-width: 0; width: 100%; }
  .consent-banner button { min-height: 44px; padding: .65rem .45rem; font-size: .75rem; }
}
