:root {
  --ivory: #faf9f6;
  --paper: #fffefa;
  --ink: #16211d;
  --green: #1b3a2f;
  --green-soft: #e6ebe6;
  --muted: #5e6760;
  --line: #d6d2c8;
  --gold: #b58e4a;
  --serif: "Libre Baskerville", Georgia, serif;
  --sans: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shadow: 0 22px 56px rgba(22, 33, 29, 0.13);
}

[hidden] { display: none !important; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font: 18px/1.55 var(--sans); }
a { color: inherit; }
img, video { max-width: 100%; }
img { height: auto; }
.section-shell, .site-header { width: min(1200px, calc(100% - 48px)); margin: auto; }
.skip-link { position: absolute; z-index: 10; top: -80px; left: 16px; padding: 12px 16px; background: var(--ink); color: var(--ivory); }
.skip-link:focus { top: 16px; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

.site-header { display: flex; justify-content: space-between; align-items: center; min-height: 82px; }
.wordmark { color: var(--green); font: 700 1.18rem var(--serif); text-decoration: none; white-space: nowrap; }
.wordmark span { color: var(--muted); font: 600 0.88rem var(--sans); }
nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 18px; font-size: 0.94rem; }
nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.sign-in { color: var(--green); font-weight: 700; }
.nav-cta { min-height: 44px; padding: 0 13px; border: 1px solid var(--green); color: var(--green); font-weight: 700; }

.checkout-return { margin-top: 22px; padding: 16px 20px; border-left: 4px solid var(--gold); background: var(--paper); }
.checkout-return p { display: inline; margin: 0; }
.account-setup { display: grid; max-width: 440px; gap: 14px; margin-top: 20px; }
.account-setup h2, .account-setup p { margin: 0; }
.account-setup label { display: grid; gap: 5px; font-weight: 700; }
.account-setup input, .currency-picker select { min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font: inherit; }
.setup-links { display: grid; gap: 12px; margin: 0; padding: 14px; border: 1px solid var(--line); }
.setup-links legend { padding: 0 6px; font-weight: 700; }
.setup-links label { font-weight: 600; }
.setup-links .optional { color: var(--muted); font-size: .85em; font-weight: 400; }
.setup-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 8px !important; }
.setup-check input { min-height: 20px; }
.booking-step { display: grid; gap: 14px; max-width: 520px; margin-top: 20px; }
.booking-step h2, .booking-step p { margin: 0; }

