:root{
  --navy:#071A3A;
  --navy-2:#102B55;
  --blue:#173866;
  --ink:#1E2E48;
  --muted:#5D6A7C;
  --line:#06C755;
  --line-dark:#05A648;
  --gold:#F7D36B;
  --gold-2:#FFF4C7;
  --cream:#FFF9EE;
  --border:#E6DFD4;
  --red:#D94B34;
  --serif:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --display:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --wrap:1160px;
  --gut:clamp(18px,4vw,42px);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; background:#fff; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:#fff;
  font-size:16px;
  line-height:1.85;
  letter-spacing:.02em;
  line-break:strict;
  overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
.wrap{ width:min(100% - 2*var(--gut), var(--wrap)); margin-inline:auto; }

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(7,26,58,.08);
}
.topbar__in{ height:58px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand{ display:flex; align-items:baseline; gap:.8rem; color:var(--navy); }
.brand b{ font-family:var(--serif); font-size:1.16rem; letter-spacing:.04em; }
.brand span{ font-size:.78rem; color:var(--muted); font-weight:700; }
.line-mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--line);
  color:#fff;
  border-radius:999px;
  font-size:.9rem;
  font-weight:800;
  padding:.58rem 1rem;
  box-shadow:0 10px 24px -18px var(--line-dark);
}

