:root{
  --ivory:#fcf9f7; --mist:#f6eded; --rose:#cc7775; --rose-dark:#b25f61; --rose-light:#ead1cd;
  --ink:#2f292a; --muted:#6e6563; --espresso:#312a2b; --gold:#c49a60; --gold-soft:#f1dfbf;
  --line:rgba(71,50,47,.12); --radius:26px; --shadow:0 18px 42px rgba(77,42,35,.10);
  --sans:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans',sans-serif;
  --serif:'Noto Serif JP','Hiragino Mincho ProN',serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eee8e5;color:var(--ink);font-family:var(--sans);line-height:1.8;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure,ul,dl{margin:0}ul{padding:0;list-style:none}
.site{position:relative;max-width:480px;margin:0 auto;background:var(--ivory);min-height:100vh;box-shadow:0 0 46px rgba(48,36,33,.13);overflow:hidden}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:fixed;z-index:30;top:0;width:min(480px,100%);color:#fff;background:linear-gradient(180deg,rgba(37,30,29,.43),transparent);transition:.35s ease}.topbar.is-scrolled{background:rgba(252,249,247,.96);color:var(--ink);box-shadow:0 1px 14px rgba(40,30,30,.06);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--serif)}.brand-mark{font-size:23px;color:#df928f}.brand-word{font-size:19px;letter-spacing:.28em;font-weight:600;line-height:1.2}.brand-word small{display:block;font:500 9px/1.4 var(--serif);letter-spacing:.52em;text-align:center;margin-top:3px}.topbar-button{height:39px;padding:0 19px;border-radius:999px;border:1px solid rgba(255,255,255,.64);display:flex;align-items:center;font-size:12px;font-weight:700}.topbar.is-scrolled .topbar-button{background:var(--espresso);border-color:var(--espresso);color:#fff}
.hero{height:min(760px,100svh);min-height:690px;position:relative;background:#d4c3ba}.hero-photo{height:100%;width:100%;object-fit:cover;object-position:center 38%;animation:heroZoom 11s ease-out both}.hero-dim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,23,21,.14),transparent 38%,rgba(39,31,29,.08) 48%,rgba(35,28,27,.80) 100%)}
.review-medal{position:absolute;top:92px;right:18px;z-index:3;width:111px;height:111px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff9ea,#f6dfae 52%,#d09d50 100%);box-shadow:0 10px 26px rgba(58,35,26,.23),inset 0 0 0 2px rgba(255,244,214,.7),inset 0 0 0 5px rgba(184,136,65,.34);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#684a2a}.review-medal small{font-size:9px;font-weight:700}.review-medal strong{font:700 36px/.98 var(--serif)}.review-medal>span{font-size:10px;letter-spacing:.15em}.review-medal em{font-style:normal;font-size:9px;font-weight:700}.float{animation:float 4s ease-in-out infinite}
.hero-message{position:absolute;left:26px;right:22px;bottom:45px;color:#fff;text-align:left}.hero-sub{font-size:11px;font-weight:600;letter-spacing:.1em;margin-bottom:14px;text-shadow:0 1px 12px rgba(0,0,0,.2)}.hero h1{font:700 clamp(31px,8.6vw,40px)/1.65 var(--serif);letter-spacing:.04em}.hero h1 span{display:inline-block;position:relative}.hero h1 span::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-soft)}
.premium-symptoms{position:relative;z-index:4;margin:-1px 18px 0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:0 0 19px 19px;box-shadow:0 13px 29px rgba(40,26,23,.09);overflow:hidden}.symptom{text-align:center;padding:16px 3px 18px;border-right:1px solid var(--line)}.symptom:last-child{border:0}.symptom small{display:block;color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.12em;line-height:1.5}.symptom strong{display:block;font-family:var(--serif);font-size:15px;margin-top:7px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.38em;text-indent:.38em;text-align:center;color:var(--rose);margin-bottom:17px}.eyebrow.gold{color:var(--gold)}h2{font:700 28px/1.7 var(--serif);letter-spacing:.04em;text-align:center}
.first-offer{margin:25px 18px 50px;padding:35px 20px 27px;border-radius:27px;background:#fff;box-shadow:var(--shadow);text-align:center;position:relative}.offer-label{position:absolute;left:50%;top:-15px;transform:translateX(-50%);white-space:nowrap;background:var(--rose);color:#fff;border-radius:999px;padding:7px 25px;font-size:11px;font-weight:700;letter-spacing:.08em}.first-offer h2{font-size:23px;margin-bottom:16px}.price{margin:0 auto 14px;border-block:1px solid var(--line);padding:14px 0 12px}.price small{font-size:13px;font-weight:700;display:block;color:var(--rose-dark)}.price strong{font-size:23px;font-weight:700}.price b{font:800 68px/1 var(--serif);color:var(--rose-dark);margin-right:4px}.offer-copy{font-size:13px;color:var(--muted);text-align:left;margin:0 5px 22px}.primary-cta{height:62px;border-radius:999px;background:linear-gradient(105deg,#d98680,#b85c5e);color:#fff;display:flex;align-items:center;justify-content:center;gap:15px;font-size:15px;font-weight:800;box-shadow:0 13px 26px rgba(182,78,77,.28)}.primary-cta span{font-size:25px;font-weight:400}.fact-strip{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:21px 0 0}.fact-strip span{border-radius:99px;background:#f7eeeb;color:var(--muted);font-size:10px;font-weight:700;padding:7px 10px}.annotation,.legal{font-size:9.5px!important;color:#877a77!important;line-height:1.8!important;margin-top:17px!important;text-align:left!important}
.trust{background:var(--espresso);color:#fff;padding:57px 20px 60px;text-align:center}.trust h2{font-size:30px;margin-bottom:34px}.trust-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trust-stat-grid>div{border:1px solid rgba(255,255,255,.17);border-radius:22px;padding:26px 6px 22px;display:flex;min-height:147px;flex-direction:column;justify-content:center}.trust-stat-grid small{font-size:12px;color:rgba(255,255,255,.72)}.trust-stat-grid strong{font:700 56px/1.15 var(--serif);color:var(--gold-soft)}.trust-stat-grid strong b{font:inherit}.trust-stat-grid i{font:700 15px var(--sans);font-style:normal;margin-left:3px}.trust-stat-grid span{font-size:12px;color:var(--gold-soft)}.license-band{margin-top:10px;border:1px solid rgba(255,255,255,.17);border-radius:22px;padding:25px 10px}.license-band strong{font-size:22px;display:block}.license-band span{font-size:13px;color:rgba(255,255,255,.67)}
.concerns{padding:61px 18px 56px;background:var(--ivory)}.concerns h2{margin-bottom:27px}.concerns h2 span{color:var(--rose-dark)}.concerns-visual{height:460px;position:relative;border-radius:25px;overflow:hidden;background:#ddd;box-shadow:var(--shadow);margin-bottom:22px}.concerns-visual img{height:100%;width:100%;object-fit:cover;object-position:50% 23%;filter:brightness(1.04) saturate(.94)}.concerns-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,rgba(42,34,32,.38) 100%)}.bubble{position:absolute;z-index:2;background:rgba(255,252,250,.97);border-radius:999px;padding:10px 17px;color:var(--rose-dark);font-family:var(--serif);font-weight:700;font-size:13px;box-shadow:0 8px 18px rgba(50,37,32,.13)}.bubble-a{bottom:103px;left:15px}.bubble-b{bottom:59px;right:16px}.bubble-c{bottom:15px;left:36px}.pain-list{background:var(--espresso);border-radius:24px;color:#fff;padding:23px 17px 18px;margin-top:24px}.pain-list li{position:relative;padding:0 0 15px 30px;font-size:13px;font-weight:600;line-height:1.7}.pain-list li::before{content:'✓';position:absolute;left:3px;top:-3px;color:var(--gold-soft);font-size:22px}.cause-intro{text-align:center;margin-top:34px}.cause-intro small{display:inline-block;color:#fff;background:var(--rose);font-weight:700;border-radius:99px;padding:7px 24px;margin-bottom:17px}.cause-intro strong{display:block;font:700 23px/1.75 var(--serif)}
.approach{background:#f4e3df;padding:58px 18px 55px}.approach h2{margin-bottom:29px}.approach-card{border-radius:24px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.approach-card img{height:300px;width:100%;object-fit:cover;object-position:center 34%;filter:brightness(1.06) saturate(.93)}.approach-card p{font-size:13px;color:var(--muted);padding:20px 21px 25px}
.reasons{background:var(--rose);padding:58px 18px}.section-title{color:#fff;margin-bottom:27px}.section-title .eyebrow{color:#ffe6c9}.section-title h2{font-size:30px}.reason{background:#fff;border-radius:27px;padding:27px 15px 24px;margin-bottom:16px;box-shadow:var(--shadow)}.reason-number{text-align:center;color:var(--rose-dark);font-size:11px;font-weight:700;letter-spacing:.22em}.reason-number strong{display:block;font:600 49px/1.06 var(--serif);margin:4px 0 16px}.reason h3{font:700 23px/1.6 var(--serif);text-align:center;color:var(--rose-dark);margin-bottom:21px}.reason-body{font-size:13px;color:var(--muted);padding:18px 6px 0}
.staff-carousel{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.staff-carousel figure{margin:0}.portrait{height:250px;overflow:hidden;border-radius:18px 18px 0 0;background:radial-gradient(circle at 50% 25%,#d8c0b4 0%,#b79588 47%,#75584f 100%);position:relative}.portrait::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 42%,rgba(37,27,24,.16))}.portrait img{height:242px;width:100%;object-fit:contain;object-position:center bottom;filter:brightness(1.085) contrast(1.04) saturate(1.07);position:absolute;bottom:-1px;z-index:1;drop-shadow:0 8px 10px rgba(35,27,23,.16)}.staff-carousel figure:nth-child(4) .portrait img{transform:scale(1.13);transform-origin:center bottom}.staff-carousel figcaption{text-align:center;border-radius:0 0 18px 18px;color:#fff;background:#4b3834;padding:8px 4px;font-size:11px;font-weight:700;letter-spacing:.08em}.reason-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.reason-photo-grid img{height:234px;width:100%;object-fit:cover;border-radius:15px;filter:brightness(1.06) saturate(.94)}.reason-photo-grid img:first-child{object-position:center 28%}.reason-photo-grid img:last-child{object-position:center 34%}.access-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.access-tiles div{padding:17px 4px;border-radius:15px;text-align:center;background:#faf1ef;border:1px solid rgba(203,119,117,.12)}.access-tiles strong{display:block;color:var(--rose-dark);font-size:20px}.access-tiles span{font-size:11px;color:var(--muted)}
.cases{padding:60px 18px 54px;background:#f9f3f0}.cases h2{margin-bottom:29px}.case-card{background:#fff;border-radius:24px;padding:20px 12px 16px;margin-bottom:15px;box-shadow:0 14px 28px rgba(52,32,29,.06)}.case-card h3{font:700 19px/1.5 var(--serif);text-align:center;margin-bottom:16px}.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.case-pair figure{position:relative;border-radius:14px;overflow:hidden;background:#ebe2de}.case-pair img{width:100%;height:auto;display:block;filter:brightness(1.05) saturate(.93)}.case-pair span{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;background:rgba(52,43,41,.66);color:#fff;padding:3px 13px;border-radius:99px;font:500 11px var(--serif);letter-spacing:.12em}.case-card p{font-size:11px;color:var(--muted);margin:14px 4px 0}.case-card.simple img{border-radius:14px;filter:brightness(1.03) saturate(.92)}
.community{background:#fff;padding:60px 18px 57px;text-align:center}.community h2{margin-bottom:25px}.community figure{border-radius:25px;overflow:hidden;margin-bottom:23px;box-shadow:var(--shadow);height:540px}.community figure img{width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:brightness(1.06) saturate(.94)}.community>p:not(.eyebrow):not(.legal){font-size:13px;color:var(--muted);text-align:left}
.flow{padding:61px 0 30px;background:#f0d8d5}.flow .section-title{color:var(--ink);margin-bottom:29px}.flow .section-title .eyebrow{color:var(--rose-dark)}.flow-step{padding:0 18px 37px;position:relative}.flow-step:not(:last-child)::after{content:'';display:block;width:1px;height:24px;background:rgba(181,98,97,.5);position:absolute;bottom:7px;left:50%}.step-heading{text-align:center;margin-bottom:17px}.step-heading small{display:block;font-weight:700;color:var(--rose-dark);letter-spacing:.25em}.step-heading strong{display:block;font:600 46px/1.05 var(--serif);color:var(--rose-dark)}.step-heading h3{font:700 25px/1.5 var(--serif);margin-top:7px}.flow-step img{height:342px;width:100%;object-fit:cover;border-radius:22px;filter:brightness(1.06) saturate(.94);box-shadow:0 12px 24px rgba(57,36,32,.10)}.flow-step:nth-of-type(2) img{object-position:center 26%}.flow-step:nth-of-type(3) img{object-position:center 34%}.flow-step:nth-of-type(4) img{object-position:center 30%}.flow-step:nth-of-type(5) img{object-position:center 37%}.flow-step:nth-of-type(6) img{object-position:center 26%}.flow-step p{background:#fff;border-radius:0 0 18px 18px;margin:-18px 12px 0;padding:27px 19px 17px;position:relative;font-size:13px;color:var(--muted)}
.final-offer{background:var(--espresso);padding:63px 20px 58px;color:#fff;text-align:center}.final-offer h2{margin-bottom:28px}.final-price{border-block:1px solid rgba(255,255,255,.18);padding:18px 0 15px;margin-bottom:22px}.final-price small{display:block;color:var(--gold-soft);font-weight:700}.final-price strong{display:block}.final-price b{font:700 73px/1.1 var(--serif)}.final-price strong{font-size:25px}.phone-link{display:block;color:#fff;font-size:13px;font-weight:700;margin-top:21px}.phone-link span{padding-left:7px}
.clinic{padding:60px 18px;background:#fff}.clinic h2,.faq h2{margin-bottom:27px}.clinic dl{border:1px solid var(--line);border-radius:21px;overflow:hidden}.clinic dl div{display:grid;grid-template-columns:87px 1fr;padding:13px 13px;border-bottom:1px solid var(--line);font-size:13px}.clinic dl div:last-child{border:0}.clinic dt{font-weight:700;color:var(--rose-dark)}.map-button{height:53px;border:1px solid var(--rose);border-radius:999px;margin-top:21px;display:flex;align-items:center;justify-content:center;color:var(--rose-dark);font-size:13px;font-weight:700}.faq{padding:60px 18px 62px;background:var(--mist)}.faq details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:0 15px;margin-bottom:10px}.faq summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;padding:17px 30px 17px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'＋';position:absolute;right:0;color:var(--rose-dark)}.faq details[open] summary::after{content:'−'}.faq details p{font-size:12px;color:var(--muted);padding:0 0 16px}
.footer{background:#2c2728;color:#fff;text-align:center;padding:31px 20px 99px}.footer-brand{font:600 17px/1.5 var(--serif);letter-spacing:.25em;margin-bottom:13px}.footer-brand:first-letter{color:var(--rose)}.footer-brand small{display:block;font-size:9px;letter-spacing:.5em}.footer p{font-size:11px;color:rgba(255,255,255,.68);line-height:2}.footer>small{font-size:10px;color:rgba(255,255,255,.5)}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(252,249,247,.97) 38%);transform:translateY(120%);transition:transform .32s ease}.sticky-cta.is-show{transform:translateY(0)}.sticky-cta a{height:59px;max-width:456px;margin:0 auto;background:linear-gradient(108deg,#d8837d,#b75d5d);border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;box-shadow:0 12px 27px rgba(160,64,62,.28)}.sticky-cta small{font-size:10px}.sticky-cta strong{font-size:16px}.sticky-cta span{font-size:25px}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .68s ease,transform .68s cubic-bezier(.15,.76,.25,1)}.reveal.is-visible{opacity:1;transform:none}.pulse{animation:pulse 3.4s ease-in-out infinite}
@keyframes heroZoom{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%,100%{box-shadow:0 13px 26px rgba(182,78,77,.28)}50%{box-shadow:0 16px 32px rgba(182,78,77,.43)}}
@media(min-width:481px){body{padding:28px 0}.site{border-radius:19px}.topbar{top:28px}.hero{border-radius:19px 19px 0 0;overflow:hidden}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* =========================================================
   v5 CLAUDE HANDOFF DIRECTION
   Warm greige / neutral luxury, mobile-first, avoid black blocks.
   These overrides are deliberately separated for easy Claude editing.
========================================================= */
:root{
  --ink:#40362f;
  --muted:#786b65;
  --rose:#c98682;
  --rose-dark:#ad625e;
  --rose-pale:#f1ded9;
  --mist:#fbf6f2;
  --cream:#fffaf5;
  --espresso:#5b514d;
  --greige:#d7ccc5;
  --gold:#c6a06b;
  --gold-soft:#f1ddba;
  --line:rgba(151,119,100,.16);
  --shadow:0 17px 36px rgba(83,59,47,.11), inset 0 1px 0 rgba(255,255,255,.75);
}
body{background:#eee9e5;color:var(--ink)}
.site{background:linear-gradient(180deg,#fffaf7 0%,#fbf4f0 44%,#f8f3ef 100%)}
.topbar{background:rgba(255,251,247,.88);backdrop-filter:blur(14px)}
.hero{background:linear-gradient(180deg,#fbeee9,#fff9f3)}
.hero-photo{filter:brightness(1.06) saturate(.93) contrast(1.01)}
.hero-message{
  background:linear-gradient(180deg,rgba(255,250,246,.04),rgba(255,250,246,.94) 26%,rgba(255,250,246,.99));
}
.premium-symptoms{background:linear-gradient(180deg,#fffaf6,#f7efea);border-block:1px solid rgba(198,160,107,.12)}
.symptom{background:#fffaf7;border:1px solid rgba(198,160,107,.18);border-radius:17px;margin:7px 4px;box-shadow:0 10px 22px rgba(75,56,46,.07)}
.trust{
  background:radial-gradient(circle at 50% 0%,#f4ebe4 0%,#d9cec8 60%,#cdbeb6 100%);
  color:var(--ink);
}
.trust .eyebrow{color:#9b7551}
.trust-stat-grid>div,.license-band{
  background:rgba(255,250,246,.62);
  border:1px solid rgba(255,255,255,.6);
  color:var(--ink);
  box-shadow:0 15px 32px rgba(70,52,44,.08);
}
.trust-stat-grid span,.license-band span{color:var(--muted)}
.pain-list{
  background:linear-gradient(135deg,#6a5e58 0%,#4e4642 100%);
  box-shadow:0 18px 32px rgba(48,38,34,.13);
}
.approach{background:linear-gradient(180deg,#f7eeea,#f5e6e1)}
.reasons{background:linear-gradient(180deg,#d59a94,#cc837e)}
.reason{box-shadow:0 20px 38px rgba(77,54,45,.12)}
.team-banner{
  border-radius:19px;
  overflow:hidden;
  background:#d1cbc8;
  margin:0;
  box-shadow:0 12px 24px rgba(65,48,42,.12);
}
.team-banner img{display:block;width:100%;height:auto;filter:saturate(.94) brightness(1.04)}
.authority{
  padding:61px 18px 57px;
  background:linear-gradient(180deg,#fffaf6 0%,#f3e8e2 100%);
}
.authority h2{margin-bottom:25px}
.authority-card{
  border-radius:27px;
  background:rgba(255,252,249,.84);
  border:1px solid rgba(198,160,107,.18);
  overflow:hidden;
  box-shadow:0 19px 42px rgba(77,52,41,.11);
}
.authority-card figure{margin:0;position:relative;height:465px}
.authority-card figure img{
  width:100%;height:100%;object-fit:cover;object-position:center 35%;
  filter:brightness(1.03) saturate(.95);
}
.authority-card figure::after{
  content:'';position:absolute;inset:42% 0 0;
  background:linear-gradient(180deg,transparent,rgba(57,45,38,.70));
}
.authority-card figcaption{
  position:absolute;left:16px;right:16px;bottom:18px;z-index:1;color:#fff;
}
.authority-card figcaption small{
  display:inline-block;background:rgba(255,250,244,.92);color:#80644d;
  padding:7px 12px;border-radius:99px;font-size:10px;letter-spacing:.12em;font-weight:700;
}
.authority-card figcaption strong{display:block;margin-top:12px;font:700 22px/1.55 var(--serif)}
.authority-card>p{padding:20px 19px 14px;font-size:13px;color:var(--muted)}
.authority-card ul{padding:0 19px 22px;margin:0;list-style:none}
.authority-card li{padding:8px 0 8px 27px;position:relative;font-size:13px;font-weight:600}
.authority-card li::before{content:'✓';position:absolute;left:3px;color:var(--gold);font-size:18px}
.cases{background:linear-gradient(180deg,#fbf6f2,#f6eeea)}
.community{background:linear-gradient(180deg,#fffaf7,#faf2ed)}
.flow{background:linear-gradient(180deg,#f1dfdb,#ebcec9)}
.final-offer{
  background:radial-gradient(circle at 50% -20%,#eee1d9 0%,#d3c2b9 48%,#b9a59a 100%);
  color:var(--ink);
}
.final-price{border-color:rgba(85,62,50,.16)}
.final-price small{color:#896744}
.phone-link{color:var(--ink)}
.footer{background:#5a514d}

/* =========================================================
   FINAL RENDER FIXES — no dark blocks, greige/ivory palette
   ========================================================= */

/* Topbar — always dark ink on warm-white background */
.topbar { color: var(--ink); }
.topbar .brand-word { color: var(--ink); }
.topbar .topbar-button {
  border-color: rgba(173,98,94,.55);
  color: var(--rose-dark);
  background: rgba(255,255,255,.55);
}
.topbar.is-scrolled .topbar-button {
  background: var(--rose-dark);
  border-color: var(--rose-dark);
  color: #fff;
}

/* Hero photo — shift upward so faces sit in upper frame, text overlay stays below */
.hero-photo { object-position: center 8%; }

/* Hero message — widen container (base left:26px/right:22px gave 342px; h1 line2 needs ~347px → orphaned 。) */
.hero-message { color: var(--ink); left: 18px; right: 14px; }
.hero-sub {
  color: var(--muted);
  text-shadow: none;
  font-size: 12px;
  letter-spacing: .1em;
}
.hero h1 { color: var(--ink); }
.hero h1 span::after { background: var(--gold); }

/* Hero pills */
.hero-pills {
  position: absolute;
  top: 88px;
  left: 16px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hero-pill {
  background: rgba(255,252,250,.93);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 11px;
  font-weight: 700;
  color: var(--rose-dark);
  letter-spacing: .05em;
  box-shadow: 0 4px 12px rgba(77,42,35,.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  width: fit-content;
}

/* Trust section — fix text on light greige background */
.trust-stat-grid small { color: var(--muted); }
.trust-stat-grid strong { color: var(--rose-dark); }
.trust-stat-grid strong b { color: inherit; }
.trust-stat-grid i { color: var(--muted); }
.license-band strong { color: var(--rose-dark); }
.trust h2 { color: var(--ink); }

/* Pain list — warm ivory instead of dark brown */
.pain-list {
  background: linear-gradient(160deg,#fef8f3 0%,#f6ece5 100%);
  border: 1px solid rgba(198,160,107,.17);
  box-shadow: 0 14px 28px rgba(83,59,47,.07);
  color: var(--ink);
}
.pain-list li { color: var(--ink); }
.pain-list li::before { color: var(--gold); font-size: 20px; }

/* Flow steps — STEP01 object-position (was unset = center center) */
.flow-step:nth-of-type(1) img { object-position: center 20%; }
/* Tighten other steps to keep faces in frame */
.flow-step:nth-of-type(2) img { object-position: center 20%; }
.flow-step:nth-of-type(3) img { object-position: center 25%; }
.flow-step:nth-of-type(4) img { object-position: center 22%; }
.flow-step:nth-of-type(5) img { object-position: center 28%; }
.flow-step:nth-of-type(6) img { object-position: center 20%; }

/* Community — Halloween group photo: show upper area (faces) */
.community figure img { object-position: center 12%; }

/* ==========================================================
   HERO v5 FINAL — crop / badge / typography
   ========================================================== */

/* Hero crop: img is 788×1400 (ratio 0.563) ≈ container 390×690 (0.565) → almost zero room.
   Fix: shrink container to 620px → scaled img becomes 693px → 73px of vertical room.
   object-position center 35% → face appears at ~32% height, text at ~68% = 36% gap. */
.hero { height: 620px; min-height: 0; overflow: hidden; }
.hero-photo {
  animation: heroZoom 11s ease-out both;
  object-position: center 35%;
}

/* Hero message — remove cream gradient, use white on existing dark dim */
.hero-message {
  background: none;
  color: #fff;
  left: 18px;
  right: 14px;
  bottom: 18px;
}
.hero-sub {
  color: rgba(255,255,255,.82);
  font-size: 11px;
  letter-spacing: .12em;
  text-shadow: 0 1px 8px rgba(0,0,0,.28);
}
.hero h1 {
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.18);
}
.hero h1 span::after { background: rgba(255,255,255,.55); }

/* New trust chips — semi-transparent dark glass + gold icons */
.hero-trust-row {
  position: absolute;
  top: 88px;
  left: 16px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.htrust {
  background: rgba(20,14,12,.42);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 8px;
  padding: 7px 12px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  text-shadow: 0 1px 4px rgba(0,0,0,.22);
}
.htrust i {
  font-style: normal;
  color: #e8c27a;
  font-size: 14px;
  line-height: 1;
}

/* Review medal — outer double ring (badge / award feel) */
.review-medal { position: relative; }
.review-medal::before {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 2px solid rgba(192,148,64,.42);
  pointer-events: none;
}
.review-medal::after {
  content: '';
  position: absolute;
  inset: -15px;
  border-radius: 50%;
  border: 1px solid rgba(192,148,64,.20);
  pointer-events: none;
}

.athlete-name-tag{position:absolute;top:14px;right:14px;z-index:2;background:rgba(30,25,20,.74);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.08em;padding:7px 14px;border-radius:999px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
