:root {
  --ink: #171a18;
  --muted: #626861;
  --moss: #30463a;
  --moss-deep: #1e2d26;
  --lime: #d9ff72;
  --orange: #c9693c;
  --sand: #f3efe6;
  --paper: #fffdf8;
  --white: #ffffff;
  --line: #deddd4;
  --line-dark: rgba(255, 255, 255, 0.14);
  --success: #285c40;
  --radius-sm: 12px;
  --radius-md: 24px;
  --radius-lg: 38px;
  --shadow-soft: 0 20px 70px rgba(23, 26, 24, 0.1);
  --shadow-strong: 0 28px 90px rgba(23, 26, 24, 0.18);
  --shell: min(1240px, calc(100% - 48px));
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 118px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.admin-bar .site-header { top: 32px; }

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a { color: inherit; }
button, input, select, textarea { font: inherit; }

:focus-visible {
  outline: 3px solid #3563d8;
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 99999;
  padding: 12px 16px;
  border-radius: 8px;
  color: #111;
  background: #fff;
}

.skip-link:focus { top: 16px; }

.announcement {
  min-height: 34px;
  padding: 7px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: #f7f8f6;
  background: var(--ink);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(23, 26, 24, 0.08);
  background: rgba(255, 253, 248, 0.92);
  backdrop-filter: blur(16px);
}

.site-header__inner {
  width: var(--shell);
  min-height: 76px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
}

.brand {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--ink);
  text-decoration: none;
}

.brand__mark {
  position: relative;
  width: 38px;
  height: 38px;
  display: inline-block;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 12px;
  background: var(--moss-deep);
  transform: rotate(-3deg);
}

.brand__mark i {
  position: absolute;
  left: 8px;
  width: 23px;
  height: 9px;
  border: 3px solid var(--lime);
  border-top: 0;
  border-radius: 0 0 50% 50%;
}

.brand__mark i:first-child { top: 8px; transform: rotate(8deg); }
.brand__mark i:last-child { top: 19px; transform: rotate(-8deg); }

.brand__wordmark {
  display: grid;
  font-size: 0.98rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  line-height: 1.05;
}

.brand__wordmark small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.primary-nav,
.primary-nav ul {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.primary-nav a {
  position: relative;
  color: var(--ink);
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 720;
}

.primary-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 2px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.primary-nav a:hover::after { transform: scaleX(1); transform-origin: left; }

.header-cart {
  justify-self: end;
  min-height: 42px;
  padding: 9px 10px 9px 17px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 99px;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 780;
  background: var(--white);
}

.header-cart__count {
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--lime);
  font-size: 0.7rem;
}

