:root { --green:#08773b; --gold:#b78b17; --yellow:#ffda00; --ink:#171717; }
* { box-sizing:border-box; }
body { margin:0; padding-bottom:120px; color:var(--ink); background:#f1f1ef; font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; line-height:1.7; }
h1,h2,p { margin:0; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-underline-offset:4px; }
a:focus-visible,summary:focus-visible,button:focus-visible { outline:3px solid #167cff; outline-offset:5px; }
.lp { max-width:750px; margin:auto; background:white; }
.lp-image { width:100%; height:auto; }
.skip { position:fixed; top:-100px; padding:12px; background:white; z-index:20; }
.skip:focus { top:0; }
.header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 28px; }
.header img { width:142px; filter:brightness(0); }
.header>span { font-size:12px; }
.hero-heading { padding:28px 38px 30px; background:var(--yellow); text-align:center; }
.hero-heading>p:first-child { font-size:17px; font-weight:700; }
.hero-heading h1 { margin:10px 0 22px; font-size:clamp(30px,6.6vw,50px); line-height:1.45; letter-spacing:-.045em; }
.hero-heading h1 em { font-style:normal; color:#a92818; }
.hero-example { display:flex; align-items:center; justify-content:center; gap:24px; padding:14px 20px; background:#fff; border-radius:10px; text-align:left; }
.hero-example img { width:36%; max-width:200px; mix-blend-mode:multiply; }
.example-label { display:inline-block; padding:2px 10px; border:1px solid #8b6519; color:#775310; font-size:13px; font-weight:700; }
.hero-example p { margin-top:6px; font-size:14px; }
.hero-example strong { display:block; font-size:54px; line-height:1.2; color:#a92818; letter-spacing:-.04em; }
.hero-example strong span { margin-left:4px; font-size:23px; }
.example-note { margin-top:9px; font-size:11px; color:#514613; }
.hero-action { margin-top:24px; }
.hero-action .micro { color:#423b14; }
.conversion { padding:28px 38px 32px; text-align:center; }
.cta-intro { font-size:18px; font-weight:700; margin-bottom:14px; }
.line-cta { display:flex; align-items:center; justify-content:center; gap:12px; min-height:74px; padding:16px 20px; border-radius:10px; background:var(--green); color:white; text-decoration:none; font-weight:800; font-size:clamp(15px,3.7vw,25px); box-shadow:0 5px 0 #064d29; }
.line-cta>.cta-text { min-width:0; text-align:center; line-height:1.45; }
.line-cta>.cta-text span { display:inline-block; }
.line-cta:hover { background:#056330; }
.line-cta>.cta-arrow { font-size:30px; line-height:1; }
.line-cta>.line-label { flex:none; border:1px solid #ffffffa6; padding:5px; border-radius:4px; font-size:12px; line-height:1; letter-spacing:.03em; }
.micro { margin-top:14px; font-size:12px; color:#555; }
.coupon { margin-top:0; border:2px solid var(--gold); padding:10px; background:#fff9e7; font-size:15px; color:#7c5910; }
.coupon>span { font-size:12px; display:inline-block; padding-right:12px; }
.coupon strong { font-size:26px; margin-left:5px; }
.three-questions { padding:35px 38px; text-align:center; background:#fff6ce; }
.three-questions>p:first-child { font-weight:700; font-size:17px; }
.three-questions h2 { font-size:clamp(23px,5.5vw,38px); line-height:1.5; }
.three-questions h2 strong { font-size:1.7em; color:#bc2116; }
.three-questions ol { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; list-style:none; margin:22px 0 16px; padding:0; }
.three-questions li { background:white; padding:16px 4px; font-size:19px; font-weight:700; border-bottom:3px solid var(--gold); }
.three-questions li b { display:block; color:var(--gold); font-size:25px; }
.question-note { font-size:14px; margin-bottom:24px; }
.company { background:#f9f7ef; }
/* Show the original company artwork from y=414; keep old coupon notes outside the viewport. */
.company-original { position:relative; overflow:hidden; aspect-ratio:750 / 660; }
.company-original img { position:absolute; bottom:0; left:0; width:100%; height:auto; }
.company-info { padding:24px 38px 32px; text-align:center; font-size:13px; }
.company-info>a { display:inline-block; margin-top:8px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.company .award { width:100%; max-width:620px; margin:0 auto; }
.rental { text-align:center; margin-top:24px; font-size:13px; }
.rental a { font-weight:700; }
.faq { padding:30px 38px; }
.faq h2 { font-size:22px; text-align:center; margin-bottom:20px; }
.faq details { border-bottom:1px solid #dedbd1; }
.faq summary { padding:16px 0; font-size:15px; font-weight:700; cursor:pointer; }
.faq details p { font-size:13px; padding:0 0 18px; color:#555; }
.footer { text-align:center; padding:22px 20px 32px; color:#666; font-size:11px; }
.footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin:15px 0; }
.fixed-bottom { position:fixed; z-index:10; bottom:0; left:50%; transform:translateX(-50%); width:min(100%,750px); padding:9px 25px calc(14px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); border-top:1px solid #dedbd1; text-align:center; }
.fixed-bottom>p { font-size:12px; font-weight:700; margin-bottom:5px; }
.fixed-bottom .line-cta { min-height:56px; font-size:22px; padding-block:10px; }
@media(max-width:500px) {
  body { padding-bottom:130px; }
  .header { padding:12px 18px; }
  .header img { width:113px; }
  .header>span { font-size:10px; }
  .hero-heading { padding:24px 20px 25px; }
  .hero-heading>p:first-child { font-size:13px; }
  .hero-heading h1 { margin:9px 0 18px; font-size:clamp(27px,7.5vw,37px); }
  .hero-example { gap:12px; padding:13px 10px; }
  .hero-example img { width:33%; }
  .example-label { font-size:10px; padding:2px 6px; }
  .hero-example p { font-size:10px; }
  .hero-example strong { font-size:38px; }
  .hero-example strong span { font-size:18px; }
  .example-note { font-size:10px; text-align:left; }
  .hero-action { margin-top:20px; }
  .line-cta>.line-label { font-size:10px; padding:4px; }
  .line-cta>.cta-arrow { font-size:24px; }
  .conversion,.three-questions { padding:25px 20px; }
  .cta-intro { font-size:13px; }
  .line-cta { min-height:72px; gap:12px; padding:12px 10px; font-size:17px; }
  .line-cta>.cta-text span { display:block; }
  .micro { font-size:10px; }
  .coupon { padding:7px; font-size:12px; }
  .coupon>span { font-size:10px; padding-right:3px; }
  .coupon strong { font-size:22px; }
  .three-questions>p:first-child { font-size:13px; }
  .three-questions li { font-size:13px; padding:12px 2px; }
  .three-questions li b { font-size:19px; }
  .question-note { font-size:11px; }
  .company-info { padding:20px; font-size:11px; }
  .rental { font-size:11px; }
  .faq { padding:25px 20px; }
  .faq h2 { font-size:19px; }
  .faq summary { font-size:12px; }
  .fixed-bottom { padding-inline:16px; }
  .fixed-bottom .line-cta { min-height:68px; font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* The existing LP palette frames a one-question-at-a-time, tap-only check. */
html { scroll-behavior:smooth; }
[hidden] { display:none !important; }
.camera-check { scroll-margin-top:16px; padding:38px; background:#fff6ce; text-align:center; }
.check-eyebrow { color:var(--green); font-size:14px; font-weight:800; }
.camera-check h2 { margin:6px 0 12px; font-size:30px; line-height:1.5; }
.camera-check h2 strong { color:#a92818; }
.check-lead { font-size:14px; }
#check-app,#check-fallback { margin-top:24px; padding:28px; border-radius:12px; background:white; }
#check-fallback { font-size:14px; }
#check-fallback a { display:inline-block; margin-top:14px; color:var(--green); font-weight:700; }
.check-step { color:var(--green); font-size:14px; font-weight:800; }
.check-progress { height:5px; margin:12px 0 24px; border-radius:4px; background:#e4e9e2; overflow:hidden; }
.check-progress span { display:block; width:0; height:100%; background:var(--green); }
.camera-check h3 { margin:0 0 8px; font-size:24px; line-height:1.5; }
.check-hint { font-size:12px; color:#666; margin-bottom:20px; }
.check-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.check-option { min-height:60px; padding:12px; border:2px solid #cbd9ce; border-radius:8px; background:white; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; text-align:center; line-height:1.5; touch-action:manipulation; }
.check-option:hover,.check-option[aria-pressed="true"] { border-color:var(--green); background:#edf7ed; }
.check-option-detail { display:block; font-size:11px; color:#555; font-weight:400; margin-top:2px; }
.check-options[data-layout="single"] { grid-template-columns:1fr; }
.check-secondary { display:inline-block; min-height:44px; margin-top:18px; padding:8px 12px; border:0; background:none; color:var(--green); font:inherit; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.check-complete { color:var(--green); font-size:14px; font-weight:800; margin-bottom:10px; }
.check-summary { text-align:left; margin:22px 0; }
.check-summary>div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid #e3e7e1; font-size:14px; }
.check-summary dt { color:#666; }
.check-summary dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.check-result-note { font-size:13px; }
.check-copy-status { min-height:24px; font-size:12px; color:#555; margin:3px 0 12px; }
@media(max-width:500px) {
 .camera-check { padding:28px 20px; }
 .camera-check h2 { font-size:23px; }
 .check-lead { font-size:12px; }
 #check-app,#check-fallback { padding:22px 16px; margin-top:20px; }
 .camera-check h3 { font-size:20px; }
 .check-options { gap:8px; }
 .check-option { padding:10px 6px; font-size:14px; min-height:56px; }
 .check-hint { font-size:11px; }
 .check-summary>div { grid-template-columns:82px 1fr; gap:8px; font-size:12px; }
 .check-result-note { font-size:12px; }
 .result-line-cta { font-size:14px; min-height:60px; gap:6px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Result uses the existing LP price accent; green remains the action color. */
.check-estimate{margin:20px 0;padding:20px 14px;background:#fff6ce;border:1px solid #d6b749;border-radius:10px;text-align:center}
.check-estimate-amount{margin:0 0 10px;color:#a92818;font-size:clamp(32px,7vw,48px);font-weight:900;line-height:1.2;font-variant-numeric:tabular-nums}
.check-estimate-disclaimer{font-size:13px;line-height:1.7;margin:0 0 10px}
.check-estimate-source{font-size:12px;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}
.check-estimate-source a{color:#315a39;text-decoration:underline}

/* Reference: original image LP comparison cards, with Amazon product photos. */
.more-cases{padding:32px 26px;background:#ffdf19;text-align:center}
.case-eyebrow{font-size:14px;font-weight:700;color:#514613}
.more-cases h2{margin:6px 0 12px;font-size:28px}
.case-lead{font-size:14px}
.case-list{display:grid;gap:24px;margin-top:24px;text-align:left}
.price-case{padding:24px 20px 30px;background:#fffdf6;border:4px solid #bca75f}
.case-product{display:grid;grid-template-columns:40% 1fr;gap:16px;align-items:center;margin-bottom:18px}
.case-product img{width:100%;height:190px;object-fit:contain;mix-blend-mode:multiply}
.price-case h3{margin:0;font-size:23px;line-height:1.5;overflow-wrap:anywhere}
.case-prices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0;text-align:center}
.case-prices dt{padding:7px 2px;background:#626262;color:#fff;font-size:21px;font-weight:800;white-space:nowrap}
.case-prices>div+div dt{background:#b78b17}
.case-prices dd{margin:22px 0 0;font-size:clamp(26px,7.4vw,53px);font-weight:900;line-height:1.3;color:#555;font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}
.case-prices dd span{font-size:.48em;margin-left:4px;letter-spacing:0}
.case-prices>div+div dd{color:#000}
@media(max-width:500px){.more-cases{padding:28px 14px}.more-cases h2{font-size:23px}.case-lead{font-size:12px}.price-case{padding:16px 10px 22px;border-width:3px}.case-product{gap:10px;margin-bottom:14px}.case-product img{height:110px}.price-case h3{font-size:clamp(13px,3.7vw,18px)}.case-prices{gap:12px}.case-prices dt{font-size:clamp(10px,3.1vw,15px);padding:6px 1px}.case-prices dd{margin-top:18px;font-size:clamp(24px,7.4vw,37px)}}

/* Gold result reveal: finite, non-interactive particles; reduced-motion stays static. */
#check-result{position:relative;isolation:isolate}
#check-result .check-complete{color:#795509;letter-spacing:.06em}
#check-result .check-estimate{border:3px solid #b58b22;border-radius:12px;background:linear-gradient(125deg,#fff9d8 0%,#ffe39a 28%,#fff9de 52%,#edc65e 100%);box-shadow:0 5px 0 #c9a348,0 12px 24px #a4751722;padding:30px 16px;margin:20px 0 28px}
#check-result .check-estimate-amount{font-size:clamp(27px,6.7vw,48px);color:#805400;text-shadow:0 2px 0 #fff9e2;letter-spacing:-.04em;overflow-wrap:anywhere}
#check-result .check-estimate-disclaimer{color:#4f3b16}
#check-result .result-line-cta{margin-top:20px}
.check-confetti{position:absolute;inset:0 0 auto;height:420px;overflow:hidden;pointer-events:none;z-index:2}
.check-confetti span{position:absolute;left:var(--x);top:-20px;width:8px;height:15px;background:#d3a52b;animation:check-confetti-fall 2.5s var(--delay) ease-out both}
.check-confetti span:nth-child(3n){background:#ffdf73;width:6px;height:10px}
.check-confetti span:nth-child(3n+1){background:#b6851f;transform:rotate(35deg)}
@keyframes check-confetti-fall{0%{transform:translate(0,-15px) rotate(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translate(var(--drift),430px) rotate(580deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.check-confetti{display:none}.check-confetti span{animation:none}}

#check-estimate-condition{white-space:pre-line}

.check-estimate-possibility{font-size:20px;font-weight:800;color:#805400;margin:-4px 0 16px}
