/* Local design proposal. Base product functionality and conditions remain unchanged. */
.review-notice{padding:8px 20px;background:#eee8dc;color:#565749;text-align:center;font-size:12px;line-height:1.7}
:root{--paper:#faf7ef;--white:#fffdf8;--deep:#243c31;--gold:#b99b60;--line:#ddd7c8}
.hero{background:#f5f0e5;color:#26382e}
.hero:after{background:linear-gradient(90deg,rgba(250,247,239,.99),rgba(250,247,239,.96) 48%,rgba(250,247,239,.48))}
.hero-photo{opacity:.30;object-position:right center}
.hero-inner{max-width:1260px;gap:80px;min-height:700px;padding-block:68px}
.hero .eyebrow{color:#6a715d;font:12px Georgia,serif;letter-spacing:.15em}
.hero .eyebrow span{display:block;margin-top:8px;font-family:var(--sans);font-size:12px;letter-spacing:.12em}
.hero h1{font-size:clamp(40px,4.4vw,60px);letter-spacing:.02em}
.hero h1 span{color:#886d3f}
.hero-description{color:#536052;font-size:16px;line-height:2}
.hero-lead{color:#3f5143}
.hero .primary{background:#243c31;border-color:#243c31;color:#fffdf8}
.hero .primary:hover{background:#365646;border-color:#365646}
.hero .text-link,.hero-price,.hero-price strong{color:#263d31}
.hero .price-caption{color:#626855}
.hero-disclosure{font-size:12px;color:#606655;line-height:1.85;max-width:470px;margin-top:14px!important}
.hero-product{transform:rotate(1.5deg);max-width:330px}
.hero-product>a{box-shadow:0 25px 60px #3b3b2526;border:1px solid #e1d9c9;padding:11px}
.hero-product-top,.hero-product figcaption{color:#5c6454}
.photo-caption{color:#59624e;font-size:10px}
.hero-basics{background:#fffdf8;max-width:none;padding-inline:max(40px,calc((100vw - 1120px)/2));border-block:1px solid #ded8c9}
.contents{margin-top:30px}.contents-heading h2{max-width:560px}
.preparation{border-top:1px solid var(--line)}
.experience{background:#eeeee4;max-width:none;padding-inline:max(40px,calc((100vw - 1120px)/2))}
.section .eyebrow{color:#79704f}
@media(max-width:800px){.hero-inner{gap:30px;min-height:0;padding:48px 30px 60px}.hero h1{font-size:42px}.hero-description{font-size:14px}.hero-basics{padding-inline:30px}.experience{padding-inline:30px}}
@media(max-width:600px){.review-notice{font-size:10px;padding:6px 18px}.hero-inner{display:flex;flex-direction:column;gap:32px;padding:38px 24px 48px;align-items:stretch}.hero h1{font-size:40px}.hero-copy{max-width:none}.hero-description{font-size:15px}.hero-product{max-width:240px;align-self:center}.hero-product-top,.hero-product figcaption{font-size:10px}.hero-basics{padding-inline:24px}.photo-caption{position:static;text-align:center;padding:0 20px 12px}.hero-disclosure{font-size:12px}.contents{margin-top:0}.experience{padding-inline:24px}}
@media(max-width:359px){.hero h1{font-size:34px}.hero-inner{padding-inline:20px}.hero-basics,.experience{padding-inline:20px}}
.visual-story{padding-top:85px;padding-bottom:70px;text-align:center}.visual-intro{margin-bottom:35px}.visual-intro>p:last-child{margin-top:20px;color:#5a6557;font-size:18px;line-height:1.9}.scene-wide{margin:0 0 50px}.scene-wide img{width:100%;max-height:620px;object-fit:cover;border-radius:3px}.scene-wide figcaption{font-size:12px;color:#666b5d;margin-top:12px}.visual-flow{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;text-align:left}.visual-flow figure{height:340px;background:#eee9de;padding:16px 16px 34px;position:relative;margin-bottom:24px}.visual-flow img{width:100%;height:100%;object-fit:contain}.visual-flow li:nth-child(2) figure{padding:0 0 34px}.visual-flow li:nth-child(2) img{object-fit:cover;object-position:40% 60%}.visual-flow figcaption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:11px;color:#5f6657}.visual-number{font:italic 26px Georgia,serif;color:#a58d57}.visual-flow h3{font-family:var(--serif);font-size:23px;margin:8px 0 13px}.visual-flow p{font-size:15px;line-height:1.9;color:#566151}.visual-footnote{font-size:12px;color:#666b5d;line-height:1.9;text-align:left;margin:35px 0 25px!important}.visual-story+.contents{border-top:1px solid var(--line)}
@media(max-width:800px){.visual-flow{gap:20px}.visual-flow figure{height:270px}.visual-flow h3{font-size:20px}.visual-flow p{font-size:14px}}
@media(max-width:600px){.visual-story{padding:55px 24px}.visual-intro{text-align:left}.visual-intro h2{font-size:28px;line-height:1.8}.visual-intro>p:last-child{font-size:16px}.scene-wide{margin-bottom:30px}.scene-wide img{min-height:270px;object-position:50% 50%}.scene-wide figcaption{text-align:left;font-size:11px}.visual-flow{grid-template-columns:1fr;gap:36px}.visual-flow figure{height:420px;margin-bottom:18px}.visual-flow li:nth-child(2) figure{height:300px}.visual-flow h3{font-size:26px}.visual-flow p{font-size:16px}.visual-flow figcaption{font-size:12px}.visual-footnote{font-size:12px}.hero h1{font-size:36px}}
@media(max-width:359px){.hero h1{font-size:31px}.visual-intro h2{font-size:24px}.visual-flow figure{height:360px}.visual-flow h3{font-size:23px}}
.story-bridge{text-align:left;margin-top:50px;padding:36px;background:#efeee5;border-block:1px solid #dcd6c7}.story-bridge h3{font-family:var(--serif);font-size:29px;line-height:1.7;margin-bottom:18px}.story-bridge>p{font-size:15px;line-height:1.95;color:#52604f}.bridge-track{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:30px 0}.bridge-track li{position:relative}.bridge-track li:not(:last-child):after{content:'→';position:absolute;right:-23px;top:15px;color:#998450;font-size:24px}.bridge-symbol{display:block;font:26px Georgia,serif;line-height:1.7;color:#927547;margin-bottom:10px}.flower-symbol{font-size:31px;line-height:1.43}.bridge-track strong{display:block;font-size:15px;font-weight:500}.bridge-track small{display:block;font-size:12px;color:#5b6754;margin-top:5px}.bridge-example{border-top:1px solid #d4cebc;padding-top:20px}.story-bridge .note-text{font-size:12px;color:#68705f}
@media(max-width:600px){.story-bridge{padding:28px 22px;margin-top:36px}.story-bridge h3{font-size:24px}.bridge-track{grid-template-columns:1fr;gap:28px}.bridge-track li{padding-left:94px;min-height:51px}.bridge-symbol{position:absolute;left:0;top:0;font-size:24px}.bridge-track li:not(:last-child):after{content:'↓';right:auto;left:30px;top:43px;font-size:20px}.bridge-track strong{font-size:16px}.bridge-track small{font-size:13px}.story-bridge>p{font-size:14px}.story-bridge .note-text{font-size:12px}}
.reader-steps{list-style:none;padding:0;margin:30px 0}.reader-steps>li{border-top:1px solid #d6cebc;padding:32px 0}.reader-number{font:italic 26px Georgia,serif;color:#9b814a}.reader-steps h4,.spoiler-flow h4{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.7;margin:9px 0 16px}.reader-steps p{font-size:16px;line-height:1.95;color:#465641}.first-puzzle{background:#fffdf7;border:1px solid #ded7c7;padding:28px;margin:22px 0}.first-puzzle ul{padding:15px 0 18px 24px;line-height:2}.first-puzzle strong{display:block;font-size:18px;margin-bottom:18px}.first-puzzle .text-link{margin-top:18px}.mechanism-figure{margin:24px 0}.mechanism-figure svg{width:100%;height:auto}.mechanism-figure figcaption,.actual-letter-large figcaption,.spoiler-flow figcaption{font-size:12px;line-height:1.9;color:#626d59;margin-top:12px}.actual-letter-large{max-width:650px;margin:26px auto}.actual-letter-large img{width:100%;border:1px solid #ddd7c8}.spoiler-flow{background:#fffdf7;border:1px solid #cfc7b5;margin-top:25px}.spoiler-flow>summary{cursor:pointer;padding:22px 26px;font-size:17px;line-height:1.7}.spoiler-body{padding:0 28px 28px;border-top:1px solid #dfd8c9}.spoiler-body>figure{max-width:850px;margin:24px auto}.spoiler-body img{width:100%;height:auto;border:1px solid #ddd6c4}.spoiler-body>p{margin-block:20px;font-size:16px;line-height:1.95}.spoiler-body .evidence-note{font-size:13px;background:#f1eee4;padding:18px}.spoiler-body .answer-chain{font-size:22px;text-align:center;color:#3c513d}.reader-steps .note-text{font-size:12px;margin-top:18px}.hero-product img{aspect-ratio:1061 / 720;object-fit:contain}.visual-flow li:first-child figure{height:auto;min-height:230px}.visual-flow li:first-child img{height:auto}.paper-preview img{height:auto}
@media(max-width:600px){.reader-steps h4,.spoiler-flow h4{font-size:23px}.reader-steps>li{padding-block:25px}.first-puzzle{padding:22px 18px}.reader-steps p{font-size:15px}.first-puzzle ul{font-size:15px}.spoiler-flow>summary{padding:20px 17px;font-size:16px}.spoiler-body{padding:0 15px 20px}.spoiler-body>p{font-size:15px}.spoiler-body .answer-chain{font-size:18px}.mechanism-figure svg{min-width:0}.hero-product{max-width:100%}}
.table-reading{background:#f1eee4;padding:14px 20px}.table-reading>div{display:flex;gap:20px;align-items:baseline;padding:8px 0;border-bottom:1px solid #ddd5c5}.table-reading>div:last-child{border:0}.table-reading dt,.table-reading dd{font-size:16px;line-height:1.9}.table-reading dt{min-width:95px}.table-reading dd{margin:0}
@media(max-width:600px){.table-reading{padding:12px}.table-reading>div{gap:10px}.table-reading dt,.table-reading dd{font-size:15px}.table-reading dt{min-width:80px}}
/* Review v2: use lining numerals; Georgia old-style digits were uneven on iPad. */
:root{--numeric:Arial,'Helvetica Neue',sans-serif}
.hero-price strong,.purchase-price,.contents-list strong,.answer-options span,.number-input input,.sheet-total>span:first-child,.mobile-bar span,.step-index,.step-number,.visual-number,.reader-number{font-family:var(--numeric);font-variant-numeric:lining-nums tabular-nums;font-style:normal;font-weight:400}
.hero-price strong{font-size:28px;line-height:1.35;letter-spacing:0;white-space:nowrap}
.hero-price strong span{display:inline;font-size:14px;margin-left:5px}
.number-input{display:flex;gap:10px;align-items:baseline}
.number-input input{font-size:22px;line-height:1.4}
.sheet-total{display:flex;gap:8px;align-items:baseline}
.sheet-total>span:first-child{font-size:38px;line-height:1.25;letter-spacing:0}
.sheet-total>span:last-child{font-family:var(--sans);font-size:16px;margin-left:0}
.contents-list strong{font-size:40px;line-height:1.3}
.purchase-price{font-size:48px;line-height:1.3;letter-spacing:0;white-space:nowrap}
@media(max-width:600px){.hero-price{gap:7px 12px}.hero-price strong{font-size:26px}.sheet-total>span:first-child{font-size:32px}.sheet-total>span:last-child{font-size:14px}.number-input input{font-size:20px}.purchase-price{font-size:40px}.contents-list strong{font-size:34px}}