.menu-toggle { display: none; }
.mobile-nav { display: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.hero {
  position: relative;
  min-height: min(800px, calc(100vh - 110px));
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: #f4efe6;
  background-image: linear-gradient(90deg, rgba(244, 239, 230, 0.99) 0%, rgba(244, 239, 230, 0.96) 34%, rgba(244, 239, 230, 0.63) 50%, rgba(244, 239, 230, 0.04) 72%), var(--hero-image);
  background-position: center, center;
  background-size: cover;
}

.hero::before {
  content: "";
  position: absolute;
  top: 11%;
  left: -8%;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(201, 105, 60, 0.2);
  border-radius: 50%;
}

.hero__inner {
  width: var(--shell);
  margin-inline: auto;
  display: flex;
  align-items: center;
  padding: 82px 0 110px;
}

.hero__content {
  position: relative;
  z-index: 1;
  max-width: 660px;
}

.eyebrow {
  margin: 0 0 15px;
  color: var(--orange);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero h1,
.section h2,
.process-section h2,
.comparison-section h2,
.content-card h1,
.checkout-preview__main > h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.hero h1 {
  max-width: 650px;
  font-size: clamp(4.2rem, 7vw, 7.7rem);
}

.hero__lead {
  max-width: 590px;
  margin: 28px 0;
  color: #454c47;
  font-size: clamp(1rem, 1.45vw, 1.2rem);
  line-height: 1.6;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  min-height: 54px;
  padding: 15px 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 99px;
  cursor: pointer;
  text-decoration: none;
  font-weight: 820;
  line-height: 1.2;
  transition: transform 170ms ease, box-shadow 170ms ease, background 170ms ease;
}

.button:hover { transform: translateY(-2px); }

.button--primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  color: var(--ink);
  background: var(--lime);
  box-shadow: 0 12px 28px rgba(96, 119, 39, 0.2);
}

.button--primary:hover { background: #c9f15b; }

.button--ghost {
  border-color: rgba(23, 26, 24, 0.22);
  color: var(--ink);
  background: rgba(255, 253, 248, 0.72);
  backdrop-filter: blur(10px);
}

.hero__offer {
  max-width: 540px;
  margin-top: 34px;
  padding-top: 20px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(23, 26, 24, 0.18);
}

.hero__offer div { display: grid; gap: 2px; }
.hero__offer span { color: var(--muted); font-size: 0.7rem; font-weight: 740; text-transform: uppercase; letter-spacing: 0.08em; }
.hero__offer strong { font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; }
.hero__offer strong .woocommerce-Price-amount { font-size: inherit; }
.hero__offer p { margin: 0 0 4px; color: var(--muted); font-size: 0.8rem; }

.hero__microcopy {
  margin: 15px 0 0;
  color: var(--muted);
  font-size: 0.76rem;
}

.hero__microcopy span { color: var(--success); font-size: 0.58rem; vertical-align: 0.12em; }

.visual-disclosure {
  position: absolute;
  right: 18px;
  bottom: 16px;
  margin: 0;
  padding: 7px 11px;
  border-radius: 99px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(23, 26, 24, 0.6);
  backdrop-filter: blur(8px);
  font-size: 0.62rem;
}

.value-rail {
  width: var(--shell);
  margin: -40px auto 0;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--paper);
  box-shadow: var(--shadow-strong);
  overflow: hidden;
}

.value-rail > div {
  min-height: 118px;
  padding: 24px 22px;
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 13px;
  border-right: 1px solid var(--line);
}

.value-rail > div:last-child { border-right: 0; }

.value-rail__icon {
  grid-row: 1 / 3;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--moss-deep);
  background: var(--lime);
  font-family: Georgia, serif;
  font-size: 1.2rem;
}

.value-rail strong { align-self: end; font-size: 0.9rem; }
.value-rail small { color: var(--muted); font-size: 0.71rem; }

.section {
  width: var(--shell);
  margin-inline: auto;
  padding: 126px 0;
}

.section h2,
.process-section h2,
.comparison-section h2 { font-size: clamp(3rem, 5.3vw, 5.8rem); }

.section__heading {
  max-width: 800px;
  margin: 0 auto 54px;
  text-align: center;
}

.section__heading--left { margin-left: 0; text-align: left; }

.section__heading > p:last-child {
  max-width: 620px;
  margin: 22px auto 0;
  color: var(--muted);
}

.section__heading--left > p:last-child { margin-left: 0; }
.section-lead { color: var(--muted); font-size: 1.04rem; line-height: 1.75; }

.editorial-grid {
  padding-top: 142px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(54px, 8vw, 112px);
  align-items: center;
}

.editorial-grid__media { margin: 0; position: relative; }

.editorial-grid__media::before {
  content: "";
  position: absolute;
  top: -18px;
  right: -18px;
  width: 115px;
  height: 115px;
  border-radius: 50%;
  background: var(--lime);
  z-index: -1;
}

.editorial-grid__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.editorial-grid__media figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 0.67rem;
}

.editorial-grid__content h2 { font-size: clamp(3.1rem, 5vw, 5.4rem); }
.editorial-grid__content .section-lead { margin: 28px 0; }

.usecase-list {
  margin: 0 0 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.usecase-list span {
  padding: 9px 13px;
  border: 1px solid var(--line);
  border-radius: 99px;
  color: #4e5751;
  background: var(--sand);
  font-size: 0.76rem;
  font-weight: 720;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
  font-weight: 820;
  border-bottom: 1px solid var(--ink);
}

.process-section {
  padding: 120px 0;
  color: var(--white);
  background: var(--ink);
}

.process-section__inner { width: var(--shell); margin-inline: auto; }
.process-section .section__heading { max-width: 760px; }
.process-section .eyebrow { color: var(--lime); }
.process-section .section__heading > p:last-child { color: #b7bdb8; }

.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.step-card {
  min-height: 340px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius-md);
  background: #202522;
}

.step-card--accent { color: var(--ink); background: var(--lime); }

.step-card__number {
  margin-bottom: auto;
  color: #8f9992;
  font-size: 0.69rem;
  font-weight: 780;
  letter-spacing: 0.12em;
}

.step-card--accent .step-card__number { color: #52611f; }

.step-card__glyph {
  width: 52px;
  height: 52px;
  margin-bottom: 26px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 1.5rem;
}

.step-card--accent .step-card__glyph { border-color: rgba(23, 26, 24, 0.25); }

.step-card h3 {
  margin: 0 0 7px;
  font-family: Georgia, serif;
  font-size: 2.35rem;
  font-weight: 500;
}

.step-card p { margin: 0; color: #b7bdb8; font-size: 0.88rem; }
.step-card--accent p { color: #3f471f; }

.product-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.92fr);
  gap: clamp(58px, 8vw, 116px);
  align-items: center;
}

.product-showcase__media { position: relative; }

.product-showcase__media img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius-lg);
}

