:root {
  --warm-ivory: #EBDDD2;
  --classic-berry: #BB4143;
  --chocolate-brown: #3A1B14;
  --cookie-latte: #C39B78;
  --milk-cookie-latte: #D9BFAA;
  --caramel-brown: #844B2A;
  --cacao: var(--caramel-brown);
  --cacao-2: var(--cookie-latte);
  --cream: var(--warm-ivory);
  --ivory: #F8F1EB;
  --rose: var(--classic-berry);
  --rose-deep: var(--caramel-brown);
  --rose-soft: #F2C5C1;
  --gold: var(--caramel-brown);
  --ink: var(--chocolate-brown);
  --muted: #765648;
  --line: rgba(58,27,20,.16);
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--warm-ivory); font-family: var(--sans); line-height: 1.9; letter-spacing: .035em; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; }
.skip-link { position: fixed; top: -100px; left: 10px; z-index: 999; padding: 8px 12px; background: var(--ivory); }
.skip-link:focus { top: 10px; }
.site-header { height: 64px; padding: 0 clamp(18px,5vw,72px); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 50; background: rgba(235,221,210,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.brand { text-decoration: none; font-family: Georgia, serif; font-size: 24px; letter-spacing: .12em; }
.header-cta { border:0; text-decoration:none; color:#fff; background:var(--rose); padding:8px 15px; border-radius:999px; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.hero { min-height: calc(100vh - 64px); display: grid; grid-template-columns: 58% 42%; background: var(--cream); }
.hero-photo { background: linear-gradient(90deg, transparent 72%, var(--cream)), url('./assets/combo-hero.jpg') center/cover no-repeat; min-height: 700px; }
.hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,6vw,90px) clamp(28px,6vw,92px) clamp(36px,5vw,70px) clamp(20px,3vw,48px); text-align: center; position: relative; }
.hero-copy::before { content:""; position:absolute; inset:24px; border:1px solid rgba(132,75,42,.42); pointer-events:none; }
.limited { display:inline-block; align-self:center; margin: 0 0 20px; padding: 5px 22px; color:#fff; background:var(--rose); font-weight:700; letter-spacing:.14em; }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(35px,4vw,66px); line-height: 1.32; font-weight: 500; }
.hero-pop { margin: 22px 0 8px; color: var(--rose-deep); font-weight: 800; font-size: clamp(19px,2vw,29px); }
.hero h2 { margin: 8px 0; font-family: var(--serif); font-size: clamp(25px,3vw,45px); line-height:1.35; }
.hero h2 span { color: var(--gold); font-size:.7em; }
.hero-en { margin: 8px 0 18px; font-family: Georgia, serif; color: var(--muted); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.hero-price { position:relative; z-index:1; width:min(100%,430px); margin:2px auto 12px; padding:18px 22px; border:1px solid rgba(132,75,42,.28); background:rgba(248,241,235,.78); box-shadow:0 14px 35px rgba(58,27,20,.08); }
.hero-price p { margin:0 0 7px; color:var(--rose-deep); font-family:var(--serif); font-weight:700; line-height:1.65; }
.hero-price del { display:block; color:var(--muted); font-size:13px; }
.hero-price strong { display:block; color:var(--rose-deep); font-family:Georgia,serif; font-size:clamp(45px,5vw,68px); line-height:1.05; letter-spacing:.01em; }
.hero-price strong small { font-family:var(--serif); font-size:.38em; }
.hero-price span { display:block; margin-top:7px; font-size:11px; font-weight:800; letter-spacing:.04em; }
.hero-date { margin: 12px auto 20px; font-size:14px; }.hero-date strong { display:block; color:var(--rose-deep); font-family:var(--serif); font-size:25px; }
.button { display:inline-flex; align-items:center; justify-content:center; align-self:center; min-height:58px; padding: 12px 30px; border:0; border-radius:999px; text-decoration:none; color:#fff; background:var(--rose); font:inherit; font-weight:800; cursor:pointer; box-shadow:0 12px 24px rgba(132,75,42,.20); transition:.2s; }
.button:hover { transform:translateY(-2px); filter:brightness(1.04); }
.button-light { color:var(--rose-deep); background:var(--ivory); }
.section { padding: clamp(78px,10vw,150px) clamp(22px,7vw,110px); }
.section-dark { color:var(--ink); background:var(--milk-cookie-latte); }
.section-cacao { color:var(--ink); background:var(--milk-cookie-latte); }
.section-cream { background:var(--cream); }
.section-rose { color:var(--ink); background:var(--milk-cookie-latte); }
.section-rose .kicker.light { color:var(--caramel-brown); }
.section-rose .button-light { color:#fff; background:var(--classic-berry); }
.proof { padding: 78px clamp(22px,8vw,120px); display:grid; grid-template-columns: 300px 1fr; gap: clamp(35px,7vw,110px); align-items:center; }
.proof-number { display:grid; grid-template-columns:1fr auto; align-items:end; line-height:1; border-right:1px solid rgba(58,27,20,.25); padding-right:55px; }
.proof-number span { grid-column:1/3; margin-bottom:7px; font-size:14px; }.proof-number strong { font-family:Georgia,serif; font-size:110px; }.proof-number em { font-style:normal; font-weight:700; padding-bottom:15px; }
.proof h2,.section-title h2,.encounter h2,.for-you h2,.feature-section h2,.spread-section h2,.license h2,.support h2,.story-section h2,.entry h2 { font-family:var(--serif); font-weight:500; line-height:1.55; }
.proof h2 { font-size:clamp(28px,4vw,49px); margin:7px 0 20px; }
.kicker { margin:0 0 12px; color:var(--rose-deep); font-family:Georgia,serif; font-size:12px; font-weight:700; letter-spacing:.22em; }.kicker.light { color:var(--caramel-brown); }
.section-title { margin-bottom:48px; }.section-title h2 { margin:0; font-size:clamp(30px,4vw,54px); }.centered { text-align:center; }
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1180px; margin:auto; }
.reason-grid article { padding:35px 28px; border:1px solid var(--line); background:var(--ivory); box-shadow:0 18px 45px rgba(58,27,20,.08); }.reason-grid span { color:var(--gold); font-family:Georgia,serif; font-size:30px; }.reason-grid h3 { font-family:var(--serif); font-size:23px; }.wide-photo { height:min(52vw,650px); margin:55px auto 0; max-width:1180px; overflow:hidden; }
.encounter { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; background:linear-gradient(90deg,var(--warm-ivory) 0 62%,var(--milk-cookie-latte) 62%); }
.encounter h2 { font-size:clamp(30px,4vw,54px); }.large-copy { font-family:var(--serif); font-size:clamp(22px,3vw,36px); line-height:1.6; }.large-copy strong { color:var(--rose-deep); }.original { display:inline-block; margin-top:20px; padding:18px 24px; border:1px solid var(--rose); color:var(--rose-deep); font-weight:800; }
.photo-stack { position:relative; min-height:640px; }.photo-stack img { position:absolute; box-shadow:0 25px 55px rgba(58,27,20,.18); }.photo-a { width:85%; height:72%; right:0; top:0; }.photo-b { width:55%; height:48%; left:0; bottom:0; border:10px solid var(--ivory); }
.offer,.license,.entry { padding:clamp(80px,10vw,140px) 22px; text-align:center; }.offer h2,.license h2,.entry h2 { margin:8px auto 30px; max-width:900px; font-size:clamp(30px,4.5vw,58px); }.offer-pair { display:flex; justify-content:center; align-items:center; gap:30px; max-width:820px; margin:35px auto; }.offer-pair div { min-width:250px; padding:20px; border:1px solid rgba(58,27,20,.30); background:rgba(248,241,235,.24); }.offer-pair span { color:var(--caramel-brown); font-size:40px; }.offer-date { color:var(--ink); font-family:var(--serif); font-size:24px; font-weight:700; }
.price-section { padding:clamp(80px,10vw,140px) clamp(20px,6vw,90px); background:linear-gradient(180deg,var(--ivory) 0%,var(--warm-ivory) 100%); text-align:center; }
.price-heading { max-width:850px; margin:0 auto 42px; }
.price-heading h2 { margin:8px 0 20px; font-family:var(--serif); font-size:clamp(32px,4.5vw,58px); font-weight:500; line-height:1.55; }
.regular-price-box { max-width:900px; margin:0 auto 32px; padding:clamp(25px,4vw,42px); border:1px solid var(--line); background:rgba(248,241,235,.82); box-shadow:0 18px 45px rgba(58,27,20,.07); }
.regular-price-title { margin:0 0 24px; color:var(--muted); font-weight:700; }
.regular-price-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; }
.regular-price-grid div { display:grid; gap:4px; }
.regular-price-grid span { color:var(--rose-deep); font-family:var(--serif); font-size:20px; font-weight:700; }
.regular-price-grid strong { font-size:18px; }
.regular-price-grid small { color:var(--muted); font-size:14px; }
.regular-price-grid b { color:var(--gold); font-family:var(--serif); font-size:34px; font-weight:500; }
.regular-total { margin:24px 0 0; padding-top:21px; border-top:1px solid var(--line); }
.regular-total strong { color:var(--rose-deep); font-family:Georgia,serif; font-size:23px; }
.live-special-card { position:relative; max-width:760px; margin:0 auto 34px; padding:clamp(36px,6vw,68px) clamp(22px,6vw,70px); overflow:hidden; color:var(--ink); background:var(--milk-cookie-latte); border-top:6px solid var(--classic-berry); box-shadow:0 28px 70px rgba(58,27,20,.20); }
.live-special-card::before,.live-special-card::after { content:"✦"; position:absolute; color:rgba(58,27,20,.12); font-size:80px; line-height:1; }
.live-special-card::before { top:18px; left:24px; }.live-special-card::after { right:24px; bottom:18px; }
.live-only { position:relative; z-index:1; display:inline-block; margin:0 0 20px; padding:7px 20px; border:1px solid rgba(58,27,20,.30); color:#fff; background:var(--classic-berry); font-weight:800; letter-spacing:.06em; }
.live-special-copy { position:relative; z-index:1; margin:0 0 14px; font-family:var(--serif); font-size:clamp(20px,3vw,28px); }
.live-price-before { position:relative; z-index:1; margin:0; text-decoration:line-through; text-decoration-thickness:1px; opacity:.88; }
.live-price-main { position:relative; z-index:1; margin:5px 0 12px; line-height:1; }
.live-price-main strong { font-family:Georgia,serif; font-size:clamp(70px,10vw,118px); font-weight:500; letter-spacing:-.02em; }
.live-price-main span { font-family:var(--serif); font-size:clamp(24px,4vw,40px); }
.live-deadline { position:relative; z-index:1; margin:0 auto 14px; font-size:clamp(15px,2vw,19px); font-weight:800; }
.live-deadline span { display:inline-block; margin-right:7px; padding:2px 9px; color:var(--ink); background:var(--ivory); font-size:12px; }
.live-note { position:relative; z-index:1; max-width:580px; margin:0 auto 24px; font-size:13px; }
.live-special-card .button { position:relative; z-index:1; color:#fff; background:var(--classic-berry); }
.price-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1000px; margin:0 auto; text-align:left; }
.price-steps article { position:relative; padding:28px 24px; border:1px solid var(--line); background:rgba(248,241,235,.82); }
.price-steps article + article::before { content:"→"; position:absolute; top:50%; left:-15px; z-index:1; width:28px; height:28px; display:grid; place-items:center; transform:translateY(-50%); border-radius:50%; color:var(--ink); background:var(--warm-ivory); font-weight:800; }
.price-steps article.is-current { border-color:rgba(225,99,103,.70); box-shadow:inset 0 4px 0 var(--rose); background:var(--ivory); }
.price-steps span { color:var(--rose-deep); font-size:11px; font-weight:800; letter-spacing:.05em; }
.price-steps h3 { margin:7px 0 10px; font-family:var(--serif); font-size:19px; }
.price-steps strong { display:block; color:var(--rose-deep); font-family:Georgia,serif; font-size:33px; line-height:1.2; }
.price-steps p { margin:8px 0 0; color:var(--muted); font-size:12px; }
.price-footnote { margin:22px 0 0; color:var(--muted); font-size:11px; }
.for-you { display:grid; grid-template-columns:48% 52%; padding:0; }.for-you-photo { min-height:850px; }.for-you-copy { padding:clamp(60px,8vw,120px); align-self:center; }.for-you h2 { font-size:clamp(30px,4vw,52px); }.check-list { list-style:none; margin:34px 0; padding:0; }.check-list li { position:relative; padding:14px 0 14px 34px; border-bottom:1px solid var(--line); }.check-list li::before { content:'✓'; position:absolute; left:4px; color:var(--rose); font-weight:800; }.hand-copy { color:var(--rose-deep); font-family:var(--serif); font-size:24px; font-weight:700; }
.feature-split { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; max-width:1180px; margin:auto; }.feature-split.reverse img { order:2; }.feature-split img { min-height:560px; max-height:680px; }.feature-split h2 { font-size:clamp(30px,4vw,52px); margin:8px 0 20px; }.feature-em { color:var(--rose-deep); font-family:var(--serif); font-size:27px; font-weight:700; }.small-note { font-size:12px; opacity:.8; }
.cookie-section { display:grid; grid-template-columns: 42% 58%; gap:7vw; align-items:center; }.cookie-copy h2 { font-family:var(--serif); font-size:clamp(30px,4vw,52px); }.cookie-gallery { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.cookie-gallery img:first-child { height:620px; }.cookie-gallery img:last-child { height:460px; margin-top:90px; }
.format-section { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.format-section .section-title { grid-column:1/3; }.format-card { padding:45px; background:var(--cream); border-top:4px solid var(--rose); }.format-card span { font-family:Georgia,serif; color:var(--rose); letter-spacing:.18em; }.format-card h3 { font-family:var(--serif); font-size:28px; }
.voices { padding:clamp(80px,10vw,140px) 0; overflow:hidden; }.voices .section-title { padding:0 clamp(20px,5vw,75px); }.voices .section-title h2 { font-size:clamp(30px,4vw,55px); }.voice-slider { width:100%; margin:50px auto 0; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x; cursor:grab; }.voice-slider::-webkit-scrollbar { display:none; }.voice-slider:active { cursor:grabbing; }.voice-track { width:max-content; display:flex; align-items:center; gap:18px; padding:10px clamp(20px,5vw,75px) 28px; }.voice-track img { flex:0 0 auto; width:min(76vw,430px); height:auto; max-height:560px; object-fit:contain; object-position:center; background:var(--ivory); border-radius:4px; box-shadow:0 16px 34px rgba(58,27,20,.18); }.voice-hint { margin:20px 20px 0; text-align:center; font-size:13px; opacity:.88; }
.spread-section { display:grid; grid-template-columns:1.25fr .75fr; gap:8vw; align-items:center; }.spread-copy h2 { font-size:clamp(31px,4vw,54px); }.spread-stat { min-height:420px; padding:45px; display:flex; flex-direction:column; justify-content:center; text-align:center; color:var(--ink); background:var(--milk-cookie-latte); border:1px solid rgba(58,27,20,.18); }.spread-stat strong { color:var(--caramel-brown); font-family:Georgia,serif; font-size:90px; line-height:1; }.spread-stat span { margin:16px 0 40px; }.spread-stat b { padding-top:25px; border-top:1px solid rgba(58,27,20,.23); letter-spacing:.14em; }
.license { background:var(--milk-cookie-latte); }.license > p { max-width:850px; margin:18px auto; }.license-note { padding:25px; border:1px solid rgba(58,27,20,.30); background:rgba(248,241,235,.24); }
.faq-list { max-width:900px; margin:auto; }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { padding:23px 45px 23px 0; cursor:pointer; font-weight:700; position:relative; }.faq-list summary::after { content:'＋'; position:absolute; right:8px; color:var(--rose); }.faq-list details[open] summary::after { content:'−'; }.faq-list p { margin:0; padding:0 35px 28px; color:var(--muted); }
.support { padding:clamp(75px,9vw,125px) clamp(22px,8vw,120px); display:grid; grid-template-columns:1fr 1fr; gap:40px 8vw; align-items:center; }.support h2 { font-size:clamp(30px,4vw,52px); }.support-bubble { padding:35px; color:var(--ink); background:var(--cream); border-radius:28px 28px 28px 0; }.support-bubble p { margin:8px 0; }.support > p { grid-column:1/3; text-align:center; opacity:.86; }
.story-section { display:grid; grid-template-columns:minmax(250px,340px) minmax(0,720px); justify-content:center; gap:clamp(45px,7vw,95px); padding:clamp(80px,10vw,140px) clamp(22px,7vw,110px); background:var(--cream); }.story-photo { width:100%; max-width:340px; aspect-ratio:1; align-self:start; justify-self:end; overflow:hidden; border:10px solid rgba(248,241,235,.78); box-shadow:0 22px 55px rgba(58,27,20,.14); }.story-photo img { height:100%; object-position:center 24%; }.story-copy { padding:0; }.story-copy h2 { font-size:clamp(32px,4vw,54px); }.story-copy strong { color:var(--rose-deep); }.signature { margin-top:45px; padding-top:25px; border-top:1px solid var(--line); }.signature strong { font-family:var(--serif); font-size:25px; }
.entry p { max-width:760px; margin:18px auto; }.line-note { font-size:13px; }.entry .button { margin-top:15px; }
.entry-price { width:min(100%,560px); margin:32px auto 18px; padding:25px 20px; border:1px solid rgba(58,27,20,.30); background:rgba(248,241,235,.24); }
.entry-price span,.entry-price del,.entry-price strong,.entry-price small { display:block; }
.entry-price span { margin-bottom:8px; font-weight:800; }
.entry-price del { opacity:.82; font-size:13px; }
.entry-price strong { margin:3px 0; font-family:Georgia,serif; font-size:clamp(53px,8vw,78px); line-height:1.15; }
.entry-price small { font-weight:800; }
.lesson-calendar { width:min(94vw,580px); max-height:min(95vh,880px); padding:0; overflow:auto; border:0; border-radius:28px; color:var(--ink); background:var(--ivory); box-shadow:0 30px 90px rgba(58,27,20,.32); }
.lesson-calendar::backdrop { background:rgba(58,27,20,.55); backdrop-filter:blur(5px); }
.calendar-panel { position:relative; padding:clamp(26px,5vw,48px); }
.calendar-close { position:absolute; top:16px; right:16px; display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--ivory); font-size:24px; line-height:1; cursor:pointer; }
.calendar-panel h2 { margin:4px 0 12px; font-family:var(--serif); font-size:clamp(28px,5vw,38px); font-weight:500; line-height:1.45; }
.calendar-lead { margin:0 0 14px; font-size:13px; line-height:1.75; }
.calendar-steps { display:grid; gap:6px; margin:0 0 22px; padding:14px 16px; border-radius:14px; background:var(--cream); list-style:none; }
.calendar-steps li { display:flex; align-items:center; gap:10px; font-size:12px; line-height:1.5; }
.calendar-steps span { display:grid; flex:0 0 25px; width:25px; height:25px; place-items:center; border-radius:50%; color:#fff; background:var(--rose); font-family:Georgia,serif; font-size:11px; }
.calendar-month { margin:0 0 12px; color:var(--ink); font-family:var(--serif); font-size:20px; text-align:center; }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.calendar-weekdays { margin-bottom:6px; color:var(--muted); font-size:11px; text-align:center; }
.calendar-weekdays span:first-child { color:var(--rose-deep); }
.calendar-days button,.calendar-blank { width:min(40px,100%); aspect-ratio:1; justify-self:center; }
.calendar-days button { display:grid; place-items:center; border:1px solid transparent; border-radius:50%; color:var(--ink); background:var(--cream); font:inherit; font-size:13px; cursor:pointer; }
.calendar-days button:nth-child(7n + 1) { color:var(--rose-deep); }
.calendar-days button:disabled { color:rgba(58,27,20,.28); background:transparent; cursor:default; }
.calendar-days button.is-available { border-color:rgba(225,99,103,.55); color:var(--ink); background:var(--rose-soft); font-weight:800; }
.calendar-days button.is-selected { color:#fff; background:var(--rose); box-shadow:0 8px 20px rgba(132,75,42,.28); }
.calendar-consult { width:100%; margin:18px 0 0; padding:13px 16px; border:1px solid var(--rose); border-radius:14px; color:var(--ink); background:var(--ivory); font:inherit; font-weight:700; cursor:pointer; }
.calendar-consult.is-selected { color:#fff; background:var(--rose); }
.calendar-selection { margin:16px 0 12px; padding:12px 16px; border-radius:14px; background:var(--warm-ivory); text-align:center; }
.calendar-selection span { display:block; font-size:11px; }
.calendar-selection strong { display:block; color:var(--rose-deep); font-family:var(--serif); font-size:16px; font-weight:600; }
.calendar-message { margin:0 0 12px; padding:13px 16px; border:1px dashed rgba(132,75,42,.45); border-radius:14px; background:var(--ivory); }
.calendar-message[hidden] { display:none; }
.calendar-message span { display:block; margin-bottom:5px; color:var(--rose-deep); font-size:11px; font-weight:800; }
.calendar-message p { margin:0; white-space:pre-line; font-size:12px; line-height:1.7; letter-spacing:.02em; cursor:text; user-select:text; }
.calendar-actions { display:grid; gap:10px; }
.calendar-copy,.calendar-line { width:100%; min-width:100%; }
.calendar-copy:disabled { opacity:.42; box-shadow:none; cursor:default; transform:none; }
.calendar-copy.is-copied { background:var(--caramel-brown); color:var(--ivory); }
.calendar-line { border:1px solid var(--rose); color:var(--ink); background:var(--ivory); }
.calendar-line.is-disabled { opacity:.42; pointer-events:none; }
.calendar-note { margin:12px 0 0; font-size:11px; line-height:1.65; text-align:center; }
footer { padding:52px 22px; color:var(--ink); text-align:center; background:var(--milk-cookie-latte); border-top:5px solid var(--classic-berry); font-size:11px; }.footer-brand { margin:0; font-family:Georgia,serif; font-size:26px; letter-spacing:.15em; }
@media (max-width: 900px) {
  .hero { grid-template-columns:1fr; }.hero-photo { min-height:58vh; background-image:linear-gradient(180deg,transparent 70%,var(--cream)),url('./assets/combo-hero.jpg'); }.hero-copy { margin-top:-20px; padding:35px 22px 70px; }.hero-copy::before { inset:14px; }
  .proof,.encounter,.for-you,.cookie-section,.spread-section,.story-section { grid-template-columns:1fr; }.proof-number { border-right:0; border-bottom:1px solid rgba(58,27,20,.25); padding:0 0 30px; max-width:300px; }.for-you-photo { min-height:500px; }.for-you-copy { padding:70px 24px; }.story-photo { width:min(100%,320px); justify-self:center; }.story-copy { padding:0; }
  .reason-grid { grid-template-columns:1fr; }.feature-split,.feature-split.reverse { grid-template-columns:1fr; }.feature-split.reverse img { order:0; }.feature-split img { min-height:380px; }.cookie-gallery img:first-child,.cookie-gallery img:last-child { height:390px; margin:0; }
  .support { grid-template-columns:1fr; }.support > p { grid-column:1; }.format-section { grid-template-columns:1fr; }.format-section .section-title { grid-column:1; }
  .price-steps { grid-template-columns:1fr; max-width:620px; }.price-steps article + article::before { content:"↓"; top:-16px; left:50%; transform:translateX(-50%); }
}
@media (max-width: 560px) {
  body { font-size:14px; line-height:1.85; }.site-header { height:56px; }.brand { font-size:20px; }.header-cta { font-size:10px; padding:7px 11px; }
  .hero { min-height:0; }.hero-photo { min-height:48vh; }.limited { font-size:11px; }.hero-pop { font-size:18px; }.hero-date strong { font-size:22px; }
  .section { padding:75px 20px; }.proof { padding:65px 22px; }.proof-number strong { font-size:88px; }.photo-stack { min-height:430px; }.offer-pair { gap:10px; }.offer-pair div { min-width:0; width:42%; padding:13px 8px; }.offer-pair span { font-size:28px; }.offer-pair strong { font-size:13px; }
  .hero-price { padding:16px 14px; }.hero-price strong { font-size:50px; }.price-section { padding:75px 18px; }.price-heading br { display:none; }.regular-price-box { padding:25px 18px; }.regular-price-grid { grid-template-columns:1fr; gap:12px; }.regular-price-grid b { font-size:25px; line-height:1; }.regular-total { line-height:1.8; }.live-special-card { padding:40px 18px; }.live-only { padding:6px 10px; font-size:12px; }.live-price-main strong { font-size:72px; }.live-price-main span { font-size:25px; }.price-steps article { padding:24px 20px; }
  .for-you-photo { min-height:380px; }.feature-split img { min-height:320px; }.cookie-gallery { gap:7px; }.cookie-gallery img:first-child,.cookie-gallery img:last-child { height:260px; }.voice-track { gap:12px; padding-inline:18px; }.voice-track img { width:84vw; max-height:68vh; }.voice-hint { font-size:12px; }.spread-stat strong { font-size:75px; }.story-photo { width:min(76vw,280px); border-width:7px; }
  .button { width:100%; max-width:350px; min-height:56px; padding:11px 18px; font-size:13px; }
  .lesson-calendar { width:calc(100vw - 12px); border-radius:22px; }.calendar-panel { padding:25px 13px 22px; }.calendar-close { top:10px; right:10px; }.calendar-weekdays,.calendar-days { gap:3px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