.hero{
  position:relative;
  overflow:hidden;
  min-height:660px;
  background:var(--navy);
  color:#fff;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0 42% 0 0;
  background:linear-gradient(120deg, var(--navy) 0%, #061832 64%, rgba(6,24,50,.82) 100%);
  z-index:1;
  transform:skewX(-8deg);
  transform-origin:top right;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7,26,58,.92) 0%, rgba(7,26,58,.78) 42%, rgba(7,26,58,.12) 72%, rgba(7,26,58,.04) 100%);
  z-index:0;
}
.hero__photo{ position:absolute; inset:0; }
.hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.05) contrast(1.05); }
.hero__inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(420px,.9fr);
  align-items:center;
  gap:clamp(24px,4vw,58px);
  min-height:660px;
  padding-block:56px 46px;
}
.hero__copy{ max-width:620px; }
.hero__top{
  margin:0 0 .55rem;
  font-size:1rem;
  font-weight:800;
  color:#fff;
}
.hero h1{
  margin:0;
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(2.9rem,8.6vw,5.8rem);
  line-height:1.02;
  letter-spacing:-.02em;
  text-shadow:0 3px 16px rgba(0,0,0,.22);
}
.hero h1 strong{
  display:inline-block;
  color:var(--gold);
  font-size:1.18em;
  letter-spacing:-.06em;
}
.hero h1 strong span{ letter-spacing:-.08em; }
.hero h1 em{
  font-style:normal;
  font-size:.48em;
  color:#fff;
  margin-left:.25em;
}
.hero__lead{
  margin:1.1rem 0 1.6rem;
  font-size:1.08rem;
  line-height:2;
  font-weight:700;
}
.line-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-height:56px;
  background:linear-gradient(180deg,#15D968 0%, var(--line) 100%);
  color:#fff;
  border-radius:999px;
  padding:.85rem 1.45rem;
  font-size:1.05rem;
  font-weight:800;
  box-shadow:0 16px 30px -20px var(--line-dark);
  border:2px solid rgba(255,255,255,.28);
}
.line-cta::before{
  content:"LINE";
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  color:var(--line);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:-.03em;
}
.line-cta::after{
  content:"";
  width:9px;
  height:9px;
  border-right:3px solid currentColor;
  border-top:3px solid currentColor;
  transform:rotate(45deg);
}
.hero__badges{
  list-style:none;
  padding:0;
  margin:1.05rem 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.hero__badges li{
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:.28rem .95rem;
  font-weight:800;
  font-size:.92rem;
  min-width:112px;
  text-align:center;
}
.hero__side{
  position:relative;
  min-height:470px;
}
.hero__side--sp{
  display:none;
}
.hero__family{
  width:100%;
  height:440px;
  object-fit:cover;
  border-radius:0 0 0 48px;
  box-shadow:0 28px 70px -44px #000;
}
.hero__half{
  position:absolute;
  top:18px;
  left:18px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .9rem .56rem;
  background:var(--orange);
  color:#fff;
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(7,26,58,.22);
  font-family:var(--display);
  font-size:clamp(1.28rem, 2.3vw, 1.85rem);
  font-weight:900;
  line-height:1;
  letter-spacing:.02em;
  transform:rotate(-4deg);
}
.hero__phone{
  position:absolute;
  right:2%;
  bottom:-18px;
  width:170px;
  filter:drop-shadow(0 20px 22px rgba(0,0,0,.24));
}
.price-seals{
  position:absolute;
  left:-18px;
  bottom:10px;
  display:flex;
  gap:.7rem;
}
.price-seals div{
  width:122px;
  min-height:122px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 44%, #fff 0%, #FFFDF7 66%, #F3D37E 67%, #D6A944 100%);
  color:var(--red);
  display:grid;
  place-items:center;
  text-align:center;
  padding:.8rem;
  box-shadow:0 8px 24px -16px #000;
}
.price-seals small{ font-size:.68rem; color:var(--navy); font-weight:800; line-height:1.25; }
.price-seals b{ font-family:var(--serif); font-size:2rem; line-height:1; }
.price-seals b em{ font-style:normal; font-family:var(--sans); font-size:.72rem; }
.price-seals span{ font-size:.78rem; font-weight:800; color:var(--red); }

.section{ padding-block:clamp(46px,7vw,78px); background:#fff; }
.section.compact{ padding-block:36px; }
.section-title{
  font-family:var(--serif);
  font-size:clamp(1.7rem,3.7vw,2.25rem);
  line-height:1.55;
  text-align:center;
  color:var(--navy);
  margin:0 0 1rem;
  letter-spacing:.04em;
  text-wrap:balance;
}
.section-lead{
  margin:.2rem auto 1.8rem;
  text-align:center;
  color:var(--navy);
  font-weight:800;
}
.note{ margin:.8rem 0 0; text-align:center; color:var(--muted); font-size:.82rem; }

.hero__lead,
.section-lead,
.feature p,
.diagnosis p,
.compare__lead,
.trust__lead,
.trust__sublead,
.trust__cards p,
.voice-card p{
  text-wrap:pretty;
}

.worries{ background:#fff; }
.worry-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-top:1.4rem;
}
.worry-card{
  min-height:150px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:1rem .6rem;
  display:grid;
  place-items:center;
  text-align:center;
  box-shadow:0 10px 26px -24px rgba(7,26,58,.34);
}
.worry-card img{ width:54px; height:54px; object-fit:contain; margin-bottom:.55rem; }
.worry-card b{ color:var(--navy); line-height:1.55; font-size:.98rem; }

.feature-grid{
  border:1px solid var(--border);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
}
.feature{
  padding:1.4rem 1.5rem;
  text-align:center;
  border-left:1px solid var(--border);
}
.feature:first-child{ border-left:none; }
.feature img{ width:72px; height:72px; object-fit:contain; margin:0 auto .35rem; }
.feature h3{ font-family:var(--serif); color:var(--navy); margin:.25rem 0 .45rem; font-size:1.25rem; }
.feature p{ margin:0; color:#303846; line-height:1.8; }

.diagnosis{ background:#fff; }
.diagnosis__box{
  border:1px solid var(--border);
  border-radius:6px;
  padding:1.5rem clamp(18px,3vw,36px);
  display:grid;
  grid-template-columns:130px minmax(0,1fr) minmax(240px,.85fr) auto;
  align-items:center;
  gap:1.6rem;
  background:#fff;
}
.diagnosis__box > img{ width:120px; margin:auto; }
.diagnosis h2{ font-family:var(--serif); color:var(--navy); margin:0 0 .45rem; line-height:1.55; font-size:1.45rem; }
.diagnosis p{ margin:0; color:#333; }
.diagnosis ul{ margin:0; padding:0; list-style:none; color:#34435A; font-weight:700; }
.diagnosis li::before{ content:"✓"; color:var(--line); margin-right:.5rem; font-weight:900; }

.design-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  border:1px solid var(--border);
  padding:1.2rem;
  border-radius:4px;
}
.design-row article{ text-align:center; }
.design-row img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.design-row b{ display:block; margin-top:.5rem; color:var(--navy); }

.compare__box{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:1rem;
  border:1px solid var(--border);
  padding:1.2rem;
  background:#fff;
}
table{ width:100%; border-collapse:collapse; color:#26344D; }
th,td{ border:1px solid var(--border); padding:.7rem .85rem; text-align:center; }
th{ background:#FFFCF7; color:var(--navy); font-weight:800; }
td b{ color:var(--navy); font-size:1.15rem; }
.compare aside{
  background:linear-gradient(135deg,#fff 0%,#FFF6E2 100%);
  border-radius:6px;
  padding:1.2rem;
  display:grid;
  align-content:center;
  text-align:center;
}
.compare aside b{ font-family:var(--serif); color:var(--navy); font-size:1.35rem; line-height:1.65; }
.compare aside img{ width:88px; margin:.8rem auto 0; }

.ba-panel{
  display:grid;
  grid-template-columns:1fr 54px 1.35fr;
  gap:1.2rem;
  align-items:center;
  border:1px solid var(--border);
  padding:1.3rem;
  background:#fff;
}
.ba-side{ display:grid; grid-template-columns:70px 1fr; gap:1rem; align-items:center; }
.ba-side span{ font-family:var(--serif); color:var(--navy); font-weight:800; font-size:1.2rem; }
.ba-side img{ width:100%; aspect-ratio:16/8; object-fit:cover; }
.ba-arrow{ color:var(--navy); font-size:2rem; text-align:center; }

.property-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:1.2rem;
}
.property-card{
  border:1px solid var(--border);
  border-radius:8px;
  padding:1rem;
  background:#fff;
  display:grid;
  grid-template-columns:112px 1fr;
  gap:.8rem;
  align-items:center;
}
.property-card img{ width:112px; height:86px; object-fit:cover; border-radius:4px; grid-row:span 3; }
.property-card h3{ margin:0; color:var(--navy); font-weight:800; font-size:1rem; }
.property-card p{ margin:0; color:#38445A; font-size:.86rem; line-height:1.55; }
.property-card b{ color:var(--red); font-size:1.15rem; }

.urgency__box{
  border:1px solid #F0C9BD;
  background:#fff;
  display:grid;
  grid-template-columns:.95fr 1fr;
  gap:1.4rem;
  padding:1.4rem;
}
.urgency__main{ display:grid; grid-template-columns:96px 1fr; gap:1rem; align-items:center; }
.urgency__main img{ width:92px; }
.urgency h2{ font-family:var(--serif); color:var(--navy); margin:0; font-size:1.55rem; line-height:1.55; }
.urgency p{ margin:.4rem 0 0; color:#444; grid-column:2; }
.urgency__items{ display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid var(--border); }
.urgency__items div{ display:grid; place-items:center; text-align:center; padding:1rem; border-left:1px solid var(--border); }
.urgency__items div:first-child{ border-left:none; }
.urgency__items b{ color:var(--navy); }
.urgency__items span{ color:var(--red); font-weight:800; margin-top:.4rem; }

.trust__box{
  border:1px solid var(--border);
  display:grid;
  grid-template-columns:1fr 230px;
  align-items:center;
  gap:2rem;
  padding:1.4rem 2rem;
}
.trust__box p{ margin:0 0 1rem; color:#2D3545; }
.trust__box ul{ margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:1rem 2rem; color:var(--navy); font-weight:800; }
.trust__box li::before{ content:""; display:inline-block; width:9px; height:9px; border:2px solid var(--navy); border-radius:50%; margin-right:.45rem; }
.trust__box img{ width:210px; justify-self:end; }

.voice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.voice-card{
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  padding:1.1rem;
  text-align:center;
}
.voice-card img{ width:76px; height:76px; object-fit:cover; border-radius:50%; margin:0 auto .55rem; }
.voice-card b{ color:var(--navy); line-height:1.65; display:block; }
.voice-card p{ color:#4A5568; margin:.55rem 0 0; font-size:.9rem; }

.final{
  background:#FFFDF8;
  border-top:1px solid var(--border);
  padding:clamp(36px,6vw,60px) 0;
  text-align:center;
}
.final h2{
  font-family:var(--serif);
  color:var(--navy);
  margin:0 0 1.2rem;
  font-size:clamp(1.55rem,3.4vw,2.1rem);
}
.line-cta--large{ min-width:min(100%,620px); }
.web-cta{
  background:linear-gradient(180deg,#f08b3a 0%, var(--orange) 100%);
  box-shadow:0 5px 0 #b84f1e, 0 16px 28px rgba(0,0,0,.18);
}
.web-cta::before{
  display:none;
}
.final p{ display:flex; justify-content:center; gap:.5rem; flex-wrap:wrap; margin:1rem 0 0; }
.final span{ border:1px solid var(--border); background:#fff; border-radius:999px; padding:.18rem 1rem; color:var(--navy); font-weight:700; }

.footer{ background:var(--navy); color:#AEB9C8; padding:1.4rem 0; font-size:.82rem; }
.sticky{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:60;
  background:rgba(255,255,255,.94);
  padding:.55rem var(--gut) calc(.55rem + env(safe-area-inset-bottom));
  border-top:1px solid var(--border);
  transform:translateY(120%);
  transition:transform .25s ease;
}
.sticky.show{ transform:none; }
.sticky .line-cta{ width:100%; min-height:50px; }

.js .reveal{ opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.js .reveal.in{ opacity:1; transform:none; }
.js .reveal[data-d="1"]{ transition-delay:.06s; }
.js .reveal[data-d="2"]{ transition-delay:.12s; }
.js .reveal[data-d="3"]{ transition-delay:.18s; }

@media(max-width:980px){
  .hero::before{ inset:0 22% 0 -12%; }
  .hero__inner{ grid-template-columns:1fr; min-height:auto; }
  .hero__side{ min-height:380px; }
  .hero__family{ height:340px; }
  .price-seals{ left:0; bottom:-8px; }
  .hero__phone{ width:130px; }
  .worry-grid{ grid-template-columns:repeat(3,1fr); }
  .diagnosis__box{ grid-template-columns:110px 1fr; }
  .diagnosis__box .line-cta{ grid-column:1/-1; }
  .diagnosis__box ul{ grid-column:2; }
  .design-row{ grid-template-columns:repeat(3,1fr); }
  .compare__box,.urgency__box,.trust__box{ grid-template-columns:1fr; }
  .urgency__items{ border-left:none; border-top:1px solid var(--border); }
  .property-grid,.voice-grid{ grid-template-columns:1fr; }
}

@media(max-width:640px){
  .topbar__in{ height:auto; padding:.7rem 0; }
  .brand{ display:block; }
  .brand span{ display:block; margin-top:.1rem; }
  .line-mini{ font-size:.82rem; padding:.45rem .75rem; }
  .hero{ min-height:auto; }
  .hero::before{ inset:0; transform:none; }
  .hero::after{ background:rgba(7,26,58,.66); }
  .hero__inner{ padding-block:36px; gap:1.4rem; }
  .hero h1{ font-size:clamp(2.6rem,14vw,4.3rem); }
  .hero__lead{ font-size:1rem; }
  .hero__badges li{ min-width:auto; flex:1; }
  .hero__side{ min-height:320px; }
  .hero__family{ height:300px; border-radius:18px; }
  .price-seals{ position:static; margin-top:.7rem; display:grid; grid-template-columns:repeat(3,1fr); }
  .price-seals div{ width:auto; min-height:96px; border-radius:12px; }
  .price-seals b{ font-size:1.45rem; }
  .hero__phone{ right:8px; bottom:72px; width:102px; }
  .worry-grid{ grid-template-columns:repeat(2,1fr); }
  .feature-grid{ grid-template-columns:1fr; }
  .feature{ border-left:none; border-top:1px solid var(--border); }
  .feature:first-child{ border-top:none; }
  .diagnosis__box{ grid-template-columns:1fr; text-align:center; }
  .diagnosis__box ul{ grid-column:auto; text-align:left; }
  .design-row{ grid-template-columns:1fr 1fr; }
  .compare__box{ padding:.6rem; }
  th,td{ padding:.5rem .35rem; font-size:.86rem; }
  .ba-panel{ grid-template-columns:1fr; }
  .ba-side{ grid-template-columns:1fr; }
  .ba-arrow{ transform:rotate(90deg); }
  .property-card{ grid-template-columns:96px 1fr; }
  .property-card img{ width:96px; }
  .urgency__main{ grid-template-columns:1fr; text-align:center; }
  .urgency p{ grid-column:auto; }
  .urgency__main img{ margin:auto; }
  .urgency__items{ grid-template-columns:1fr; }
  .urgency__items div{ border-left:none; border-top:1px solid var(--border); }
  .trust__box{ padding:1.2rem; text-align:center; }
  .trust__box ul{ justify-content:center; }
  .trust__box img{ justify-self:center; }
}

@media(prefers-reduced-motion:reduce){
  .js .reveal{ opacity:1; transform:none; transition:none; }
}

/* Veteran flyer-style polish */
:root{
  --paper:#fffaf0;
  --paper-2:#fff4df;
  --gold-deep:#d7a73c;
  --orange:#df6f2d;
}

body{
  background:
    linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.9)),
    url("assets/renove.webp") center/cover fixed;
  letter-spacing:.015em;
}

.topbar{
  background:rgba(255,255,255,.96);
  border-bottom:3px solid var(--navy);
  box-shadow:0 6px 18px rgba(7,26,58,.08);
}
.topbar__in{ height:64px; }
.brand b{
  font-family:var(--sans);
  font-size:1.28rem;
  font-weight:800;
  letter-spacing:.02em;
}
.brand span{ font-size:.86rem; color:var(--navy); }
.line-mini{ border-radius:6px; padding:.62rem 1.1rem; }

.hero{
  min-height:min(720px, calc(100svh - 34px));
  background:#071b3a;
  border-bottom:5px solid var(--gold-deep);
}
.hero::before{
  inset:0 auto 0 0;
  width:57%;
  background:linear-gradient(110deg,#061733 0%,#071b3a 72%,rgba(7,27,58,.92) 100%);
  transform:skewX(-10deg);
  box-shadow:18px 0 0 rgba(215,167,60,.25);
}
.hero::after{
  background:
    radial-gradient(circle at 21% 20%, rgba(247,211,107,.16) 0 9%, transparent 10%),
    linear-gradient(90deg, rgba(7,26,58,.96) 0%, rgba(7,26,58,.88) 39%, rgba(7,26,58,.08) 72%);
}
.hero__photo img{
  object-position:center 40%;
  filter:saturate(1.02) contrast(1.04) brightness(1.06);
}
.hero__inner{
  grid-template-columns:minmax(0,1.02fr) minmax(440px,.94fr);
  min-height:min(720px, calc(100svh - 34px));
  padding-block:34px 30px;
}
.hero__top{
  display:inline-block;
  margin:0 0 .85rem;
  padding:.36rem .72rem;
  background:#fff;
  color:var(--navy);
  border-left:8px solid var(--gold);
  font-size:1rem;
  line-height:1.45;
}
.hero h1{
  font-size:clamp(3.05rem,7vw,5.25rem);
  line-height:.99;
  letter-spacing:-.035em;
}
.hero h1 strong{
  color:#ffe082;
  text-shadow:0 4px 0 rgba(0,0,0,.12), 0 0 20px rgba(247,211,107,.34);
}
.hero h1 em{
  display:inline-block;
  margin-top:.1em;
  font-size:.46em;
  padding:.03em .2em .08em;
  background:#fff;
  color:var(--navy);
  transform:rotate(-2deg);
}
.hero__lead{
  width:min(100%,560px);
  margin:1.05rem 0 1.25rem;
  padding:0 0 0 1rem;
  border-left:4px solid var(--gold);
  font-size:1.12rem;
  line-height:2;
}
.line-cta{
  border-radius:7px;
  min-height:58px;
  padding:.9rem 1.65rem;
  font-size:1.08rem;
  box-shadow:0 5px 0 #078b37, 0 16px 28px rgba(0,0,0,.18);
}
.line-cta::before{ width:38px; height:38px; }
.hero__badges{ gap:.4rem; }
.hero__badges li{
  border-radius:4px;
  min-width:118px;
  padding:.34rem .85rem;
  border:1px solid rgba(7,26,58,.18);
  box-shadow:0 3px 0 rgba(7,26,58,.14);
}
.hero__side{ min-height:510px; }
.hero__family{
  height:455px;
  border-radius:0;
  border:6px solid rgba(255,255,255,.95);
  outline:2px solid rgba(247,211,107,.8);
  box-shadow:0 24px 48px rgba(0,0,0,.28);
  object-position:center 28%;
}
.hero__phone{
  right:-2%;
  bottom:-16px;
  width:172px;
}
.price-seals{
  left:-34px;
  bottom:10px;
  gap:.56rem;
}
.price-seals div{
  width:120px;
  min-height:120px;
  border-radius:50%;
  border:3px solid #c79a36;
  background:
    radial-gradient(circle at center, #fff 0 57%, #fff8db 58% 67%, #d7a73c 68% 100%);
  box-shadow:0 7px 0 rgba(7,26,58,.18), 0 14px 24px rgba(0,0,0,.18);
}
.price-seals small{ font-size:.72rem; }
.price-seals b{ font-size:2.05rem; }

.section{
  padding-block:clamp(42px,6vw,70px);
  background:rgba(255,255,255,.96);
}
.section:nth-of-type(even){ background:rgba(255,250,240,.96); }
.section.compact{
  padding-block:44px;
  background:#fff;
}
.section-kicker{
  width:max-content;
  max-width:100%;
  margin:0 auto .9rem;
  padding:.36rem 1.3rem;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  text-align:center;
  border-radius:0;
}
.section-title{
  position:relative;
  margin:0 auto 1.15rem;
  font-size:clamp(1.85rem,3.7vw,2.7rem);
  line-height:1.42;
  font-weight:900;
  letter-spacing:.025em;
}
.section-title span{
  display:block;
  font-family:var(--sans);
  font-size:1rem;
  letter-spacing:.12em;
  margin-bottom:.15rem;
  color:var(--gold-deep);
}
.section-title::after{
  content:"";
  display:block;
  width:78px;
  height:4px;
  margin:.72rem auto 0;
  background:var(--gold-deep);
}
.section-lead{
  font-size:1.1rem;
  line-height:1.9;
}
.sp{ display:none; }

.worries{
  background:linear-gradient(180deg,#fff 0%,#fff7e7 100%);
}
.worry-family{
  width:min(250px,44vw);
  margin:.1rem auto -8px;
  filter:drop-shadow(0 8px 0 rgba(223,111,45,.15));
}
.worry-grid{
  position:relative;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-top:0;
  padding:1.2rem;
  border:3px solid var(--orange);
  background:#fff;
}
.worry-grid::before{
  content:"";
  position:absolute;
  top:-18px;
  left:50%;
  width:34px;
  height:34px;
  background:var(--orange);
  transform:translateX(-50%) rotate(45deg);
  z-index:-1;
}
.worry-card{
  min-height:142px;
  border:2px solid #ece2d2;
  border-radius:0;
  padding:.9rem .55rem;
  box-shadow:none;
  background:#fffefb;
}
.worry-card img{ width:60px; height:60px; margin-bottom:.45rem; }
.worry-card b{ font-size:1rem; font-weight:900; }

.feature-grid{
  border:3px solid var(--border);
  box-shadow:0 5px 0 rgba(7,26,58,.08);
}
.feature{
  padding:1.7rem 1.8rem;
  border-left:2px solid var(--border);
  background:linear-gradient(180deg,#fff 0%,#fffdf8 100%);
}
.feature img{ width:84px; height:84px; }
.feature h3{ font-size:1.38rem; font-weight:800; }
.feature p{ font-size:1rem; font-weight:500; }

.diagnosis__box{
  border:3px solid var(--border);
  border-radius:0;
  background:#fff;
  grid-template-columns:150px minmax(0,1fr) minmax(250px,.8fr) auto;
  box-shadow:0 5px 0 rgba(7,26,58,.08);
}
.diagnosis__box > img{ width:136px; }
.diagnosis h2{ font-size:1.65rem; font-weight:800; }
.diagnosis li{ font-size:1rem; line-height:2; }

.design-row{
  gap:14px;
  border:3px solid var(--border);
  border-radius:0;
  background:#fff;
  box-shadow:0 5px 0 rgba(7,26,58,.08);
}
.design-row article{
  background:#fffaf0;
  border:1px solid #eadcc6;
  padding:.45rem .45rem .65rem;
}
.design-row img{
  aspect-ratio:4/3.15;
  border-radius:0;
}
.design-row b{ font-size:1rem; font-weight:900; }

.compare__box,
.ba-panel,
.trust__box,
.urgency__box{
  border:3px solid var(--border);
  background:#fff;
  box-shadow:0 5px 0 rgba(7,26,58,.08);
}
th,td{
  border:2px solid var(--border);
  padding:.78rem .9rem;
}
th{ background:#fff6df; }
td b{ color:var(--red); font-size:1.28rem; }
.compare aside{
  border-radius:0;
  border:2px solid #eadcc6;
}
.compare aside b{ font-size:1.55rem; font-weight:800; }

.ba-panel{
  grid-template-columns:1fr 66px 1.45fr;
  padding:1.5rem;
}
.ba-side{ grid-template-columns:84px 1fr; }
.ba-side span{ font-size:1.42rem; }
.ba-side img{
  aspect-ratio:16/7.4;
  border:3px solid #fff;
  outline:1px solid var(--border);
}
.ba-arrow{ font-size:2.35rem; color:var(--gold-deep); }

.property-card,
.voice-card{
  border:2px solid var(--border);
  border-radius:0;
  box-shadow:0 5px 0 rgba(7,26,58,.08);
}
.property-card{ padding:1rem; }
.property-card img{
  width:124px;
  height:92px;
  border-radius:0;
}
.property-card h3{ font-size:1.08rem; font-weight:900; }
.property-card b{ font-size:1.28rem; color:var(--red); }

.urgency{
  background:#fff;
}
.urgency__box{
  border-color:#efb29c;
  background:linear-gradient(90deg,#fff 0%,#fff6ef 100%);
}
.urgency__main img{ width:110px; }
.urgency h2{ font-size:1.78rem; font-weight:800; color:#b83b28; }
.urgency__items b{ font-size:1.04rem; }
.urgency__items span{
  background:#fff;
  border:2px solid #efb29c;
  padding:.18rem .7rem;
}

.trust{
  background:var(--navy);
}
.trust .section-title{ color:#fff; }
.trust .section-title::after{ background:var(--gold); }
.trust__box{
  grid-template-columns:1fr 280px;
  border-color:rgba(255,255,255,.82);
  padding:1.7rem 2rem;
}
.trust__box p{ font-size:1.04rem; font-weight:600; }
.trust__box img{ width:260px; }

.voice-grid{ gap:20px; }
.voice-card{
  position:relative;
  padding:1.2rem 1.1rem 1.05rem;
  background:#fff;
  text-align:left;
}
.voice-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:8px;
  background:var(--navy);
}
.voice-card img{
  width:94px;
  height:94px;
  border-radius:0;
  object-fit:contain;
  margin:.1rem auto .65rem;
}
.voice-card b{
  font-family:var(--serif);
  font-size:1.12rem;
  font-weight:800;
  text-align:center;
}
.voice-card p{
  border-top:2px dotted #9ba4b3;
  padding-top:.65rem;
  text-align:center;
  font-weight:700;
}

.final{
  background:var(--navy);
  border-top:5px solid var(--gold-deep);
}
.final h2{ color:#fff; font-size:clamp(1.7rem,3.4vw,2.45rem); }
.final span{
  border-radius:4px;
  border-color:rgba(255,255,255,.35);
  color:#fff;
  background:rgba(255,255,255,.12);
}

@media(max-width:980px){
  body{ background-attachment:scroll; }
  .hero::before{
    width:70%;
    inset:0 auto 0 0;
  }
  .hero__inner{ grid-template-columns:1fr; min-height:auto; }
  .hero__family{ height:390px; }
  .price-seals{ left:14px; bottom:-18px; }
  .worry-grid{ grid-template-columns:repeat(3,1fr); }
  .diagnosis__box{ grid-template-columns:130px 1fr; }
  .diagnosis__box .line-cta,
  .diagnosis__box ul{ grid-column:1/-1; }
}

@media(max-width:640px){
  .topbar__in{ height:auto; }
  .sp{ display:block; }
  .hero::before{ width:100%; transform:none; box-shadow:none; }
  .hero::after{ background:rgba(7,26,58,.74); }
  .hero__inner{ padding-block:24px 32px; gap:1rem; }
  .hero__top{ font-size:.9rem; }
  .hero h1{ font-size:clamp(2.45rem,13.6vw,4.05rem); }
  .hero__lead{ margin:1rem 0 1.1rem; font-size:.98rem; line-height:1.85; }
  .line-cta{ width:100%; font-size:.98rem; padding:.8rem .9rem; }
  .hero__badges{ margin-top:.72rem; }
  .hero__badges li{ padding:.24rem .52rem; font-size:.84rem; }
  .hero__side{ min-height:0; }
  .hero__family{ height:250px; }
  .price-seals{
    position:static;
    margin-top:.7rem;
    grid-template-columns:repeat(3,1fr);
  }
  .price-seals div{
    min-height:82px;
    border-radius:0;
    padding:.48rem .3rem;
  }
  .price-seals small{ font-size:.6rem; }
  .price-seals b{ font-size:1.25rem; }
  .price-seals span{ font-size:.65rem; }
  .hero__phone{ bottom:72px; right:8px; width:92px; }
  .section-title{ font-size:clamp(1.55rem,8vw,2.1rem); }
  .worry-family{ width:min(210px,58vw); }
  .worry-grid{ grid-template-columns:repeat(2,1fr); padding:.7rem; }
  .worry-card{ min-height:132px; }
  .feature{ border-left:none; border-top:2px solid var(--border); }
  .diagnosis__box{ grid-template-columns:1fr; }
  .design-row{ grid-template-columns:1fr 1fr; padding:.75rem; }
  .ba-panel{ grid-template-columns:1fr; }
  .ba-side{ grid-template-columns:1fr; }
  .property-card{ grid-template-columns:104px 1fr; }
  .property-card img{ width:104px; }
  .trust__box{ grid-template-columns:1fr; padding:1.2rem; }
}

/* Human designer pass: reduce AI-ish cream cards and fix Japanese rhythm */
:root{
  --navy-soft:rgba(7,26,58,.86);
  --navy-pale:rgba(7,26,58,.08);
  --navy-mid:rgba(7,26,58,.18);
}

body{
  background:
    linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.94)),
    url("assets/renove.webp") center/cover fixed;
}
.pc{ display:block; }

.topbar{
  border-bottom:1px solid rgba(7,26,58,.16);
  box-shadow:0 8px 24px rgba(7,26,58,.06);
}

.hero{
  background:rgba(7,26,58,.82);
  border-bottom:0;
}
.hero::before{
  background:linear-gradient(112deg, rgba(7,26,58,.88) 0%, rgba(7,26,58,.78) 74%, rgba(7,26,58,.48) 100%);
  box-shadow:none;
}
.hero::after{
  background:linear-gradient(90deg, rgba(7,26,58,.78) 0%, rgba(7,26,58,.62) 41%, rgba(7,26,58,.1) 72%);
}
.hero h1{
  display:grid;
  gap:.02em;
  width:max-content;
  max-width:100%;
  line-height:.98;
  letter-spacing:-.01em;
}
.hero h1 > span{ display:block; }
.hero h1 strong{ display:block; }
.hero h1 em{
  justify-self:start;
  margin:.05em 0 0 .08em;
}
.hero__lead{
  border-left:none;
  padding-left:0;
}

.section,
.section:nth-of-type(even),
.section.compact,
.worries,
.urgency{
  background:rgba(255,255,255,.94);
}
.section-title{
  max-width:1060px;
  text-wrap:balance;
}
.section-title::after{
  background:rgba(7,26,58,.28);
}

.feature-grid,
.diagnosis__box,
.design-row,
.compare__box,
.ba-panel,
.trust__box,
.urgency__box,
.property-card,
.voice-card{
  border-color:rgba(7,26,58,.16);
  box-shadow:0 5px 0 rgba(7,26,58,.06);
}
.feature,
.worry-card{
  background:#fff;
}

.design-row{
  background:#fff;
  padding:1.35rem;
}
.design-row article{
  background:transparent;
  border:none;
  padding:0;
}
.design-row img{
  aspect-ratio:704/342;
  border:1px solid rgba(7,26,58,.14);
}
.design-row b{
  font-size:.92rem;
  line-height:1.35;
}

.compare__box{
  border-color:rgba(7,26,58,.2);
  background:linear-gradient(90deg, rgba(7,26,58,.05), rgba(255,255,255,.96));
}
th,td{
  border-color:rgba(7,26,58,.16);
}
th{
  background:rgba(7,26,58,.08);
  color:var(--navy);
}
.compare aside{
  border-color:rgba(7,26,58,.18);
  background:linear-gradient(180deg, rgba(7,26,58,.11), rgba(7,26,58,.04));
}
.compare aside b{
  color:var(--navy);
}
.compare aside img{
  filter:grayscale(1) sepia(.12) hue-rotate(170deg) saturate(1.2);
  opacity:.82;
}

.ba-panel{
  grid-template-columns:1fr 70px 1fr;
}
.ba-side{
  grid-template-columns:1fr;
  gap:.45rem;
}
.ba-side span{
  text-align:left;
}
.ba-side img{
  aspect-ratio:16/12.6;
  object-fit:cover;
}
.ba-arrow{
  color:rgba(7,26,58,.68);
}

.property-grid{
  gap:20px;
}
.property-card{
  grid-template-columns:1fr;
  align-items:start;
  padding:0 0 1rem;
  overflow:hidden;
  background:#fff;
}
.property-card img{
  width:100%;
  height:265px;
  grid-row:auto;
  border-radius:0;
}
.property-card h3,
.property-card p,
.property-card b{
  margin-inline:1rem;
}

.urgency__box{
  border-color:rgba(7,26,58,.16);
  background:#fff;
  grid-template-columns:1fr 1.25fr;
}
.urgency__main{
  display:grid;
  grid-template-columns:1fr;
  justify-items:start;
  gap:.75rem;
}
.urgency__main img{
  width:190px;
  margin:.2rem 0 .1rem;
}
.urgency h2{
  color:var(--navy);
  font-size:1.8rem;
}
.urgency p{
  grid-column:auto;
  margin:0;
}
.urgency__items{
  gap:12px;
  border-left:1px solid rgba(7,26,58,.16);
  padding-left:1.2rem;
}
.urgency__items div{
  border:2px solid rgba(7,26,58,.16);
  background:linear-gradient(180deg, rgba(7,26,58,.08), rgba(7,26,58,.03));
}
.urgency__items span{
  color:var(--navy);
  background:#fff;
  border-color:rgba(7,26,58,.22);
}

.trust{
  background:rgba(255,255,255,.94);
}
.trust__box{
  grid-template-columns:1fr 240px;
  border-color:rgba(7,26,58,.14);
  padding:1rem 1.25rem;
}
.trust__box h2{
  margin:0 0 .35rem;
  color:var(--navy);
  font-family:var(--sans);
  font-size:1.2rem;
  font-weight:900;
  text-align:center;
}
.trust__box p{
  color:var(--navy);
  text-align:center;
  font-size:.95rem;
  line-height:1.7;
  margin-bottom:.85rem;
}
.trust__box ul{
  justify-content:center;
  gap:.8rem 1.7rem;
  color:var(--navy);
  font-size:.9rem;
}
.trust__box img{
  width:230px;
}

.voice-card{
  padding:1.05rem 1.2rem 1.2rem;
}
.voice-card::before{
  display:none;
}
.voice-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) 128px;
  align-items:center;
  gap:.8rem;
  border-bottom:1px solid rgba(7,26,58,.16);
  padding-bottom:.8rem;
  margin-bottom:.85rem;
}
.voice-meta img{
  width:128px;
  height:128px;
  object-fit:contain;
  margin:0;
}
.voice-card p{
  border-top:none;
  padding-top:0;
  text-align:left;
  margin:0;
  color:var(--navy);
}
.voice-card b{
  text-align:left;
  color:var(--navy);
}

@media(max-width:980px){
  .ba-panel{ grid-template-columns:1fr; }
  .ba-arrow{ transform:rotate(90deg); }
  .urgency__box{ grid-template-columns:1fr; }
  .urgency__items{
    border-left:none;
    border-top:1px solid rgba(7,26,58,.14);
    padding:1rem 0 0;
  }
}

@media(max-width:640px){
  .pc{ display:none; }
  body{ background-attachment:scroll; }
  .hero h1{ width:100%; }
  .design-row{ padding:.9rem; }
  .property-card img{ height:234px; }
  .urgency__main{ justify-items:center; text-align:center; }
  .urgency__main img{ width:170px; }
  .voice-meta{ grid-template-columns:1fr 116px; }
  .voice-meta img{ width:116px; height:116px; }
  .trust__box{ grid-template-columns:1fr; }
}

/* Gothic refinement pass */
body,
.section-title,
.feature h3,
.diagnosis h2,
.compare aside b,
.ba-side span,
.voice-card b,
.final h2,
.price-seals b{
  font-family:var(--sans);
}

.hero h1,
.urgency h2{
  font-family:var(--display);
  font-weight:900;
  letter-spacing:.01em;
}

.brand b{
  font-family:var(--sans);
  font-weight:900;
}

.section-title{
  font-weight:900;
  letter-spacing:.02em;
}
.section-title--three{
  line-height:1.12;
}
.section-title--three b{
  font-family:var(--display);
  font-size:1.72em;
  line-height:.8;
  letter-spacing:-.03em;
  margin-right:.06em;
}

.worries{
  background:rgba(255,255,255,.94);
}
.worry-family{
  width:min(210px,38vw);
  margin:.1rem auto -4px;
}
.worry-grid{
  border:3px solid #d66f36;
  gap:14px;
  padding:1.15rem;
  background:#fff;
}
.worry-grid::before{
  display:none;
}
.worry-card{
  min-height:150px;
  border:2px solid rgba(7,26,58,.14);
  padding:1rem .7rem;
  background:#fff;
}
.worry-card img{
  width:62px;
  height:62px;
  margin-bottom:.55rem;
  filter:grayscale(1) contrast(1.45);
  opacity:.95;
}
.worry-card b{
  font-size:1rem;
  line-height:1.55;
  font-weight:900;
}

.feature-grid{
  padding:.2rem;
}
.feature{
  padding:1.25rem 1.25rem 1.35rem;
}
.feature img{
  width:74px;
  height:74px;
}

.diagnosis__box,
.compare__box,
.ba-panel,
.trust__box,
.urgency__box,
.property-card,
.voice-card{
  padding:1rem;
}

.ba-panel{
  grid-template-columns:1fr 58px 1.35fr;
  gap:1rem;
}
.ba-side{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:.85rem;
  align-items:center;
}

/* Design packages: show larger official package images. */
.design-row{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
  padding:1.35rem;
}
.design-row img{
  aspect-ratio:704/342;
}
.design-row b{
  margin-top:.65rem;
  font-size:1rem;
}

/* Style diagnosis: one-column card even on desktop. */
.diagnosis__box{
  grid-template-columns:1fr;
  max-width:780px;
  text-align:center;
}
.diagnosis__box > img{
  width:min(320px, 72vw);
}
.diagnosis__box ul{
  grid-column:auto;
  width:min(440px, 100%);
  margin-inline:auto;
  text-align:left;
}
.diagnosis__box .line-cta{
  grid-column:auto;
  width:min(560px, 100%);
  margin-inline:auto;
}

@media(max-width:900px){
  .design-row{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px){
  .design-row{
    grid-template-columns:1fr;
  }
}

/* Compare table: make renovation column stand out and move the payoff copy below. */
.compare__box{
  grid-template-columns:1fr;
}
.compare__box table th:nth-child(3),
.compare__box table td:nth-child(3){
  background:rgba(225, 118, 61, .12);
}
.compare__box table tr:first-child th:nth-child(3){
  background:rgba(225, 118, 61, .18);
}
.compare__box table th:nth-child(4),
.compare__box table td:nth-child(4){
  background:rgba(225, 118, 61, .18);
}
.compare__box table tr:first-child th:nth-child(4){
  background:rgba(225, 118, 61, .26);
}
.compare__box table small{
  color:var(--muted);
  font-size:.78em;
  font-weight:700;
}
.compare__note{
  max-width:900px;
  margin:1rem auto 0;
  line-height:1.8;
}
.section-title .compare-title-pc,
.section-title .compare-title-sp{
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  margin:0;
  color:inherit;
}
.section-title .compare-title-sp{
  display:none;
}
.compare__message{
  margin:1.45rem auto .28rem;
  max-width:780px;
  color:var(--navy);
  font-size:clamp(1.75rem, 3.2vw, 2.55rem);
  line-height:1.35;
  font-weight:900;
  text-align:center;
  text-wrap:balance;
}
.compare__lead{
  margin:0 auto .2rem;
  max-width:820px;
  color:#303846;
  text-align:center;
  font-weight:700;
  line-height:1.9;
  text-wrap:pretty;
}
.ba-side img{
  aspect-ratio:16/7.4;
  object-fit:cover;
}
.ba-arrow{
  transform:none;
  font-size:2rem;
}

.urgency__box{
  padding:1.1rem;
}
.urgency__main{
  gap:.55rem;
}
.urgency__main img{
  width:150px;
}
.urgency h2{
  font-size:1.72rem;
}
.urgency__items{
  gap:10px;
  padding-left:1rem;
}
.urgency__items div{
  padding:.8rem;
}

.trust{
  padding-block:36px;
}
.trust__box{
  grid-template-columns:1fr 240px;
  align-items:center;
  padding:.75rem .9rem;
}
.trust__box h2{
  font-size:1.12rem;
  margin-bottom:.25rem;
}
.trust__box p{
  margin-bottom:.65rem;
  font-size:.88rem;
  line-height:1.65;
}
.trust__box ul{
  gap:.55rem 1.25rem;
  font-size:.82rem;
}
.trust__box img{
  width:240px;
  height:128px;
  object-fit:cover;
  object-position:center 36%;
}

.voice-grid{
  gap:14px;
}
.voice-card{
  padding:.8rem .85rem .9rem;
}
.voice-meta{
  grid-template-columns:minmax(0,1fr) 112px;
  gap:.65rem;
  padding-bottom:.55rem;
  margin-bottom:.65rem;
}
.voice-meta img{
  width:112px;
  height:112px;
}
.voice-card b{
  font-size:1rem;
  line-height:1.55;
  margin-bottom:2px;
}
.voice-card p{
  font-size:.86rem;
  line-height:1.55;
}

@media(max-width:980px){
  .ba-panel{ grid-template-columns:1fr; }
  .ba-side{ grid-template-columns:1fr; }
  .ba-arrow{ transform:rotate(90deg); }
  .trust__box{ grid-template-columns:1fr; }
}

@media(max-width:640px){
  .worry-grid{ gap:10px; padding:.8rem; }
  .worry-card{ min-height:132px; padding:.8rem .45rem; }
  .worry-card img{ width:52px; height:52px; }
  .section-title--three b{ font-size:1.55em; }
  .urgency__main img{ width:132px; }
  .voice-meta{ grid-template-columns:1fr 98px; }
  .voice-meta img{ width:98px; height:98px; }
}

/* Fix: restore V3 worry cards and real before/after slider */
.worry-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  padding:1.25rem;
  border:3px solid #d57538;
  background:#fff;
  box-shadow:none;
}
.worry-grid::before{ display:none; }
.worry-card{
  min-height:148px;
  border:2px solid rgba(7,26,58,.14);
  background:#fff;
  padding:1rem .65rem .9rem;
  display:grid;
  place-items:center;
  align-content:center;
  gap:.55rem;
  box-shadow:none;
}
.worry-card img{ display:none; }
.worry-card::before{
  content:"";
  display:block;
  width:62px;
  height:62px;
  background:var(--navy);
  mask:center/contain no-repeat;
  -webkit-mask:center/contain no-repeat;
}
.worry-card[data-icon="yen"]::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='32' cy='32' r='24' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='M21 17l11 16 11-16M32 33v15M22 33h20M22 41h20' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='32' cy='32' r='24' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='M21 17l11 16 11-16M32 33v15M22 33h20M22 41h20' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.worry-card[data-icon="pin"]::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 57s18-18 18-34a18 18 0 10-36 0c0 16 18 34 18 34z' fill='none' stroke='black' stroke-width='4'/%3E%3Ccircle cx='32' cy='23' r='7' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='M20 57h24' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 57s18-18 18-34a18 18 0 10-36 0c0 16 18 34 18 34z' fill='none' stroke='black' stroke-width='4'/%3E%3Ccircle cx='32' cy='23' r='7' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='M20 57h24' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}
.worry-card[data-icon="maze"]::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 22c5-8 20-8 25 0 5 7-1 12-8 12h-6c-5 0-8 3-8 7 0 5 5 8 11 8 4 0 8-1 12-4' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='32' cy='56' r='3'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 22c5-8 20-8 25 0 5 7-1 12-8 12h-6c-5 0-8 3-8 7 0 5 5 8 11 8 4 0 8-1 12-4' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='32' cy='56' r='3'/%3E%3C/svg%3E");
}
.worry-card[data-icon="book"]::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 16c9-3 16-1 19 4v32c-4-5-11-7-19-4V16zM51 16c-9-3-16-1-19 4v32c4-5 11-7 19-4V16z' fill='none' stroke='black' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M43 16v12l-5-3-5 3V20' fill='none' stroke='black' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 16c9-3 16-1 19 4v32c-4-5-11-7-19-4V16zM51 16c-9-3-16-1-19 4v32c4-5 11-7 19-4V16z' fill='none' stroke='black' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M43 16v12l-5-3-5 3V20' fill='none' stroke='black' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.worry-card[data-icon="home"]::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 32l22-20 22 20M17 29v23h30V29M27 52V38h10v14' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M47 17l7-7 4 4-7 7' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 32l22-20 22 20M17 29v23h30V29M27 52V38h10v14' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M47 17l7-7 4 4-7 7' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}
.worry-card[data-icon="chat"]::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17h40v28H28L16 54v-9h-4V17z' fill='none' stroke='black' stroke-width='4' stroke-linejoin='round'/%3E%3Ccircle cx='25' cy='31' r='3'/%3E%3Ccircle cx='32' cy='31' r='3'/%3E%3Ccircle cx='39' cy='31' r='3'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17h40v28H28L16 54v-9h-4V17z' fill='none' stroke='black' stroke-width='4' stroke-linejoin='round'/%3E%3Ccircle cx='25' cy='31' r='3'/%3E%3Ccircle cx='32' cy='31' r='3'/%3E%3Ccircle cx='39' cy='31' r='3'/%3E%3C/svg%3E");
}
.worry-card b{
  color:var(--navy);
  font-weight:900;
  line-height:1.55;
  text-align:center;
}

.ba-slider{
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:16/8.1;
  background:#fff;
  border:12px solid #fff;
  box-shadow:0 18px 38px rgba(7,26,58,.12);
}
.ba-slider img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ba__base{
  filter:grayscale(1) contrast(.95);
}
.ba__after{
  position:absolute;
  inset:0;
  clip-path:inset(0 0 0 50%);
}
.ba__label{
  position:absolute;
  top:28px;
  z-index:2;
  background:rgba(7,26,58,.88);
  color:#fff;
  padding:.55rem 1.15rem;
  font-weight:900;
  letter-spacing:.18em;
  font-size:1.1rem;
}
.ba__label--before{ left:28px; }
.ba__label--after{ right:28px; }
.ba__handle{
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(7,26,58,.12);
}
.ba__handle::after{
  content:"‹›";
  position:absolute;
  top:50%;
  left:50%;
  width:58px;
  height:58px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--navy);
  font-size:1.6rem;
  font-weight:900;
  box-shadow:0 8px 20px rgba(7,26,58,.18);
}
.ba__range{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
}

@media(max-width:980px){
  .worry-grid{ grid-template-columns:repeat(3,1fr); }
  .ba-slider{ aspect-ratio:16/9.8; border-width:8px; }
}
@media(max-width:640px){
  .worry-grid{ grid-template-columns:repeat(2,1fr); gap:10px; padding:.8rem; }
  .worry-card{ min-height:132px; padding:.85rem .45rem; }
  .worry-card::before{ width:52px; height:52px; }
  .ba-slider{ aspect-ratio:4/3.4; }
  .ba__label{ top:12px; font-size:.78rem; padding:.4rem .65rem; }
  .ba__label--before{ left:12px; }
  .ba__label--after{ right:12px; }
  .ba__handle::after{ width:46px; height:46px; font-size:1.25rem; }
}

/* Trust section: match supplied legal-support design */
.trust{
  background:#fff;
  padding-block:clamp(54px,7vw,88px);
}
.trust__box{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  gap:clamp(24px,4vw,42px);
  width:min(100%,980px);
  margin-inline:auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.trust__box h2{
  margin:0;
  color:var(--navy);
  font-family:var(--sans);
  font-size:clamp(1.75rem,3.2vw,2.45rem);
  font-weight:900;
  line-height:1.48;
  letter-spacing:.03em;
}
.trust__box .trust__photo{
  width:min(100%,470px);
  height:auto;
  max-height:360px;
  object-fit:contain;
  object-position:center;
  justify-self:center;
}
.trust__cards{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.trust__cards article{
  min-height:150px;
  border:1.5px solid rgba(7,26,58,.72);
  border-radius:6px;
  background:#fff;
  padding:1.35rem 1.25rem 1.25rem;
  box-shadow:0 15px 28px rgba(7,26,58,.08);
  text-align:center;
}
.trust__cards h3{
  margin:0 0 .72rem;
  color:var(--navy);
  font-size:1.05rem;
  font-weight:900;
  line-height:1.55;
}
.trust__cards p{
  margin:0;
  color:#333;
  font-size:.9rem;
  line-height:1.9;
  font-weight:500;
}

@media(max-width:980px){
  .trust__cards{ gap:16px; }
  .trust__cards article{ padding:1.1rem 1rem; }
}

@media(max-width:640px){
  .trust{ padding-block:46px 56px; }
  .trust__box{ gap:22px; }
  .trust__box h2{ font-size:1.55rem; line-height:1.55; }
  .trust__photo{ width:min(100%,340px); max-height:280px; }
  .trust__cards{ grid-template-columns:1fr; gap:12px; }
  .trust__cards article{ min-height:auto; }
}

/* Urgency section: match supplied navy alert design */
.urgency{
  padding:0 0 clamp(48px,6vw,70px);
  background:#fff;
}
.urgency__head{
  width:100%;
  background:rgba(7,26,58,.88);
  color:#fff;
  text-align:center;
  padding:1.4rem var(--gut) 1.25rem;
}
.urgency__alert{
  width:58px;
  height:52px;
  margin:0 auto .55rem;
  display:grid;
  place-items:center;
  color:var(--navy);
  font-size:2rem;
  font-weight:900;
  line-height:1;
  background:#ffd45b;
  clip-path:polygon(50% 0, 100% 92%, 0 92%);
}
.urgency__head h2{
  margin:0;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(1.8rem,3.6vw,2.55rem);
  font-weight:900;
  line-height:1.3;
  letter-spacing:.04em;
}
.urgency__head h2 span{
  color:#ffd45b;
}
.urgency__content{
  padding-top:1.9rem;
}
.urgency .urgency__lead{
  margin:0 0 2.1rem;
  text-align:center;
  color:#de6f35;
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:.04em;
}
.urgency__cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.urgency__cards article{
  background:#fff8fb;
  min-height:300px;
  padding:2.1rem 2rem 1.85rem;
  display:grid;
  justify-items:center;
  align-content:start;
  text-align:center;
  border:0;
  box-shadow:0 18px 28px rgba(7,26,58,.08);
}
.urgency__cards img{
  width:132px;
  height:132px;
  object-fit:contain;
  margin-bottom:1.3rem;
}
.urgency__cards h3{
  margin:0 0 .8rem;
  color:#de6f35;
  font-family:var(--sans);
  font-size:1.18rem;
  font-weight:900;
  line-height:1.55;
}
.urgency__cards p{
  margin:0;
  color:#333;
  font-size:.94rem;
  line-height:1.9;
  font-weight:500;
}

@media(max-width:760px){
  .urgency__head{ padding-block:1.1rem 1rem; }
  .urgency__alert{ width:48px; height:44px; font-size:1.6rem; }
  .urgency__cards{ grid-template-columns:1fr; gap:16px; }
  .urgency__lead{ margin-bottom:1.35rem; font-size:1rem; }
  .urgency__cards article{ min-height:auto; padding:1.55rem 1.2rem; }
  .urgency__cards img{ width:112px; height:112px; margin-bottom:1rem; }
}

/* Worry section: cloud thoughts around the family illustration */
.worries{
  background:#fff;
}
.worry-clouds{
  position:relative;
  min-height:520px;
  margin:1.8rem auto 0;
  width:min(100%,900px);
  display:grid;
  place-items:end center;
}
.worry-clouds .worry-family{
  position:relative;
  z-index:1;
  width:min(440px,54vw);
  margin:0 auto;
  filter:none;
}
.worry-clouds .worry-card{
  position:absolute;
  z-index:2;
  width:190px;
  min-height:96px;
  padding:1.05rem 1rem;
  border:2px solid rgba(7,26,58,.28);
  border-radius:48% 52% 46% 54% / 56% 47% 53% 44%;
  background:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 10px 24px rgba(7,26,58,.08);
}
.worry-clouds .worry-card::before{
  display:none;
}
.worry-clouds .worry-card::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-18px;
  width:18px;
  height:18px;
  border:2px solid rgba(7,26,58,.24);
  border-radius:50%;
  background:#fff;
  box-shadow:18px 14px 0 -5px #fff, 18px 14px 0 -3px rgba(7,26,58,.22);
}
.worry-clouds .worry-card b{
  color:var(--navy);
  font-size:1rem;
  font-weight:900;
  line-height:1.55;
  text-align:center;
}
.worry-clouds .worry-card:nth-of-type(1){
  top:42px;
  left:5%;
  transform:rotate(-5deg);
}
.worry-clouds .worry-card:nth-of-type(2){
  top:0;
  left:29%;
  transform:rotate(3deg);
}
.worry-clouds .worry-card:nth-of-type(3){
  top:0;
  right:28%;
  transform:rotate(-2deg);
}
.worry-clouds .worry-card:nth-of-type(4){
  top:42px;
  right:4%;
  transform:rotate(4deg);
}
.worry-clouds .worry-card:nth-of-type(5){
  top:142px;
  left:50%;
  transform:translateX(-50%) rotate(-1deg);
}
.section-lead--worry{
  margin-top:1.15rem;
  font-size:1.32rem;
  line-height:1.75;
  font-weight:900;
  color:var(--navy);
}

@media(max-width:760px){
  .worry-clouds{
    min-height:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    place-items:center;
    margin-top:1.3rem;
  }
  .worry-clouds .worry-family{
    grid-column:1/-1;
    grid-row:1;
    width:min(390px,82vw);
    margin-bottom:.4rem;
  }
  .worry-clouds .worry-card{
    position:relative;
    inset:auto;
    transform:none !important;
    width:100%;
    min-height:90px;
    grid-row:auto;
  }
  .worry-clouds .worry-card::after{ display:none; }
}

/* MV refinements: price suffix beside 800 and horizontal award-style badges. */
.hero h1 strong{
  display:inline-flex;
  align-items:flex-end;
  gap:.08em;
  width:max-content;
  max-width:100%;
  flex-wrap:wrap;
}
.hero h1 strong em{
  display:inline-block;
  margin:0 0 .22em .04em;
  padding:.05em .24em .1em;
  font-size:.27em;
  line-height:1;
  letter-spacing:0;
  background:#fff;
  color:var(--navy);
  transform:rotate(-2deg);
  box-shadow:0 3px 0 rgba(7,26,58,.18);
}
.price-seals{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  width:min(520px, 100%);
  left:-18px;
  bottom:18px;
  gap:.7rem;
}
.price-seals div{
  position:relative;
  overflow:hidden;
  width:auto;
  min-height:104px;
  border-radius:0;
  border:2px solid rgba(215,167,60,.85);
  background:linear-gradient(90deg, rgba(255,255,255,.96), rgba(243,251,255,.95));
  box-shadow:0 6px 0 rgba(7,26,58,.16), 0 14px 24px rgba(0,0,0,.18);
}
.price-seals div::before,
.price-seals div::after{
  content:"";
  position:absolute;
  top:50%;
  width:32px;
  height:76px;
  opacity:.82;
  background:
    radial-gradient(ellipse at center, #f6c33b 0 45%, transparent 48%) 50% 0/12px 16px repeat-y;
}
.price-seals div::before{
  left:8px;
  transform:translateY(-50%) rotate(-13deg);
}
.price-seals div::after{
  right:8px;
  transform:translateY(-50%) rotate(13deg);
}
.price-seals small,
.price-seals b,
.price-seals span{
  position:relative;
  z-index:1;
}
.price-seals small{
  display:inline-grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  padding:0 .28rem;
  background:#f7c83b;
  color:#fff;
  font-size:.72rem;
  line-height:1.18;
}
.price-seals b{
  margin-top:.15rem;
  font-family:var(--sans);
  color:#f7c83b;
  font-size:clamp(2.25rem, 4vw, 3.5rem);
  letter-spacing:0;
  text-shadow:none;
}
.price-seals b em{
  color:#f7c83b;
  font-size:.42em;
}
.price-seals span{
  color:#f7c83b;
  font-size:1.05rem;
  line-height:1;
}

@media(max-width:760px){
  .hero h1 strong{
    display:inline-flex;
  }
  .hero h1 strong em{
    margin-bottom:.2em;
    font-size:.3em;
  }
  .price-seals{
    position:static;
    grid-template-columns:1fr 1fr;
    width:100%;
    margin-top:.75rem;
    gap:.5rem;
  }
  .price-seals div{
    min-height:84px;
    padding:.38rem .3rem;
    align-content:center;
    gap:.06rem;
  }
  .price-seals div::before,
  .price-seals div::after{
    width:20px;
    height:52px;
    background-size:8px 11px;
  }
  .price-seals small{
    width:38px;
    height:38px;
    font-size:.55rem;
  }
  .price-seals b{
    margin-top:0;
    font-size:1.85rem;
    line-height:.92;
  }
  .price-seals span{
    font-size:.72rem;
  }

  .worries{
    padding-block:34px 40px;
  }
  .worry-clouds{
    display:block;
    min-height:570px;
    width:min(100%,390px);
    margin:1.2rem auto 0;
  }
  .worry-clouds .worry-family{
    position:absolute;
    z-index:1;
    top:230px;
    left:50%;
    width:min(300px,78vw);
    transform:translateX(-50%) !important;
    margin:0;
  }
  .worry-clouds .worry-card{
    position:absolute;
    z-index:2;
    width:150px;
    min-height:78px;
    padding:.7rem .75rem;
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 20px rgba(7,26,58,.07);
  }
  .worry-clouds .worry-card b{
    font-size:.86rem;
    line-height:1.45;
  }
  .worry-clouds .worry-card:nth-of-type(1){
    top:0;
    left:6px;
    right:auto;
  }
  .worry-clouds .worry-card:nth-of-type(2){
    top:0;
    left:auto;
    right:8px;
  }
  .worry-clouds .worry-card:nth-of-type(3){
    top:108px;
    left:0;
    right:auto;
  }
  .worry-clouds .worry-card:nth-of-type(4){
    top:108px;
    left:auto;
    right:0;
  }
  .worry-clouds .worry-card:nth-of-type(5){
    top:188px;
    left:50%;
    right:auto;
    transform:translateX(-50%) !important;
  }
}

/* MV polish: keep 800 dominant, badge labels rectangular, phone below badges. */
.hero h1 strong{
  align-items:flex-end;
  gap:.04em;
}
.hero h1 strong [data-count]{
  font-size:1.14em;
  line-height:.82;
}
.hero__price-unit{
  font-size:calc(1em - 7px);
  line-height:.98;
}
.hero__phone{
  z-index:1;
  right:2%;
  bottom:-198px;
}
.price-seals{
  z-index:3;
}
.price-seals small{
  width:auto;
  height:auto;
  min-height:0;
  border-radius:999px;
  padding:.28rem .55rem .32rem;
  background:var(--orange);
  white-space:nowrap;
}
.price-seals div::before,
.price-seals div::after{
  background:
    radial-gradient(ellipse at center, var(--orange) 0 45%, transparent 48%) 50% 0/12px 16px repeat-y;
}
.price-seals b,
.price-seals b em,
.price-seals span{
  color:var(--orange);
}

@media(min-width:761px){
  .hero{
    padding-bottom:130px;
  }
}

@media(max-width:760px){
  .hero__copy{
    display:flex;
    flex-direction:column;
  }
  .hero__side--pc{
    display:none;
  }
  .hero__side--sp{
    display:block;
    margin:1rem 0 1rem;
    order:4;
  }
  .hero__copy > .line-cta{
    order:6;
    margin-top:6px;
  }
  .hero__badges{
    order:5;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    margin:0 0 0;
  }
  .hero__badges li{
    min-width:0;
    width:100%;
    padding:.3rem .35rem;
    white-space:nowrap;
  }
  .hero h1 strong{
    gap:.03em;
  }
  .hero__price-unit{
    font-size:calc(1em - 8px);
  }
  .hero__side{
    padding-bottom:24px;
  }
  .hero__family{
    position:relative;
    z-index:1;
    object-position:center 18%;
  }
  .hero__half{
    top:10px;
    left:10px;
    padding:.42rem .62rem .48rem;
    font-size:1.08rem;
    border-width:2px;
  }
  .hero__phone{
    right:6px;
    bottom:72px;
    width:92px;
    z-index:2;
  }
  .price-seals{
    position:relative;
    z-index:4;
    left:auto;
    right:auto;
    bottom:auto;
    width:calc(100% - 12px);
    margin:.62rem auto 0;
  }
  .price-seals small{
    width:auto;
    height:auto;
    padding:.18rem .42rem .22rem;
    border-radius:999px;
    font-size:.55rem;
  }
  .worries{
    padding-block:30px 18px;
  }
  .worries + .section.compact{
    padding-top:20px;
  }
  .worry-clouds{
    min-height:438px;
    margin-top:.95rem;
  }
  .worry-clouds .worry-family{
    top:176px;
    width:min(312px,82vw);
  }
  .worry-clouds .worry-card{
    min-height:72px;
    padding:.62rem .7rem;
  }
  .worry-clouds .worry-card:nth-of-type(3){
    top:94px;
  }
  .worry-clouds .worry-card:nth-of-type(4){
    top:94px;
  }
  .worry-clouds .worry-card:nth-of-type(5){
    top:170px;
  }
  .section-title{
    font-size:clamp(1.72rem, 7.4vw, 2.02rem);
    line-height:1.48;
    letter-spacing:.01em;
  }
  .section-lead{
    font-size:1rem;
    line-height:1.85;
  }
  .section-lead--worry{
    margin-top:.85rem;
    font-size:1.2rem;
    line-height:1.7;
  }
  .section-title--three{
    margin-top:0;
  }
}

/* Requested content update refinements */
.diagnosis__sub{
  color:var(--navy);
  font-weight:900;
  margin-bottom:.45rem;
}

.ba-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.ba-grid .ba-slider{
  aspect-ratio:4/5;
  border-width:8px;
}
.ba-grid .ba__label{
  top:14px;
  padding:.38rem .62rem;
  font-size:.72rem;
  letter-spacing:.1em;
}
.ba-grid .ba__label--before{ left:12px; }
.ba-grid .ba__label--after{ right:12px; }
.ba-grid .ba__handle::after{
  width:46px;
  height:46px;
  font-size:1.25rem;
}

.trust__lead,
.trust__sublead{
  margin:0;
  max-width:760px;
  color:var(--navy);
  font-weight:800;
  line-height:1.9;
}
.trust__sublead{
  font-size:1.08rem;
}

@media(min-width:981px){
  .voice-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media(max-width:760px){
  .compare__box{
    overflow-x:auto;
  }
  .compare__box table{
    min-width:680px;
  }
  .section-title .compare-title-pc{
    display:none;
  }
  .section-title .compare-title-sp{
    display:block;
  }
  .ba-grid{
    grid-template-columns:1fr;
  }
  .ba-grid .ba-slider{
    aspect-ratio:4/3.4;
  }
  .worry-clouds{
    min-height:520px;
  }
  .worry-clouds .worry-family{
    top:232px;
  }
  .worry-clouds .worry-card:nth-of-type(5){
    top:168px;
  }
}

/* Final CTA uses the website brand action, not LINE. */
.final .web-cta{
  background:linear-gradient(180deg,#f08b3a 0%, var(--orange) 100%);
  box-shadow:0 5px 0 #b84f1e, 0 16px 28px rgba(0,0,0,.18);
}
.final .web-cta::before{
  display:none;
}

/* Header logo and menu update */
.topbar__in{
  gap:clamp(.8rem,2vw,1.6rem);
  height:78px;
  padding-block:2px;
}
.brand{
  flex:0 0 auto;
  align-items:center;
}
.brand__logo{
  width:clamp(150px,18vw,210px);
  height:auto;
}
.header-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.75rem,1.6vw,1.35rem);
  flex:1 1 auto;
  min-width:0;
  color:var(--navy);
  font-size:.88rem;
  font-weight:800;
  white-space:nowrap;
}
.header-nav a{
  position:relative;
  padding:.35rem 0;
}
.header-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.12rem;
  height:2px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.header-nav a:hover::after{
  transform:scaleX(1);
}
.menu-toggle{
  display:none;
}

@media(max-width:980px){
  .topbar__in{
    flex-wrap:wrap;
    justify-content:space-between;
    padding:.7rem 0 .55rem;
  }
  .brand__logo{
    width:150px;
  }
  .header-nav{
    order:3;
    flex:0 0 100%;
    justify-content:flex-start;
    gap:1rem;
    overflow-x:auto;
    padding:.25rem 0 .05rem;
    scrollbar-width:none;
  }
  .header-nav::-webkit-scrollbar{
    display:none;
  }
}

@media(max-width:640px){
  .topbar{
    background:rgba(255,255,255,.96);
  }
  .topbar__in{
    position:relative;
    height:58px;
    flex-wrap:nowrap;
    gap:.55rem;
    padding:.35rem 0;
  }
  .brand{
    display:flex;
    order:1;
  }
  .brand__logo{
    width:124px;
  }
  .menu-toggle{
    display:inline-flex;
    order:3;
    flex:0 0 38px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    border:1px solid rgba(7,26,58,.16);
    border-radius:6px;
    background:#fff;
    color:var(--navy);
  }
  .menu-toggle span{
    width:18px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
  }
  .topbar.is-open .menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .topbar.is-open .menu-toggle span:nth-child(2){
    opacity:0;
  }
  .topbar.is-open .menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .header-nav{
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:60;
    flex-direction:column;
    align-items:stretch;
    order:4;
    flex:0 0 auto;
    overflow:visible;
    padding:.45rem;
    border:1px solid rgba(7,26,58,.12);
    border-radius:8px;
    background:rgba(255,255,255,.98);
    box-shadow:0 16px 32px rgba(7,26,58,.16);
    font-size:.78rem;
    gap:0;
  }
  .topbar.is-open .header-nav{
    display:flex;
  }
  .header-nav a{
    padding:.62rem .7rem;
    border-radius:5px;
  }
  .header-nav a + a{
    border-top:1px solid rgba(7,26,58,.08);
  }
  .header-nav a::after{
    display:none;
  }
  .line-mini{
    order:2;
    margin-left:auto;
    font-size:.74rem;
    padding:.42rem .58rem;
    border-radius:6px;
  }
  .worry-clouds .worry-family{
    width:min(330px,86vw);
    object-fit:contain;
  }
}