.concept-label {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 7px 11px;
  border-radius: 99px;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(23, 26, 24, 0.66);
  backdrop-filter: blur(8px);
  font-size: 0.64rem;
  font-weight: 720;
}

.product-showcase__content h2 { font-size: clamp(3.1rem, 5vw, 5.5rem); }
.product-showcase__content .section-lead { margin: 28px 0 24px; }

.feature-list { margin: 0; padding: 0; list-style: none; }

.feature-list li {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 13px;
  border-bottom: 1px solid var(--line);
}

.feature-list li > span { color: var(--orange); font-size: 0.67rem; font-weight: 820; letter-spacing: 0.08em; }
.feature-list li div { display: grid; gap: 3px; }
.feature-list strong { font-size: 0.9rem; }
.feature-list small { color: var(--muted); }

.surface-note {
  margin-top: 24px;
  padding: 14px 16px;
  border-left: 3px solid var(--orange);
  color: var(--muted);
  background: var(--sand);
  font-size: 0.75rem;
}

.comparison-section { padding: 120px 0; background: var(--sand); }
.comparison-section__inner { width: var(--shell); margin-inline: auto; }

.comparison-table {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow-x: auto;
  background: var(--white);
  box-shadow: var(--shadow-soft);
}

.comparison-table table { width: 100%; min-width: 700px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { padding: 21px 24px; border-bottom: 1px solid var(--line); text-align: left; }
.comparison-table thead th { color: #c7cec9; background: var(--ink); font-size: 0.7rem; letter-spacing: 0.07em; text-transform: uppercase; }
.comparison-table thead th span { color: var(--lime); }
.comparison-table tbody th { font-size: 0.86rem; font-weight: 760; }
.comparison-table tr:last-child th, .comparison-table tr:last-child td { border-bottom: 0; }
.comparison-table td:nth-child(2) { color: var(--success); font-weight: 780; background: #f4f8ed; }
.comparison-table td b { display: inline-grid; width: 21px; height: 21px; margin-right: 5px; place-items: center; border-radius: 50%; color: #fff; background: var(--success); font-size: 0.67rem; }

.buy-section {
  margin-top: 110px;
  margin-bottom: 110px;
  padding: clamp(52px, 6vw, 82px);
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(410px, 1.12fr);
  gap: clamp(50px, 7vw, 96px);
  border-radius: var(--radius-lg);
  color: var(--white);
  background: radial-gradient(circle at 5% 10%, rgba(217, 255, 114, 0.12), transparent 34%), var(--moss-deep);
  box-shadow: var(--shadow-strong);
}

.buy-section h2 { font-size: clamp(3rem, 4.8vw, 5rem); }
.buy-section .eyebrow { color: var(--lime); }
.buy-section__intro > p:not(.eyebrow) { color: #bdc7c0; }

.buy-section__facts {
  margin: 30px 0;
  display: grid;
  gap: 10px;
  color: #e4e9e5;
  font-size: 0.82rem;
}

.buy-section__facts b { margin-right: 7px; color: var(--lime); }
.buy-section__preview-link { color: var(--lime); font-size: 0.78rem; font-weight: 760; text-underline-offset: 4px; }

.buy-section__form {
  align-self: start;
  border-radius: var(--radius-md);
  color: var(--ink);
  background: var(--paper);
  overflow: hidden;
}

.buy-section__form-heading {
  padding: 17px 25px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: #f6f3eb;
  font-size: 0.78rem;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.buy-section__form-heading small { color: var(--muted); }

.bundle-selector,
.fallback-product,
.setup-notice { padding: 24px; color: var(--ink); background: var(--paper); }

.bundle-selector__options { display: grid; gap: 10px; }

.bundle-option {
  position: relative;
  min-height: 82px;
  padding: 15px 16px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: var(--white);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.bundle-option:hover { transform: translateY(-1px); border-color: #aeb5ad; }

.bundle-option:has(input:checked) {
  border-color: var(--moss);
  background: #f3f8e6;
  box-shadow: 0 0 0 1px var(--moss);
}

.bundle-option input { width: 19px; height: 19px; accent-color: var(--moss); }
.bundle-option__name { display: flex; flex-direction: column; font-weight: 820; }
.bundle-option__name small { color: var(--muted); font-weight: 500; }
.bundle-option__price { text-align: right; font-family: Georgia, serif; font-size: 1.28rem; }
.bundle-option__badge { position: absolute; right: 11px; top: -9px; padding: 4px 8px; border-radius: 99px; color: var(--ink); background: var(--lime); font-size: 0.58rem; font-weight: 850; letter-spacing: 0.05em; text-transform: uppercase; }
.bundle-selector .button { width: 100%; margin-top: 15px; background: var(--ink); color: var(--white); box-shadow: none; }
.bundle-selector .button:hover { background: #2a2e2b; }
.bundle-selector__fineprint { margin: 11px 0 0; color: var(--muted); text-align: center; font-size: 0.68rem; }

.confidence-section { padding-top: 30px; }
.confidence-section__heading { max-width: 760px; }
.confidence-section__heading h2 { font-size: clamp(3rem, 5vw, 5.4rem); }

.confidence-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.confidence-grid article {
  min-height: 230px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--sand);
}

.confidence-grid article > span { margin-bottom: auto; color: var(--orange); font-size: 0.68rem; font-weight: 820; letter-spacing: 0.1em; }
.confidence-grid h3 { margin: 28px 0 6px; font-family: Georgia, serif; font-size: 1.75rem; font-weight: 500; }
.confidence-grid p { margin: 0; color: var(--muted); font-size: 0.82rem; }

.faq-section { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: clamp(50px, 8vw, 110px); align-items: start; }
.faq-section .section__heading { position: sticky; top: 130px; margin-bottom: 0; }
.faq-section .section__heading h2 { font-size: clamp(3.1rem, 5vw, 5.3rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 24px 48px 24px 0; position: relative; cursor: pointer; list-style: none; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.3; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 7px; top: 18px; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); font-family: sans-serif; font-size: 1.15rem; }
.faq-list details[open] summary::after { content: "–"; background: var(--lime); }
.faq-list p { max-width: 680px; margin: -5px 0 24px; color: var(--muted); font-size: 0.9rem; }

.site-footer { padding: 76px 0 24px; color: #e8ece9; background: var(--ink); }
.site-footer__grid, .site-footer__bottom { width: var(--shell); margin-inline: auto; }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; }
.brand--footer { color: #fff; }
.brand--footer .brand__wordmark small { color: #a8b0aa; }
.site-footer p { max-width: 330px; color: #aeb8b1; }
.site-footer h2 { margin: 0 0 12px; color: #fff; font-size: 0.7rem; letter-spacing: 0.13em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin: 8px 0; }
.site-footer a, .text-button { color: #cdd5cf; border: 0; padding: 0; background: none; text-decoration: none; cursor: pointer; }
.site-footer a:hover, .text-button:hover { color: #fff; text-decoration: underline; }
.site-footer__bottom { margin-top: 62px; padding-top: 22px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line-dark); font-size: 0.74rem; }
.site-footer__bottom p { max-width: none; }

.sticky-buy {
  position: fixed;
  z-index: 900;
  left: 50%;
  bottom: 14px;
  width: min(640px, calc(100% - 24px));
  padding: 10px 10px 10px 18px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 99px;
  background: rgba(255, 253, 248, 0.94);
  box-shadow: var(--shadow-strong);
  backdrop-filter: blur(16px);
}

.sticky-buy[hidden] { display: none; }
.sticky-buy div { display: flex; flex-direction: column; line-height: 1.22; }
.sticky-buy span { color: var(--muted); font-size: 0.68rem; }
.sticky-buy strong { font-family: Georgia, serif; }
.sticky-buy .button { min-height: 44px; padding: 11px 18px; background: var(--ink); color: #fff; box-shadow: none; }

.content-shell, .store-shell { width: var(--shell); min-height: 60vh; margin: 70px auto 110px; }
.content-card { max-width: 850px; margin-inline: auto; }
.content-card--wide { max-width: none; }
.content-card h1 { margin-bottom: 36px; font-size: clamp(3rem, 5vw, 5.5rem); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { min-height: 50px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.woocommerce-checkout #payment { border-radius: var(--radius-sm); background: var(--sand); }

.checkout-preview-page { width: 100%; }
.checkout-preview { max-width: 1180px; margin-inline: auto; }
.checkout-preview__masthead { margin-bottom: 20px; display: flex; align-items: center; justify-content: space-between; }
.checkout-preview__logo { display: flex; align-items: baseline; gap: 8px; text-decoration: none; font-size: 1rem; font-weight: 900; letter-spacing: 0.13em; }
.checkout-preview__logo small { color: var(--muted); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; }
.checkout-preview__masthead > span { padding: 6px 9px; border-radius: 99px; color: #5e501f; background: #fff3bc; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }

.checkout-preview__notice {
  padding: 15px 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #e4cc74;
  border-radius: 14px;
  color: #564718;
  background: #fff8d9;
  font-size: 0.78rem;
}

.checkout-preview__notice-icon { width: 22px; height: 22px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #8d7627; font-family: Georgia, serif; font-weight: 700; }
.checkout-preview__notice div { display: grid; gap: 2px; }
.checkout-preview__notice span { color: #71602a; }

.checkout-preview__grid { margin-top: 22px; display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(330px, 0.82fr); gap: 20px; align-items: start; }
.checkout-preview__main, .checkout-preview__summary { border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 18px 55px rgba(23, 26, 24, 0.07); }
.checkout-preview__main { padding: clamp(28px, 4.5vw, 54px); overflow: hidden; }
.checkout-preview__progress { margin: -54px -54px 42px; padding: 17px 54px; display: flex; align-items: center; gap: 10px; color: #929a94; background: #f5f3ed; font-size: 0.65rem; font-weight: 760; }
.checkout-preview__progress span { white-space: nowrap; }
.checkout-preview__progress .is-current { color: var(--ink); }
.checkout-preview__progress i { width: 26px; height: 1px; background: #cfd2cc; }
.checkout-preview__eyebrow { margin: 0 0 9px; color: var(--orange); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.15em; text-transform: uppercase; }
.checkout-preview__main > h2 { font-size: clamp(2.8rem, 5vw, 4.7rem); }
.checkout-preview__intro { max-width: 520px; margin: 15px 0 34px; color: var(--muted); font-size: 0.86rem; }

.checkout-preview__section { padding: 28px 0; border-top: 1px solid var(--line); }
.checkout-preview__section-heading { margin-bottom: 18px; display: flex; align-items: flex-start; gap: 12px; }
.checkout-preview__section-heading > span { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: var(--ink); background: var(--lime); font-size: 0.64rem; font-weight: 850; }
.checkout-preview__section-heading div { display: grid; gap: 2px; }
.checkout-preview__section-heading h3 { margin: 0; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.checkout-preview__section-heading small { color: var(--muted); font-size: 0.68rem; }

.checkout-preview__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 13px; }
.checkout-preview__field { min-width: 0; display: grid; gap: 7px; color: var(--muted); font-size: 0.68rem; font-weight: 730; }
.checkout-preview__field--wide { grid-column: 1 / -1; }
.checkout-preview__field input { width: 100%; min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #d8dbd5; border-radius: 10px; color: var(--ink); background: #fff; }
.checkout-preview__field input::placeholder { color: #a9afa9; opacity: 1; }
.checkout-preview__field input:focus { outline: 2px solid rgba(226, 107, 57, 0.25); border-color: var(--orange); }
.checkout-preview__checkbox { margin: 0 0 18px; display: flex; align-items: flex-start; gap: 9px; color: var(--ink); font-size: 0.75rem; font-weight: 700; cursor: pointer; }
.checkout-preview__checkbox input { width: 17px; height: 17px; flex: 0 0 auto; margin: 0; accent-color: var(--orange); }
.checkout-preview__billing-fields[hidden] { display: none; }
.checkout-preview__form-message { margin: 18px 0 0; padding: 12px 14px; border-radius: 10px; color: #5e501f; background: #fff3bc; font-size: 0.72rem; }

.checkout-preview__hosted { border: 1px solid #bfc6c0; border-radius: 13px; background: #fbfcfa; overflow: hidden; }
.checkout-preview__hosted-top { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #d8ddd8; }
.checkout-preview__hosted-top strong { display: flex; align-items: center; gap: 8px; font-size: 0.78rem; }
.checkout-preview__hosted-top strong i { width: 24px; height: 16px; display: inline-block; border: 1.5px solid var(--moss); border-radius: 3px; box-shadow: inset 0 -5px 0 #dfe6df; }
.checkout-preview__hosted-top > span { padding: 4px 7px; border-radius: 99px; color: var(--success); background: #e7f2e8; font-size: 0.59rem; font-weight: 780; }
.checkout-preview__card-number { padding: 14px 16px; display: grid; gap: 6px; border-bottom: 1px solid #e4e7e3; color: #707873; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.86rem; letter-spacing: 0.05em; }
.checkout-preview__card-number small, .checkout-preview__card-line small { color: #969d97; font-family: Inter, sans-serif; font-size: 0.59rem; font-weight: 700; letter-spacing: 0; }
.checkout-preview__card-line { display: grid; grid-template-columns: 1fr 1fr; color: #737b75; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.77rem; }
.checkout-preview__card-line > span { padding: 12px 16px; display: grid; gap: 5px; }
.checkout-preview__card-line > span + span { border-left: 1px solid #e4e7e3; }
.checkout-preview__security { margin: 12px 0 0; display: flex; gap: 7px; color: var(--muted); font-size: 0.67rem; }
.checkout-preview__security span { color: var(--success); }

.checkout-preview__summary { position: sticky; top: 100px; padding: 26px; }
.checkout-preview__summary-head { margin-bottom: 21px; display: flex; align-items: center; justify-content: space-between; }
.checkout-preview__summary-head h3 { margin: 0; font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; }
.checkout-preview__summary-head a { color: var(--muted); font-size: 0.7rem; font-weight: 720; }
.checkout-preview__product { padding-bottom: 22px; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.checkout-preview__thumb { width: 72px; height: 72px; display: block; overflow: hidden; border-radius: 13px; background: var(--sand); }
.checkout-preview__thumb img { width: 100%; height: 100%; object-fit: cover; }
.checkout-preview__product div { min-width: 0; display: grid; gap: 4px; }
.checkout-preview__product strong { font-size: 0.75rem; line-height: 1.3; }
.checkout-preview__product small { color: var(--muted); font-size: 0.66rem; }
.checkout-preview__product > span:last-child { font-family: Georgia, serif; font-size: 0.94rem; }
.checkout-preview__costs { padding: 18px 0; display: grid; gap: 10px; border-bottom: 1px solid var(--line); }
.checkout-preview__costs p { margin: 0; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 0.72rem; }
.checkout-preview__costs strong { color: var(--ink); }
.checkout-preview__costs em { font-style: normal; }
.checkout-preview__total { padding: 21px 0; display: flex; align-items: center; justify-content: space-between; }
.checkout-preview__total > span { display: grid; font-size: 0.78rem; }
.checkout-preview__total > span::after { content: "USD"; color: var(--muted); font-size: 0.55rem; letter-spacing: 0.08em; }
.checkout-preview__total strong { font-family: Georgia, serif; font-size: 1.55rem; }
.checkout-preview__pay { width: 100%; min-height: 52px; color: #fff; background: var(--ink); box-shadow: none; font-size: 0.76rem; }
.checkout-preview__summary-note { margin: 14px 0 0; display: flex; gap: 7px; color: var(--muted); text-align: left; font-size: 0.65rem; }
.checkout-preview__summary-note span { color: var(--success); }

.consent-banner { position: fixed; z-index: 1200; right: 18px; bottom: 18px; width: min(440px, calc(100% - 36px)); padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-strong); }
.consent-banner h2 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; }
.consent-banner p { color: var(--muted); font-size: 0.82rem; }
.consent-banner__actions { display: flex; gap: 8px; }
.consent-banner .button { min-height: 42px; padding: 10px 16px; font-size: 0.78rem; }

.product-page { min-height: auto; margin-top: 72px; margin-bottom: 110px; }
.product-page__hero { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(390px, 0.96fr); gap: clamp(54px, 8vw, 110px); align-items: center; }
.product-page__media { position: relative; }
.product-page__media img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.product-page__details h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(3rem, 5.8vw, 6rem); font-weight: 500; letter-spacing: -0.055em; line-height: .96; }
.product-page__price { margin-top: 22px; font-family: Georgia, serif; font-size: 1.85rem; }
.product-page__description { max-width: 520px; margin: 20px 0; color: var(--muted); font-size: 1rem; }
.product-page__features { margin: 24px 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.product-page__features li { padding-left: 24px; position: relative; font-size: .84rem; font-weight: 720; }
.product-page__features li::before { content: "✓"; position: absolute; left: 0; color: var(--orange); font-weight: 900; }
.product-page__cart { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.product-page__cart label { display: grid; gap: 7px; color: var(--muted); font-size: .68rem; font-weight: 760; }
.product-page__cart input { width: 88px; min-height: 54px; padding: 12px; border: 1px solid var(--line); border-radius: 99px; background: #fff; text-align: center; }
.product-page__cart button { border: 0; background: var(--lime); }
.product-page__microcopy { margin: 16px 0 0; color: var(--muted); font-size: .72rem; }
.product-page__microcopy span { color: var(--success); font-size: .55rem; }
.product-page__details-row { margin-top: 70px; padding: 26px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-page__details-row > div { min-height: 100px; padding: 8px 25px; display: grid; grid-template-columns: 35px 1fr; gap: 4px 12px; border-right: 1px solid var(--line); }
.product-page__details-row > div:last-child { border-right: 0; }
.product-page__details-row span { grid-row: 1 / 3; color: var(--orange); font-size: .68rem; font-weight: 820; }
.product-page__details-row strong { font-family: Georgia, serif; font-size: 1.4rem; font-weight: 500; }
.product-page__details-row p { margin: 0; color: var(--muted); font-size: .75rem; }
.shop-page { min-height: auto; margin-top: 72px; margin-bottom: 110px; }
.shop-page__intro { max-width: 760px; margin-bottom: 52px; }
.shop-page__intro h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(3.1rem, 6vw, 6.2rem); font-weight: 500; letter-spacing: -.055em; line-height: .96; }
.shop-page__intro > p:last-child { max-width: 560px; margin: 24px 0 0; color: var(--muted); font-size: 1rem; }
.shop-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(48px, 8vw, 110px); align-items: center; }
.shop-card__media { position: relative; display: block; }
.shop-card__media img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.shop-card__details h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.8rem, 5vw, 5.1rem); font-weight: 500; letter-spacing: -.05em; line-height: .96; }
.shop-card__details h2 a { text-decoration: none; }
.shop-card__details > p:not(.eyebrow) { max-width: 460px; margin: 24px 0; color: var(--muted); font-size: 1rem; }
.shop-card__price { margin-bottom: 24px; font-family: Georgia, serif; font-size: 1.75rem; }

.js .reveal-on-scroll { opacity: 0; transform: translateY(24px); transition: opacity 650ms ease, transform 650ms ease; }
.js .reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1020px) {
  .site-header__inner { grid-template-columns: 1fr auto auto; gap: 10px; }
  .primary-nav { display: none; }
  .menu-toggle { width: 42px; height: 42px; margin-left: auto; padding: 0; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: var(--white); cursor: pointer; }
  .menu-toggle i { width: 16px; height: 1.5px; display: block; background: currentColor; transition: transform 160ms ease; }
  .site-header:has(.mobile-nav:not([hidden])) .menu-toggle i:first-of-type { transform: translateY(3.25px) rotate(45deg); }
  .site-header:has(.mobile-nav:not([hidden])) .menu-toggle i:last-of-type { transform: translateY(-3.25px) rotate(-45deg); }
  .mobile-nav { width: var(--shell); margin: 0 auto 12px; padding: 6px 18px; display: grid; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow-soft); }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav a { padding: 14px 0; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); text-decoration: none; font-size: .9rem; font-weight: 750; }
  .mobile-nav a:last-child { border-bottom: 0; }
  .mobile-nav a span { color: var(--orange); }
  .hero { background-image: linear-gradient(90deg, rgba(244, 239, 230, 0.99) 0%, rgba(244, 239, 230, 0.92) 48%, rgba(244, 239, 230, 0.18) 82%), var(--hero-image); background-position: center, 58% center; }
  .value-rail { grid-template-columns: 1fr 1fr; }
  .value-rail > div:nth-child(2) { border-right: 0; }
  .value-rail > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .editorial-grid, .product-showcase { grid-template-columns: 1fr 1fr; gap: 50px; }
  .buy-section { grid-template-columns: 1fr; }
  .checkout-preview__grid { grid-template-columns: 1fr; }
  .checkout-preview__summary { position: static; }
  .product-page__hero { grid-template-columns: 1fr 1fr; gap: 50px; }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 28px, 1240px); }
  body.admin-bar .site-header { top: 46px; }
  .announcement { min-height: 32px; gap: 7px; font-size: 0.58rem; letter-spacing: 0.04em; }
  .site-header__inner { min-height: 68px; }
  .brand__mark { width: 34px; height: 34px; }
  .brand__mark i { left: 7px; width: 21px; }
  .brand__wordmark { font-size: 0.86rem; }
  .brand__wordmark small { display: none; }
  .header-cart { min-height: 39px; padding-left: 13px; }
  .hero { min-height: 840px; background-image: linear-gradient(180deg, rgba(244, 239, 230, 0.99) 0%, rgba(244, 239, 230, 0.97) 48%, rgba(244, 239, 230, 0.52) 69%, rgba(244, 239, 230, 0.04) 100%), var(--hero-image); background-position: center, 66% center; }
  .hero__inner { align-items: flex-start; padding-top: 55px; }
  .hero h1 { font-size: clamp(3.75rem, 16vw, 5.7rem); }
  .hero__lead { margin: 20px 0 24px; }
  .hero__actions { display: grid; }
  .hero__actions .button { width: 100%; }
  .hero__offer { margin-top: 25px; }
  .visual-disclosure { right: 10px; bottom: 10px; }
  .value-rail { margin-top: -24px; }
  .value-rail > div { min-height: 105px; padding: 16px 13px; grid-template-columns: 32px 1fr; gap: 8px; }
  .value-rail__icon { width: 32px; height: 32px; font-size: 0.95rem; }
  .value-rail strong { font-size: 0.76rem; }
  .value-rail small { font-size: 0.61rem; }
  .section { padding: 92px 0; }
  .section h2, .process-section h2, .comparison-section h2 { font-size: clamp(2.75rem, 13vw, 4.4rem); }
  .section__heading { margin-bottom: 38px; text-align: left; }
  .section__heading > p:last-child { margin-left: 0; }
  .editorial-grid, .product-showcase { padding-top: 100px; grid-template-columns: 1fr; gap: 42px; }
  .product-page { margin-top: 42px; }
  .shop-page { margin-top: 42px; }
  .shop-page__intro { margin-bottom: 38px; }
  .shop-card { grid-template-columns: 1fr; gap: 36px; }
  .shop-card__details h2 { font-size: clamp(2.85rem, 13vw, 4.5rem); }
  .product-page__hero { grid-template-columns: 1fr; gap: 38px; }
  .product-page__details h1 { font-size: clamp(2.85rem, 13vw, 4.5rem); }
  .product-page__details-row { grid-template-columns: 1fr; gap: 0; }
  .product-page__details-row > div { min-height: 90px; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .product-page__details-row > div:last-child { border-bottom: 0; }
  .editorial-grid__media::before { top: -10px; right: -7px; width: 80px; height: 80px; }
  .editorial-grid__content h2, .product-showcase__content h2 { font-size: clamp(2.85rem, 13vw, 4.5rem); }
  .process-section { padding: 92px 0; }
  .steps-grid { grid-template-columns: 1fr; }
  .step-card { min-height: 260px; }
  .comparison-section { padding: 92px 0; }
  .buy-section { width: calc(100% - 20px); margin-top: 70px; margin-bottom: 70px; padding: 40px 18px 18px; gap: 36px; border-radius: 26px; }
  .bundle-option { grid-template-columns: auto 1fr; }
  .bundle-option__price { grid-column: 2; text-align: left; }
  .confidence-section { padding-top: 30px; }
  .confidence-grid { grid-template-columns: 1fr; }
  .confidence-grid article { min-height: 190px; }
  .faq-section { grid-template-columns: 1fr; gap: 38px; }
  .faq-section .section__heading { position: static; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 42px 24px; }
  .site-footer__grid > div:first-child { grid-column: 1 / -1; }
  .site-footer__bottom { flex-direction: column; gap: 0; }
  .sticky-buy { bottom: 8px; }
  .content-shell, .store-shell { margin-top: 42px; }
  .checkout-preview__masthead { margin-bottom: 14px; }
  .checkout-preview__grid { gap: 14px; }
  .checkout-preview__main { padding: 27px 18px; border-radius: 19px; }
  .checkout-preview__progress { margin: -27px -18px 30px; padding: 14px 18px; overflow-x: auto; }
  .checkout-preview__main > h2 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .checkout-preview__fields { grid-template-columns: 1fr; }
  .checkout-preview__field--wide { grid-column: auto; }
  .checkout-preview__summary { padding: 20px 17px; border-radius: 19px; }
  .checkout-preview__product { grid-template-columns: 64px minmax(0, 1fr) auto; }
  .checkout-preview__thumb { width: 64px; height: 64px; }
  .checkout-preview__notice { padding: 13px; }
}

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