.hero { display: grid; grid-template-columns: 1fr; gap: 34px; padding: 56px clamp(38px, 6vw, 76px) 44px; background: var(--green); color: var(--ivory); }
.hero-copy { max-width: 900px; margin-inline: auto; text-align: center; }
.eyebrow { margin: 0 0 14px; color: var(--gold); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -0.028em; }
h1 { font-size: clamp(2.5rem, 4.7vw, 4.2rem); line-height: 1.12; }
h2 { font-size: clamp(2rem, 3.4vw, 3.2rem); line-height: 1.18; }
.hero-lede { max-width: 590px; margin: 23px 0 28px; color: #eef1ec; font-size: 1.14rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 22px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border: 1px solid transparent; font: 700 1rem var(--sans); text-decoration: none; cursor: pointer; transition: transform 0.18s ease, background 0.18s ease; }
.button:hover:not(:disabled) { transform: translateY(-2px); }
.button:disabled { opacity: 0.55; cursor: not-allowed; }
.button-green { background: var(--green); color: var(--ivory); }
.button-ivory { background: var(--ivory); color: var(--green); }
.quiet-link, .text-link { display: inline-flex; align-items: center; min-height: 44px; color: inherit; font-weight: 700; }
.quiet-link { color: var(--ivory); }
.heritage-strip { margin-top: 18px; color: var(--muted); font-size: 0.9rem; }
.hero-product { margin: 0; padding: 10px; background: var(--ivory); box-shadow: var(--shadow); }
.hero-product img { display: block; width: 100%; height: auto; }
.hero-product figcaption { padding: 10px 2px 0; color: var(--muted); font-size: 0.9rem; }

.product-section, .how-it-works, .plans-section, .faq-section { padding: clamp(56px, 8vw, 94px) 0; }
.section-heading { max-width: 740px; }
.section-heading > p:last-child, .feature-copy > p:last-child, .service-note p { color: var(--muted); }
.feature-row { display: grid; grid-template-columns: minmax(240px, 0.76fr) minmax(0, 1.24fr); gap: clamp(28px, 6vw, 90px); align-items: center; margin-top: 64px; }
.feature-row-reverse { grid-template-columns: minmax(0, 1.24fr) minmax(240px, 0.76fr); }
.feature-row-reverse .feature-copy { order: 2; }
.feature-row-reverse .feature-image { order: 1; }
.feature-number { margin: 0 0 16px; color: var(--green); font-size: 0.86rem; font-weight: 700; letter-spacing: 0.06em; }
.feature-copy h3 { font-size: clamp(1.65rem, 2.8vw, 2.45rem); line-height: 1.23; }
.feature-copy > p:last-child { margin: 18px 0 0; }
.feature-image { margin: 0; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }
.feature-image img { display: block; width: 100%; height: auto; }
.calendar-feature .feature-image { justify-self: center; max-width: 360px; }

.how-it-works { border-top: 1px solid var(--line); }
.split-heading { display: grid; grid-template-columns: 1fr minmax(240px, 0.55fr); gap: 36px; align-items: end; max-width: none; }
.split-heading > p { margin: 0; color: var(--muted); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 38px 0 0; padding: 0; list-style: none; }
.steps li { overflow: hidden; border-top: 4px solid var(--gold); background: var(--paper); }
.steps img { display: block; width: 100%; height: auto; }
.steps span, .steps h3, .steps p { display: block; margin-inline: 22px; }
.steps span { margin-top: 22px; color: var(--green); font-size: 0.83rem; font-weight: 700; }
.steps h3 { margin-top: 8px; font-size: 1.6rem; }
.steps p { min-height: 5.1em; margin-top: 8px; margin-bottom: 24px; color: var(--muted); font-size: 0.96rem; }

.stories-section { padding: clamp(56px, 8vw, 94px) 0; background: var(--green-soft); }
.story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.story-card { margin: 0; background: var(--paper); }
.story-card video { display: block; width: 100%; background: var(--ink); aspect-ratio: 16 / 9; }
.story-card figcaption { padding: 22px; }
.story-card blockquote { margin: 0; font: 400 1.2rem/1.45 var(--serif); }
.story-card figcaption p { margin: 18px 0 0; color: var(--muted); font-size: 0.93rem; }
.story-card .story-feature { margin: 0 0 12px; color: var(--green); font-size: 0.84rem; line-height: 1.35; }
.story-card .story-feature strong { display: block; margin-bottom: 4px; color: #765516; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.story-card strong { color: var(--ink); }

.plans-section { border-top: 1px solid var(--line); }
.plan-form { margin-top: 40px; }
.choice-fieldset, .summary-billing fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.choice-fieldset legend, .summary-billing legend { margin-bottom: 14px; font-weight: 700; }
.plan-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.plan-choice { display: block; cursor: pointer; }
.plan-choice input, .cadence-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.plan-choice > span { display: grid; min-height: 244px; padding: 24px; border: 2px solid var(--line); background: var(--paper); }
.plan-choice input:checked + span { border-color: var(--green); background: var(--green-soft); box-shadow: inset 0 0 0 1px var(--green); }
.plan-choice input:focus-visible + span, .cadence-options input:focus-visible + span, .daily-option input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 3px; }
.plan-choice strong { font: 400 1.55rem var(--serif); }
.plan-choice small { display: block; margin-top: 9px; color: var(--muted); font-size: 0.96rem; }
.plan-choice b { align-self: end; margin-top: 22px; color: var(--green); font: 400 1.65rem/1.1 var(--serif); }
.plan-allowance { display: grid; gap: 5px; margin-top: 15px; color: var(--muted); font-size: 0.86rem; }
.plan-allowance > span { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 12px; padding-top: 5px; border-top: 1px solid var(--line); }
.plan-allowance strong { color: var(--ink); font-weight: 700; }.plan-allowance .is-unavailable { color: #8b8f89; opacity: .62; text-decoration: line-through; text-decoration-thickness: 1.5px; }.plan-allowance .is-unavailable strong { color: #8b8f89; }
.summary-card { margin-top: 26px; padding: clamp(22px, 4vw, 34px); border-top: 4px solid var(--gold); background: var(--paper); box-shadow: var(--shadow); }
.primary-offer { max-width: 700px; margin-inline: auto; }
.summary-top, .summary-main { display: flex; justify-content: space-between; gap: 24px; }
.summary-kicker, .summary-status { font-size: 0.9rem; font-weight: 700; }
.summary-kicker, .summary-status, .annual-note { color: var(--muted); }
.summary-main { align-items: end; margin: 18px 0 22px; }
.summary-card h3 { font-size: 2rem; }
.summary-description { max-width: 470px; margin: 5px 0 0; color: var(--muted); }
.price-line { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
.price-line span:first-child { font: 400 2.65rem/1 var(--serif); }
.summary-billing { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: end; padding: 20px 0; border-block: 1px solid var(--line); }
.cadence-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cadence-options label, .daily-option { cursor: pointer; }
.cadence-options span, .daily-option span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px; border: 1px solid var(--line); text-align: center; font-size: 0.95rem; }
.cadence-options input:checked + span, .daily-option input:checked + span { background: var(--green); border-color: var(--green); color: var(--ivory); font-weight: 700; }
.currency-picker { display: grid; gap: 4px; color: var(--muted); font-size: 0.9rem; }
.currency-picker > span:nth-child(2) { color: var(--green); font-weight: 700; }
.currency-picker select { max-width: 240px; }
.annual-note, .trial-note { margin: 13px 0; font-size: 0.95rem; }
.trial-note:empty { display: none; }
.summary-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.summary-list li { color: var(--muted); font-size: 0.95rem; }
.summary-list li::before { content: "✓"; margin-right: 7px; color: var(--green); font-weight: 700; }
.checkout-button { width: 100%; }
.checkout-message { min-height: 1.55em; margin: 12px 0 0; color: var(--muted); text-align: center; font-size: 0.95rem; }
.daily-details { margin-top: 18px; color: var(--muted); }
.daily-details summary, .faq-list summary, .site-footer a, .text-link { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; }
.daily-option { display: inline-block; margin-top: 10px; }
.daily-option input { position: absolute; opacity: 0; }
.demo-note { margin: 24px 0 0; color: var(--muted); text-align: center; }
.demo-note a { color: var(--green); font-weight: 700; }

.service-note { max-width: 780px; padding: 52px 0; border-top: 1px solid var(--line); }
.service-note h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.faq-section { border-top: 1px solid var(--line); }
.faq-list { display: grid; gap: 10px; margin-top: 32px; }
.faq-list details { padding: 17px 20px; border: 1px solid var(--line); background: var(--paper); }
.faq-list summary { font-weight: 700; }
.faq-list p { max-width: 780px; margin: 12px 0 2px; color: var(--muted); }
.section-cta { margin: 28px 0 0; }
.site-footer { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 20px; padding: 26px 0 36px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.9rem; text-align: center; }
.site-footer a { color: var(--green); }

@media (max-width: 780px) {
  .section-shell, .site-header { width: min(100% - 32px, 1200px); }
  .site-header { align-items: center; min-height: 68px; padding: 8px 0; }
  nav { flex-wrap: nowrap; gap: 12px; }
  nav a[href="#product"], nav a[href="#how-it-works"], nav a[href="#plans"]:not(.nav-cta), nav a[href="#questions"], nav a[href="#proof"] { display: none; }
  .nav-cta { min-height: 44px; border: 0; padding: 0; }
  .hero { grid-template-columns: 1fr; padding: 24px 16px 22px; }
  .hero-product { order: -1; padding: 7px; }
  h1 { font-size: clamp(2.35rem, 11vw, 3.35rem); }
  .feature-row, .feature-row-reverse, .split-heading { grid-template-columns: 1fr; gap: 24px; margin-top: 42px; }
  .feature-row-reverse .feature-copy, .feature-row-reverse .feature-image { order: initial; }
  .steps, .story-grid, .plan-choices { grid-template-columns: 1fr; }
  .steps p { min-height: 0; }
  .plan-choice > span { min-height: 0; }
  .plan-choice b { margin-top: 16px; }
  .summary-main, .summary-billing { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .currency-picker select { width: 100%; max-width: none; }
  .summary-list { grid-template-columns: 1fr; }
}

/* landing v3: social studio composition */
:root { --ivory:#f8f4eb; --paper:#fffdf7; --ink:#14241d; --green:#123d2e; --green-soft:#dce8d9; --muted:#52635a; --line:#d3d8c8; --gold:#d9a33f; --gold-soft:#f0d18d; }
body { font-size:18px; background:var(--ivory); }
.site-header { position:sticky; top:12px; z-index:5; min-height:64px; padding:0 18px; border:1px solid #123d2e22; border-radius:999px; background:#fffdf7e8; backdrop-filter:blur(16px); box-shadow:0 10px 30px #14241d14; }
.wordmark { font:900 1.18rem var(--sans); letter-spacing:-.04em; }.wordmark b { color:var(--gold); margin-right:7px; }.wordmark span { color:var(--ink); font:700 .88rem var(--sans); letter-spacing:0; }.nav-cta { border:0; border-radius:999px; background:var(--green); color:var(--ivory); padding:0 16px; }.scroll-progress { position:absolute; left:20px; bottom:-3px; width:0; height:3px; border-radius:3px; background:var(--gold); }
.hero { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,6vw,84px); align-items:center; min-height:650px; padding:90px clamp(28px,6vw,80px) 72px; border-radius:0 0 28px 28px; background:var(--green); overflow:hidden; }.hero-copy { max-width:570px; margin-inline:0; text-align:left; }.hero h1 { font:900 clamp(4.5rem,5.4vw,5rem)/1.04 var(--sans); letter-spacing:-.03em; }.hero h1 em,h2 em { color:var(--gold-soft); font-family:var(--serif); font-weight:400; }.hero-lede { color:#d7e4d6; }.hero-actions { justify-content:flex-start; }.button { border-radius:999px; }.button-gold { background:var(--gold); color:var(--ink); }.micro-proof { display:flex; align-items:center; gap:12px; margin-top:34px; color:#d7e4d6; font-size:.92rem; }.avatars { display:flex; flex-shrink:0; }.avatars i { display:grid; place-items:center; width:34px; height:34px; margin-left:-7px; border:2px solid var(--green); border-radius:50%; background:var(--gold); color:var(--ink); font-style:normal; font-weight:900; }.avatars i:first-child { margin-left:0; background:var(--green-soft); }.micro-proof .avatars img { flex:none; width:34px; height:34px; margin-left:-7px; border:2px solid var(--green); border-radius:50%; object-fit:cover; }.micro-proof .avatars img:first-child { margin-left:0; }
.hero-stage { position:relative; transform:rotate(2deg); animation:float 7s ease-in-out infinite; }.stage-note { margin-bottom:10px; color:var(--gold-soft); font-size:.72rem; font-weight:900; letter-spacing:.15em; }.stage-note span { float:right; letter-spacing:0; }.media-window { padding:9px; border-radius:22px; background:#f3eee3; box-shadow:24px 30px 0 #081f1725,0 26px 60px #0003; }.window-top { display:flex; gap:5px; align-items:center; padding:3px 8px 10px; color:var(--muted); font-size:.75rem; }.window-top span { width:8px; height:8px; border-radius:50%; background:var(--gold); }.window-top b { margin-left:10px; }.media-window img { display:block; width:100%; border-radius:13px; aspect-ratio:16/10; object-fit:cover; }.floating-note { position:absolute; display:grid; gap:1px; padding:13px 17px; border-radius:14px; background:var(--paper); color:var(--ink); box-shadow:0 14px 28px #0003; font-size:.82rem; }.floating-note b { color:var(--green); font-size:.7rem; text-transform:uppercase; }.note-one { left:-35px; bottom:32px; }.note-two { right:-24px; top:86px; }
.heritage-strip span { color:var(--green); font-weight:900; }.heritage-strip i { margin:0 8px; color:var(--green); }
.product-tabs { display:flex; gap:8px; margin-top:38px; }.product-tab { min-height:48px; padding:0 20px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--muted); font:700 1rem var(--sans); cursor:pointer; }.product-tab.is-active,.product-tab:hover { border-color:var(--green); background:var(--green); color:var(--ivory); }.product-panel { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(30px,7vw,100px); align-items:center; margin-top:26px; padding:clamp(24px,5vw,64px); border-radius:25px; background:var(--green-soft); }.product-panel figure { margin:0; padding:9px; border-radius:18px; background:var(--paper); box-shadow:var(--shadow); }.product-panel figure img { display:block; width:100%; border-radius:11px; aspect-ratio:16/10; object-fit:cover; }.product-panel blockquote { margin:26px 0 0; padding-left:16px; border-left:3px solid var(--gold); font:italic 1rem/1.5 var(--serif); }.product-panel cite { display:block; margin-top:10px; color:var(--muted); font:700 .8rem var(--sans); }.product-panel[hidden] { display:none; }
.proof-section { padding:clamp(60px,8vw,110px) 0; background:var(--green); color:var(--ivory); }.proof-section .eyebrow { color:var(--gold-soft); }.proof-section .section-heading > p:not(.eyebrow) { color:#d7e4d6; }.proof-section .story-card { color:var(--ink); }.story-card { border-radius:18px; overflow:hidden; box-shadow:0 18px 35px #0002; }.story-card:nth-child(2),.story-card:nth-child(4) { transform:none; }.story-media { position:relative; background:var(--ink); }.story-card video { aspect-ratio:16/9; cursor:pointer; }.video-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); min-height:48px; padding:0 18px; border:0; border-radius:999px; background:var(--gold); color:var(--ink); font:700 .85rem var(--sans); cursor:pointer; box-shadow:0 8px 20px #0004; }.video-play:focus-visible { outline:3px solid var(--ivory); outline-offset:4px; }.video-play:disabled { cursor:wait; opacity:.75; }.story-media.is-playing .video-play { display:none; }.trust-wall { padding:80px 0 35px; }.trust-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:14px; margin-top:20px; }.trust-grid span { display:grid; grid-template-columns:auto 1fr; gap:3px 10px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:15px; background:var(--paper); }.trust-grid img { grid-row:span 2; width:44px; height:44px; border-radius:50%; object-fit:cover; }.trust-grid b { font:italic 1rem/1.5 var(--serif); }.trust-grid small { color:var(--muted); font-size:.8rem; }.founder { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,8vw,110px); align-items:center; padding:80px 0 110px; }.founder-photo { position:relative; }.founder-photo img { display:block; width:min(100%,460px); border-radius:24px; filter:saturate(.85); }.founder-photo span { position:absolute; right:4%; bottom:5%; padding:10px 14px; border-radius:999px; background:var(--gold); font-weight:900; }.founder-copy>p:not(.eyebrow):not(.founder-signoff) { max-width:520px; color:var(--muted); }.founder-signoff { color:var(--green); font-weight:900; }.motion-toggle { position:fixed; right:18px; bottom:18px; z-index:4; min-height:44px; padding:0 14px; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:var(--green); font:700 .78rem var(--sans); cursor:pointer; }@keyframes float { 50% { transform:rotate(2deg) translateY(-7px); } }@keyframes rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }.reveal { animation:rise .75s cubic-bezier(.2,.8,.2,1) both; }.hero-stage.reveal { animation:float 7s ease-in-out infinite; }.motion-paused .reveal { animation:none !important; opacity:1; }.motion-paused * { animation-play-state:paused !important; }
section:not(.proof-section):not(.hero) .eyebrow { color:#765516; }.hero .eyebrow { color:var(--gold-soft); }.founder h2 em { color:#765516; }
@media (max-width:780px) { .site-header { width:calc(100% - 24px); top:8px; padding:0 12px; gap:8px; }.site-header nav { gap:8px; flex-shrink:0; }.site-header nav a { white-space:nowrap; }.site-header nav a:not(.sign-in):not(.nav-cta) { display:none; }.site-header .nav-cta { padding-inline:12px; font-size:.82rem; }.wordmark span { font-size:.76rem; }.hero { grid-template-columns:1fr; min-height:auto; padding:64px 20px 48px; }.hero-copy { order:0; }.hero-stage { order:1; min-width:0; transform:none; }.note-one { left:-8px; }.note-two { right:-8px; }.hero h1 { font-size:48px; line-height:1.02; letter-spacing:-.02em; }.hero-actions { flex-wrap:wrap; }.hero-actions .button { width:100%; }.split-heading { grid-template-columns:1fr; gap:14px; }.product-panel,.founder { grid-template-columns:1fr; }.product-panel figure { order:-1; }.trust-grid { grid-template-columns:1fr; }.story-card:nth-child(2),.story-card:nth-child(4) { transform:none; } }
@media (min-width:481px) and (max-width:780px) { .trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } .hero-stage, .reveal { animation:none !important; transform:none !important; opacity:1; } }
/* pricing layout */
.plans-section .plan-form { display:flex; flex-direction:column; gap:22px; }
.plans-section .summary-billing { order:-1; margin:0 0 8px; padding:16px 0; border-block:1px solid var(--line); }
.plans-section .summary-card { width:min(100%,560px); margin-top:0; padding:12px 0 0; border:0; background:transparent; box-shadow:none; }
.plans-section .summary-card .checkout-button { margin-top:0; }
.plans-section .choice-fieldset > legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.plans-section #currency-label { display:none; }
.plans-section .annual-note,.plans-section .trial-note,.plans-section .checkout-message { font-size:16px; line-height:1.5; }

.plans-section .annual-note { white-space:pre-line; }

/* Keep the invitation, trial allowance and action together. */
.plans-section .summary-card { text-align:center; }
.plans-section .trial-invitation { margin:0 0 8px; font-family:var(--sans); font-size:24px; line-height:1.3; }
.plans-section .trial-note { margin:0 0 12px; }
.plans-section .annual-note { margin:12px 0 0; }
.plans-section .checkout-message { margin:8px 0 0; }

/* Product features keep each capability beside the testimonial that grounds it. */
.product-section .feature-row { margin-top: 26px; padding: clamp(24px, 5vw, 64px); border-radius: 25px; background: var(--green-soft); }
.product-section .feature-row + .feature-row { margin-top: 24px; padding-top: clamp(24px, 5vw, 64px); border-top: 0; }
.product-section .feature-copy blockquote { margin: 26px 0 0; padding-left: 16px; border-left: 3px solid var(--gold); font: italic 1rem/1.5 var(--serif); }
.product-section .feature-copy cite { display: block; margin-top: 10px; color: var(--muted); font: 700 .8rem var(--sans); }
