:root {
  --ink: #17392f;
  --ink-2: #31584c;
  --forest: #173f32;
  --forest-deep: #0e2e25;
  --leaf: #5e9b67;
  --lime: #b9cf77;
  --cream: #f4f0e4;
  --paper: #fcfbf7;
  --peach: #e7aa72;
  --line: #dfe4d9;
  --muted: #728078;
  --danger: #a54336;
  --shadow: 0 22px 60px rgba(23, 63, 50, .11);
  --radius: 22px;
  --shell: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.04; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
h3 { line-height: 1.2; }
.shell { width: var(--shell); margin-inline: auto; }
.narrow { max-width: 820px; }
.section { padding: clamp(72px, 9vw, 128px) 0; }
.section--compact { padding: 56px 0 100px; }
.section--tint { background: #eef2e8; }
.muted { color: var(--muted); }
.top-gap { margin-top: 28px; }
.centered { justify-content: center; text-align: center; }
.centered-copy { text-align: center; max-width: 680px; margin: 0 auto 32px; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 20px; top: 20px; z-index: 100; padding: 12px 18px; background: #fff; border-radius: 8px; box-shadow: var(--shadow); }
:focus-visible { outline: 3px solid var(--peach); outline-offset: 3px; }

.site-header { position: sticky; top: 0; z-index: 30; background: rgba(252, 251, 247, .92); border-bottom: 1px solid rgba(23,57,47,.08); backdrop-filter: blur(14px); }
.header-inner { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 1.32rem; font-weight: 750; letter-spacing: -.04em; }
.brand-mark { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50% 50% 46% 54%; color: var(--cream); background: var(--forest); font-family: Georgia, serif; font-style: italic; transform: rotate(-7deg); }
.desktop-nav { display: flex; align-items: center; gap: 21px; margin-left: auto; }
.nav-link { position: relative; color: var(--ink-2); font-size: .92rem; font-weight: 650; }
.nav-link::after { content: ""; position: absolute; height: 2px; left: 0; right: 100%; bottom: -9px; background: var(--leaf); transition: right .2s; }
.nav-link:hover::after, .nav-link.active::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 15px; }
.locale-switcher, .mobile-menu { position: relative; }
.locale-switcher summary, .mobile-menu summary { list-style: none; font-size: .8rem; font-weight: 800; }
.locale-switcher summary::-webkit-details-marker, .mobile-menu summary::-webkit-details-marker { display: none; }
.locale-switcher summary { border: 1px solid var(--line); border-radius: 99px; padding: 7px 11px; }
.locale-menu { position: absolute; top: 42px; right: 0; min-width: 150px; display: grid; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.locale-menu a { padding: 7px 10px; border-radius: 7px; font-size: .85rem; }
.locale-menu a:hover { background: var(--cream); }
.cart-link { position: relative; font-size: 1.25rem; }
.cart-count { position: absolute; top: -10px; right: -12px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: var(--peach); color: var(--forest-deep); font-size: .65rem; font-weight: 800; }
.mobile-menu { display: none; }
.mobile-menu summary { font-size: 1.3rem; }
.mobile-menu nav { position: absolute; right: 0; top: 44px; width: 210px; display: grid; background: white; border: 1px solid var(--line); padding: 12px; border-radius: 14px; box-shadow: var(--shadow); }
.mobile-menu a { padding: 10px; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 22px; border: 1px solid var(--forest); border-radius: 99px; background: var(--forest); color: white; font-weight: 750; transition: transform .18s, box-shadow .18s, background .18s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,63,50,.2); background: var(--forest-deep); }
.button--small { min-height: 38px; padding: 7px 15px; font-size: .86rem; }
.button--large { min-height: 54px; padding-inline: 29px; }
.button--ghost { color: var(--forest); background: transparent; border-color: #9baa9f; }
.button--ghost:hover { color: white; }
.button--cream { color: var(--forest); background: var(--cream); border-color: var(--cream); }
.button--block { width: 100%; }
.button-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.text-button { padding: 0; border: 0; background: none; color: var(--forest); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.text-button--danger { color: var(--danger); }
.arrow-link { color: var(--forest); font-weight: 750; text-decoration: underline; text-decoration-color: var(--lime); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.arrow-link.centered { display: block; margin-top: 18px; }

.flash { padding: 12px 0; font-weight: 650; font-size: .92rem; }
.flash--notice { background: #dcecd9; color: #214f32; }
.flash--alert { background: #f6dfd8; color: #803429; }

.hero { min-height: 700px; overflow: hidden; background: radial-gradient(circle at 78% 35%, #e4ebd2 0, transparent 34%), linear-gradient(115deg, var(--cream), #f8f6ed 66%); }
.hero-grid { min-height: 700px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; }
.hero-copy { padding: 80px 0; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; color: var(--leaf); font-size: .74rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow > span { width: 26px; height: 1px; background: currentColor; }
.eyebrow--light { color: var(--lime); }
.hero h1 { margin-bottom: 26px; color: var(--forest); }
.hero h1 em { color: var(--leaf); font-weight: 400; }
.lead { color: var(--ink-2); font-size: clamp(1.04rem, 1.7vw, 1.27rem); line-height: 1.7; }
.hero-copy .lead { max-width: 625px; margin-bottom: 32px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 28px; color: var(--ink-2); font-size: .83rem; font-weight: 650; }
.trust-row span::first-letter { color: var(--leaf); }
.hero-product { position: relative; min-height: 560px; display: grid; place-items: center; }
.hero-product::before { content: ""; position: absolute; inset: 9% 3%; border-radius: 47% 53% 55% 45%; background: #d7e2bd; transform: rotate(7deg); }
.hero-product .product-visual { width: min(500px, 100%); min-height: 530px; box-shadow: none; background: transparent; }
.floating-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 11px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.7); border-radius: 14px; background: rgba(255,255,255,.86); box-shadow: 0 14px 40px rgba(23,63,50,.13); backdrop-filter: blur(9px); }
.floating-card > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #edf3dd; color: var(--forest); }
.floating-card small, .floating-card strong { display: block; line-height: 1.25; }
.floating-card small { color: var(--muted); font-size: .68rem; }
.floating-card--top { top: 19%; right: -2%; }
.floating-card--bottom { left: 2%; bottom: 17%; }

.product-visual { position: relative; min-height: 285px; overflow: hidden; border-radius: var(--radius); background: radial-gradient(circle at 70% 15%, rgba(255,255,255,.85), transparent 30%), #dfe8cf; box-shadow: inset 0 0 0 1px rgba(23,63,50,.04); }
.product-visual--image { margin: 0; background: #eee9e2; }
.product-visual__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.product-visual > small { position: absolute; left: 14px; bottom: 12px; z-index: 5; padding: 3px 8px; border-radius: 99px; background: rgba(255,255,255,.7); color: #567064; font-size: .58rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.visual-glow { position: absolute; width: 170px; height: 170px; left: calc(50% - 85px); top: 18px; border-radius: 50%; background: rgba(255,255,255,.65); filter: blur(5px); }
.visual-rail { position: absolute; width: 12px; height: 200px; left: calc(50% - 6px); top: 42px; border-radius: 8px; background: linear-gradient(90deg, #65766a, #eef1e8 42%, #4c6257); box-shadow: 8px 4px 10px rgba(20,44,35,.15); }
.visual-base { position: absolute; width: 142px; height: 48px; left: calc(50% - 71px); bottom: 32px; border-radius: 15px 15px 24px 24px; background: linear-gradient(145deg, #f8f8f1, #c4ccbe); box-shadow: 0 17px 20px rgba(23,63,50,.17); }
.visual-base::before { content: ""; position: absolute; width: 82px; height: 9px; left: 30px; top: -4px; border-radius: 50%; background: #64776a; }
.visual-base em { position: absolute; right: 14px; bottom: 8px; color: #6b8172; font-family: Georgia, serif; }
.visual-pot { position: absolute; width: 108px; height: 58px; z-index: 2; border-radius: 11px 11px 26px 26px; background: linear-gradient(145deg, #fafaf3, #bdc8b9); box-shadow: 0 15px 20px rgba(23,63,50,.13); }
.visual-pot--one { left: calc(50% - 105px); top: 85px; }
.visual-pot--two { left: calc(50% - 3px); top: 155px; transform: scale(.9); }
.visual-pot span, .visual-pot i, .visual-pot b { position: absolute; bottom: 43px; width: 34px; height: 53px; border-radius: 80% 5% 80% 10%; background: linear-gradient(130deg, #9fc56f, #477c51); transform-origin: bottom; }
.visual-pot span { left: 35px; transform: rotate(-14deg); }
.visual-pot i { left: 46px; height: 61px; transform: rotate(19deg) scale(.8); }
.visual-pot b { left: 20px; height: 43px; transform: rotate(-43deg) scale(.65); }
.product-visual--seed { background: #ead9bb; }
.product-visual--seed .visual-rail { display: none; }
.product-visual--seed .visual-pot--two { display: none; }
.product-visual--seed .visual-pot--one { left: calc(50% - 54px); top: 88px; transform: scale(1.25); }
.product-visual--seed .visual-base { width: 110px; left: calc(50% - 55px); }
.product-visual--substrate { background: #e4d7ca; }
.product-visual--module { background: #d9e4dc; }

.proof-strip { padding: 25px 0; color: #dce7d7; background: var(--forest-deep); }
.proof-strip .shell { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.proof-strip p { margin: 0; font-size: .76rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.proof-strip div div { display: flex; gap: clamp(18px, 5vw, 68px); color: #8cab93; font-size: .72rem; font-weight: 850; letter-spacing: .17em; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 48px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 440px; margin-bottom: 7px; color: var(--muted); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.steps article { position: relative; padding: 40px 9% 10px 0; }
.steps article + article { padding-left: 9%; border-left: 1px solid var(--line); }
.steps article > span { color: #a6b2a7; font-size: .74rem; font-weight: 850; }
.step-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 24px 0; border-radius: 50%; color: var(--forest); background: #e8eddc; font-size: 1.8rem; }
.steps h3 { font-family: Georgia, serif; font-size: 1.45rem; }
.steps p { color: var(--muted); }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); transition: transform .2s, box-shadow .2s; }
.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.product-card__visual { display: block; padding: 12px 12px 0; }
.product-card__body { padding: 23px; }
.product-card h3 { margin-bottom: 10px; font-family: Georgia, serif; font-size: 1.4rem; }
.product-card p { min-height: 52px; color: var(--muted); font-size: .9rem; }
.product-card__footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; }
.product-card__footer strong { font-family: Georgia, serif; font-size: 1.25rem; }
.subscription-promo { color: white; background: var(--forest); overflow: hidden; }
.promo-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.promo-grid h2 { max-width: 580px; }
.promo-grid p { max-width: 580px; color: #c9d9ce; font-size: 1.12rem; }
.seed-orbit { position: relative; width: 370px; height: 370px; margin: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; animation: orbit 30s linear infinite; }
.seed-orbit::after { content: ""; position: absolute; inset: 60px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.seed-orbit span { position: absolute; z-index: 2; display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; color: var(--forest); background: var(--lime); font-family: Georgia, serif; font-weight: 700; }
.seed-orbit span:nth-child(1) { top: -33px; left: 152px; }.seed-orbit span:nth-child(2) { right: -25px; top: 150px; }.seed-orbit span:nth-child(3) { bottom: -28px; left: 150px; }.seed-orbit span:nth-child(4) { left: -24px; top: 150px; }
.seed-orbit i { position: absolute; inset: 115px; display: grid; place-items: center; border-radius: 47% 53%; background: #f1eddc; color: var(--forest); font: italic 5rem Georgia, serif; transform: rotate(8deg); }
@keyframes orbit { to { transform: rotate(360deg); } }
.seed-orbit span, .seed-orbit i { animation: counter-orbit 30s linear infinite; }
@keyframes counter-orbit { to { transform: rotate(-360deg); } }
.quote { max-width: 900px; text-align: center; }
.quote > span { display: block; color: var(--lime); font: 5rem/1 Georgia, serif; }
.quote blockquote { margin: 0 0 22px; font: clamp(1.6rem, 3vw, 2.5rem)/1.35 Georgia, serif; }
.quote p { color: var(--muted); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.page-hero { padding: 90px 0 75px; background: linear-gradient(110deg, #e9eee1, var(--cream)); }
.page-hero--small { padding: 55px 0 45px; }
.page-hero h1 { max-width: 900px; margin-bottom: 16px; font-size: clamp(2.6rem, 5vw, 4.6rem); }
.page-hero p { max-width: 650px; margin: 0; color: var(--ink-2); font-size: 1.08rem; }
.page-heading-row { display: flex; justify-content: space-between; align-items: center; gap: 25px; }

.story-hero { overflow: hidden; background: radial-gradient(circle at 78% 30%, #dfe8cc 0, transparent 31%), linear-gradient(115deg, var(--cream), #f9f7ef 68%); }
.story-hero--seed { background: radial-gradient(circle at 78% 30%, #ead8b9 0, transparent 31%), linear-gradient(115deg, #f2ebdb, #fbf8ef 68%); }
.story-hero__grid { min-height: 690px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(40px, 6vw, 80px); padding-block: 70px; }
.story-hero__copy h1 { max-width: 690px; margin-bottom: 24px; }
.story-hero__copy .lead { max-width: 620px; margin-bottom: 30px; }
.story-hero__media { position: relative; margin: 0; overflow: hidden; border-radius: 28px; background: #ddd8d0; box-shadow: var(--shadow); }
.story-hero__media img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.story-hero__media figcaption { position: absolute; left: 16px; bottom: 16px; padding: 6px 11px; border: 1px solid rgba(255,255,255,.5); border-radius: 99px; background: rgba(255,255,255,.82); color: var(--ink-2); font-size: .7rem; font-weight: 750; backdrop-filter: blur(8px); }
.story-facts { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 28px; color: var(--ink-2); font-size: .82rem; font-weight: 700; }
.story-facts span::first-letter { color: var(--leaf); }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.feature-card { min-height: 260px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.feature-card > span { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 38px; border-radius: 50%; color: var(--forest); background: #e8eddc; font-size: 1.45rem; }
.feature-card h3 { margin-bottom: 11px; font-family: Georgia, serif; font-size: 1.35rem; }
.feature-card p { margin: 0; color: var(--muted); font-size: .91rem; }
.media-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(45px, 8vw, 100px); }
.media-story--reverse figure { order: 2; }
.media-story figure { margin: 0; overflow: hidden; border-radius: 28px; background: #e2ddd3; box-shadow: var(--shadow); }
.media-story figure img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.media-story h2 { margin-bottom: 20px; }
.story-steps { display: grid; gap: 0; padding: 0; margin: 32px 0 0; list-style: none; border-top: 1px solid #cad2c5; }
.story-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid #cad2c5; }
.story-steps li > span { color: var(--leaf); font-size: .73rem; font-weight: 850; letter-spacing: .1em; }
.story-steps h3 { margin-bottom: 5px; font-family: Georgia, serif; font-size: 1.2rem; }
.story-steps p { margin: 0; color: var(--muted); font-size: .9rem; }
.variant-table-wrap { margin-top: 38px; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.variant-table th:first-child { color: var(--ink); font-family: Georgia, serif; font-size: 1.05rem; text-transform: none; letter-spacing: 0; }
.variant-table tbody tr:last-child th, .variant-table tbody tr:last-child td { border-bottom: 0; }
.growpad-process { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.growpad-process article { padding: 34px 8% 34px 0; }
.growpad-process article + article { padding-left: 8%; border-left: 1px solid var(--line); }
.growpad-process span { color: var(--leaf); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.growpad-process h3 { margin: 19px 0 9px; font-family: Georgia, serif; font-size: 1.35rem; }
.growpad-process p { margin: 0; color: var(--muted); }
.variety-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.variety-card { display: grid; grid-template-columns: 70px 1fr; align-items: start; gap: 20px; padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.variety-card > span { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50% 44% 52% 46%; color: var(--forest); background: var(--lime); font-family: Georgia, serif; font-weight: 800; transform: rotate(-4deg); }
.variety-card h3 { margin: 3px 0 7px; font-family: Georgia, serif; font-size: 1.35rem; }
.variety-card p { margin-bottom: 8px; color: var(--muted); }
.variety-card small { color: var(--ink-2); font-weight: 750; }
.story-cta { color: white; background: var(--forest); }
.story-cta .shell { display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.story-cta h2 { max-width: 720px; margin-bottom: 16px; }
.story-cta p { max-width: 700px; margin: 0; color: #c9d9ce; font-size: 1.05rem; }
.story-cta .button { flex: 0 0 auto; }
.faq-hero { text-align: center; }
.faq-hero .eyebrow { justify-content: center; }
.faq-hero p { margin-inline: auto; }
.faq-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: clamp(45px, 9vw, 120px); }
.faq-index { position: sticky; top: 110px; display: grid; gap: 10px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #f4f5ee; }
.faq-index strong { margin-bottom: 6px; font-family: Georgia, serif; font-size: 1.2rem; }
.faq-index a { color: var(--ink-2); font-size: .88rem; font-weight: 700; }
.faq-index a:hover { color: var(--leaf); }
.faq-groups { display: grid; gap: 65px; }
.faq-groups section { scroll-margin-top: 105px; }
.faq-groups h2 { margin-bottom: 25px; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 0; list-style: none; color: var(--ink); font-weight: 780; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { font-size: 1.5rem; font-weight: 400; transition: transform .2s; }
.faq-item[open] summary span { transform: rotate(45deg); }
.faq-item > div { padding: 0 46px 20px 0; }
.faq-item p { margin: 0; color: var(--muted); }
.filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 36px; }
.filters a { padding: 8px 17px; border: 1px solid var(--line); border-radius: 99px; background: white; font-size: .86rem; font-weight: 700; }
.filters a.active { color: white; background: var(--forest); border-color: var(--forest); }
.product-detail__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 100px); align-items: center; }
.product-detail .product-visual { min-height: 560px; }
.product-media__gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; }
.product-media__gallery figure { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border-radius: 15px; background: #eee9e2; }
.product-media__gallery img { width: 100%; height: 100%; object-fit: cover; }
.product-detail__copy h1 { margin-bottom: 20px; font-size: clamp(2.6rem, 5vw, 4.7rem); }
.product-detail__copy > p:not(.lead) { color: var(--muted); }
.price { margin: 28px 0; font: 2rem Georgia, serif; }
.feature-list { display: grid; gap: 9px; padding: 0; margin: 28px 0; list-style: none; }
.feature-list li::before { content: "✓"; margin-right: 9px; color: var(--leaf); font-weight: 900; }
.add-form { display: flex; gap: 12px; margin: 30px 0 12px; }
.add-form input[type="number"] { width: 75px; }

input, select, textarea { width: 100%; border: 1px solid #cbd3c8; border-radius: 10px; padding: 11px 13px; color: var(--ink); background: #fff; }
textarea { resize: vertical; }
label { color: var(--ink-2); font-size: .86rem; font-weight: 750; }
.field { display: grid; gap: 7px; margin-bottom: 19px; }
.field small { color: var(--muted); }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.form-card, .detail-card, .summary-card { padding: clamp(24px, 4vw, 38px); border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 15px 45px rgba(23,63,50,.06); }
.form-card fieldset { padding: 0; border: 0; }
.form-card legend { margin-bottom: 24px; font: 1.6rem Georgia, serif; }
.form-errors { margin-bottom: 24px; padding: 14px 17px; border-left: 4px solid var(--danger); background: #faeae6; color: #7e3329; }
.form-errors ul { margin: 8px 0 0; }
.check-field { display: flex; align-items: start; gap: 10px; margin: 20px 0; }
.check-field input { width: auto; margin-top: 5px; }
.check-field a { text-decoration: underline; }
.payment-note { padding: 17px; border-radius: 12px; background: #edf2e7; }
.payment-note p { margin: 4px 0 0; color: var(--muted); font-size: .88rem; }
.cart-layout, .checkout-grid, .dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .7fr); gap: 34px; align-items: start; }
.cart-item { display: grid; grid-template-columns: 130px 1fr 100px 100px; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.cart-thumb .product-visual { min-height: 110px; }
.cart-thumb .visual-pot { transform: scale(.42); transform-origin: top left; }
.cart-thumb .visual-pot--two, .cart-thumb .visual-rail, .cart-thumb .visual-base, .cart-thumb small { display: none; }
.cart-item h2 { margin-bottom: 4px; font: 1.25rem Georgia, serif; }
.cart-item p { margin: 0; color: var(--muted); }
.quantity-form input { padding: 8px; }
.quantity-form .text-button { margin-top: 5px; font-size: .75rem; }
.cart-item__price { display: grid; justify-items: end; gap: 12px; }
.summary-card { position: sticky; top: 98px; }
.summary-card h2 { font-size: 1.55rem; }
.summary-card > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; }
.summary-card > p { color: var(--muted); font-size: .75rem; }
.order-total { margin-top: 10px; padding-top: 17px !important; border-top: 1px solid var(--line); font-size: 1.12rem; }
.empty-state, .empty-panel { padding: 55px; border: 1px dashed #b9c4b9; border-radius: var(--radius); text-align: center; background: #f5f6ef; }
.empty-icon { font-size: 2.5rem; }

.auth-section { min-height: 680px; display: grid; place-items: center; padding: 70px 20px; background: radial-gradient(circle at 15% 20%, #dae7cc, transparent 30%), var(--cream); }
.auth-card { width: min(480px, 100%); padding: 38px; border: 1px solid rgba(255,255,255,.7); border-radius: 26px; background: rgba(255,255,255,.91); box-shadow: var(--shadow); }
.auth-card--wide { width: min(660px, 100%); }
.auth-card > h1 { margin: 24px 0 10px; text-align: center; font-size: 2.6rem; }
.auth-card > p { margin-bottom: 28px; color: var(--muted); text-align: center; }
.brand--center { display: flex; justify-content: center; }
.auth-switch { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; color: var(--muted); }
.auth-switch a { color: var(--forest); font-weight: 750; text-decoration: underline; }
.success-mark { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 25px; border-radius: 50%; color: var(--forest); background: var(--lime); font-size: 2rem; }
.detail-card__header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.detail-card__header h1, .detail-card__header h2 { margin-bottom: 6px; font-size: 2rem; }
.detail-card hr { margin: 28px 0; border: 0; border-top: 1px solid var(--line); }
.order-summary > div { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; }
address { font-style: normal; }

.account-hero { padding: 60px 0; color: white; background: var(--forest); }
.account-hero .shell { display: flex; justify-content: space-between; align-items: center; }
.account-hero h1 { margin-bottom: 12px; font-size: 3.4rem; }
.account-hero p { margin: 0; color: #cadbd0; }
.account-avatar { width: 72px; height: 72px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.3); border-radius: 50%; background: #2f604d; font: 2rem Georgia, serif; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; }
.panel-heading h2 { margin: 0; font-size: 1.9rem; }
.subscription-list { display: grid; gap: 12px; }
.subscription-card { display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.seed-token { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50% 46% 52% 44%; color: var(--forest); background: var(--lime); font: bold 1rem Georgia, serif; transform: rotate(-5deg); }
.subscription-card h3, .subscription-card p { margin-bottom: 3px; }
.subscription-card p { color: var(--muted); font-size: .85rem; }
.subscription-actions { display: grid; justify-items: end; gap: 8px; }
.status { display: inline-flex; width: fit-content; padding: 4px 9px; border-radius: 99px; background: #e9ede7; color: #5d6c63; font-size: .69rem; font-weight: 850; text-transform: uppercase; }
.status--active, .status--confirmed, .status--paid, .status--completed { background: #dcebd8; color: #2f6438; }
.status--paused, .status--pending, .status--authorized { background: #f4e7c8; color: #735a1f; }
.status--cancelled, .status--payment_failed { background: #f4deda; color: #8b3b31; }
.data-list { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: white; }
.data-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.data-row:last-child { border: 0; }
.data-row > span { display: flex; align-items: center; gap: 14px; }
.data-row small { color: var(--muted); }
.dashboard-aside { display: grid; gap: 20px; }
.dashboard-aside h2 { font-size: 1.5rem; }
.care-card { padding: 27px; border-radius: var(--radius); background: #dae7ca; }
.care-card > span { font-size: 2rem; }
.care-card h3 { margin: 8px 0; font-family: Georgia, serif; font-size: 1.35rem; }
.management-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }

.admin-nav { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px; font-weight: 750; }
.admin-nav a { text-decoration: underline; text-underline-offset: 5px; }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 50px; }
.stat-grid article { display: grid; padding: 26px; border-radius: var(--radius); background: var(--forest); color: #d8e2d9; }
.stat-grid span { color: white; font: 2.7rem Georgia, serif; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: white; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
th { color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
td a { font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.check-row { display: flex; gap: 25px; margin: 10px 0 30px; }
.check-row input { width: auto; }
.translation-tabs { display: grid; gap: 18px; margin-bottom: 25px; }
.translation-tabs fieldset { padding: 22px; border: 1px solid var(--line); border-radius: 14px; }
.translation-tabs legend { padding: 0 8px; font-weight: 800; }
.inline-admin-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 15px; align-items: end; }
.definition-grid { display: grid; grid-template-columns: 140px 1fr; gap: 8px 20px; }
.definition-grid dt { color: var(--muted); }

.legal-copy { max-width: 780px; }
.legal-copy > p { white-space: pre-line; }
.legal-warning { margin-bottom: 35px; padding: 20px; border: 1px solid #e0bd82; border-radius: 12px; background: #fcf1dc; color: #684d21; }
.legal-warning p { margin: 5px 0 0; }
.cookie-banner { position: fixed; z-index: 50; left: 22px; right: 22px; bottom: 22px; max-width: 900px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 19px 22px; border: 1px solid #cbd5c9; border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: var(--shadow); backdrop-filter: blur(12px); }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { margin: 3px 0 0; color: var(--muted); font-size: .85rem; }
.cookie-banner a { text-decoration: underline; }

.site-footer { padding: 68px 0 24px; color: #bdcec4; background: var(--forest-deep); }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 70px; }
.brand--footer { color: white; margin-bottom: 14px; }
.footer-grid h2 { color: white; font: 1rem/1.3 inherit; font-weight: 800; letter-spacing: .05em; }
.footer-grid nav { display: grid; gap: 7px; }
.footer-grid a:hover { color: white; }
.footer-bottom { margin-top: 55px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; }

@media (max-width: 1080px) {
  .desktop-nav, .desktop-only { display: none; }
  .mobile-menu { display: block; }
}

@media (max-width: 940px) {
  .hero-grid { grid-template-columns: 1fr; padding-top: 50px; }
  .hero-copy { padding: 30px 0 0; }
  .hero-product { min-height: 480px; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .promo-grid { grid-template-columns: 1fr; }
  .seed-orbit { width: 300px; height: 300px; }
  .seed-orbit span:nth-child(1) { left: 117px; }.seed-orbit span:nth-child(2) { top: 117px; }.seed-orbit span:nth-child(3) { left: 117px; }.seed-orbit span:nth-child(4) { top: 117px; }
  .seed-orbit i { inset: 85px; }
  .product-detail__grid { gap: 35px; }
  .cart-layout, .checkout-grid, .dashboard-grid { grid-template-columns: 1fr; }
  .summary-card { position: static; }
  .cart-item { grid-template-columns: 100px 1fr 90px; }
  .cart-item__price { grid-column: 2 / -1; grid-row: 2; display: flex; justify-content: space-between; }
  .story-hero__grid { grid-template-columns: 1fr; }
  .story-hero__copy { padding-top: 15px; }
  .story-hero__media { width: min(680px, 100%); }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .media-story { gap: 45px; }
}

@media (max-width: 650px) {
  :root { --shell: min(100% - 28px, 1180px); --radius: 17px; }
  .header-inner { height: 66px; }
  .section { padding: 64px 0; }
  .section--compact { padding: 35px 0 70px; }
  .hero-grid { min-height: auto; gap: 10px; }
  .hero { min-height: auto; }
  .hero-copy .button { width: 100%; }
  .hero-product { min-height: 430px; }
  .hero-product .product-visual { min-height: 430px; }
  .floating-card--top { right: 0; }
  .proof-strip .shell { display: grid; }
  .proof-strip div div { flex-wrap: wrap; }
  .section-heading { display: grid; gap: 12px; }
  .steps { grid-template-columns: 1fr; }
  .steps article, .steps article + article { padding: 28px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .product-grid { grid-template-columns: 1fr; }
  .product-detail__grid { grid-template-columns: 1fr; }
  .product-detail .product-visual { min-height: 390px; }
  .product-detail__copy h1 { font-size: 2.7rem; }
  .page-hero { padding: 54px 0; }
  .page-heading-row { align-items: start; flex-direction: column; }
  .cart-item { grid-template-columns: 80px 1fr; }
  .quantity-form { grid-column: 2; }
  .cart-item__price { grid-column: 2; grid-row: auto; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .auth-card { padding: 27px 20px; }
  .subscription-card { grid-template-columns: 50px 1fr; }
  .subscription-actions { grid-column: 2; grid-row: 2; display: flex; justify-content: space-between; }
  .data-row { align-items: start; }
  .data-row > span { display: grid; justify-items: end; }
  .stat-grid { grid-template-columns: 1fr; }
  .inline-admin-form { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .cookie-banner { align-items: stretch; flex-direction: column; }
  .cookie-banner .button-row { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-banner .button { padding-inline: 10px; font-size: .8rem; }
  .seed-orbit { transform: scale(.85); margin-block: -20px; }
  .story-hero__grid { min-height: auto; gap: 38px; padding-block: 50px; }
  .story-hero__copy .button { width: 100%; }
  .story-hero__media { border-radius: 18px; }
  .feature-grid, .media-story, .growpad-process, .variety-grid, .faq-layout { grid-template-columns: 1fr; }
  .feature-card { min-height: 0; }
  .feature-card > span { margin-bottom: 24px; }
  .media-story--reverse figure { order: 0; }
  .growpad-process article, .growpad-process article + article { padding: 25px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .growpad-process article:last-child { border-bottom: 0; }
  .story-cta .shell { align-items: start; flex-direction: column; gap: 28px; }
  .story-cta .button { width: 100%; }
  .faq-index { position: static; }
  .faq-groups { gap: 48px; }
}

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