/* =========================================================
   House Cleaning Set Menu V2
   Scoped under .hc-v2 to avoid collisions with legacy CSS.
   Based on the Aircon Full Course V2 visual system.
   ========================================================= */

:root{
  --hc-blue:#0a74f5;
  --hc-blue-dark:#0b2f70;
  --hc-blue-deep:#08265d;
  --hc-blue-soft:#eaf5ff;
  --hc-gold:#e39a00;
  --hc-gold-2:#ffc84d;
  --hc-line:#dbe8f6;
  --hc-text:#0d2d68;
  --hc-muted:#4f6489;
  --hc-bg:#f7fbff;
  --hc-card:#ffffff;
  --hc-shadow:0 10px 28px rgba(13,64,130,.12);
  --hc-shadow-strong:0 14px 34px rgba(13,64,130,.18);
}

.hc-v2,
.hc-v2 *{ box-sizing:border-box; }

.hc-v2{
  color:var(--hc-text);
  background:#fff;
  font-family:inherit;
  overflow:hidden;
}

.hc-v2 img{ display:block; max-width:100%; }
.hc-v2 a{ color:inherit; text-decoration:none; }
.hc-v2 p{ margin:0; }
.hc-v2 h1,.hc-v2 h2,.hc-v2 h3,.hc-v2 h4{ color:var(--hc-blue-dark); }

.hc-v2-shell{
  width:min(100%, 860px);
  margin:0 auto;
  padding-inline:18px;
  position:relative;
}

.hc-v2-section{ padding:46px 0; }

/* -------------------------
   Shared heading
------------------------- */
.hc-v2-heading{
  text-align:center;
  margin:0 auto 26px;
}
.hc-v2-heading__en{
  color:var(--hc-blue);
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
  margin-bottom:6px;
}
.hc-v2-heading h2{
  margin:0;
  font-size:30px;
  line-height:1.35;
  letter-spacing:.03em;
  font-weight:900;
}
.hc-v2-heading h2::after{
  content:"";
  display:block;
  width:56px;
  height:4px;
  margin:11px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--hc-blue) 0 60%, #ffd56b 60% 100%);
}
.hc-v2-heading p{
  margin-top:12px;
  color:var(--hc-text);
  font-size:14px;
  line-height:1.8;
  font-weight:600;
}

/* -------------------------
   HERO
------------------------- */
.hc-v2-hero{
  position:relative;
  min-height:760px;
  padding:0 0 34px;
  background:
    radial-gradient(circle at 18% 22%, rgba(88,174,255,.24) 0 1px, transparent 2px),
    linear-gradient(180deg,#edf8ff 0%,#f8fcff 55%,#fff 100%);
}
.hc-v2-hero::before,
.hc-v2-hero::after{
  content:"✦";
  position:absolute;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,126,255,.25);
  z-index:2;
}
.hc-v2-hero::before{ left:7%; top:12%; font-size:34px; }
.hc-v2-hero::after{ left:14%; top:34%; font-size:20px; }

.hc-v2-hero__visual{
  position:absolute;
  inset:0 0 auto auto;
  width:66%;
  height:560px;
  border-bottom-left-radius:55% 38%;
  overflow:hidden;
  background:linear-gradient(135deg,#f3f7fb,#dbefff);
}
.hc-v2-hero__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(239,248,255,.2),rgba(255,255,255,0));
}
.hc-v2-hero__visual img{ width:100%; height:100%; object-fit:cover; }

.hc-v2-hero__content{
  position:relative;
  z-index:3;
  padding-top:140px;
  padding-right:44%;
  min-height:560px;
}
.hc-v2-kicker{
  color:var(--hc-blue);
  font-size:14px;
  font-weight:900;
  letter-spacing:.24em;
  margin-bottom:14px;
}
.hc-v2-hero__title{
  margin:0;
  font-size:42px;
  line-height:1.34;
  font-weight:900;
  letter-spacing:.03em;
}
.hc-v2-hero__accent{
  width:130px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--hc-blue) 0 62%,#ffd15c 62% 100%);
  margin:18px 0 22px;
}
.hc-v2-hero__lead{
  font-size:18px;
  line-height:1.9;
  font-weight:800;
}

/* -------------------------
   Price box
------------------------- */
.hc-v2-pricebox{
  position:relative;
  background:rgba(255,255,255,.98);
  border:2px solid #f3c65c;
  border-radius:22px;
  box-shadow:var(--hc-shadow-strong);
  padding:28px 34px 24px;
}
.hc-v2-pricebox--hero{
  z-index:5;
  margin-top:-58px;
}
.hc-v2-pricebox h2,
.hc-v2-pricebox__title{
  margin:0 0 18px;
  text-align:center;
  font-size:29px;
  font-weight:900;
  letter-spacing:.08em;
}
.hc-v2-pricebox__title{ color:#c88a00; }
.hc-v2-pricebox__row{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:18px;
  padding:16px 22px;
  border-bottom:1px dashed #d5e1ed;
}
.hc-v2-pricebox__row>span{
  font-size:18px;
  font-weight:900;
}
.hc-v2-pricebox__row strong{
  color:#d68d00;
  font-size:43px;
  line-height:1;
  letter-spacing:.02em;
}
.hc-v2-pricebox__row strong small{
  font-size:13px;
  color:var(--hc-blue-dark);
  margin-left:6px;
  font-weight:800;
}
.hc-v2-discount-ribbon{
  position:relative;
  width:92%;
  margin:18px auto 0;
  padding:12px 18px;
  text-align:center;
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:.03em;
  background:linear-gradient(90deg,#d99800,#ffb615,#d99800);
  clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);
  text-shadow:0 1px 2px rgba(98,59,0,.2);
}
.hc-v2-spark{ position:absolute; color:#ffc64c; font-size:26px; }
.hc-v2-spark--left{ left:18%; top:18px; }
.hc-v2-spark--right{ right:18%; top:24px; }

.hc-v2-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:34px;
}
.hc-v2-benefit-card{
  min-height:185px;
  padding:20px 14px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--hc-shadow);
  border:1px solid #edf4fb;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  font-size:18px;
  font-weight:900;
  text-align:center;
}
.hc-v2-benefit-card__icon{
  width:90px;
  height:90px;
  border-radius:50%;
  background:radial-gradient(circle,#f8fbff,#eaf4ff);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hc-v2-benefit-card__icon img{ width:74%; height:74%; object-fit:contain; }

/* -------------------------
   PROBLEM
------------------------- */
.hc-v2-problem{
  position:relative;
  background:linear-gradient(180deg,#f1f8ff 0,#f8fbff 100%);
  overflow:hidden;
}
.hc-v2-problem__inner{ z-index:2; }
.hc-v2-problem__bg{
  position:absolute;
  width:29%;
  height:68%;
  opacity:.9;
  filter:saturate(.8);
}
.hc-v2-problem__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#f1f8ff,transparent 30%,transparent 70%,#f1f8ff);
}
.hc-v2-problem__bg img{ width:100%; height:100%; object-fit:cover; }
.hc-v2-problem__bg--left{ left:0; top:24%; }
.hc-v2-problem__bg--right{ right:0; top:30%; }
.hc-v2-problem__mascot{
  position:absolute;
  top:74px;
  right:24px;
  width:120px;
  height:120px;
}
.hc-v2-problem__mascot img{ width:100%; height:100%; object-fit:contain; }
.hc-v2-checklist{
  position:relative;
  z-index:2;
  width:min(72%,560px);
  margin:24px auto 0;
  display:grid;
  gap:14px;
}
.hc-v2-checkitem{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:64px;
  padding:14px 20px;
  background:rgba(255,255,255,.95);
  border-radius:18px;
  box-shadow:0 8px 22px rgba(19,72,132,.12);
  font-size:18px;
  font-weight:800;
}
.hc-v2-checkitem span{
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:50%;
  border:2px solid var(--hc-blue);
  color:var(--hc-blue);
  display:grid;
  place-items:center;
  font-weight:900;
}

/* -------------------------
   STANDARD CLEANING
------------------------- */
.hc-v2-cleaning{ background:#fff; }
.hc-v2-cleaning-card{
  overflow:hidden;
  border-radius:22px;
  border:2px solid #d9eaff;
  background:#fff;
  box-shadow:var(--hc-shadow);
}
.hc-v2-cleaning-card__media{
  position:relative;
  min-height:330px;
  overflow:hidden;
  background:linear-gradient(180deg,#f6fbff,#eef7ff);
}
.hc-v2-cleaning-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hc-v2-cleaning-card__badge{
  position:absolute;
  top:18px;
  right:18px;
  width:82px;
  height:82px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  color:#9d6600;
  background:radial-gradient(circle,#fffaf0,#ffe4a2);
  border:3px solid #e7aa19;
  box-shadow:0 0 0 6px #fff7dc,0 6px 18px rgba(122,79,0,.18);
  font-size:16px;
  line-height:1.15;
  font-weight:900;
}
.hc-v2-cleaning-card__body{
  padding:20px 24px 22px;
  display:grid;
  gap:12px;
}
.hc-v2-cleaning-point{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px dashed #d4e1ef;
}
.hc-v2-cleaning-point:last-child{ border-bottom:0; }
.hc-v2-cleaning-point>span{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#1988ff,#0767db);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
}
.hc-v2-cleaning-point strong{
  display:block;
  font-size:20px;
  line-height:1.45;
  color:var(--hc-blue-dark);
}
.hc-v2-cleaning-point p{
  margin-top:5px;
  font-size:14px;
  line-height:1.75;
  font-weight:600;
  color:var(--hc-muted);
}
.hc-v2-cleaning-copy{
  text-align:center;
  margin-top:28px;
  font-size:23px;
  line-height:1.55;
  font-weight:900;
}
.hc-v2-cleaning-copy strong{
  color:var(--hc-blue);
  font-size:28px;
}

/* -------------------------
   BEFORE / AFTER
------------------------- */
.hc-v2-beforeafter{ background:linear-gradient(180deg,#f7fbff,#fff); }
.hc-v2-ba-card{
  margin-top:18px;
  padding:18px;
  border-radius:20px;
  background:#fff;
  box-shadow:var(--hc-shadow);
  border:1px solid #edf3f9;
}
.hc-v2-ba-card h3{
  margin:0 0 14px;
  text-align:center;
  font-size:26px;
  font-weight:900;
}
.hc-v2-ba-card__desktop{
  display:grid;
  grid-template-columns:1fr 48px 1fr;
  align-items:center;
  gap:10px;
}
.hc-v2-ba-card__mobile{ display:none; }
.hc-v2-ba-photo{
  position:relative;
  min-height:240px;
  background:#eef3f7;
  border-radius:14px;
  overflow:hidden;
}
.hc-v2-ba-photo img{ width:100%; height:100%; object-fit:cover; }
.hc-v2-ba-tag{
  position:absolute;
  top:8px;
  left:8px;
  z-index:2;
  padding:3px 10px;
  border-radius:8px;
  background:#fff;
  color:#27364e;
  font-size:13px;
  font-weight:900;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.hc-v2-ba-tag--after{ color:var(--hc-blue); }
.hc-v2-ba-arrow{
  text-align:center;
  font-size:44px;
  color:var(--hc-blue);
  font-weight:900;
}
.hc-v2-ba-card p{
  margin-top:12px;
  text-align:center;
  font-size:15px;
  font-weight:800;
  line-height:1.6;
}
.hc-v2-movie-link{
  margin-top:20px;
  min-height:68px;
  padding:0 22px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--hc-shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:17px;
  font-weight:900;
}
.hc-v2-movie-link span{
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--hc-blue);
  color:#fff;
  display:grid;
  place-items:center;
}
.hc-v2-movie-link b{ color:var(--hc-blue); }

/* -------------------------
   PROCESS
------------------------- */
.hc-v2-process{ background:#f4f9ff; }
.hc-v2-timeline{
  position:relative;
  display:grid;
  gap:16px;
  padding-left:42px;
}
.hc-v2-timeline::before{
  content:"";
  position:absolute;
  left:20px;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(#0a74f5,#58b9ff);
}
.hc-v2-step-card{
  position:relative;
  min-height:210px;
  display:grid;
  grid-template-columns:42% 1fr;
  gap:26px;
  align-items:center;
  padding:14px 20px 14px 14px;
  border-radius:20px;
  background:#fff;
  box-shadow:var(--hc-shadow);
}
.hc-v2-step-card__dot{
  position:absolute;
  left:-34px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  border-radius:50%;
  border:6px solid #0a74f5;
  background:#fff;
  z-index:2;
}
.hc-v2-step-card__media{
  height:180px;
  border-radius:14px;
  overflow:hidden;
  background:#eaf2f9;
}
.hc-v2-step-card__media img{ width:100%; height:100%; object-fit:cover; }
.hc-v2-step-card__content span{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:0 18px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(90deg,#0a70eb,#2399ff);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.hc-v2-step-card__content h3{
  margin:12px 0 8px;
  font-size:24px;
  line-height:1.4;
  font-weight:900;
}
.hc-v2-step-card__content p{
  font-size:15px;
  line-height:1.8;
  font-weight:600;
  color:var(--hc-text);
}

/* -------------------------
   MAIN PRICE + OPTIONS + REVIEWS
------------------------- */
.hc-v2-price-section{ background:linear-gradient(180deg,#f7fbff,#fff); }
.hc-v2-pricebox--main{ padding-top:24px; }
.hc-v2-price-note{
  width:max-content;
  max-width:90%;
  margin:15px auto -42px;
  padding:9px 20px;
  border-radius:999px;
  border:2px solid #cfe3ff;
  background:#fff;
  color:var(--hc-blue);
  font-size:15px;
  font-weight:900;
  box-shadow:0 5px 14px rgba(24,96,177,.10);
}
.hc-v2-subheading{
  text-align:center;
  margin:70px 0 18px;
}
.hc-v2-subheading span{
  display:block;
  color:var(--hc-blue);
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
}
.hc-v2-subheading h3{
  margin:4px 0 0;
  font-size:29px;
  font-weight:900;
}
.hc-v2-options{ display:grid; gap:12px; }
.hc-v2-option-card{
  min-height:122px;
  display:grid;
  grid-template-columns:190px 1fr auto;
  align-items:center;
  gap:20px;
  padding:12px 18px 12px 12px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--hc-shadow);
}
.hc-v2-option-card__media{
  height:98px;
  border-radius:12px;
  overflow:hidden;
  background:#eef3f7;
}
.hc-v2-option-card__media img{ width:100%; height:100%; object-fit:cover; }
.hc-v2-option-card__body h4{ margin:0 0 5px; font-size:20px; font-weight:900; }
.hc-v2-option-card__body p{ font-size:14px; font-weight:600; }
.hc-v2-option-card>strong{ color:var(--hc-blue); font-size:28px; white-space:nowrap; }
.hc-v2-option-card>strong small{ font-size:12px; color:var(--hc-blue-dark); margin-left:4px; }
.hc-v2-option-note{ margin-top:12px !important; text-align:center; font-size:13px; font-weight:600; }

.hc-v2-review-badges{
  display:flex;
  justify-content:center;
  gap:28px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.hc-v2-review-badges>div{
  min-height:48px;
  padding:0 22px;
  border:2px solid #d9e8fa;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  background:#fff;
}
.hc-v2-review-badges__icon{ width:25px; height:25px; display:inline-block; }
.hc-v2-review-badges__icon img{ width:100%; height:100%; object-fit:contain; }
.hc-v2-reviews{ display:grid; gap:14px; }
.hc-v2-review-card{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:20px;
  padding:18px 22px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--hc-shadow);
}
.hc-v2-review-card__user{
  width:100px;
  height:100px;
  border-radius:50%;
  background:linear-gradient(145deg,#eaf5ff,#b9dcff);
  color:var(--hc-blue);
  font-size:45px;
  display:grid;
  place-items:center;
  position:relative;
}
.hc-v2-review-card__user small{
  position:absolute;
  top:105px;
  width:130px;
  text-align:center;
  color:var(--hc-text);
  font-size:13px;
  font-weight:700;
}
.hc-v2-review-card__body{ padding:2px 0 10px; }
.hc-v2-stars{ color:#ffae00; letter-spacing:.18em; font-size:22px; font-weight:900; }
.hc-v2-review-card__body p{ margin-top:8px; font-size:15px; line-height:1.8; font-weight:600; }

/* -------------------------
   FAQ / AREA / FINAL CTA
------------------------- */
.hc-v2-faq-area{ background:linear-gradient(180deg,#fff,#f4f9ff); }
.hc-v2-faq{ display:grid; gap:12px; }
.hc-v2-faq details{
  background:#fff;
  border-radius:16px;
  box-shadow:var(--hc-shadow);
  overflow:hidden;
}
.hc-v2-faq summary{
  list-style:none;
  min-height:72px;
  padding:0 20px;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
}
.hc-v2-faq summary::-webkit-details-marker{ display:none; }
.hc-v2-faq summary span{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#deedff;
  color:var(--hc-blue);
  display:grid;
  place-items:center;
  font-weight:900;
}
.hc-v2-faq summary::after{ content:"⌄"; margin-left:auto; color:var(--hc-blue); font-size:24px; }
.hc-v2-faq details[open] summary::after{ transform:rotate(180deg); }
.hc-v2-faq details p{
  padding:0 22px 18px 68px;
  color:var(--hc-muted);
  line-height:1.8;
  font-size:14px;
}
.hc-v2-heading--area{ margin-top:48px; }
.hc-v2-area-card{
  display:grid;
  grid-template-columns:180px 1fr;
  align-items:center;
  gap:24px;
  padding:20px 28px;
  background:#fff;
  border-radius:20px;
  box-shadow:var(--hc-shadow);
}
.hc-v2-area-card__icon{ height:120px; display:flex; align-items:center; justify-content:center; }
.hc-v2-area-card__icon img{ height:100%; object-fit:contain; }
.hc-v2-area-card strong{ display:block; font-size:19px; line-height:1.6; }
.hc-v2-area-card span{
  display:inline-flex;
  margin-top:16px;
  padding:10px 22px;
  border:2px solid var(--hc-blue);
  border-radius:999px;
  color:var(--hc-blue);
  font-size:15px;
  font-weight:900;
}
.hc-v2-final-cta{
  position:relative;
  margin-top:34px;
  padding:34px 28px 28px;
  border-radius:24px;
  background:
    radial-gradient(circle at 25% 20%,rgba(255,255,255,.22) 0 8px,transparent 9px),
    linear-gradient(180deg,#147ff0,#0060c9);
  color:#fff;
  box-shadow:0 18px 38px rgba(0,89,196,.28);
  overflow:hidden;
}
.hc-v2-final-cta p{
  font-size:23px;
  line-height:1.55;
  font-weight:900;
  padding-left:110px;
}
.hc-v2-final-cta p strong{ color:#ffd44e; }
.hc-v2-final-cta__mascot{
  position:absolute;
  left:20px;
  top:18px;
  width:95px;
  height:95px;
}
.hc-v2-final-cta__mascot img{ width:100%; height:100%; object-fit:contain; }
.hc-v2-final-cta>a{
  min-height:64px;
  margin-top:18px;
  padding:0 24px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:20px;
  font-weight:900;
}
.hc-v2-final-cta>a b{ margin-left:auto; }
.hc-v2-final-cta__reserve{ background:#ff9800; color:#fff; border:3px solid #ffd291; }
.hc-v2-final-cta__line{ background:#fff; color:#13a545; border:3px solid #1fc050; }
.hc-v2-final-cta__line span{ padding:5px 8px; border-radius:999px; background:#15b64a; color:#fff; font-size:12px; }

/* =========================================================
   Tablet
   ========================================================= */
@media (max-width:900px){
  .hc-v2-shell{ padding-inline:16px; }
  .hc-v2-section{ padding:40px 0; }
  .hc-v2-heading h2{ font-size:28px; }

  .hc-v2-hero{ min-height:700px; }
  .hc-v2-hero__visual{ width:62%; height:500px; }
  .hc-v2-hero__content{ padding-top:125px; min-height:500px; }
  .hc-v2-hero__title{ font-size:36px; }
  .hc-v2-pricebox--hero{ margin-top:-36px; }

  .hc-v2-cleaning-card__media{ min-height:290px; }
  .hc-v2-ba-photo{ min-height:200px; }
  .hc-v2-step-card{ grid-template-columns:40% 1fr; }
  .hc-v2-option-card{ grid-template-columns:150px 1fr auto; }
}

/* =========================================================
   Smartphone - primary target
   ========================================================= */
@media (max-width:640px){
  .hc-v2-shell{ width:100%; padding-inline:15px; }
  .hc-v2-section{ padding:34px 0; }
  .hc-v2-heading{ margin-bottom:20px; }
  .hc-v2-heading__en{ font-size:10px; }
  .hc-v2-heading h2{ font-size:25px; }
  .hc-v2-heading p{ font-size:12px; line-height:1.7; }

  /* Hero */
  .hc-v2-hero{ min-height:auto; padding-bottom:26px; }
  .hc-v2-hero__visual{
    position:absolute;
    width:58%;
    height:420px;
    right:0;
    border-bottom-left-radius:70% 34%;
  }
  .hc-v2-hero__content{
    padding-top:112px;
    padding-right:47%;
    min-height:420px;
  }
  .hc-v2-kicker{ font-size:10px; letter-spacing:.18em; }
  .hc-v2-hero__title{ font-size:29px; line-height:1.38; }
  .hc-v2-hero__accent{ width:105px; height:4px; margin:12px 0 16px; }
  .hc-v2-hero__lead{ font-size:14px; line-height:1.75; }

  .hc-v2-pricebox{ padding:20px 14px 18px; border-radius:18px; }
  .hc-v2-pricebox--hero{ margin-top:-22px; }
  .hc-v2-pricebox h2,
  .hc-v2-pricebox__title{ font-size:23px; margin-bottom:12px; }
  .hc-v2-pricebox__row{ padding:13px 10px; gap:8px; }
  .hc-v2-pricebox__row>span{ font-size:15px; }
  .hc-v2-pricebox__row strong{ font-size:33px; }
  .hc-v2-pricebox__row strong small{ font-size:10px; margin-left:3px; }
  .hc-v2-discount-ribbon{ width:100%; font-size:14px; padding:10px 8px; }
  .hc-v2-spark{ font-size:18px; }

  .hc-v2-benefits{ gap:8px; margin-top:20px; }
  .hc-v2-benefit-card{
    min-height:132px;
    padding:12px 6px;
    border-radius:14px;
    gap:8px;
    font-size:13px;
  }
  .hc-v2-benefit-card__icon{ width:64px; height:64px; }

  /* Problem */
  .hc-v2-problem__bg{ width:38%; height:64%; opacity:.78; }
  .hc-v2-problem__bg--left{ top:28%; }
  .hc-v2-problem__bg--right{ top:34%; }
  .hc-v2-problem__mascot{ top:78px; right:6px; width:80px; height:80px; }
  .hc-v2-checklist{ width:78%; gap:9px; margin-top:14px; }
  .hc-v2-checkitem{
    min-height:50px;
    padding:10px 13px;
    border-radius:14px;
    font-size:13px;
    gap:9px;
  }
  .hc-v2-checkitem span{ width:26px; height:26px; flex-basis:26px; font-size:12px; }

  /* Ceiling cleaning */
  .hc-v2-cleaning-card{ border-radius:16px; }
  .hc-v2-cleaning-card__media{ min-height:220px; }
  .hc-v2-cleaning-card__badge{
    width:60px;
    height:60px;
    top:10px;
    right:10px;
    font-size:11px;
    border-width:2px;
    box-shadow:0 0 0 4px #fff7dc,0 4px 12px rgba(122,79,0,.16);
  }
  .hc-v2-cleaning-card__body{ padding:10px 13px 14px; gap:0; }
  .hc-v2-cleaning-point{ grid-template-columns:35px 1fr; gap:9px; padding:11px 0; }
  .hc-v2-cleaning-point>span{ width:31px; height:31px; font-size:9px; }
  .hc-v2-cleaning-point strong{ font-size:14px; }
  .hc-v2-cleaning-point p{ margin-top:3px; font-size:10px; line-height:1.6; }
  .hc-v2-cleaning-copy{ margin-top:18px; font-size:16px; }
  .hc-v2-cleaning-copy strong{ font-size:20px; }

  /* BA */
  .hc-v2-ba-card{ padding:12px; border-radius:16px; }
  .hc-v2-ba-card h3{ font-size:21px; margin-bottom:10px; }
  .hc-v2-ba-card__desktop{ display:none; }
  .hc-v2-ba-card__mobile{ display:block; }
  .hc-v2-ba-card__mobile img{
    width:100%;
    height:auto;
    object-fit:contain;
    border-radius:10px;
  }
  .hc-v2-ba-card p{ margin-top:9px; font-size:12px; }
  .hc-v2-movie-link{ min-height:56px; padding:0 12px; gap:9px; font-size:13px; }
  .hc-v2-movie-link span{ width:32px; height:32px; }

  /* Process */
  .hc-v2-timeline{ gap:10px; padding-left:28px; }
  .hc-v2-timeline::before{ left:12px; width:3px; }
  .hc-v2-step-card{
    min-height:142px;
    grid-template-columns:44% 1fr;
    gap:12px;
    padding:9px;
    border-radius:15px;
  }
  .hc-v2-step-card__dot{ left:-23px; width:18px; height:18px; border-width:4px; }
  .hc-v2-step-card__media{ height:124px; border-radius:10px; }
  .hc-v2-step-card__content span{ min-height:25px; padding:0 11px; font-size:9px; }
  .hc-v2-step-card__content h3{ margin:7px 0 5px; font-size:16px; }
  .hc-v2-step-card__content p{ font-size:10px; line-height:1.55; }

  /* Options */
  .hc-v2-price-note{ font-size:11px; padding:7px 12px; margin-bottom:-36px; }
  .hc-v2-subheading{ margin-top:58px; margin-bottom:12px; }
  .hc-v2-subheading h3{ font-size:24px; }
  .hc-v2-option-card{
    min-height:92px;
    grid-template-columns:86px 1fr auto;
    gap:10px;
    padding:8px 10px 8px 8px;
    border-radius:14px;
  }
  .hc-v2-option-card__media{ height:74px; border-radius:9px; }
  .hc-v2-option-card__body h4{ font-size:14px; margin-bottom:3px; }
  .hc-v2-option-card__body p{ font-size:10px; line-height:1.4; }
  .hc-v2-option-card>strong{ font-size:20px; }
  .hc-v2-option-card>strong small{ display:block; font-size:8px; text-align:right; margin-top:2px; }
  .hc-v2-option-note{ font-size:10px; }

  .hc-v2-review-badges{ gap:8px; }
  .hc-v2-review-badges>div{ min-height:38px; padding:0 12px; font-size:11px; }
  .hc-v2-review-card{ grid-template-columns:70px 1fr; gap:12px; padding:13px; }
  .hc-v2-review-card__user{ width:58px; height:58px; font-size:27px; }
  .hc-v2-review-card__user small{ top:64px; width:72px; font-size:8px; }
  .hc-v2-stars{ font-size:16px; }
  .hc-v2-review-card__body p{ font-size:11px; line-height:1.6; }

  /* FAQ */
  .hc-v2-faq summary{ min-height:58px; padding:0 13px; gap:8px; font-size:12px; }
  .hc-v2-faq summary span{ width:26px; height:26px; font-size:11px; }
  .hc-v2-faq summary::after{ font-size:18px; }
  .hc-v2-faq details p{ padding:0 14px 14px 47px; font-size:11px; }
  .hc-v2-heading--area{ margin-top:34px; }
  .hc-v2-area-card{ grid-template-columns:95px 1fr; gap:12px; padding:14px; border-radius:15px; }
  .hc-v2-area-card__icon{ height:78px; }
  .hc-v2-area-card strong{ font-size:13px; line-height:1.5; }
  .hc-v2-area-card span{ margin-top:8px; padding:7px 10px; font-size:10px; }

  .hc-v2-final-cta{ margin-top:24px; padding:24px 16px 18px; border-radius:18px; }
  .hc-v2-final-cta__mascot{ width:62px; height:62px; left:10px; top:14px; }
  .hc-v2-final-cta p{ padding-left:66px; font-size:15px; }
  .hc-v2-final-cta>a{ min-height:52px; margin-top:12px; padding:0 14px; border-radius:12px; font-size:14px; }

  }

/* Very narrow phones */
@media (max-width:390px){
  .hc-v2-hero__content{ padding-right:44%; }
  .hc-v2-hero__title{ font-size:26px; }
  .hc-v2-pricebox__row strong{ font-size:29px; }
  .hc-v2-pricebox__row>span{ font-size:13px; }
  .hc-v2-option-card{ grid-template-columns:74px 1fr auto; }
  .hc-v2-option-card__media{ height:66px; }
  
  
}

/* =========================================================
   Ceiling course specific adjustments
   ========================================================= */
.hc-v2-pricebox--single .hc-v2-pricebox__row--single{
  grid-template-columns:1fr auto;
  padding-block:22px;
}
.hc-v2-pricebox--single .hc-v2-pricebox__row--single strong{
  font-size:46px;
}
.hc-v2-review-badges--wide > div{
  min-width:min(100%,310px);
  justify-content:center;
}
.hc-v2-proof-copy{
  max-width:620px;
  margin:14px auto 0 !important;
  text-align:center;
  color:var(--hc-muted);
  font-size:14px;
  line-height:1.8;
  font-weight:600;
}

@media (max-width:640px){
  .hc-v2-pricebox--single .hc-v2-pricebox__row--single{
    grid-template-columns:1fr auto;
    gap:8px;
    padding:16px 8px;
  }
  .hc-v2-pricebox--single .hc-v2-pricebox__row--single>span{
    font-size:13px;
  }
  .hc-v2-pricebox--single .hc-v2-pricebox__row--single strong{
    font-size:31px;
  }
  .hc-v2-review-badges--wide{
    display:grid;
    grid-template-columns:1fr;
  }
  .hc-v2-review-badges--wide > div{
    min-width:0;
    width:100%;
    justify-content:center;
  }
  .hc-v2-proof-copy{
    font-size:11px;
    line-height:1.7;
  }
}


/* =========================================================
   Client feedback refinements 2026-09
   - 出張費無料削除後のカード整列
   - トップページ準拠の口コミUI
   - FAQ後の注意事項
   ========================================================= */

.hc-v2-benefits{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:620px;
  margin-left:auto;
  margin-right:auto;
}

.hc-v2-review-summary-v2{margin-top:18px;text-align:center;}
.hc-v2-google-score-v2{
  display:grid;grid-template-columns:62px minmax(0,1fr) 112px;gap:12px;align-items:center;
  padding:15px 16px;border:1px solid #cfe4f7;border-radius:20px;background:#fff;
  box-shadow:0 10px 28px rgba(14,71,135,.08);text-align:left;
}
.hc-v2-google-score-v2__logo{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #e4edf7;color:#4285f4;font:900 30px/1 Arial,sans-serif;}
.hc-v2-google-score-v2__logo img{width:72%;height:72%;object-fit:contain;}
.hc-v2-google-score-v2__label{font-size:14px;font-weight:900;color:#082f70;}
.hc-v2-google-score-v2__stars{margin-top:4px;color:#ffb31a;letter-spacing:.05em;font-size:15px;line-height:1;}
.hc-v2-google-score-v2__score{margin-top:4px;color:#0a74f5;font-size:30px;line-height:1;font-weight:900;}
.hc-v2-google-score-v2__score small{font-size:13px;color:#647896;}
.hc-v2-google-score-v2__count{padding-left:11px;border-left:1px solid #e1ebf5;display:flex;flex-direction:column;gap:2px;}
.hc-v2-google-score-v2__count span{font-size:9px;color:#687b98;font-weight:800;}
.hc-v2-google-score-v2__count strong{font-size:22px;line-height:1.1;color:#0a74f5;font-weight:900;white-space:nowrap;}
.hc-v2-google-score-v2__count small{font-size:8px;color:#7183a2;line-height:1.35;font-weight:700;}
.hc-v2-google-review-link-v2{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:10px;padding:0 16px;border:1px solid #cfe1f4;border-radius:999px;background:#fff;color:#0b2f70;font-size:11px;font-weight:900;}
.hc-v2-review-source-note{margin-top:7px!important;color:#7183a2!important;font-size:9px!important;line-height:1.55!important;text-align:center!important;font-weight:700!important;}
.hc-v2-review-row-v2{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.hc-v2-review-row-v2::-webkit-scrollbar{display:none;}
.hc-v2-review-card-v2{flex:0 0 min(310px,86vw);min-height:178px;padding:14px 15px;border:1px solid #dfeaf5;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(14,71,135,.07);}
.hc-v2-review-card-v2__header{display:flex;align-items:center;gap:10px;}
.hc-v2-review-card-v2__avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:16px;font-weight:900;}
.hc-v2-review-card-v2__avatar--blue{background:linear-gradient(135deg,#70bcff,#3a87e8);}
.hc-v2-review-card-v2__avatar--pink{background:linear-gradient(135deg,#fa9ec6,#ed5b99);}
.hc-v2-review-card-v2__avatar--gold{background:linear-gradient(135deg,#f6cf6a,#f0aa2f);}
.hc-v2-review-card-v2__avatar--mint{background:linear-gradient(135deg,#83d6c7,#52b9a6);}
.hc-v2-review-card-v2__stars{color:#ffb31a;font-size:14px;letter-spacing:.035em;line-height:1;}
.hc-v2-review-card-v2__header strong{display:block;margin-top:5px;color:#082f70;font-size:12px;line-height:1.3;font-weight:900;}
.hc-v2-review-card-v2>p{margin-top:10px!important;color:#173d72!important;font-size:12.5px!important;line-height:1.7!important;text-align:left!important;font-weight:700!important;}

.hc-v2-heading--area{margin-top:0;}
.hc-v2-heading--faq{margin-top:42px;}
.hc-v2-heading--notice{margin-top:42px;}
.hc-v2-notices{display:grid;gap:10px;}
.hc-v2-notices details{overflow:hidden;border:1px solid #d9e8f6;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(14,71,135,.06);}
.hc-v2-notices summary{list-style:none;display:flex;align-items:center;gap:10px;padding:15px 16px;cursor:pointer;color:#0b2f70;font-size:15px;font-weight:900;}
.hc-v2-notices summary::-webkit-details-marker{display:none;}
.hc-v2-notices summary span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:#eef7ff;color:#0a74f5;font-size:14px;font-weight:900;}
.hc-v2-notices ul{margin:0;padding:0 18px 16px 46px;display:grid;gap:9px;color:#435b7d;font-size:12px;line-height:1.75;font-weight:700;}
.hc-v2-notices .notice-sub{font-size:.94em;color:#607494;}

@media (max-width:768px){
  .hc-v2-google-score-v2{grid-template-columns:50px minmax(0,1fr) 82px;gap:8px;padding:12px;}
  .hc-v2-google-score-v2__logo{width:48px;height:48px;font-size:26px;}
  .hc-v2-google-score-v2__label{font-size:11px;}
  .hc-v2-google-score-v2__stars{font-size:12px;}
  .hc-v2-google-score-v2__score{font-size:26px;}
  .hc-v2-google-score-v2__count{padding-left:8px;}
  .hc-v2-google-score-v2__count strong{font-size:19px;}
  .hc-v2-review-card-v2{flex-basis:292px;}
  .hc-v2-heading--faq,.hc-v2-heading--notice{margin-top:34px;}
}


/* =========================================================
   Ceiling detail polish 2026-09-18
   Reference-led refinements requested by client review
   ========================================================= */

/* ----- HERO: tighter composition / fixed 2-line title ----- */
.hc-v2-hero{
  overflow:hidden;
}
.hc-v2-hero__content{
  z-index:4;
}
.hc-v2-hero__title span{
  display:block;
}
.hc-v2-hero__title span:last-child{
  white-space:nowrap;
}
.hc-v2-hero__price-shell{
  position:relative;
  z-index:6;
}

/* ----- Premium price card inspired by supplied references ----- */
.hc-v2-premium-price{
  position:relative;
  overflow:hidden;
  width:min(100%,760px);
  margin:0 auto;
  padding:30px 34px 28px;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 9%,rgba(255,255,255,.06),transparent 26%),
    linear-gradient(145deg,#152f69 0%,#1e3c79 54%,#274b8e 100%);
  box-shadow:0 18px 42px rgba(10,45,101,.20);
  isolation:isolate;
}
.hc-v2-premium-price--hero{
  margin-top:-72px;
}
.hc-v2-premium-price__ghost{
  position:absolute;
  z-index:-1;
  left:24px;
  top:-24px;
  color:rgba(255,255,255,.055);
  font-size:84px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  user-select:none;
}
.hc-v2-premium-price__circle{
  position:absolute;
  z-index:-1;
  width:118px;
  height:118px;
  border:1px solid rgba(229,192,99,.38);
  border-radius:50%;
}
.hc-v2-premium-price__circle::after{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(229,192,99,.18);
  border-radius:50%;
}
.hc-v2-premium-price__circle--top{right:-26px;top:-48px;}
.hc-v2-premium-price__circle--bottom{left:-58px;bottom:-64px;}
.hc-v2-premium-price__service{
  position:relative;
  z-index:1;
  color:#f3ce73;
  text-align:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
}
.hc-v2-premium-price h2,
.hc-v2-premium-price h3{
  position:relative;
  z-index:1;
  margin:6px 0 0;
  color:#fff;
  text-align:center;
  font-size:31px;
  line-height:1.2;
  font-weight:900;
}
.hc-v2-premium-price__line{
  width:100%;
  height:1px;
  margin:20px 0 18px;
  background:rgba(235,210,143,.34);
}
.hc-v2-premium-price__amount{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:7px;
  color:#fff;
  line-height:1;
}
.hc-v2-premium-price__amount strong{
  color:#fff;
  font-size:62px;
  font-weight:900;
  letter-spacing:-.04em;
  text-shadow:0 2px 10px rgba(0,0,0,.12);
}
.hc-v2-premium-price__yen{
  padding-bottom:7px;
  color:#f4d57d;
  font-size:18px;
  font-weight:900;
}
.hc-v2-premium-price__tax{
  padding-bottom:8px;
  color:#dbe7ff;
  font-size:13px;
  font-weight:800;
}
.hc-v2-premium-price__discount{
  margin-top:17px !important;
  color:#f8df9b;
  text-align:center;
  font-size:15px;
  line-height:1.5;
  font-weight:800;
}
.hc-v2-premium-price__discount b{
  color:#fff;
  font-size:1.12em;
  font-weight:900;
}
.hc-v2-premium-price__note{
  margin-top:9px !important;
  color:#becce7;
  text-align:center;
  font-size:11px;
  font-weight:700;
}

/* old single benefit is intentionally not used */
.hc-v2-benefits{display:none!important;}

/* ----- Problem: numbered list, more editorial and less generic ----- */
.hc-v2-problem{
  background:linear-gradient(180deg,#f9fbfe 0%,#f5f9ff 100%);
}
.hc-v2-checklist{
  gap:11px;
}
.hc-v2-checkitem{
  position:relative;
  overflow:hidden;
  min-height:76px;
  padding:15px 72px 15px 18px;
  border:1px solid #e1e9f3;
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 7px 20px rgba(18,63,120,.07);
}
.hc-v2-checkitem::after{
  content:"";
  position:absolute;
  right:-26px;
  top:50%;
  width:92px;
  height:92px;
  transform:translateY(-50%);
  border-radius:46% 54% 50% 50%;
  background:radial-gradient(circle at 40% 38%,#fff8c8 0%,#f3d972 58%,#e0bf50 100%);
  opacity:.58;
  box-shadow:inset 0 0 18px rgba(255,255,255,.6);
}
.hc-v2-checkitem>span{
  position:relative;
  z-index:2;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:0;
  border-radius:50%;
  background:#1a3268;
  color:#fff;
  font-size:11px;
  letter-spacing:.03em;
  box-shadow:none;
}
.hc-v2-problem__mascot{
  opacity:.9;
}

/* ----- Ceiling feature: reference-like rows ----- */
.hc-v2-cleaning-card{
  border:1px solid #dce5ef;
  box-shadow:0 10px 28px rgba(18,64,118,.08);
}
.hc-v2-cleaning-card__body{
  padding:8px 28px 12px;
}
.hc-v2-cleaning-point{
  grid-template-columns:48px 1fr;
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid #d7e0eb;
}
.hc-v2-cleaning-point>span{
  width:40px;
  height:40px;
  border:1.5px solid #d8b55c;
  background:#fff;
  color:#b48a2b;
  font-size:11px;
  box-shadow:none;
}
.hc-v2-cleaning-point strong{
  font-size:19px;
}
.hc-v2-cleaning-point p{
  margin-top:6px;
  color:#687994;
  font-size:13px;
}

/* ----- Proof / reviews: reuse the independence LP's gold trust language ----- */
.hc-v2-subheading--proof{
  margin-top:52px;
}
.hc-v2-trust-proof{
  position:relative;
  margin-top:14px;
  padding:28px 20px 24px;
  overflow:hidden;
  border:1px solid #ead9aa;
  border-radius:24px;
  background:linear-gradient(180deg,#fff9e9 0%,#fff5df 100%);
  box-shadow:0 12px 30px rgba(108,78,19,.08);
  color:#664a16;
}
.hc-v2-trust-proof::before,
.hc-v2-trust-proof::after{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  border:1px solid rgba(183,143,49,.15);
  border-radius:50%;
  pointer-events:none;
}
.hc-v2-trust-proof::before{right:-78px;top:-70px;}
.hc-v2-trust-proof::after{left:-88px;bottom:-90px;}
.hc-v2-trust-proof__lead{
  position:relative;
  z-index:1;
  margin:0!important;
  text-align:center;
  color:#725418;
  font-size:17px;
  line-height:1.55;
  font-weight:900;
}
.hc-v2-trust-proof__kpis{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:min(100%,620px);
  margin:20px auto 0;
}
.hc-v2-trust-kpi{
  position:relative;
  min-height:188px;
  padding:48px 12px 16px;
  text-align:center;
  background-image:var(--hc-trust-frame);
  background-repeat:no-repeat;
  background-position:center 3px;
  background-size:150px auto;
}
.hc-v2-trust-kpi__label{
  margin:0!important;
  color:#62480f;
  font-size:13px;
  font-weight:900;
}
.hc-v2-trust-kpi__value{
  margin:15px 0 0!important;
  line-height:1;
  white-space:nowrap;
}
.hc-v2-trust-kpi__value strong{
  font-size:42px;
  font-weight:900;
  background:linear-gradient(180deg,#f1da85 0%,#b88819 54%,#ead076 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#bd9021;
}
.hc-v2-trust-kpi__value span{
  margin-left:4px;
  color:#765a18;
  font-size:14px;
  font-weight:900;
}
.hc-v2-trust-proof__date{
  position:relative;
  z-index:1;
  margin:8px 0 0!important;
  color:#8b7a56;
  text-align:center;
  font-size:10px;
  font-weight:700;
}
.hc-v2-trust-proof__link{
  position:relative;
  z-index:1;
  width:min(100%,360px);
  min-height:48px;
  margin:16px auto 0;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #dbc27d;
  border-radius:999px;
  background:#fff;
  color:#634b17;
  box-shadow:0 7px 18px rgba(98,70,15,.07);
  font-size:12px;
  font-weight:900;
}
.hc-v2-trust-proof__google{
  width:22px;
  height:22px;
}
.hc-v2-trust-proof__google img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* ----- Area: same information architecture as the front page ----- */
.hc-v2-area-accordion{
  display:grid;
  gap:10px;
  margin-top:24px;
}
.hc-v2-area-accordion details{
  overflow:hidden;
  border:1px solid #dceaf7;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(14,71,135,.055);
}
.hc-v2-area-accordion summary{
  position:relative;
  list-style:none;
  padding:17px 54px 17px 20px;
  cursor:pointer;
  color:#0b2f70;
  font-size:17px;
  font-weight:900;
}
.hc-v2-area-accordion summary::-webkit-details-marker{display:none;}
.hc-v2-area-accordion summary>span{
  position:absolute;
  right:20px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid #0a74f5;
  border-bottom:2px solid #0a74f5;
  transform:translateY(-65%) rotate(45deg);
  transition:transform .2s ease;
}
.hc-v2-area-accordion details[open] summary>span{
  transform:translateY(-35%) rotate(225deg);
}
.hc-v2-area-content{
  padding:0 20px 12px;
}
.hc-v2-area-content a{
  display:grid;
  grid-template-columns:24px 100px 1fr;
  gap:8px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid #e8eef5;
  color:#0d2d68;
}
.hc-v2-area-pin{
  display:flex;
  align-items:center;
  justify-content:center;
}
.hc-v2-area-pin img{
  width:18px;
  height:18px;
  object-fit:contain;
}
.hc-v2-area-content strong{font-size:14px;}
.hc-v2-area-content span{color:#536a90;font-size:11px;font-weight:700;}
.hc-v2-area-more{
  width:min(100%,420px);
  min-height:50px;
  margin:16px auto 0;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1.5px solid #0a74f5;
  border-radius:13px;
  background:#fff;
  color:#0a74f5;
  font-size:12px;
  font-weight:900;
}

/* ----- FAQ: clean chevron + Answer marker ----- */
.hc-v2-faq summary::after{
  content:""!important;
  width:9px;
  height:9px;
  margin-left:auto;
  border-right:2px solid #0a74f5;
  border-bottom:2px solid #0a74f5;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .2s ease;
}
.hc-v2-faq details[open] summary::after{
  transform:translateY(2px) rotate(225deg);
}
.hc-v2-faq details p{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:10px;
  align-items:start;
  padding:2px 16px 16px 16px;
}
.hc-v2-faq details p::before{
  content:"A";
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff0f0;
  color:#d75050;
  font-size:12px;
  font-weight:900;
}

/* ----- Notices: always open / static ----- */
.hc-v2-notices--static{
  gap:12px;
}
.hc-v2-notice-card{
  overflow:hidden;
  border:1px solid #d9e8f6;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 18px rgba(14,71,135,.055);
}
.hc-v2-notice-card__head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:15px 16px 12px;
  color:#0b2f70;
  font-size:14px;
  font-weight:900;
}
.hc-v2-notice-card__head>span{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef7ff;
  color:#0a74f5;
  font-size:14px;
  font-weight:900;
}
.hc-v2-notice-card--aircon .hc-v2-notice-card__head>span{
  background:#fff5e2;
  color:#c58a19;
}
.hc-v2-notice-card ul{
  margin:0;
  padding:0 18px 16px 46px;
  display:grid;
  gap:9px;
  color:#435b7d;
  font-size:12px;
  line-height:1.75;
  font-weight:700;
}
.hc-v2-notice-card .notice-sub{font-size:.94em;color:#607494;}

/* remove artificial white gap before footer */

.hc-v2-faq-area{padding-bottom:28px;}

/* desktop hero alignment */
@media (min-width:641px){
  .hc-v2-hero__content{padding-top:94px;}
  .hc-v2-hero__price-shell{margin-top:-10px;}
}

/* smartphone refinements */
@media (max-width:640px){
  .hc-v2-hero__visual{
    width:61%;
    height:390px;
  }
  .hc-v2-hero__content{
    min-height:360px;
    padding-top:68px;
    padding-right:42%;
  }
  .hc-v2-kicker{font-size:9px;letter-spacing:.14em;margin-bottom:7px;}
  .hc-v2-hero__title{font-size:28px;line-height:1.22;letter-spacing:-.025em;}
  .hc-v2-hero__title span:last-child{font-size:.89em;}
  .hc-v2-hero__accent{margin:10px 0 11px;}
  .hc-v2-hero__lead{font-size:12px;line-height:1.58;}
  .hc-v2-hero__price-shell{margin-top:-4px;}
  .hc-v2-premium-price{
    padding:23px 18px 21px;
    border-radius:22px;
  }
  .hc-v2-premium-price--hero{margin-top:-46px;}
  .hc-v2-premium-price__ghost{font-size:66px;left:15px;top:-19px;}
  .hc-v2-premium-price__service{font-size:10px;}
  .hc-v2-premium-price h2,.hc-v2-premium-price h3{font-size:25px;}
  .hc-v2-premium-price__line{margin:15px 0 14px;}
  .hc-v2-premium-price__amount{gap:5px;}
  .hc-v2-premium-price__amount strong{font-size:46px;}
  .hc-v2-premium-price__yen{font-size:14px;padding-bottom:5px;}
  .hc-v2-premium-price__tax{font-size:10px;padding-bottom:6px;}
  .hc-v2-premium-price__discount{margin-top:14px!important;font-size:12px;}
  .hc-v2-premium-price__note{font-size:9px;}

  .hc-v2-checklist{width:84%;gap:8px;}
  .hc-v2-checkitem{min-height:58px;padding:10px 52px 10px 11px;border-radius:15px;font-size:12px;gap:9px;}
  .hc-v2-checkitem>span{width:32px;height:32px;flex-basis:32px;font-size:9px;}
  .hc-v2-checkitem::after{right:-30px;width:76px;height:76px;}
  .hc-v2-problem__mascot{width:67px;height:67px;top:72px;}

  .hc-v2-cleaning-card__body{padding:5px 14px 8px;}
  .hc-v2-cleaning-point{grid-template-columns:38px 1fr;gap:10px;padding:15px 0;}
  .hc-v2-cleaning-point>span{width:34px;height:34px;font-size:9px;}
  .hc-v2-cleaning-point strong{font-size:14px;}
  .hc-v2-cleaning-point p{font-size:10px;line-height:1.55;}

  .hc-v2-trust-proof{padding:22px 12px 19px;border-radius:20px;}
  .hc-v2-trust-proof__lead{font-size:14px;}
  .hc-v2-trust-proof__kpis{grid-template-columns:1fr 1fr;gap:4px;margin-top:14px;}
  .hc-v2-trust-kpi{min-height:150px;padding:37px 5px 10px;background-size:126px auto;}
  .hc-v2-trust-kpi__label{font-size:10px;}
  .hc-v2-trust-kpi__value{margin-top:11px!important;}
  .hc-v2-trust-kpi__value strong{font-size:31px;}
  .hc-v2-trust-kpi__value span{font-size:10px;}
  .hc-v2-trust-proof__link{min-height:44px;font-size:11px;}

  .hc-v2-area-accordion{margin-top:20px;}
  .hc-v2-area-accordion summary{padding:14px 44px 14px 15px;font-size:14px;}
  .hc-v2-area-accordion summary>span{right:17px;}
  .hc-v2-area-content{padding:0 14px 10px;}
  .hc-v2-area-content a{grid-template-columns:19px 78px 1fr;padding:10px 0;}
  .hc-v2-area-pin img{width:15px;height:15px;}
  .hc-v2-area-content strong{font-size:12px;}
  .hc-v2-area-content span{font-size:9px;}
  .hc-v2-area-more{width:100%;font-size:11px;}

  .hc-v2-faq details p{grid-template-columns:26px 1fr;gap:8px;padding:2px 13px 14px 13px;font-size:11px;}
  .hc-v2-faq details p::before{width:25px;height:25px;font-size:10px;}

  .hc-v2-notice-card__head{padding:13px 13px 10px;font-size:12px;}
  .hc-v2-notice-card__head>span{width:25px;height:25px;flex-basis:25px;font-size:12px;}
  .hc-v2-notice-card ul{padding:0 14px 14px 38px;font-size:10.5px;line-height:1.7;}
  .hc-v2-faq-area{padding-bottom:12px;}
}

@media (max-width:390px){
  .hc-v2-hero__content{padding-right:39%;}
  .hc-v2-hero__title{font-size:26px;}
  .hc-v2-hero__title span:last-child{font-size:.86em;}
}

/* ----- Process Variant B: reference-led bordered cards ----- */
.hc-v2-process--b .hc-v2-timeline{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding-left:0;
}
.hc-v2-process--b .hc-v2-timeline::before{display:none;}
.hc-v2-process--b .hc-v2-step-card{
  position:relative;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0 0 20px;
  overflow:hidden;
  border:1px solid #d8c795;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.hc-v2-process--b .hc-v2-step-card__dot{display:none;}
.hc-v2-process--b .hc-v2-step-card__media{
  width:100%;
  height:180px;
  border-radius:0;
}
.hc-v2-process--b .hc-v2-step-card__content{
  position:relative;
  padding:28px 20px 0;
}
.hc-v2-process--b .hc-v2-step-card__content span{
  position:absolute;
  left:20px;
  top:-17px;
  min-width:46px;
  height:34px;
  padding:0 10px;
  border-radius:0;
  background:#b69a59;
  color:#fff;
  font-size:10px;
  letter-spacing:.07em;
}
.hc-v2-process--b .hc-v2-step-card__content h3{
  margin:0 0 8px;
  color:#0c2d68;
  font-size:18px;
  line-height:1.45;
}
.hc-v2-process--b .hc-v2-step-card__content p{
  color:#64758f;
  font-size:12px;
  line-height:1.8;
}
@media(max-width:640px){
  .hc-v2-process--b .hc-v2-timeline{grid-template-columns:1fr;gap:14px;}
  .hc-v2-process--b .hc-v2-step-card__media{height:158px;}
  .hc-v2-process--b .hc-v2-step-card__content{padding:25px 16px 0;}
  .hc-v2-process--b .hc-v2-step-card__content span{left:16px;top:-16px;height:32px;}
  .hc-v2-process--b .hc-v2-step-card__content h3{font-size:16px;}
  .hc-v2-process--b .hc-v2-step-card__content p{font-size:10.5px;line-height:1.7;}
}

/* =========================================================
   AIRCON CEILING FINAL POLISH V3
   - one adopted design only
   - company palette (light blue / orange / yellow)
   - process Variant B adopted
   ========================================================= */

/* ---------------------------------------------------------
   HERO: keep the improved vertical position and 2-line title
   --------------------------------------------------------- */
@media (min-width:641px){
  .hc-v2-hero__content{padding-top:78px!important;}
  .hc-v2-hero__price-shell{margin-top:-18px!important;}
}
@media (max-width:640px){
  .hc-v2-hero__content{
    padding-top:52px!important;
    padding-right:39%!important;
  }
  .hc-v2-hero__price-shell{margin-top:-14px!important;}
  .hc-v2-hero__title{
    font-size:27px!important;
    line-height:1.18!important;
  }
  .hc-v2-hero__title span:last-child{
    font-size:.86em!important;
    white-space:nowrap!important;
  }
}
@media (max-width:390px){
  .hc-v2-hero__content{padding-right:36%!important;}
  .hc-v2-hero__title{font-size:25px!important;}
  .hc-v2-hero__title span:last-child{font-size:.84em!important;}
}

/* ---------------------------------------------------------
   PRICE: retain the new composition, but make it original to
   おそうじドットコム instead of copying the navy/gold reference.
   The discount is plain editorial text, not a ribbon.
   --------------------------------------------------------- */
.hc-v2-premium-price{
  color:var(--hc-blue-dark)!important;
  border:1.5px solid #bfe1fb!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(255,200,77,.22),transparent 22%),
    radial-gradient(circle at 8% 92%,rgba(58,174,255,.16),transparent 24%),
    linear-gradient(135deg,#ffffff 0%,#eff9ff 58%,#fff9e7 100%)!important;
  box-shadow:0 16px 36px rgba(22,98,167,.12)!important;
}
.hc-v2-premium-price__ghost{
  color:rgba(10,116,245,.065)!important;
}
.hc-v2-premium-price__circle{
  border-color:rgba(255,174,31,.36)!important;
}
.hc-v2-premium-price__circle::after{
  border-color:rgba(64,166,246,.22)!important;
}
.hc-v2-premium-price__circle--bottom{
  border-color:rgba(64,166,246,.30)!important;
}
.hc-v2-premium-price__circle--bottom::after{
  border-color:rgba(255,183,42,.20)!important;
}
.hc-v2-premium-price__service{
  color:#1787e8!important;
}
.hc-v2-premium-price h2,
.hc-v2-premium-price h3{
  color:var(--hc-blue-dark)!important;
}
.hc-v2-premium-price__line{
  background:linear-gradient(90deg,rgba(10,116,245,.13),rgba(255,178,35,.52),rgba(10,116,245,.13))!important;
}
.hc-v2-premium-price__amount{
  color:var(--hc-blue-dark)!important;
}
.hc-v2-premium-price__amount strong{
  color:#f28a00!important;
  text-shadow:0 3px 14px rgba(242,138,0,.12)!important;
}
.hc-v2-premium-price__yen{
  color:#f0a100!important;
}
.hc-v2-premium-price__tax{
  color:#40658f!important;
}
.hc-v2-premium-price__discount{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:17px auto 0!important;
  padding:8px 14px 8px 32px;
  border-radius:999px;
  background:rgba(255,180,42,.12);
  color:#9b6500!important;
  font-size:14px!important;
  font-weight:800!important;
}
.hc-v2-premium-price__discount::before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:9px;
  height:9px;
  border-radius:50%;
  transform:translateY(-50%);
  background:linear-gradient(135deg,#ffb11f,#ff7d00);
  box-shadow:0 0 0 4px rgba(255,177,31,.13);
}
.hc-v2-premium-price__discount b{
  color:#f07a00!important;
}
.hc-v2-premium-price__note{
  color:#6b7e96!important;
}

/* ---------------------------------------------------------
   PROBLEM: keep numbered cards, remove the copied cream moon.
   Use soft brand gradients instead.
   --------------------------------------------------------- */
.hc-v2-checkitem{
  padding-right:18px!important;
  border-color:#dbe9f6!important;
  background:linear-gradient(110deg,#fff 0%,#fff 62%,rgba(84,181,255,.10) 100%)!important;
  box-shadow:0 7px 20px rgba(18,63,120,.065)!important;
}
.hc-v2-checkitem:nth-child(even){
  background:linear-gradient(110deg,#fff 0%,#fff 62%,rgba(255,181,55,.10) 100%)!important;
}
.hc-v2-checkitem::after{
  content:none!important;
  display:none!important;
}
.hc-v2-checkitem>span{
  background:linear-gradient(135deg,#0a74f5,#54b8ff)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(10,116,245,.15)!important;
}
.hc-v2-checkitem:nth-child(even)>span{
  background:linear-gradient(135deg,#ffb625,#ff8a00)!important;
  box-shadow:0 6px 14px rgba(255,151,0,.15)!important;
}
@media (max-width:640px){
  .hc-v2-checkitem{padding:10px 12px!important;}
}

/* ---------------------------------------------------------
   CEILING FEATURE: keep the cleaner numbered editorial rows.
   --------------------------------------------------------- */
.hc-v2-cleaning-point>span{
  border-color:#9dcdf5!important;
  color:#0a74f5!important;
  background:linear-gradient(180deg,#fff,#f2f9ff)!important;
}
.hc-v2-cleaning-point:nth-child(2)>span{
  border-color:#f0c675!important;
  color:#d78a00!important;
  background:linear-gradient(180deg,#fffdf7,#fff8e9)!important;
}

/* ---------------------------------------------------------
   PROCESS: Variant B adopted as the single final design.
   Keep its bordered-card composition, lightly brand it.
   --------------------------------------------------------- */
.hc-v2-process--b .hc-v2-step-card{
  border-color:#cfddeb!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(14,71,135,.055)!important;
}
.hc-v2-process--b .hc-v2-step-card__content span{
  background:linear-gradient(135deg,#0a74f5,#469fe9)!important;
}
.hc-v2-process--b .hc-v2-step-card:nth-child(even) .hc-v2-step-card__content span{
  background:linear-gradient(135deg,#e2a424,#f1bc47)!important;
}

/* ---------------------------------------------------------
   RESULTS / REVIEWS: port the actual independence-LP trust UI.
   Mobile = vertical 3 items; desktop = 3 columns.
   --------------------------------------------------------- */
.hc-v2-subheading--proof{margin-top:52px!important;}
.hc-v2-trust-proof{
  position:relative;
  margin-top:14px!important;
  padding:30px 18px 28px!important;
  overflow:hidden;
  border:0!important;
  border-radius:22px!important;
  background:#fff4e2!important;
  box-shadow:none!important;
  color:#684a1c!important;
}
.hc-v2-trust-proof::before,
.hc-v2-trust-proof::after{
  content:none!important;
  display:none!important;
}
.hc-v2-trust-proof__eyebrow{
  margin:0!important;
  color:#8c6a2a!important;
  text-align:center;
  font-size:13px;
  line-height:1.4;
  font-weight:900;
}
.hc-v2-trust-proof__title{
  margin:4px 0 0!important;
  color:#684a1c!important;
  text-align:center;
  font-size:27px!important;
  line-height:1.3;
  font-weight:900;
}
.hc-v2-trust-proof__kpis{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  width:min(100%,720px)!important;
  margin:10px auto 0!important;
}
.hc-v2-trust-kpi{
  position:relative!important;
  min-height:182px!important;
  padding:42px 12px 12px!important;
  text-align:center!important;
  background-image:var(--hc-trust-frame)!important;
  background-repeat:no-repeat!important;
  background-position:center -2px!important;
  background-size:188px auto!important;
}
.hc-v2-trust-kpi__label{
  margin:0!important;
  color:#5c470f!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:900!important;
}
.hc-v2-trust-kpi__value{
  margin:11px 0 0!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.hc-v2-trust-kpi__value strong{
  font-size:36px!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  background:linear-gradient(180deg,#f7e7a0 0%,#c9961a 52%,#f7e7a0 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:#c9961a!important;
  text-shadow:0 2px 0 rgba(117,88,20,.12)!important;
}
.hc-v2-trust-kpi__value span{
  margin-left:4px!important;
  color:#7a5d15!important;
  font-size:13px!important;
  font-weight:900!important;
}
.hc-v2-trust-kpi__sub{
  margin:8px 0 0!important;
  color:#655a46!important;
  font-size:10px!important;
  line-height:1.5!important;
  font-weight:700!important;
}
.hc-v2-trust-proof__link{
  width:max-content!important;
  max-width:100%!important;
  min-height:45px!important;
  margin:12px auto 0!important;
  padding:0 17px!important;
  border:1px solid #d8c382!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#654c17!important;
  box-shadow:0 6px 16px rgba(98,70,15,.06)!important;
  font-size:11.5px!important;
}
@media (min-width:769px){
  .hc-v2-trust-proof{padding:34px 24px 30px!important;}
  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    width:min(100%,820px)!important;
    margin-top:16px!important;
  }
  .hc-v2-trust-kpi{
    min-height:194px!important;
    padding-top:46px!important;
    background-size:200px auto!important;
  }
  .hc-v2-trust-kpi__value strong{font-size:40px!important;}
  .hc-v2-trust-proof__title{font-size:31px!important;}
}

/* ---------------------------------------------------------
   AREA: make the detail button clearly a CTA, not another row.
   --------------------------------------------------------- */
.hc-v2-area-more{
  width:max-content!important;
  max-width:100%!important;
  min-height:46px!important;
  margin:18px auto 0!important;
  padding:0 18px!important;
  border:1.5px solid #80bdf1!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#f6fbff,#eaf6ff)!important;
  color:#0874ef!important;
  box-shadow:0 6px 16px rgba(14,116,239,.07)!important;
  font-size:11.5px!important;
}
.hc-v2-area-more:hover{
  background:#dff1ff!important;
}

/* ---------------------------------------------------------
   FAQ: keep the clean CSS chevron and paired Q/A markers.
   --------------------------------------------------------- */
.hc-v2-faq summary::after{
  width:8px!important;
  height:8px!important;
  border-width:0 2px 2px 0!important;
  border-style:solid!important;
  border-color:#0a74f5!important;
  border-left:0!important;
  border-top:0!important;
}

/* ---------------------------------------------------------
   NOTICES: both headers use the same warning icon language.
   --------------------------------------------------------- */
.hc-v2-notice-card__head>span,
.hc-v2-notice-card--aircon .hc-v2-notice-card__head>span{
  background:#fff5e2!important;
  color:#c98200!important;
  box-shadow:0 0 0 4px rgba(255,181,45,.09)!important;
}

/* ---------------------------------------------------------
   FOOTER CONNECTION: remove any page-specific white gap.
   --------------------------------------------------------- */
.hc-v2-faq-area{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
.hc-v2{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.hc-v2 ~ .footer,
body:has(.hc-v2) .footer{
  margin-top:0!important;
}

/* =========================================================
   AIRCON CEILING FINAL POLISH V4
   User-directed corrections:
   - price = warm orange/gold only, no mixed accent colors
   - problem cards = one orange treatment, no alternation
   - ceiling feature numbers = one gold treatment
   - process = restore Variant B exactly
   - trust proof = mirror independence LP proportions/colors closely
   ========================================================= */

/* PRICE: preserve composition, change only the palette and simplify discount */
.hc-v2-premium-price{
  color:#fff !important;
  border:1px solid rgba(255,255,255,.30) !important;
  background:
    radial-gradient(circle at 86% 9%,rgba(255,255,255,.13),transparent 26%),
    linear-gradient(145deg,#df8200 0%,#ef9909 54%,#f5b52a 100%) !important;
  box-shadow:0 18px 42px rgba(186,108,0,.18) !important;
}
.hc-v2-premium-price__ghost{
  color:rgba(255,255,255,.075) !important;
}
.hc-v2-premium-price__circle,
.hc-v2-premium-price__circle--bottom{
  border-color:rgba(255,244,202,.34) !important;
}
.hc-v2-premium-price__circle::after,
.hc-v2-premium-price__circle--bottom::after{
  border-color:rgba(255,247,218,.18) !important;
}
.hc-v2-premium-price__service{
  color:#fff2bf !important;
}
.hc-v2-premium-price h2,
.hc-v2-premium-price h3{
  color:#fff !important;
}
.hc-v2-premium-price__line{
  background:rgba(255,244,208,.38) !important;
}
.hc-v2-premium-price__amount,
.hc-v2-premium-price__amount strong{
  color:#fff !important;
  text-shadow:0 2px 10px rgba(120,63,0,.10) !important;
}
.hc-v2-premium-price__yen{
  color:#fff4c8 !important;
}
.hc-v2-premium-price__tax{
  color:#fff9e9 !important;
}
.hc-v2-premium-price__discount{
  position:static !important;
  width:auto !important;
  max-width:none !important;
  margin:17px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff4cf !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
.hc-v2-premium-price__discount::before{
  content:none !important;
  display:none !important;
}
.hc-v2-premium-price__discount b{
  color:#fff !important;
  font-size:1.08em !important;
  font-weight:900 !important;
}
.hc-v2-premium-price__note{
  color:rgba(255,255,255,.78) !important;
}

/* PROBLEM: use the same orange style for all five cards */
.hc-v2-checkitem,
.hc-v2-checkitem:nth-child(even){
  padding-right:18px !important;
  border-color:#f1dec0 !important;
  background:linear-gradient(110deg,#fff 0%,#fffdf9 58%,#fff0d7 100%) !important;
  box-shadow:0 7px 20px rgba(120,82,24,.07) !important;
}
.hc-v2-checkitem::after{
  content:none !important;
  display:none !important;
}
.hc-v2-checkitem>span,
.hc-v2-checkitem:nth-child(even)>span{
  background:linear-gradient(135deg,#f2ad27,#e68a0c) !important;
  color:#fff !important;
  box-shadow:0 6px 14px rgba(215,132,11,.16) !important;
}

/* CEILING FEATURE: one gold number style, no alternating blue/orange */
.hc-v2-cleaning-point>span,
.hc-v2-cleaning-point:nth-child(2)>span{
  border:1.5px solid #d8b55c !important;
  background:#fff !important;
  color:#b48a2b !important;
  box-shadow:none !important;
}

/* PROCESS: restore the approved Variant B without recoloring */
.hc-v2-process--b .hc-v2-step-card{
  border:1px solid #d8c795 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}
.hc-v2-process--b .hc-v2-step-card__content span,
.hc-v2-process--b .hc-v2-step-card:nth-child(even) .hc-v2-step-card__content span{
  background:#b69a59 !important;
  color:#fff !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* TRUST / REVIEWS: closely mirror the existing independence LP UI */
.hc-v2-subheading--proof{display:none !important;}
.hc-v2-trust-proof{
  position:relative !important;
  margin-top:42px !important;
  padding:18px 18px 22px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff4e2 !important;
  box-shadow:none !important;
  color:#5f4317 !important;
}
.hc-v2-trust-proof__eyebrow{
  margin:0 !important;
  color:#8c6a2a !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
}
.hc-v2-trust-proof__title{
  margin:4px 0 0 !important;
  color:#684a1c !important;
  text-align:center !important;
  font-size:30px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}
.hc-v2-trust-proof__kpis{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  width:min(100%,720px) !important;
  margin:10px auto 0 !important;
}
.hc-v2-trust-kpi{
  position:relative !important;
  min-height:132px !important;
  padding:24px 12px 10px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:14px !important;
  background-color:transparent !important;
  background-image:var(--hc-trust-frame) !important;
  background-repeat:no-repeat !important;
  background-position:center -4px !important;
  background-size:70% auto !important;
  box-shadow:none !important;
  text-align:center !important;
}
.hc-v2-trust-kpi__label{
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
  color:#5c470f !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
}
.hc-v2-trust-kpi__value{
  position:relative !important;
  z-index:1 !important;
  margin:12px 0 0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.hc-v2-trust-kpi__value strong{
  font-size:33px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  background:linear-gradient(180deg,#f7e7a0 0%,#c9961a 52%,#f7e7a0 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:#c9961a !important;
  text-shadow:0 2px 0 rgba(117,88,20,.16) !important;
}
.hc-v2-trust-kpi__value span{
  margin-left:4px !important;
  color:#7a5d15 !important;
  font-size:14px !important;
  font-weight:900 !important;
}
.hc-v2-trust-kpi__value sup{
  margin-left:2px;
  font-size:.58em;
  line-height:1;
  vertical-align:super;
}
.hc-v2-trust-kpi__sub{display:none !important;}
.hc-v2-trust-proof__notes{
  width:min(100%,660px);
  margin:3px auto 0;
  color:#6b7280;
  text-align:left;
  font-size:9px;
  line-height:1.55;
  font-weight:600;
}
.hc-v2-trust-proof__notes p{margin:2px 0 0;}
.hc-v2-trust-proof__link{
  width:max-content !important;
  max-width:100% !important;
  min-height:45px !important;
  margin:12px auto 0 !important;
  padding:0 17px !important;
  border:1px solid #d8c382 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#654c17 !important;
  box-shadow:0 6px 16px rgba(98,70,15,.06) !important;
  font-size:11.5px !important;
}

@media (max-width:640px){
  .hc-v2-premium-price__discount{font-size:12px !important;}
  .hc-v2-trust-proof{
    margin-top:34px !important;
    padding:16px 12px 20px !important;
  }
  .hc-v2-trust-proof__title{font-size:26px !important;}
  .hc-v2-trust-proof__kpis{gap:4px !important;margin-top:7px !important;}
  .hc-v2-trust-kpi{
    min-height:132px !important;
    padding:23px 9px 8px !important;
    background-size:74% auto !important;
    background-position:center -5px !important;
  }
  .hc-v2-trust-kpi__label{font-size:12px !important;}
  .hc-v2-trust-kpi__value{margin-top:10px !important;}
  .hc-v2-trust-kpi__value strong{font-size:34px !important;}
  .hc-v2-trust-kpi__value span{font-size:12px !important;}
  .hc-v2-trust-proof__notes{font-size:8.5px;line-height:1.5;}
}

@media (min-width:769px){
  .hc-v2-trust-proof{padding:24px 28px 26px !important;}
  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    width:min(100%,860px) !important;
    margin-top:14px !important;
  }
  .hc-v2-trust-kpi{
    min-height:190px !important;
    padding-top:36px !important;
    background-size:92% auto !important;
  }
  .hc-v2-trust-kpi__value strong{font-size:39px !important;}
}

/* =========================================================
   AIRCON CEILING FINAL POLISH V5
   - hero / lower price cards use 2 different warm-orange variants
   - review section uses common section heading
   - review layout tightened and aligned closer to reference
   ========================================================= */

/* ---- CTA under before/after ---- */
.hc-v2-movie-link{
  letter-spacing:.01em;
}

/* ---- PRICE: shared structure ---- */
.hc-v2-premium-price{
  border-radius:34px !important;
  overflow:hidden;
}
.hc-v2-premium-price__service{
  font-weight:800 !important;
  letter-spacing:.08em;
}
.hc-v2-premium-price__amount strong{
  letter-spacing:-.03em;
}
.hc-v2-premium-price__discount{
  letter-spacing:.01em;
}

/* HERO price card: softer orange, brighter gradient */
.hc-v2-premium-price--hero{
  color:#7d4d00 !important;
  border:1px solid #efdcb4 !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.58), transparent 24%),
    radial-gradient(circle at 10% 86%, rgba(255,241,211,.65), transparent 26%),
    linear-gradient(145deg,#efb03d 0%, #f7c867 40%, #fff2cf 100%) !important;
  box-shadow:0 18px 42px rgba(198,134,28,.16) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__ghost{
  color:rgba(171,103,0,.08) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__circle,
.hc-v2-premium-price--hero .hc-v2-premium-price__circle--bottom{
  border-color:rgba(219,155,40,.26) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__circle::after,
.hc-v2-premium-price--hero .hc-v2-premium-price__circle--bottom::after{
  border-color:rgba(255,255,255,.25) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__service{
  color:#a46a00 !important;
}
.hc-v2-premium-price--hero h2,
.hc-v2-premium-price--hero h3{
  color:#6d4300 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__line{
  background:linear-gradient(90deg,rgba(160,100,0,0),rgba(181,116,0,.35),rgba(160,100,0,0)) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__amount,
.hc-v2-premium-price--hero .hc-v2-premium-price__amount strong{
  color:#ffffff !important;
  text-shadow:0 2px 10px rgba(145,86,0,.18) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__yen,
.hc-v2-premium-price--hero .hc-v2-premium-price__tax{
  color:#fff8ec !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__discount{
  color:#8a5600 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__discount b{
  color:#c86d00 !important;
}

/* Main price section: lighter cream/orange variant */
.hc-v2-premium-price--main{
  color:#6e4700 !important;
  border:1px solid #ecd8a9 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,216,147,.34), transparent 21%),
    radial-gradient(circle at 8% 88%, rgba(255,255,255,.65), transparent 28%),
    linear-gradient(150deg,#fffaf0 0%, #fff2d7 55%, #ffe2a9 100%) !important;
  box-shadow:0 16px 34px rgba(189,132,34,.10) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__ghost{
  color:rgba(181,123,22,.08) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__circle,
.hc-v2-premium-price--main .hc-v2-premium-price__circle--bottom{
  border-color:rgba(208,157,65,.22) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__circle::after,
.hc-v2-premium-price--main .hc-v2-premium-price__circle--bottom::after{
  border-color:rgba(255,255,255,.25) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__service{
  color:#b07309 !important;
}
.hc-v2-premium-price--main h2,
.hc-v2-premium-price--main h3{
  color:#744a00 !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__line{
  background:linear-gradient(90deg,rgba(176,115,9,0),rgba(176,115,9,.3),rgba(176,115,9,0)) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__amount{
  color:#744a00 !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__amount strong{
  color:#e08b00 !important;
  text-shadow:0 2px 10px rgba(224,139,0,.08) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__yen,
.hc-v2-premium-price--main .hc-v2-premium-price__tax{
  color:#9f6b0b !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__discount{
  color:#8b5a00 !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__discount b{
  color:#dc8100 !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__note{
  color:#8d7958 !important;
}

/* ---- PROBLEM: keep one design, slightly softer ---- */
.hc-v2-checkitem,
.hc-v2-checkitem:nth-child(even){
  background:linear-gradient(110deg,#fff 0%,#fffdfa 56%,#fff3df 100%) !important;
}
.hc-v2-checkitem>span,
.hc-v2-checkitem:nth-child(even)>span{
  background:linear-gradient(135deg,#f0b03b,#df8707) !important;
}

/* ---- REVIEWS heading back to shared section heading ---- */
.hc-v2-heading--proof{
  margin-top:44px !important;
}
.hc-v2-heading--proof p{
  color:#6f7f91;
}
.hc-v2-trust-proof{
  margin-top:16px !important;
  padding:22px 14px 22px !important;
  border-radius:22px !important;
  background:#fdf4df !important;
}
.hc-v2-trust-proof__kpis{
  gap:2px !important;
  margin-top:0 !important;
}
.hc-v2-trust-kpi{
  min-height:148px !important;
  padding:25px 10px 6px !important;
  background-position:center -1px !important;
  background-size:86% auto !important;
}
.hc-v2-trust-kpi__label{
  font-size:12.5px !important;
}
.hc-v2-trust-kpi__value{
  margin-top:8px !important;
}
.hc-v2-trust-kpi__value strong{
  font-size:36px !important;
}
.hc-v2-trust-kpi__value span{
  font-size:13px !important;
}
.hc-v2-trust-proof__notes{
  margin:0 auto !important;
  font-size:8.5px !important;
}
.hc-v2-trust-proof__link{
  margin-top:10px !important;
}
@media (min-width:769px){
  .hc-v2-trust-proof{
    padding:28px 24px 24px !important;
  }
  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
    width:min(100%,860px) !important;
  }
  .hc-v2-trust-kpi{
    min-height:190px !important;
    padding:30px 10px 10px !important;
    background-size:100% auto !important;
  }
}

/* =========================================================
   AIRCON CEILING FINAL POLISH V6
   User-approved final direction:
   - same warm price-card background for hero/main
   - hero price numbers red, main price numbers orange/gold
   - do not change PROBLEM / PROCESS further
   - trust UI mirrors the existing independence LP proportions
   - add Japan service-area map asset
   ========================================================= */

/* ---------------------------------------------------------
   PRICE — one adopted background design for both cards
   Left-top / right-bottom are warmer, center is lighter.
   --------------------------------------------------------- */
.hc-v2-premium-price--hero,
.hc-v2-premium-price--main{
  color:#694400 !important;
  border:1.5px solid #d69b2a !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(229,156,38,.34) 0%, rgba(229,156,38,.18) 19%, rgba(229,156,38,0) 36%),
    radial-gradient(circle at 92% 92%, rgba(223,139,25,.34) 0%, rgba(223,139,25,.18) 20%, rgba(223,139,25,0) 38%),
    linear-gradient(135deg,#f0bf62 0%,#fff2d0 34%,#fffaf0 52%,#fff1cf 68%,#eeb04b 100%) !important;
  box-shadow:0 16px 34px rgba(176,112,20,.12) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__ghost,
.hc-v2-premium-price--main .hc-v2-premium-price__ghost{
  color:rgba(151,89,0,.085) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__circle,
.hc-v2-premium-price--hero .hc-v2-premium-price__circle--bottom,
.hc-v2-premium-price--main .hc-v2-premium-price__circle,
.hc-v2-premium-price--main .hc-v2-premium-price__circle--bottom{
  border-color:rgba(176,105,6,.52) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__circle::after,
.hc-v2-premium-price--hero .hc-v2-premium-price__circle--bottom::after,
.hc-v2-premium-price--main .hc-v2-premium-price__circle::after,
.hc-v2-premium-price--main .hc-v2-premium-price__circle--bottom::after{
  border-color:rgba(201,137,31,.34) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__service,
.hc-v2-premium-price--main .hc-v2-premium-price__service{
  color:#9a6200 !important;
}
.hc-v2-premium-price--hero h2,
.hc-v2-premium-price--hero h3,
.hc-v2-premium-price--main h2,
.hc-v2-premium-price--main h3{
  color:#654000 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__line,
.hc-v2-premium-price--main .hc-v2-premium-price__line{
  background:linear-gradient(90deg,rgba(169,103,0,0),rgba(169,103,0,.58),rgba(169,103,0,0)) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__yen,
.hc-v2-premium-price--hero .hc-v2-premium-price__tax,
.hc-v2-premium-price--main .hc-v2-premium-price__yen,
.hc-v2-premium-price--main .hc-v2-premium-price__tax{
  color:#8b5a08 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__discount,
.hc-v2-premium-price--main .hc-v2-premium-price__discount{
  color:#805000 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__note,
.hc-v2-premium-price--main .hc-v2-premium-price__note{
  color:#806b45 !important;
}

/* Hero comparison pattern: red price / red discount only */
.hc-v2-premium-price--hero .hc-v2-premium-price__amount strong{
  color:#d94534 !important;
  text-shadow:0 2px 10px rgba(217,69,52,.09) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__discount b{
  color:#d94534 !important;
}

/* Main price pattern: adopted orange/gold text */
.hc-v2-premium-price--main .hc-v2-premium-price__amount strong{
  color:#d98200 !important;
  text-shadow:0 2px 10px rgba(217,130,0,.08) !important;
}
.hc-v2-premium-price--main .hc-v2-premium-price__discount b{
  color:#d98200 !important;
}

/* ---------------------------------------------------------
   TRUST / REVIEWS — use the same layout mechanics as the
   independence LP's KPI block. No copied headline/copy.
   --------------------------------------------------------- */
.hc-v2-proof-section{
  margin-top:46px;
  padding:38px 16px 24px;
  border-radius:24px;
  background:#fff4e2;
}
.hc-v2-proof-section .hc-v2-heading--proof{
  margin:0 auto 10px !important;
}
.hc-v2-proof-section .hc-v2-heading__en{
  color:#b28a34;
}
.hc-v2-proof-section .hc-v2-heading h2{
  color:#684a1c;
}
.hc-v2-proof-section .hc-v2-heading h2::after{
  background:linear-gradient(90deg,#c69b3e 0 60%,#ead694 60% 100%);
}
.hc-v2-proof-section .hc-v2-heading p{
  color:#7a6743;
}
.hc-v2-trust-proof{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.hc-v2-trust-proof__kpis{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  width:min(100%,760px) !important;
  margin:6px auto 0 !important;
}
.hc-v2-trust-kpi{
  position:relative !important;
  overflow:hidden !important;
  min-height:132px !important;
  padding:24px 12px 10px !important;
  border:0 !important;
  border-radius:14px !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}
.hc-v2-trust-kpi::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--hc-trust-frame);
  background-repeat:no-repeat;
  background-position:center -4px;
  background-size:70% auto;
  opacity:.78;
  pointer-events:none;
  z-index:0;
}
.hc-v2-trust-kpi > *{
  position:relative !important;
  z-index:1 !important;
}
.hc-v2-trust-kpi__label{
  margin:0 !important;
  color:#5c470f !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
}
.hc-v2-trust-kpi__value{
  margin:12px 0 0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.hc-v2-trust-kpi__value strong{
  font-size:33px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  background:linear-gradient(180deg,#f7e7a0 0%,#c9961a 52%,#f7e7a0 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:#c9961a !important;
  text-shadow:0 2px 0 rgba(117,88,20,.16) !important;
}
.hc-v2-trust-kpi__value span{
  margin-left:4px !important;
  color:#7a5d15 !important;
  font-size:14px !important;
  font-weight:900 !important;
}
.hc-v2-trust-kpi__value sup{
  margin-left:2px;
  font-size:.58em;
  line-height:1;
  vertical-align:super;
}
.hc-v2-trust-proof__notes{
  width:min(100%,660px);
  margin:6px auto 0 !important;
  color:#6b7280;
  text-align:left;
  font-size:9px !important;
  line-height:1.6;
  font-weight:600;
}
.hc-v2-trust-proof__notes p{margin:2px 0 0;}
.hc-v2-trust-proof__link{
  margin:12px auto 0 !important;
}
@media (min-width:768px){
  .hc-v2-proof-section{padding:46px 28px 30px;}
  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    margin-top:10px !important;
  }
  .hc-v2-trust-kpi{
    min-height:196px !important;
    padding-top:36px !important;
  }
  .hc-v2-trust-kpi::before{
    background-position:center -8px;
    background-size:89% auto;
  }
}
@media (min-width:1024px){
  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .hc-v2-trust-kpi{min-height:204px !important;}
  .hc-v2-trust-kpi::before{
    background-position:center -10px;
    background-size:90% auto;
  }
}

/* ---------------------------------------------------------
   AREA MAP — uploaded image sits between heading underline
   and explanatory copy.
   --------------------------------------------------------- */
.hc-v2-area-map{
  width:min(50%,180px);
  margin:16px auto 0;
}
.hc-v2-area-map img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}
.hc-v2-heading--area > p{
  margin-top:13px !important;
}
@media (max-width:640px){
  .hc-v2-area-map{
    width:min(48%,150px);
    margin-top:14px;
  }
}

/* =========================================================
   AIRCON CEILING FINAL POLISH V8
   - adopt previous main price-card design for both hero/main
   - hero copy slightly lower and larger
   - area section shows current + one-card comparison
   ========================================================= */

/* ---- HERO copy tuning ---- */
@media (min-width:641px){
  .hc-v2-hero__content{
    padding-top:96px !important;
  }
  .hc-v2-kicker{font-size:15px !important;}
  .hc-v2-hero__title{font-size:44px !important;}
  .hc-v2-hero__lead{font-size:19px !important;}
}
@media (max-width:640px){
  .hc-v2-hero__content{
    min-height:382px !important;
    padding-top:62px !important;
    padding-right:40% !important;
  }
  .hc-v2-kicker{
    font-size:10px !important;
    letter-spacing:.16em !important;
    margin-bottom:9px !important;
  }
  .hc-v2-hero__title{
    font-size:30px !important;
    line-height:1.2 !important;
    letter-spacing:-.02em !important;
  }
  .hc-v2-hero__title span:last-child{font-size:.9em !important;}
  .hc-v2-hero__accent{margin:12px 0 13px !important;}
  .hc-v2-hero__lead{
    font-size:13px !important;
    line-height:1.68 !important;
  }
}
@media (max-width:390px){
  .hc-v2-hero__content{padding-top:58px !important; padding-right:38% !important;}
  .hc-v2-hero__title{font-size:28px !important;}
}

/* ---- PRICE cards: use the previous main-card design on both ---- */
.hc-v2-premium-price{
  padding:24px 28px 20px !important;
}
.hc-v2-premium-price--hero,
.hc-v2-premium-price--main{
  color:#6e4700 !important;
  border:1px solid #ecd8a9 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,216,147,.34), transparent 21%),
    radial-gradient(circle at 8% 88%, rgba(255,255,255,.65), transparent 28%),
    linear-gradient(150deg,#fffaf0 0%, #fff2d7 24%, #f8dd9e 54%, #fff2d7 76%, #efbf57 100%) !important;
  box-shadow:0 16px 34px rgba(189,132,34,.10) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__ghost,
.hc-v2-premium-price--main .hc-v2-premium-price__ghost{
  color:rgba(181,123,22,.08) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__circle,
.hc-v2-premium-price--hero .hc-v2-premium-price__circle--bottom,
.hc-v2-premium-price--main .hc-v2-premium-price__circle,
.hc-v2-premium-price--main .hc-v2-premium-price__circle--bottom{
  border-color:rgba(208,157,65,.22) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__circle::after,
.hc-v2-premium-price--hero .hc-v2-premium-price__circle--bottom::after,
.hc-v2-premium-price--main .hc-v2-premium-price__circle::after,
.hc-v2-premium-price--main .hc-v2-premium-price__circle--bottom::after{
  border-color:rgba(255,255,255,.25) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__service,
.hc-v2-premium-price--main .hc-v2-premium-price__service{
  color:#b07309 !important;
}
.hc-v2-premium-price--hero h2,
.hc-v2-premium-price--hero h3,
.hc-v2-premium-price--main h2,
.hc-v2-premium-price--main h3{
  color:#744a00 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__line,
.hc-v2-premium-price--main .hc-v2-premium-price__line{
  margin:16px 0 14px !important;
  background:linear-gradient(90deg,rgba(176,115,9,0),rgba(176,115,9,.3),rgba(176,115,9,0)) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__amount,
.hc-v2-premium-price--main .hc-v2-premium-price__amount{
  color:#744a00 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__amount strong,
.hc-v2-premium-price--main .hc-v2-premium-price__amount strong{
  color:#e08b00 !important;
  text-shadow:0 2px 10px rgba(224,139,0,.08) !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__yen,
.hc-v2-premium-price--hero .hc-v2-premium-price__tax,
.hc-v2-premium-price--main .hc-v2-premium-price__yen,
.hc-v2-premium-price--main .hc-v2-premium-price__tax{
  color:#9f6b0b !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__discount,
.hc-v2-premium-price--main .hc-v2-premium-price__discount{
  margin-top:13px !important;
  color:#8b5a00 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__discount b,
.hc-v2-premium-price--main .hc-v2-premium-price__discount b{
  color:#dc8100 !important;
}
.hc-v2-premium-price--hero .hc-v2-premium-price__note,
.hc-v2-premium-price--main .hc-v2-premium-price__note{
  color:#8d7958 !important;
}
@media (max-width:640px){
  .hc-v2-premium-price{padding:19px 16px 17px !important; border-radius:22px !important;}
  .hc-v2-premium-price--hero{margin-top:-42px !important;}
  .hc-v2-premium-price h2,.hc-v2-premium-price h3{font-size:24px !important;}
  .hc-v2-premium-price__amount strong{font-size:44px !important;}
  .hc-v2-premium-price__discount{font-size:12px !important;}
}

/* ---- AREA comparison ---- */
.hc-v2-area-compare{
  display:grid;
  gap:18px;
  margin-top:18px;
}
.hc-v2-area-variant__label{
  margin:0 0 8px;
  color:#6e84a7;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.hc-v2-area-variant--combined{margin-top:2px;}

.hc-v2-area-combined-card{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:16px;
  align-items:start;
  padding:18px 16px 16px;
  border:1px solid #dceaf7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(14,71,135,.055);
}
.hc-v2-area-combined-card__visual{
  align-self:start;
  padding-top:8px;
}
.hc-v2-area-combined-card__visual img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.hc-v2-area-combined-card__body{min-width:0;}

.hc-v2-area-accordion--combined{
  gap:0 !important;
  margin-top:0 !important;
}
.hc-v2-area-accordion--combined details{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-bottom:1px solid #e8eef5 !important;
}
.hc-v2-area-accordion--combined details:last-child{border-bottom:0 !important;}
.hc-v2-area-accordion--combined summary{
  padding:15px 36px 15px 0 !important;
  font-size:15px !important;
}
.hc-v2-area-accordion--combined summary > span{right:2px !important;}
.hc-v2-area-accordion--combined .hc-v2-area-content{
  padding:0 0 10px !important;
}
.hc-v2-area-accordion--combined .hc-v2-area-content a:first-child{border-top:1px solid #e8eef5;}
.hc-v2-area-more--inside{
  width:100% !important;
  margin-top:12px !important;
}

@media (max-width:640px){
  .hc-v2-area-compare{gap:16px;}
  .hc-v2-area-variant__label{font-size:10px; margin-bottom:7px;}
  .hc-v2-area-combined-card{
    grid-template-columns:84px 1fr;
    gap:12px;
    padding:14px 12px 12px;
    border-radius:16px;
  }
  .hc-v2-area-combined-card__visual{padding-top:6px;}
  .hc-v2-area-accordion--combined summary{
    padding:13px 26px 13px 0 !important;
    font-size:14px !important;
  }
  .hc-v2-area-accordion--combined .hc-v2-area-content a{
    grid-template-columns:19px 72px 1fr !important;
    padding:10px 0 !important;
  }
}


/* =========================================================
   PROBLEM — range hood style restored
   2026-09: user-directed
   Only the "こんなお悩みありませんか？" section is affected.
   ========================================================= */
.hc-v2-problem{
  position:relative !important;
  background:linear-gradient(180deg,#f1f8ff 0,#f8fbff 100%) !important;
  overflow:hidden !important;
}

.hc-v2-problem__inner{
  z-index:2 !important;
}

.hc-v2-problem__bg{
  position:absolute !important;
  width:29% !important;
  height:68% !important;
  opacity:.9 !important;
  filter:saturate(.8) !important;
}

.hc-v2-problem__bg::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,#f1f8ff,transparent 30%,transparent 70%,#f1f8ff) !important;
}

.hc-v2-problem__bg img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.hc-v2-problem__bg--left{
  left:0 !important;
  top:24% !important;
}

.hc-v2-problem__bg--right{
  right:0 !important;
  top:30% !important;
}

.hc-v2-problem__mascot{
  position:absolute !important;
  top:74px !important;
  right:24px !important;
  width:120px !important;
  height:120px !important;
  opacity:1 !important;
}

.hc-v2-problem__mascot img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.hc-v2-checklist{
  position:relative !important;
  z-index:2 !important;
  width:min(72%,560px) !important;
  margin:24px auto 0 !important;
  display:grid !important;
  gap:14px !important;
}

.hc-v2-checkitem,
.hc-v2-checkitem:nth-child(even){
  position:relative !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:64px !important;
  padding:14px 20px !important;

  border:0 !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.95) !important;
  box-shadow:0 8px 22px rgba(19,72,132,.12) !important;

  color:var(--hc-text) !important;
  font-size:18px !important;
  font-weight:800 !important;
}

.hc-v2-checkitem::after{
  content:none !important;
  display:none !important;
}

.hc-v2-checkitem>span,
.hc-v2-checkitem:nth-child(even)>span{
  position:static !important;
  z-index:auto !important;
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;

  display:grid !important;
  place-items:center !important;

  border:2px solid var(--hc-blue) !important;
  border-radius:50% !important;
  background:transparent !important;
  color:var(--hc-blue) !important;
  box-shadow:none !important;

  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}

@media (max-width:640px){
  .hc-v2-problem__bg{
    width:38% !important;
    height:64% !important;
    opacity:.78 !important;
  }

  .hc-v2-problem__bg--left{ top:28% !important; }
  .hc-v2-problem__bg--right{ top:34% !important; }

  .hc-v2-problem__mascot{
    top:78px !important;
    right:6px !important;
    width:80px !important;
    height:80px !important;
  }

  .hc-v2-checklist{
    width:78% !important;
    gap:9px !important;
    margin-top:14px !important;
  }

  .hc-v2-checkitem,
  .hc-v2-checkitem:nth-child(even){
    min-height:50px !important;
    padding:10px 13px !important;
    border-radius:14px !important;
    gap:9px !important;
    font-size:13px !important;
  }

  .hc-v2-checkitem>span,
  .hc-v2-checkitem:nth-child(even)>span{
    width:26px !important;
    height:26px !important;
    flex-basis:26px !important;
    font-size:12px !important;
  }
}

/* =========================================================
   CEILING DETAIL — user directed adjustments 2026-09
   1) SERVICE 01/02/03 circles = original range-hood style
   2) Main PRICE section = classic white/gold card
   ========================================================= */

/* SERVICE numbers: only the 01/02/03 circles are restored. */
.hc-v2-cleaning-point>span,
.hc-v2-cleaning-point:nth-child(2)>span{
  width:42px !important;
  height:42px !important;
  border:0 !important;
  border-radius:50% !important;
  background:linear-gradient(180deg,#1988ff,#0767db) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
}

/* Lower price card: classic white card with gold outline. */
.hc-v2-pricebox--classic{
  position:relative;
  overflow:visible;
  padding:24px 18px 28px !important;
  border:2px solid #e0b62f !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(13,64,130,.08) !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines{
  margin:0 0 18px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#bd8b17 !important;
  font-size:25px !important;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.04em;
  text-align:center;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::before,
.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::after{
  content:"";
  width:24px;
  height:2px;
  flex:0 0 24px;
  border-radius:999px;
  background:#d8b14e;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:16px !important;
  padding:20px 10px 18px !important;
  border-top:0 !important;
  border-bottom:1px dashed #d5e1ed !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single>span{
  color:var(--hc-blue-dark) !important;
  font-size:17px !important;
  line-height:1.4 !important;
  font-weight:900 !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong{
  color:#c89221 !important;
  font-size:48px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong small{
  margin-left:5px !important;
  color:var(--hc-blue-dark) !important;
  font-size:11px !important;
  font-weight:800 !important;
}

.hc-v2-pricebox--classic .hc-v2-discount-ribbon{
  width:100% !important;
  margin:18px auto 0 !important;
  padding:12px 18px !important;
  color:#fff !important;
  background:#d6a62c !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:900 !important;
  text-shadow:none !important;
}

.hc-v2-pricebox--classic .hc-v2-discount-ribbon b{
  color:#fff !important;
}

.hc-v2-pricebox--classic .hc-v2-price-note{
  position:absolute;
  left:50%;
  bottom:-18px;
  transform:translateX(-50%);
  width:max-content;
  max-width:88%;
  margin:0 !important;
  padding:8px 15px !important;
  border:2px solid #cfe3ff !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#4778e7 !important;
  box-shadow:0 5px 14px rgba(24,96,177,.10) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  white-space:nowrap;
}

@media (max-width:640px){
  .hc-v2-cleaning-point>span,
  .hc-v2-cleaning-point:nth-child(2)>span{
    width:31px !important;
    height:31px !important;
    font-size:9px !important;
  }

  .hc-v2-pricebox--classic{
    padding:20px 14px 25px !important;
    border-radius:18px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__title--lines{
    margin-bottom:11px !important;
    gap:8px;
    font-size:20px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::before,
  .hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::after{
    width:18px;
    flex-basis:18px;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single{
    gap:8px !important;
    padding:15px 8px 14px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single>span{
    font-size:13px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong{
    font-size:34px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong small{
    margin-left:3px !important;
    font-size:9px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-discount-ribbon{
    margin-top:14px !important;
    padding:10px 8px !important;
    font-size:12px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-price-note{
    bottom:-16px;
    padding:7px 12px !important;
    font-size:9px !important;
  }
}


/* =========================================================
   CEILING DETAIL — price/review compact polish 2026-09
   User-directed follow-up
   ========================================================= */

/* PRICE */
.hc-v2-pricebox--classic{
  border-color:#e1a24e !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines{
  color:#c85a3f !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::before,
.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::after{
  background:#d96b4b !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single{
  grid-template-columns:36% 64% !important;
  gap:8px !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > span{
  color:#b94f3a !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong{
  justify-self:center !important;
  color:#d95136 !important;
  font-size:56px !important;
  letter-spacing:-.015em !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong small{
  color:#b6503d !important;
  font-size:12px !important;
}

.hc-v2-pricebox--classic .hc-v2-discount-ribbon{
  background:#d96843 !important;
  font-size:16px !important;
}

.hc-v2-pricebox--classic .hc-v2-price-note{
  padding:9px 18px !important;
  border-color:#f0c8bc !important;
  color:#c85841 !important;
  font-size:13px !important;
}

/* VOICE / REVIEWS */
.hc-v2-heading--proof{
  margin:52px auto 20px !important;
}

.hc-v2-heading--proof .hc-v2-heading__en{
  color:var(--hc-blue) !important;
}

.hc-v2-heading--proof h2{
  color:var(--hc-blue-dark) !important;
}

.hc-v2-heading--proof h2::after{
  background:linear-gradient(90deg,var(--hc-blue) 0 60%,#ffd56b 60% 100%) !important;
}

.hc-v2-heading--proof p{
  color:var(--hc-text) !important;
}

.hc-v2-proof-section{
  margin-top:0 !important;
  padding:18px 14px 18px !important;
  border-radius:20px !important;
  background:#fff7e8 !important;
}

.hc-v2-trust-proof__kpis{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:0 auto !important;
}

.hc-v2-trust-kpi{
  min-height:116px !important;
  padding:24px 6px 8px !important;
  border-radius:12px !important;
}

.hc-v2-trust-kpi::before{
  background-position:center -2px !important;
  background-size:94% auto !important;
  opacity:.66 !important;
}

.hc-v2-trust-kpi__label{
  font-size:10px !important;
  line-height:1.35 !important;
}

.hc-v2-trust-kpi__value{
  margin-top:8px !important;
}

.hc-v2-trust-kpi__value strong{
  font-size:28px !important;
}

.hc-v2-trust-kpi__value span{
  margin-left:2px !important;
  font-size:9px !important;
}

.hc-v2-trust-proof__notes{
  margin-top:7px !important;
  font-size:8px !important;
  line-height:1.45 !important;
}

.hc-v2-trust-proof__link{
  min-height:42px !important;
  margin-top:10px !important;
  font-size:10.5px !important;
}

@media (max-width:640px){
  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single{
    grid-template-columns:34% 66% !important;
    gap:4px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single > span{
    font-size:12px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong{
    font-size:42px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong small{
    margin-left:4px !important;
    font-size:9px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-discount-ribbon{
    font-size:12.5px !important;
  }

  .hc-v2-pricebox--classic .hc-v2-price-note{
    bottom:-17px !important;
    padding:8px 14px !important;
    font-size:10.5px !important;
  }

  .hc-v2-heading--proof{
    margin-top:42px !important;
    margin-bottom:16px !important;
  }

  .hc-v2-proof-section{
    padding:14px 8px 16px !important;
    border-radius:18px !important;
  }

  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
  }

  .hc-v2-trust-kpi{
    min-height:102px !important;
    padding:20px 2px 6px !important;
  }

  .hc-v2-trust-kpi::before{
    background-position:center 0 !important;
    background-size:100% auto !important;
  }

  .hc-v2-trust-kpi__label{
    font-size:8.5px !important;
  }

  .hc-v2-trust-kpi__value strong{
    font-size:24px !important;
  }

  .hc-v2-trust-kpi__value span{
    display:inline !important;
    font-size:7.5px !important;
  }

  .hc-v2-trust-proof__notes{
    padding-inline:5px;
    font-size:7.5px !important;
  }

  .hc-v2-trust-proof__link{
    min-height:40px !important;
    padding:0 13px !important;
    font-size:10px !important;
  }
}


/* =========================================================
   CEILING DETAIL — final color + review triangle adjustment
   2026-09 user-directed
   CSS-only follow-up
   ========================================================= */

/* ---------------------------------------------------------
   PRICE
   Keep the latest sizing/centering.
   Restore every color except the 25,000 number itself.
   --------------------------------------------------------- */
.hc-v2-pricebox--classic{
  border-color:#e0b62f !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines{
  color:#bd8b17 !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::before,
.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::after{
  background:#d8b14e !important;
}

.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > span{
  color:var(--hc-blue-dark) !important;
}

/* Only the numeric price is vivid sale red. */
.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong{
  color:#f23b2d !important;
  text-shadow:0 2px 10px rgba(242,59,45,.10) !important;
}

/* "円（税込）" returns to the original navy. */
.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong small{
  color:var(--hc-blue-dark) !important;
}

/* Discount ribbon returns to the original gold. */
.hc-v2-pricebox--classic .hc-v2-discount-ribbon{
  background:#d6a62c !important;
  color:#fff !important;
}

.hc-v2-pricebox--classic .hc-v2-discount-ribbon b{
  color:#fff !important;
}

/* Guidance pill returns to the original blue treatment. */
.hc-v2-pricebox--classic .hc-v2-price-note{
  border-color:#cfe3ff !important;
  background:#fff !important;
  color:#4778e7 !important;
  box-shadow:0 5px 14px rgba(24,96,177,.10) !important;
}

/* ---------------------------------------------------------
   REVIEWS
   No cream panel.
   Equal-size triangle: one centered on top, two below.
   --------------------------------------------------------- */
.hc-v2-proof-section{
  margin-top:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.hc-v2-trust-proof{
  background:transparent !important;
}

.hc-v2-trust-proof__kpis{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:min(100%,520px) !important;
  margin:0 auto !important;
}

.hc-v2-trust-kpi{
  width:100% !important;
  min-width:0 !important;
  min-height:116px !important;
}

/* Top KPI has exactly the same width as each bottom KPI. */
.hc-v2-trust-kpi:first-child{
  grid-column:1 / -1 !important;
  width:calc(50% - 4px) !important;
  justify-self:center !important;
}

.hc-v2-trust-kpi:nth-child(2){
  grid-column:1 !important;
}

.hc-v2-trust-kpi:nth-child(3){
  grid-column:2 !important;
}

@media (max-width:640px){
  .hc-v2-trust-proof__kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:4px !important;
    width:100% !important;
  }

  .hc-v2-trust-kpi{
    min-height:102px !important;
  }

  .hc-v2-trust-kpi:first-child{
    width:calc(50% - 2px) !important;
  }
}


/* =========================================================
   CEILING DETAIL — vivid red + review text readability
   CSS-only follow-up
   ========================================================= */

/* 25,000 only: deeper, more vivid sale red */
.hc-v2-pricebox--classic .hc-v2-pricebox__row--single strong{
  color:#e3261c !important;
  text-shadow:0 2px 8px rgba(227,38,28,.08) !important;
}

/* Review KPI content: larger and slightly lower so it clears the crown */
.hc-v2-trust-kpi{
  min-height:124px !important;
  padding-top:32px !important;
}

.hc-v2-trust-kpi__label{
  font-size:12px !important;
  line-height:1.35 !important;
}

.hc-v2-trust-kpi__value{
  margin-top:9px !important;
}

.hc-v2-trust-kpi__value strong{
  font-size:34px !important;
}

.hc-v2-trust-kpi__value span{
  font-size:10px !important;
}

@media (max-width:640px){
  .hc-v2-trust-kpi{
    min-height:116px !important;
    padding-top:29px !important;
  }

  .hc-v2-trust-kpi__label{
    font-size:10px !important;
  }

  .hc-v2-trust-kpi__value{
    margin-top:8px !important;
  }

  .hc-v2-trust-kpi__value strong{
    font-size:30px !important;
  }

  .hc-v2-trust-kpi__value span{
    font-size:8.5px !important;
  }
}


/* =========================================================
   CEILING DETAIL — review final spacing tweak
   CSS-only
   ========================================================= */

/* Bring the footnotes closer to the lower two KPI items. */
.hc-v2-trust-proof__notes{
  margin-top:1px !important;
  transform:translateY(-3px);
}

/* Larger / wider Google review CTA pill. */
.hc-v2-trust-proof__link{
  width:min(100%,360px) !important;
  min-height:50px !important;
  margin-top:6px !important;
  padding:0 24px !important;
  font-size:12px !important;
}

@media (max-width:640px){
  .hc-v2-trust-proof__notes{
    margin-top:0 !important;
    transform:translateY(-4px);
  }

  .hc-v2-trust-proof__link{
    width:min(100%,320px) !important;
    min-height:48px !important;
    margin-top:5px !important;
    padding:0 20px !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   CEILING DETAIL — AREA single connected card
   2026-09 user-directed
   ========================================================= */

/* Make the Japan map larger and use it more like a soft background motif. */
.hc-v2-heading--area{
  position:relative;
  overflow:visible;
  padding-bottom:18px;
}

.hc-v2-area-map{
  width:min(78%,300px) !important;
  margin:8px auto -8px !important;
  opacity:.18;
  filter:saturate(.75);
  pointer-events:none;
}

.hc-v2-area-map img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}

/* One unified accordion card; no Pattern A/B labels, no side image. */
.hc-v2-area-unified-card{
  width:min(100%,760px);
  margin:10px auto 0;
  padding:6px 16px 16px;
  border:1px solid #dceaf7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(14,71,135,.07);
}

.hc-v2-area-accordion--unified{
  gap:0 !important;
  margin-top:0 !important;
}

.hc-v2-area-accordion--unified details{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-bottom:1px solid #e8eef5 !important;
}

.hc-v2-area-accordion--unified details:last-child{
  border-bottom:0 !important;
}

.hc-v2-area-accordion--unified summary{
  padding:16px 42px 16px 4px !important;
  font-size:15px !important;
}

.hc-v2-area-accordion--unified summary > span{
  right:5px !important;
}

.hc-v2-area-accordion--unified .hc-v2-area-content{
  padding:0 4px 10px !important;
}

.hc-v2-area-accordion--unified .hc-v2-area-content a{
  padding:11px 0 !important;
}

/* Bigger CTA, keeping the same visual language. */
.hc-v2-area-unified-card .hc-v2-area-more--inside{
  width:min(100%,360px) !important;
  min-height:52px !important;
  margin:16px auto 0 !important;
  padding:0 24px !important;
  border-radius:999px !important;
  font-size:12.5px !important;
  justify-content:center !important;
}

@media (max-width:640px){
  .hc-v2-heading--area{
    padding-bottom:12px;
  }

  .hc-v2-area-map{
    width:min(84%,260px) !important;
    margin:6px auto -6px !important;
    opacity:.16;
  }

  .hc-v2-area-unified-card{
    width:100%;
    margin-top:8px;
    padding:4px 12px 14px;
    border-radius:16px;
  }

  .hc-v2-area-accordion--unified summary{
    padding:14px 34px 14px 2px !important;
    font-size:14px !important;
  }

  .hc-v2-area-accordion--unified summary > span{
    right:4px !important;
  }

  .hc-v2-area-accordion--unified .hc-v2-area-content{
    padding:0 2px 8px !important;
  }

  .hc-v2-area-unified-card .hc-v2-area-more--inside{
    width:min(100%,320px) !important;
    min-height:50px !important;
    margin-top:14px !important;
    padding:0 20px !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   CEILING DETAIL — FV classic price + no area map
   2026-09 user-directed
   ========================================================= */

/* AREA: Japan map is intentionally not used. No reserved space. */
.hc-v2-area-map{
  display:none !important;
}
.hc-v2-heading--area{
  padding-bottom:0 !important;
  margin-bottom:20px !important;
}
.hc-v2-area-unified-card{
  margin-top:0 !important;
}

/* FV copy: start lower and scale all three text levels up. */
@media (min-width:641px){
  .hc-v2-hero{
    min-height:820px !important;
  }

  .hc-v2-hero__content{
    padding-top:122px !important;
    min-height:590px !important;
  }

  .hc-v2-kicker{
    font-size:17px !important;
    line-height:1.35 !important;
    letter-spacing:.20em !important;
    margin-bottom:16px !important;
  }

  .hc-v2-hero__title{
    font-size:48px !important;
    line-height:1.22 !important;
  }

  .hc-v2-hero__title span:last-child{
    font-size:.94em !important;
  }

  .hc-v2-hero__accent{
    margin:19px 0 21px !important;
  }

  .hc-v2-hero__lead{
    font-size:21px !important;
    line-height:1.75 !important;
  }

  .hc-v2-hero__price-shell{
    margin-top:-34px !important;
  }

  .hc-v2-pricebox--classic-hero{
    margin-top:0 !important;
  }
}

@media (max-width:640px){
  .hc-v2-hero{
    min-height:auto !important;
    padding-bottom:34px !important;
  }

  .hc-v2-hero__content{
    min-height:430px !important;
    padding-top:82px !important;
    padding-right:38% !important;
  }

  .hc-v2-kicker{
    font-size:11px !important;
    line-height:1.35 !important;
    letter-spacing:.15em !important;
    margin-bottom:11px !important;
  }

  .hc-v2-hero__title{
    font-size:32px !important;
    line-height:1.18 !important;
    letter-spacing:-.025em !important;
  }

  .hc-v2-hero__title span:last-child{
    font-size:.91em !important;
    white-space:nowrap !important;
  }

  .hc-v2-hero__accent{
    margin:13px 0 15px !important;
  }

  .hc-v2-hero__lead{
    font-size:14px !important;
    line-height:1.68 !important;
  }

  .hc-v2-hero__price-shell{
    margin-top:-12px !important;
  }

  .hc-v2-pricebox--classic-hero{
    margin-top:0 !important;
  }
}

@media (max-width:390px){
  .hc-v2-hero__content{
    min-height:420px !important;
    padding-top:76px !important;
    padding-right:36% !important;
  }

  .hc-v2-kicker{
    font-size:10.5px !important;
  }

  .hc-v2-hero__title{
    font-size:30px !important;
  }

  .hc-v2-hero__lead{
    font-size:13.5px !important;
  }
}


/* =========================================================
   CEILING DETAIL — FV copy scale / spacing refinement
   2026-09 user-directed
   - larger kicker / title / lead
   - copy block starts lower
   - price card moves substantially upward
   ========================================================= */

@media (min-width:641px){
  .hc-v2-hero{
    min-height:760px !important;
  }

  .hc-v2-hero__content{
    padding-top:142px !important;
    min-height:520px !important;
  }

  .hc-v2-kicker{
    font-size:19px !important;
    line-height:1.3 !important;
    letter-spacing:.18em !important;
    margin-bottom:17px !important;
  }

  .hc-v2-hero__title{
    font-size:52px !important;
    line-height:1.18 !important;
  }

  .hc-v2-hero__title span:last-child{
    font-size:.94em !important;
  }

  .hc-v2-hero__accent{
    margin:19px 0 21px !important;
  }

  .hc-v2-hero__lead{
    font-size:23px !important;
    line-height:1.7 !important;
  }

  .hc-v2-hero__price-shell{
    margin-top:-48px !important;
  }
}

@media (max-width:640px){
  .hc-v2-hero{
    min-height:auto !important;
    padding-bottom:26px !important;
  }

  .hc-v2-hero__content{
    min-height:350px !important;
    padding-top:98px !important;
    padding-right:35% !important;
  }

  .hc-v2-kicker{
    font-size:12.5px !important;
    line-height:1.3 !important;
    letter-spacing:.14em !important;
    margin-bottom:12px !important;
  }

  .hc-v2-hero__title{
    font-size:36px !important;
    line-height:1.14 !important;
    letter-spacing:-.03em !important;
  }

  .hc-v2-hero__title span:last-child{
    font-size:.92em !important;
    white-space:nowrap !important;
  }

  .hc-v2-hero__accent{
    margin:14px 0 16px !important;
  }

  .hc-v2-hero__lead{
    font-size:16px !important;
    line-height:1.62 !important;
  }

  .hc-v2-hero__price-shell{
    margin-top:-22px !important;
  }
}

@media (max-width:390px){
  .hc-v2-hero__content{
    min-height:344px !important;
    padding-top:92px !important;
    padding-right:33% !important;
  }

  .hc-v2-kicker{
    font-size:11.5px !important;
  }

  .hc-v2-hero__title{
    font-size:33px !important;
  }

  .hc-v2-hero__lead{
    font-size:15px !important;
  }
}


/* =========================================================
   MID-PAGE CTA — after PRICE / before VOICE
   ========================================================= */
.hc-v2-mid-cta{
  position:relative;
  width:min(100%,760px);
  margin:54px auto 58px;
  padding:28px 26px 24px;
  overflow:hidden;
  border:1px solid #dbe9f7;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 0%,rgba(10,116,245,.08),transparent 24%),
    radial-gradient(circle at 0% 100%,rgba(246,167,25,.08),transparent 26%),
    #fff;
  box-shadow:0 14px 34px rgba(13,64,130,.09);
}

.hc-v2-mid-cta__intro{
  text-align:center;
}

.hc-v2-mid-cta__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:#edf7ff;
  color:#0a74f5;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}

.hc-v2-mid-cta__intro h3{
  margin:12px 0 0;
  color:var(--hc-blue-dark);
  font-size:25px;
  line-height:1.35;
  font-weight:900;
}

.hc-v2-mid-cta__intro > p:last-child{
  margin-top:9px;
  color:#607392;
  font-size:13px;
  line-height:1.75;
  font-weight:700;
}

.hc-v2-mid-cta__actions{
  margin-top:20px;
  display:grid;
  gap:11px;
}

.hc-v2-mid-cta__action{
  position:relative;
  min-height:76px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  gap:12px;
  align-items:center;
  padding:12px 18px;
  border-radius:17px;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 8px 18px rgba(19,63,104,.10);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.hc-v2-mid-cta__action--line{
  min-height:88px;
  background:#06C755;
}

.hc-v2-mid-cta__action--web{
  background:#f6a719;
}

.hc-v2-mid-cta__action:hover{
  transform:translateY(-1px);
  box-shadow:0 11px 22px rgba(19,63,104,.14);
  filter:saturate(1.03);
}

.hc-v2-mid-cta__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
}

.hc-v2-mid-cta__icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon img{
  width:34px;
  height:34px;
}

.hc-v2-mid-cta__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.hc-v2-mid-cta__copy strong{
  color:#fff !important;
  font-size:19px;
  line-height:1.2;
  font-weight:900;
}

.hc-v2-mid-cta__copy small{
  margin-top:5px;
  color:rgba(255,255,255,.96) !important;
  font-size:10px;
  line-height:1.4;
  font-weight:800;
}

.hc-v2-mid-cta__arrow{
  color:#fff;
  font-size:22px;
  font-weight:900;
  text-align:right;
}

.hc-v2-mid-cta__line-benefits{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  margin:-2px 0 1px;
}

.hc-v2-mid-cta__line-benefits span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 10px;
  border:1px solid #cfead6;
  border-radius:999px;
  background:#f6fff8;
  color:#168c43;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

/* Keep healthy breathing room before VOICE. */
.hc-v2-heading--proof{
  margin-top:0 !important;
}

@media (max-width:640px){
  .hc-v2-mid-cta{
    margin:44px auto 48px;
    padding:20px 14px 16px;
    border-radius:20px;
  }

  .hc-v2-mid-cta__eyebrow{
    min-height:25px;
    padding:0 10px;
    font-size:9px;
  }

  .hc-v2-mid-cta__intro h3{
    margin-top:10px;
    font-size:20px;
  }

  .hc-v2-mid-cta__intro > p:last-child{
    margin-top:7px;
    font-size:10.5px;
    line-height:1.65;
  }

  .hc-v2-mid-cta__actions{
    margin-top:16px;
    gap:9px;
  }

  .hc-v2-mid-cta__action{
    min-height:64px;
    grid-template-columns:34px minmax(0,1fr) 18px;
    gap:9px;
    padding:9px 12px;
    border-radius:15px;
  }

  .hc-v2-mid-cta__action--line{
    min-height:74px;
  }

  .hc-v2-mid-cta__icon{
    width:34px;
    height:34px;
  }

  .hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon img{
    width:29px;
    height:29px;
  }

  .hc-v2-mid-cta__copy strong{
    font-size:16px;
  }

  .hc-v2-mid-cta__copy small{
    margin-top:4px;
    font-size:8.5px;
  }

  .hc-v2-mid-cta__arrow{
    font-size:18px;
  }

  .hc-v2-mid-cta__line-benefits{
    gap:5px;
  }

  .hc-v2-mid-cta__line-benefits span{
    min-height:23px;
    padding:0 8px;
    font-size:7.5px;
  }
}


/* =========================================================
   MID-PAGE CTA V2
   - footer CTA icons
   - centered button copy
   - LINE benefits inside green button
   ========================================================= */

.hc-v2-mid-cta__eyebrow{
  display:none !important;
}

.hc-v2-mid-cta__intro h3{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  margin:0 !important;
  color:var(--hc-blue-dark) !important;
  font-size:25px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  text-align:center !important;
}

.hc-v2-mid-cta__intro h3::before,
.hc-v2-mid-cta__intro h3::after{
  content:"" !important;
  width:54px !important;
  height:1px !important;
  flex:0 1 54px !important;
  background:#b9cce0 !important;
}

.hc-v2-mid-cta__intro h3 > span{
  flex:0 1 auto;
}

.hc-v2-mid-cta__intro > p{
  margin-top:10px !important;
  text-align:center !important;
}

.hc-v2-mid-cta__actions{
  margin-top:20px !important;
  gap:11px !important;
}

.hc-v2-mid-cta__action{
  position:relative !important;
  display:block !important;
  padding-left:64px !important;
  padding-right:52px !important;
}

.hc-v2-mid-cta__action--line{
  min-height:132px !important;
  padding-top:17px !important;
  padding-bottom:15px !important;
}

.hc-v2-mid-cta__action--web{
  min-height:74px !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
}

.hc-v2-mid-cta__icon{
  position:absolute !important;
  left:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:40px !important;
}

.hc-v2-mid-cta__action--line .hc-v2-mid-cta__icon{
  width:44px !important;
  height:44px !important;
}

.hc-v2-mid-cta__action--line .hc-v2-mid-cta__icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:10px !important;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon img{
  width:36px !important;
  height:36px !important;
  object-fit:contain !important;
}

.hc-v2-mid-cta__copy{
  width:100% !important;
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hc-v2-mid-cta__copy strong{
  width:100% !important;
  text-align:center !important;
}

.hc-v2-mid-cta__copy small{
  width:100% !important;
  text-align:center !important;
}

.hc-v2-mid-cta__arrow{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}

.hc-v2-mid-cta__line-benefits{
  width:100% !important;
  margin:12px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px !important;
}

.hc-v2-mid-cta__line-benefits > span{
  min-width:0 !important;
  min-height:27px !important;
  padding:0 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.88) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#079b43 !important;
  font-size:9px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:nowrap !important;
}

@media (max-width:640px){
  .hc-v2-mid-cta__intro h3{
    gap:9px !important;
    font-size:20px !important;
  }

  .hc-v2-mid-cta__intro h3::before,
  .hc-v2-mid-cta__intro h3::after{
    width:31px !important;
    flex-basis:31px !important;
  }

  .hc-v2-mid-cta__action{
    padding-left:50px !important;
    padding-right:40px !important;
  }

  .hc-v2-mid-cta__action--line{
    min-height:122px !important;
    padding-top:14px !important;
    padding-bottom:13px !important;
  }

  .hc-v2-mid-cta__action--web{
    min-height:66px !important;
  }

  .hc-v2-mid-cta__icon{
    left:12px !important;
    width:32px !important;
    height:32px !important;
  }

  .hc-v2-mid-cta__action--line .hc-v2-mid-cta__icon{
    width:35px !important;
    height:35px !important;
  }

  .hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon img{
    width:29px !important;
    height:29px !important;
  }

  .hc-v2-mid-cta__arrow{
    right:12px !important;
  }

  .hc-v2-mid-cta__line-benefits{
    margin-top:10px !important;
    gap:4px !important;
  }

  .hc-v2-mid-cta__line-benefits > span{
    min-height:24px !important;
    padding:0 5px !important;
    font-size:7.2px !important;
  }
}


/* =========================================================
   MID-PAGE CTA V3
   LINE = green action header + white benefit panel
   Web = current compact button
   ========================================================= */

.hc-v2-mid-cta__line-card{
  display:block !important;
  overflow:hidden !important;
  border:2px solid #06C755 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:inherit !important;
  text-decoration:none !important;
  box-shadow:0 8px 18px rgba(19,63,104,.10) !important;
  transition:transform .16s ease, box-shadow .16s ease !important;
}

.hc-v2-mid-cta__line-card:hover{
  transform:translateY(-1px);
  box-shadow:0 11px 22px rgba(19,63,104,.14) !important;
}

.hc-v2-mid-cta__line-main{
  position:relative !important;
  min-height:74px !important;
  display:block !important;
  padding:12px 52px 12px 64px !important;
  background:#06C755 !important;
  color:#fff !important;
}

.hc-v2-mid-cta__line-main .hc-v2-mid-cta__icon{
  position:absolute !important;
  left:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:40px !important;
}

.hc-v2-mid-cta__line-main .hc-v2-mid-cta__icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:10px !important;
}

.hc-v2-mid-cta__line-main .hc-v2-mid-cta__copy{
  width:100% !important;
  min-height:50px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hc-v2-mid-cta__line-main .hc-v2-mid-cta__copy strong{
  width:100% !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.2 !important;
  text-align:center !important;
}

.hc-v2-mid-cta__line-main .hc-v2-mid-cta__copy small{
  width:100% !important;
  margin-top:4px !important;
  color:rgba(255,255,255,.96) !important;
  font-size:10px !important;
  line-height:1.35 !important;
  text-align:center !important;
}

.hc-v2-mid-cta__line-main .hc-v2-mid-cta__arrow{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:900 !important;
}

.hc-v2-mid-cta__line-info{
  display:block !important;
  padding:12px 14px 13px !important;
  background:#fff !important;
  color:#138f42 !important;
  text-align:center !important;
}

.hc-v2-mid-cta__line-info-title{
  display:block !important;
  color:#168c43 !important;
  font-size:10.5px !important;
  line-height:1.45 !important;
  font-weight:900 !important;
  text-align:center !important;
}

.hc-v2-mid-cta__line-benefits{
  width:100% !important;
  margin:9px auto 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px 18px !important;
}

.hc-v2-mid-cta__line-benefits > span{
  position:relative !important;
  min-height:0 !important;
  padding:0 0 0 12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#078f3d !important;
  font-size:10px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.hc-v2-mid-cta__line-benefits > span::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-52%) !important;
  color:#06C755 !important;
  font-size:16px !important;
  line-height:1 !important;
}

/* Keep Web button as the compact baseline. */
.hc-v2-mid-cta__action--web{
  min-height:74px !important;
  display:block !important;
  padding:12px 52px 12px 64px !important;
  border-radius:17px !important;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon{
  left:18px !important;
  width:40px !important;
  height:40px !important;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon img{
  width:36px !important;
  height:36px !important;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__copy{
  min-height:50px !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__copy strong,
.hc-v2-mid-cta__action--web .hc-v2-mid-cta__copy small{
  width:100% !important;
  text-align:center !important;
}

.hc-v2-mid-cta__action--web .hc-v2-mid-cta__arrow{
  right:18px !important;
}

@media (max-width:640px){
  .hc-v2-mid-cta__line-main{
    min-height:66px !important;
    padding:9px 40px 9px 50px !important;
  }

  .hc-v2-mid-cta__line-main .hc-v2-mid-cta__icon{
    left:12px !important;
    width:32px !important;
    height:32px !important;
  }

  .hc-v2-mid-cta__line-main .hc-v2-mid-cta__copy{
    min-height:48px !important;
  }

  .hc-v2-mid-cta__line-main .hc-v2-mid-cta__copy strong{
    font-size:16px !important;
  }

  .hc-v2-mid-cta__line-main .hc-v2-mid-cta__copy small{
    font-size:8.5px !important;
  }

  .hc-v2-mid-cta__line-main .hc-v2-mid-cta__arrow{
    right:12px !important;
    font-size:18px !important;
  }

  .hc-v2-mid-cta__line-info{
    padding:10px 8px 11px !important;
  }

  .hc-v2-mid-cta__line-info-title{
    font-size:9px !important;
  }

  .hc-v2-mid-cta__line-benefits{
    margin-top:8px !important;
    gap:6px 10px !important;
  }

  .hc-v2-mid-cta__line-benefits > span{
    padding-left:10px !important;
    font-size:8.5px !important;
  }

  .hc-v2-mid-cta__line-benefits > span::before{
    font-size:14px !important;
  }

  .hc-v2-mid-cta__action--web{
    min-height:66px !important;
    padding:9px 40px 9px 50px !important;
  }

  .hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon{
    left:12px !important;
    width:32px !important;
    height:32px !important;
  }

  .hc-v2-mid-cta__action--web .hc-v2-mid-cta__icon img{
    width:29px !important;
    height:29px !important;
  }

  .hc-v2-mid-cta__action--web .hc-v2-mid-cta__copy{
    min-height:48px !important;
  }

  .hc-v2-mid-cta__action--web .hc-v2-mid-cta__arrow{
    right:12px !important;
  }
}


/* =========================================================
   SECTION BACKGROUND SYSTEM
   2026-09 user-directed
   Subtle shifts only: white / pale blue / neutral / pale gold.
   ========================================================= */

/* 1. PROBLEM — clearly separated pale blue */
.hc-v2-problem{
  background:
    radial-gradient(circle at 12% 18%,rgba(82,174,255,.10),transparent 26%),
    linear-gradient(180deg,#eef7ff 0%,#f7fbff 100%) !important;
}

/* 2. SERVICE EXPLANATION — keep white */
.hc-v2-cleaning{
  background:#fff !important;
}

/* 3. BEFORE / AFTER — slightly stronger blue than before */
.hc-v2-beforeafter{
  background:
    linear-gradient(180deg,#eaf4ff 0%,#f4f9ff 52%,#ffffff 100%) !important;
}

/* 4. PROCESS — neutral blue-gray so it differs from BA without feeling colorful */
.hc-v2-process{
  background:
    linear-gradient(180deg,#f3f6fa 0%,#eef3f8 100%) !important;
}

/* 5. PRICE + CTA — clean white */
.hc-v2-price-section{
  background:#fff !important;
}

/* CTA sits inside PRICE, so retain a little air after it before the next section. */
.hc-v2-price-section .hc-v2-mid-cta{
  margin-bottom:6px !important;
}

/* 6. VOICE / REVIEWS — very pale warm gold section */
.hc-v2-proof-area{
  background:
    radial-gradient(circle at 88% 12%,rgba(226,184,80,.10),transparent 25%),
    radial-gradient(circle at 8% 88%,rgba(233,199,117,.08),transparent 24%),
    linear-gradient(180deg,#fffaf0 0%,#fff5df 100%) !important;
}

.hc-v2-proof-area .hc-v2-heading--proof{
  margin-top:0 !important;
}

.hc-v2-proof-area .hc-v2-proof-section{
  background:rgba(255,255,255,.42) !important;
  border:1px solid rgba(220,187,105,.28) !important;
  box-shadow:0 10px 26px rgba(113,83,25,.05) !important;
}

/* 7. AREA — pale blue/white */
.hc-v2-area-section{
  background:
    linear-gradient(180deg,#f5faff 0%,#edf6ff 100%) !important;
}

.hc-v2-area-section .hc-v2-heading--area{
  margin-top:0 !important;
}

/* 8. FAQ — preserve the existing clean light look */
.hc-v2-faq-section{
  background:
    linear-gradient(180deg,#ffffff 0%,#f4f9ff 100%) !important;
}

.hc-v2-faq-section .hc-v2-heading--faq{
  margin-top:0 !important;
}

/* 9. NOTICE — quiet neutral background */
.hc-v2-notice-section{
  background:
    linear-gradient(180deg,#f8fafc 0%,#f3f6fa 100%) !important;
  padding-bottom:28px !important;
}

.hc-v2-notice-section .hc-v2-heading--notice{
  margin-top:0 !important;
}

/* Avoid the old combined-section rules creating unexpected spacing. */
.hc-v2-faq-area{
  background:transparent !important;
}

@media (max-width:640px){
  .hc-v2-proof-area,
  .hc-v2-area-section,
  .hc-v2-faq-section,
  .hc-v2-notice-section{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }

  .hc-v2-notice-section{
    padding-bottom:14px !important;
  }
}


/* =========================================================
   PRICE CARD DECORATION + REVIEW BORDER CLEANUP
   2026-09 user-directed
   ========================================================= */

/* ---------------------------------------------------------
   REVIEW
   Remove the extra inner frame. The section background itself
   remains the pale gold tone.
   --------------------------------------------------------- */
.hc-v2-proof-area .hc-v2-proof-section{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* ---------------------------------------------------------
   PRICE CARDS
   Keep all existing content/colors/sizing.
   Add only decorative circle-line motifs.
   --------------------------------------------------------- */
.hc-v2-pricebox--classic{
  overflow:hidden !important;
  isolation:isolate;
}

.hc-v2-pricebox--classic > *{
  position:relative;
  z-index:2;
}

/* ---------- FV pattern ----------
   Large clean outline at upper-right.
   Lower-left gets a soft filled disc + offset outline.
*/
.hc-v2-pricebox--classic-hero{
  background:
    radial-gradient(circle at 7% 94%,
      rgba(244,194,86,.12) 0 50px,
      rgba(244,194,86,0) 51px),
    #fff !important;
}

.hc-v2-pricebox--classic-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  width:132px;
  height:132px;
  right:-52px;
  top:-58px;
  border:1.5px solid rgba(207,157,42,.34);
  border-radius:50%;
  pointer-events:none;
}

.hc-v2-pricebox--classic-hero::after{
  content:"";
  position:absolute;
  z-index:1;
  width:92px;
  height:92px;
  left:-38px;
  bottom:-42px;
  border:1.5px solid rgba(221,173,59,.30);
  border-radius:50%;
  background:rgba(255,246,222,.30);
  box-shadow:
    17px 12px 0 0 rgba(255,250,237,.82),
    17px 12px 0 1.5px rgba(224,178,67,.20);
  pointer-events:none;
}

/* ---------- Main PRICE section pattern ----------
   Smaller, tighter top-right rings.
   Bottom-left circles are slightly larger and more editorial.
*/
.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero){
  background:
    radial-gradient(circle at 5% 96%,
      rgba(87,164,235,.055) 0 60px,
      rgba(87,164,235,0) 61px),
    #fff !important;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
  content:"";
  position:absolute;
  z-index:1;
  width:104px;
  height:104px;
  right:-34px;
  top:-40px;
  border:1.5px solid rgba(213,165,49,.31);
  border-radius:50%;
  box-shadow:
    -15px 14px 0 -1px rgba(255,255,255,.96),
    -15px 14px 0 .5px rgba(213,165,49,.13);
  pointer-events:none;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
  content:"";
  position:absolute;
  z-index:1;
  width:118px;
  height:118px;
  left:-54px;
  bottom:-62px;
  border:1.5px solid rgba(77,151,218,.17);
  border-radius:50%;
  background:rgba(231,245,255,.12);
  box-shadow:
    20px 11px 0 0 rgba(255,250,238,.72),
    20px 11px 0 1.5px rgba(218,169,50,.18);
  pointer-events:none;
}

@media (max-width:640px){
  .hc-v2-pricebox--classic-hero::before{
    width:106px;
    height:106px;
    right:-43px;
    top:-47px;
  }

  .hc-v2-pricebox--classic-hero::after{
    width:78px;
    height:78px;
    left:-35px;
    bottom:-39px;
    box-shadow:
      14px 10px 0 0 rgba(255,250,237,.82),
      14px 10px 0 1.5px rgba(224,178,67,.20);
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
    width:88px;
    height:88px;
    right:-32px;
    top:-36px;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
    width:96px;
    height:96px;
    left:-45px;
    bottom:-52px;
    box-shadow:
      16px 9px 0 0 rgba(255,250,238,.72),
      16px 9px 0 1.5px rgba(218,169,50,.18);
  }
}


/* =========================================================
   PRICE CARD — PRICING editorial decoration
   2026-09 user reference
   - soft gradient base
   - oversized clipped "PRICING"
   - outline circle upper-right
   - layered soft circles lower-left
   - no "作業前に料金をご案内" pill
   ========================================================= */

.hc-v2-pricebox--classic{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(circle at 4% 96%,
      rgba(66,160,238,.11) 0 54px,
      rgba(66,160,238,0) 55px),
    radial-gradient(circle at 11% 101%,
      rgba(244,190,73,.10) 0 72px,
      rgba(244,190,73,0) 73px),
    linear-gradient(145deg,
      #ffffff 0%,
      #fbfdff 48%,
      #f4faff 72%,
      #fff8e9 100%) !important;
  border:1.5px solid #e1b94d !important;
  box-shadow:0 14px 32px rgba(26,83,142,.10) !important;
}

/* All real content stays above decoration. */
.hc-v2-pricebox--classic > *{
  position:relative !important;
  z-index:3 !important;
}

/* Large background word, deliberately clipped by the card. */
.hc-v2-pricebox--classic::before{
  content:"PRICING" !important;
  position:absolute !important;
  z-index:0 !important;
  left:18px !important;
  top:-18px !important;
  color:rgba(12,47,112,.055) !important;
  font-size:76px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
  white-space:nowrap !important;
  pointer-events:none !important;
  user-select:none !important;
}

/* Upper-right outline circle + inner offset ring. */
.hc-v2-pricebox--classic::after{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  width:126px !important;
  height:126px !important;
  right:-46px !important;
  top:-52px !important;
  border:1.5px solid rgba(205,156,48,.36) !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle,
      transparent 0 69%,
      rgba(205,156,48,.17) 70% 71%,
      transparent 72%) !important;
  pointer-events:none !important;
}

/* FV: slightly larger ghost word / circles for stronger first-view presence. */
.hc-v2-pricebox--classic-hero::before{
  left:16px !important;
  top:-20px !important;
  font-size:82px !important;
  color:rgba(12,47,112,.06) !important;
}

.hc-v2-pricebox--classic-hero::after{
  width:138px !important;
  height:138px !important;
  right:-52px !important;
  top:-58px !important;
}

/* Lower PRICE section: slightly tighter editorial balance. */
.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
  left:20px !important;
  top:-15px !important;
  font-size:70px !important;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
  width:112px !important;
  height:112px !important;
  right:-38px !important;
  top:-42px !important;
}

/* Make the lower-left layered decoration more visible without covering copy. */
.hc-v2-pricebox--classic-hero{
  background:
    radial-gradient(circle at 1% 103%,
      rgba(73,164,238,.14) 0 58px,
      rgba(73,164,238,0) 59px),
    radial-gradient(circle at 9% 101%,
      rgba(244,190,73,.12) 0 78px,
      rgba(244,190,73,0) 79px),
    linear-gradient(145deg,
      #ffffff 0%,
      #fbfdff 46%,
      #f3f9ff 70%,
      #fff7e5 100%) !important;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero){
  background:
    radial-gradient(circle at 0% 104%,
      rgba(77,160,226,.11) 0 64px,
      rgba(77,160,226,0) 65px),
    radial-gradient(circle at 10% 102%,
      rgba(237,184,63,.10) 0 82px,
      rgba(237,184,63,0) 83px),
    linear-gradient(150deg,
      #ffffff 0%,
      #fcfdff 52%,
      #f6faff 74%,
      #fff8e9 100%) !important;
}

/* The old pill is no longer part of the design. */
.hc-v2-pricebox--classic .hc-v2-price-note{
  display:none !important;
}

@media (max-width:640px){
  .hc-v2-pricebox--classic::before{
    left:11px !important;
    top:-11px !important;
    font-size:55px !important;
  }

  .hc-v2-pricebox--classic::after{
    width:96px !important;
    height:96px !important;
    right:-34px !important;
    top:-38px !important;
  }

  .hc-v2-pricebox--classic-hero::before{
    font-size:59px !important;
  }

  .hc-v2-pricebox--classic-hero::after{
    width:104px !important;
    height:104px !important;
    right:-37px !important;
    top:-42px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
    font-size:52px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
    width:90px !important;
    height:90px !important;
    right:-30px !important;
    top:-34px !important;
  }
}


/* =========================================================
   PRICE CARD — warm PRICING decoration correction
   2026-09 user-directed
   - no navy decoration
   - PRICING uses warm gold tone
   - upper-right outline rings
   - lower-left outline + soft filled circle
   - warm cream gradient only
   ========================================================= */

/* Warm-only background. No blue/navy decorative tones. */
.hc-v2-pricebox--classic,
.hc-v2-pricebox--classic-hero,
.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero){
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    /* lower-left outer ring */
    radial-gradient(circle at -2% 104%,
      transparent 0 66px,
      rgba(205,156,48,.22) 67px 68.5px,
      transparent 70px),
    /* lower-left soft filled disc, slightly offset */
    radial-gradient(circle at 9% 101%,
      rgba(235,193,94,.10) 0 58px,
      rgba(235,193,94,0) 59px),
    /* subtle warm light */
    radial-gradient(circle at 87% 9%,
      rgba(247,211,128,.14) 0 54px,
      rgba(247,211,128,0) 55px),
    linear-gradient(145deg,
      #fffdf8 0%,
      #fffaf0 42%,
      #fff5df 72%,
      #f8e7bc 100%) !important;
  border:1.5px solid #d8ad48 !important;
  box-shadow:0 14px 30px rgba(151,109,24,.09) !important;
}

/* Real content stays above decorative layers. */
.hc-v2-pricebox--classic > *{
  position:relative !important;
  z-index:3 !important;
}

/* Oversized ghost word — warm gold, intentionally clipped. */
.hc-v2-pricebox--classic::before{
  content:"PRICING" !important;
  position:absolute !important;
  z-index:0 !important;
  left:16px !important;
  top:-17px !important;
  color:rgba(151,105,21,.085) !important;
  font-size:74px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.06em !important;
  white-space:nowrap !important;
  pointer-events:none !important;
  user-select:none !important;
}

/* Upper-right outline circle with a second inner ring. */
.hc-v2-pricebox--classic::after{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  width:124px !important;
  height:124px !important;
  right:-38px !important;
  top:-48px !important;
  border:1.5px solid rgba(184,131,25,.33) !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle,
      transparent 0 70%,
      rgba(184,131,25,.15) 71% 72%,
      transparent 73%) !important;
  box-shadow:none !important;
  pointer-events:none !important;
}

/* FV: slightly bolder decorative scale. */
.hc-v2-pricebox--classic-hero::before{
  left:14px !important;
  top:-19px !important;
  font-size:80px !important;
  color:rgba(151,105,21,.09) !important;
}

.hc-v2-pricebox--classic-hero::after{
  width:136px !important;
  height:136px !important;
  right:-44px !important;
  top:-54px !important;
}

/* Lower PRICE section: a little tighter than FV. */
.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
  left:18px !important;
  top:-14px !important;
  font-size:68px !important;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
  width:112px !important;
  height:112px !important;
  right:-34px !important;
  top:-40px !important;
}

/* The previous blue note pill is intentionally gone. */
.hc-v2-pricebox--classic .hc-v2-price-note{
  display:none !important;
}

@media (max-width:640px){
  .hc-v2-pricebox--classic,
  .hc-v2-pricebox--classic-hero,
  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero){
    background:
      radial-gradient(circle at -4% 104%,
        transparent 0 50px,
        rgba(205,156,48,.22) 51px 52px,
        transparent 53px),
      radial-gradient(circle at 8% 101%,
        rgba(235,193,94,.10) 0 43px,
        rgba(235,193,94,0) 44px),
      radial-gradient(circle at 88% 7%,
        rgba(247,211,128,.13) 0 40px,
        rgba(247,211,128,0) 41px),
      linear-gradient(145deg,
        #fffdf8 0%,
        #fffaf0 42%,
        #fff5df 72%,
        #f8e7bc 100%) !important;
  }

  .hc-v2-pricebox--classic::before{
    left:9px !important;
    top:-10px !important;
    font-size:52px !important;
  }

  .hc-v2-pricebox--classic::after{
    width:92px !important;
    height:92px !important;
    right:-30px !important;
    top:-34px !important;
  }

  .hc-v2-pricebox--classic-hero::before{
    font-size:56px !important;
  }

  .hc-v2-pricebox--classic-hero::after{
    width:102px !important;
    height:102px !important;
    right:-33px !important;
    top:-39px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
    font-size:49px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
    width:86px !important;
    height:86px !important;
    right:-28px !important;
    top:-32px !important;
  }
}


/* =========================================================
   PRICE CARD — reference-style ornament refinement
   2026-09
   Reference structure:
   - actual PRICING background word
   - top-right outline circle
   - bottom-left soft filled + outlined circle
   - nearly-white warm gradient
   ========================================================= */

.hc-v2-pricebox--classic{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;

  /* Keep it almost white. Only a faint warm wash remains. */
  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #fffefd 50%,
      #fffaf1 78%,
      #fff5e4 100%
    ) !important;

  border:1.5px solid #deb84c !important;
  box-shadow:0 13px 30px rgba(128,91,22,.075) !important;
}

/* Normal content always sits above decoration. */
.hc-v2-pricebox--classic > *:not(.hc-v2-pricebox__ghost-word){
  position:relative !important;
  z-index:2 !important;
}

/* Large PRICING word at upper-left, intentionally clipped. */
.hc-v2-pricebox__ghost-word{
  position:absolute !important;
  z-index:0 !important;
  top:-12px !important;
  left:14px !important;

  color:rgba(184,137,42,.10) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:72px !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
  white-space:nowrap !important;

  pointer-events:none !important;
  user-select:none !important;
}

/* Upper-right: large outline circle with a faint inner ring. */
.hc-v2-pricebox--classic::before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;

  top:-43px !important;
  right:-30px !important;
  width:122px !important;
  height:122px !important;

  border:1px solid rgba(191,145,47,.34) !important;
  border-radius:50% !important;
  background:
    radial-gradient(
      circle,
      transparent 0 67%,
      rgba(191,145,47,.14) 68% 69%,
      transparent 70%
    ) !important;

  pointer-events:none !important;
}

/* Lower-left: soft fill + outer outline + a second faint inner ring. */
.hc-v2-pricebox--classic::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;

  left:-27px !important;
  bottom:-35px !important;
  width:94px !important;
  height:94px !important;

  border:1px solid rgba(191,145,47,.25) !important;
  border-radius:50% !important;
  background:
    radial-gradient(
      circle,
      rgba(224,184,94,.075) 0 56%,
      transparent 57% 70%,
      rgba(191,145,47,.13) 71% 72%,
      transparent 73%
    ) !important;

  pointer-events:none !important;
}

/* FV: slightly larger and more spacious ornament balance. */
.hc-v2-pricebox--classic-hero .hc-v2-pricebox__ghost-word{
  top:-15px !important;
  left:15px !important;
  font-size:78px !important;
}

.hc-v2-pricebox--classic-hero::before{
  top:-49px !important;
  right:-35px !important;
  width:132px !important;
  height:132px !important;
}

.hc-v2-pricebox--classic-hero::after{
  left:-30px !important;
  bottom:-39px !important;
  width:102px !important;
  height:102px !important;
}

/* Lower PRICE section: a touch tighter than the FV card. */
.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero) .hc-v2-pricebox__ghost-word{
  top:-10px !important;
  left:16px !important;
  font-size:68px !important;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
  top:-39px !important;
  right:-27px !important;
  width:112px !important;
  height:112px !important;
}

.hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
  left:-24px !important;
  bottom:-33px !important;
  width:88px !important;
  height:88px !important;
}

/* The old guidance pill remains intentionally removed. */
.hc-v2-pricebox--classic .hc-v2-price-note{
  display:none !important;
}

@media (max-width:640px){
  .hc-v2-pricebox__ghost-word{
    top:-7px !important;
    left:10px !important;
    font-size:48px !important;
  }

  .hc-v2-pricebox--classic::before{
    top:-31px !important;
    right:-23px !important;
    width:88px !important;
    height:88px !important;
  }

  .hc-v2-pricebox--classic::after{
    left:-20px !important;
    bottom:-26px !important;
    width:68px !important;
    height:68px !important;
  }

  .hc-v2-pricebox--classic-hero .hc-v2-pricebox__ghost-word{
    top:-9px !important;
    left:10px !important;
    font-size:53px !important;
  }

  .hc-v2-pricebox--classic-hero::before{
    top:-35px !important;
    right:-25px !important;
    width:96px !important;
    height:96px !important;
  }

  .hc-v2-pricebox--classic-hero::after{
    left:-22px !important;
    bottom:-29px !important;
    width:74px !important;
    height:74px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero) .hc-v2-pricebox__ghost-word{
    top:-6px !important;
    left:11px !important;
    font-size:46px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::before{
    top:-29px !important;
    right:-21px !important;
    width:82px !important;
    height:82px !important;
  }

  .hc-v2-pricebox--classic:not(.hc-v2-pricebox--classic-hero)::after{
    left:-18px !important;
    bottom:-25px !important;
    width:64px !important;
    height:64px !important;
  }
}


/* =========================================================
   PRICE CARD — clean ornament hard reset
   Fixes stacked legacy decoration rules.
   ========================================================= */

/* Reset BOTH cards with higher specificity so no previous radial
   backgrounds remain around the upper-left PRICING word. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero,
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--main{
  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #fffefd 58%,
      #fffaf2 82%,
      #fff6e7 100%
    ) !important;
}

/* PRICING: larger, slightly lower and farther right. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__ghost-word{
  top:4px !important;
  left:28px !important;
  color:rgba(184,137,42,.10) !important;
  font-size:64px !important;
  line-height:.86 !important;
  letter-spacing:-.065em !important;
}

/* Top-right only: outline circle + subtle inner ring. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic::before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  top:-38px !important;
  right:-31px !important;
  left:auto !important;
  bottom:auto !important;
  width:104px !important;
  height:104px !important;
  border:1.25px solid rgba(191,145,47,.32) !important;
  border-radius:50% !important;
  background:
    radial-gradient(
      circle,
      transparent 0 68%,
      rgba(191,145,47,.14) 69% 70%,
      transparent 71%
    ) !important;
  box-shadow:none !important;
}

/* Bottom-left only: soft fill + outer outline + one inner ring. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:-29px !important;
  bottom:-35px !important;
  right:auto !important;
  top:auto !important;
  width:94px !important;
  height:94px !important;
  border:1.25px solid rgba(191,145,47,.24) !important;
  border-radius:50% !important;
  background:
    radial-gradient(
      circle,
      rgba(224,184,94,.075) 0 57%,
      transparent 58% 70%,
      rgba(191,145,47,.13) 71% 72%,
      transparent 73%
    ) !important;
  box-shadow:none !important;
}

/* FV can carry slightly larger ornaments. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero .hc-v2-pricebox__ghost-word{
  top:2px !important;
  left:30px !important;
  font-size:68px !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero::before{
  top:-42px !important;
  right:-34px !important;
  width:112px !important;
  height:112px !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero::after{
  left:-31px !important;
  bottom:-38px !important;
  width:100px !important;
  height:100px !important;
}

/* Lower price card: slightly more restrained. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--main .hc-v2-pricebox__ghost-word{
  top:6px !important;
  left:26px !important;
  font-size:60px !important;
}

@media (max-width:640px){
  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__ghost-word{
    top:3px !important;
    left:20px !important;
    font-size:52px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic::before{
    top:-30px !important;
    right:-24px !important;
    width:82px !important;
    height:82px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic::after{
    left:-22px !important;
    bottom:-28px !important;
    width:72px !important;
    height:72px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero .hc-v2-pricebox__ghost-word{
    top:2px !important;
    left:22px !important;
    font-size:56px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero::before{
    top:-32px !important;
    right:-26px !important;
    width:88px !important;
    height:88px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic.hc-v2-pricebox--classic-hero::after{
    left:-24px !important;
    bottom:-30px !important;
    width:78px !important;
    height:78px !important;
  }
}


/* =========================================================
   STANDARD COURSE — audited parity fixes
   2026-09
   The ceiling reference uses --row--single because it has one price.
   Standard has two price rows, so apply the approved red only to
   the numeric amounts while keeping 円（税込） navy.
   ========================================================= */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong{
  color:#e3261c !important;
  text-shadow:0 2px 8px rgba(227,38,28,.08) !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong small{
  color:var(--hc-blue-dark) !important;
  text-shadow:none !important;
}


/* =========================================================
   WASHER COURSE — page-specific refinements
   ========================================================= */

/* Keep washer explanation image/01-02-03 UI on the shared detail design. */
.hc-v2-cleaning{
  background:#fff !important;
}

/* Existing washer notices below process/price. */
.hc-v2-pricebox__notice{
  margin:16px auto 0 !important;
  width:min(100%,620px);
  padding:11px 16px;
  border:1px solid #d7e9ff;
  border-radius:14px;
  background:#f5faff;
  color:var(--hc-muted);
  font-size:12px;
  line-height:1.7;
  font-weight:700;
  text-align:center;
}

/* Price numbers: same approved vivid red as the aircon pages. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong{
  color:#e3261c !important;
  text-shadow:0 2px 8px rgba(227,38,28,.08) !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong small{
  color:var(--hc-blue-dark) !important;
  text-shadow:none !important;
}

/* ---------------------------------------------------------
   Option grouping
   --------------------------------------------------------- */
.hc-v2-option-group{
  margin-top:50px;
}

.hc-v2-option-group + .hc-v2-option-group{
  margin-top:42px;
}

.hc-v2-subheading--option-group{
  margin:0 0 17px !important;
}

.hc-v2-subheading--option-group p{
  max-width:620px;
  margin:8px auto 0 !important;
  color:var(--hc-muted);
  font-size:12px;
  line-height:1.7;
  font-weight:600;
}

.hc-v2-fee-list,
.hc-v2-service-options{
  display:grid;
  gap:10px;
}

.hc-v2-fee-card,
.hc-v2-service-option-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:88px;
  padding:16px 18px;
  border:1px solid #e2edf8;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(13,64,130,.07);
}

.hc-v2-fee-card{
  background:linear-gradient(145deg,#ffffff 0%,#f7fbff 100%);
}

.hc-v2-fee-card__body h4,
.hc-v2-service-option-card__body h4{
  margin:0;
  color:var(--hc-blue-dark);
  font-size:16px;
  line-height:1.45;
  font-weight:900;
}

.hc-v2-fee-card__body p,
.hc-v2-service-option-card__body p{
  margin-top:4px;
  color:var(--hc-muted);
  font-size:11px;
  line-height:1.55;
  font-weight:600;
}

.hc-v2-fee-card>strong,
.hc-v2-service-option-card>strong{
  color:var(--hc-blue);
  font-size:25px;
  line-height:1.1;
  font-weight:900;
  white-space:nowrap;
}

.hc-v2-fee-card>strong small,
.hc-v2-service-option-card>strong small{
  margin-left:3px;
  color:var(--hc-blue-dark);
  font-size:9px;
  font-weight:800;
}

.hc-v2-option-group--service .hc-v2-service-option-card{
  border-color:#ecdcae;
  background:linear-gradient(145deg,#fff 0%,#fffaf0 100%);
}

.hc-v2-option-group--service .hc-v2-service-option-card>strong{
  color:#b77a0b;
}

/* Case-study button text is intentionally not labelled as video. */
.hc-v2-movie-link{
  cursor:pointer;
}

@media (max-width:640px){
  .hc-v2-pricebox__notice{
    margin-top:12px !important;
    padding:9px 11px;
    font-size:9.5px;
  }

  .hc-v2-option-group{
    margin-top:36px;
  }

  .hc-v2-option-group + .hc-v2-option-group{
    margin-top:30px;
  }

  .hc-v2-subheading--option-group p{
    margin-top:6px !important;
    font-size:10px;
  }

  .hc-v2-fee-card,
  .hc-v2-service-option-card{
    min-height:74px;
    padding:12px 11px;
    gap:8px;
    border-radius:14px;
  }

  .hc-v2-fee-card__body h4,
  .hc-v2-service-option-card__body h4{
    font-size:13px;
  }

  .hc-v2-fee-card__body p,
  .hc-v2-service-option-card__body p{
    font-size:9px;
  }

  .hc-v2-fee-card>strong,
  .hc-v2-service-option-card>strong{
    font-size:19px;
  }

  .hc-v2-fee-card>strong small,
  .hc-v2-service-option-card>strong small{
    display:block;
    margin:2px 0 0;
    font-size:7px;
    text-align:right;
  }
}


/* =========================================================
   WASHER OPTION REWORK
   2026-09 user-directed
   - one OPTION section
   - service options first (warm/gold style)
   - additional fees below (cool/blue style)
   - all cards use image / title / description / price layout
   ========================================================= */

/* No standalone inline caution strips in process/price. */
.hc-v2-pricebox__notice{
  display:none !important;
}

/* Main OPTION heading uses the shared detail-page heading rhythm. */
.hc-v2-subheading--option-main{
  margin-top:58px !important;
  margin-bottom:16px !important;
}

/* Keep standard option-card structure with image at left. */
.hc-v2-options--washer-service,
.hc-v2-options--washer-fee{
  display:grid !important;
  gap:12px !important;
}

/* ---------------------------------------------------------
   SERVICE OPTIONS — warm/gold visual language
   Screenshot 1 style
   --------------------------------------------------------- */
.hc-v2-option-card--service{
  min-height:122px !important;
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:12px 16px 12px 12px !important;

  border:1.5px solid #e7c66f !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,#ffffff 0%,#fffaf0 100%) !important;
  box-shadow:0 8px 22px rgba(142,103,22,.07) !important;
}

.hc-v2-option-card--service .hc-v2-option-card__media{
  height:98px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#f5f0e3 !important;
}

.hc-v2-option-card--service .hc-v2-option-card__body h4{
  color:var(--hc-blue-dark) !important;
}

.hc-v2-option-card--service .hc-v2-option-card__body p{
  color:var(--hc-muted) !important;
}

.hc-v2-option-card--service > strong{
  color:#b97a05 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.hc-v2-option-card--service > strong small{
  color:var(--hc-blue-dark) !important;
}

/* ---------------------------------------------------------
   ADDITIONAL FEE heading
   --------------------------------------------------------- */
.hc-v2-extra-fee-heading{
  margin:42px auto 16px !important;
  text-align:center !important;
}

.hc-v2-extra-fee-heading h4{
  margin:0 !important;
  color:var(--hc-blue-dark) !important;
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
}

.hc-v2-extra-fee-heading h4::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:3px !important;
  margin:9px auto 0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--hc-blue) 0 60%,#ffd56b 60% 100%) !important;
}

.hc-v2-extra-fee-heading p{
  margin-top:9px !important;
  color:var(--hc-muted) !important;
  font-size:12px !important;
  line-height:1.7 !important;
  font-weight:600 !important;
}

/* ---------------------------------------------------------
   ADDITIONAL FEE CARDS — cool/blue visual language
   Screenshot 2 style
   --------------------------------------------------------- */
.hc-v2-option-card--fee{
  min-height:122px !important;
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:12px 16px 12px 12px !important;

  border:1.5px solid #d8e7f8 !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,#ffffff 0%,#f5faff 100%) !important;
  box-shadow:0 8px 22px rgba(13,64,130,.065) !important;
}

.hc-v2-option-card--fee .hc-v2-option-card__media{
  height:98px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#edf5fb !important;
}

.hc-v2-option-card--fee .hc-v2-option-card__body h4{
  color:var(--hc-blue-dark) !important;
}

.hc-v2-option-card--fee .hc-v2-option-card__body p{
  color:var(--hc-muted) !important;
}

.hc-v2-option-card--fee > strong{
  color:#0b6ef3 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.hc-v2-option-card--fee > strong small{
  color:var(--hc-blue-dark) !important;
}

@media (max-width:640px){
  .hc-v2-subheading--option-main{
    margin-top:44px !important;
    margin-bottom:13px !important;
  }

  .hc-v2-option-card--service,
  .hc-v2-option-card--fee{
    min-height:94px !important;
    grid-template-columns:86px minmax(0,1fr) auto !important;
    gap:10px !important;
    padding:8px 10px 8px 8px !important;
    border-radius:14px !important;
  }

  .hc-v2-option-card--service .hc-v2-option-card__media,
  .hc-v2-option-card--fee .hc-v2-option-card__media{
    height:74px !important;
    border-radius:9px !important;
  }

  .hc-v2-option-card--service .hc-v2-option-card__body h4,
  .hc-v2-option-card--fee .hc-v2-option-card__body h4{
    font-size:13px !important;
    line-height:1.4 !important;
  }

  .hc-v2-option-card--service .hc-v2-option-card__body p,
  .hc-v2-option-card--fee .hc-v2-option-card__body p{
    margin-top:3px !important;
    font-size:9px !important;
    line-height:1.45 !important;
  }

  .hc-v2-option-card--service > strong,
  .hc-v2-option-card--fee > strong{
    font-size:20px !important;
  }

  .hc-v2-option-card--service > strong small,
  .hc-v2-option-card--fee > strong small{
    display:block !important;
    margin-top:2px !important;
    font-size:7px !important;
    text-align:right !important;
  }

  .hc-v2-extra-fee-heading{
    margin-top:32px !important;
    margin-bottom:13px !important;
  }

  .hc-v2-extra-fee-heading h4{
    font-size:18px !important;
  }

  .hc-v2-extra-fee-heading p{
    margin-top:7px !important;
    font-size:10px !important;
  }
}


/* =========================================================
   SET MENU — page-specific refinements
   ========================================================= */

/* Price cards: 3-row set pricing stays readable and uses the approved red price color. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong{
  color:#e3261c !important;
  text-shadow:0 2px 8px rgba(227,38,28,.08) !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong small{
  color:var(--hc-blue-dark) !important;
  text-shadow:none !important;
}

.hc-v2-pricebox--set .hc-v2-pricebox__row,
.hc-v2-pricebox--hero .hc-v2-pricebox__row{
  grid-template-columns:minmax(0,1fr) auto !important;
}

.hc-v2-pricebox--set .hc-v2-pricebox__row > span,
.hc-v2-pricebox--hero .hc-v2-pricebox__row > span{
  font-size:15px !important;
  line-height:1.5 !important;
}

.hc-v2-pricebox--set .hc-v2-pricebox__row > strong,
.hc-v2-pricebox--hero .hc-v2-pricebox__row > strong{
  font-size:34px !important;
}

/* Keep house-cleaning BA in the existing side-by-side desktop layout. */
.hc-v2-beforeafter .hc-v2-ba-card__desktop{
  display:grid !important;
  grid-template-columns:1fr 48px 1fr !important;
}

/* Options: use the new approved warm/gold card design from washer service options. */
.hc-v2-options--setmenu{
  display:grid !important;
  gap:12px !important;
}

.hc-v2-option-card--service{
  min-height:122px !important;
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:12px 16px 12px 12px !important;

  border:1.5px solid #e7c66f !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,#ffffff 0%,#fffaf0 100%) !important;
  box-shadow:0 8px 22px rgba(142,103,22,.07) !important;
}

.hc-v2-option-card--service .hc-v2-option-card__media{
  height:98px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#f5f0e3 !important;
}

.hc-v2-option-card--service .hc-v2-option-card__body h4{
  color:var(--hc-blue-dark) !important;
}

.hc-v2-option-card--service .hc-v2-option-card__body p{
  color:var(--hc-muted) !important;
}

.hc-v2-option-card--service > strong{
  color:#b97a05 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.hc-v2-option-card--service > strong small{
  color:var(--hc-blue-dark) !important;
}

@media (max-width:640px){
  .hc-v2-pricebox--set .hc-v2-pricebox__row,
  .hc-v2-pricebox--hero .hc-v2-pricebox__row{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
  }

  .hc-v2-pricebox--set .hc-v2-pricebox__row > span,
  .hc-v2-pricebox--hero .hc-v2-pricebox__row > span{
    font-size:10.5px !important;
    line-height:1.45 !important;
  }

  .hc-v2-pricebox--set .hc-v2-pricebox__row > strong,
  .hc-v2-pricebox--hero .hc-v2-pricebox__row > strong{
    font-size:25px !important;
  }

  .hc-v2-beforeafter .hc-v2-ba-card__desktop{
    display:none !important;
  }

  .hc-v2-option-card--service{
    min-height:94px !important;
    grid-template-columns:86px minmax(0,1fr) auto !important;
    gap:10px !important;
    padding:8px 10px 8px 8px !important;
    border-radius:14px !important;
  }

  .hc-v2-option-card--service .hc-v2-option-card__media{
    height:74px !important;
    border-radius:9px !important;
  }

  .hc-v2-option-card--service .hc-v2-option-card__body h4{
    font-size:13px !important;
    line-height:1.4 !important;
  }

  .hc-v2-option-card--service .hc-v2-option-card__body p{
    margin-top:3px !important;
    font-size:9px !important;
    line-height:1.45 !important;
  }

  .hc-v2-option-card--service > strong{
    font-size:20px !important;
  }

  .hc-v2-option-card--service > strong small{
    display:block !important;
    margin-top:2px !important;
    font-size:7px !important;
    text-align:right !important;
  }
}


/* =========================================================
   HOUSE CLEANING SINGLE DETAIL — current approved additions
   ========================================================= */

/* Single-price cards use the approved vivid red number. */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong{
  color:#e3261c !important;
  text-shadow:0 2px 8px rgba(227,38,28,.08) !important;
}
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong small{
  color:var(--hc-blue-dark) !important;
  text-shadow:none !important;
}

/* New approved warm/gold option card design. */
.hc-v2-options--house-service{
  display:grid !important;
  gap:12px !important;
}
.hc-v2-option-card--service{
  min-height:122px !important;
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:12px 16px 12px 12px !important;
  border:1.5px solid #e7c66f !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,#ffffff 0%,#fffaf0 100%) !important;
  box-shadow:0 8px 22px rgba(142,103,22,.07) !important;
}
.hc-v2-option-card--service .hc-v2-option-card__media{
  height:98px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#f5f0e3 !important;
}
.hc-v2-option-card--service > strong{
  color:#b97a05 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.hc-v2-option-card--service > strong small{ color:var(--hc-blue-dark) !important; }

/* Compact cross-sell to the set-menu detail page. */
.hc-v2-set-promo{
  margin:44px auto 0;
  padding:20px 16px 16px;
  border:1px solid #dbe9f6;
  border-radius:20px;
  background:linear-gradient(145deg,#f8fcff 0%,#fff 58%,#fffaf0 100%);
  box-shadow:0 10px 26px rgba(13,64,130,.07);
}
.hc-v2-set-promo__head{text-align:center;}
.hc-v2-set-promo__head>span{
  color:var(--hc-blue);
  font-size:9px;
  font-weight:900;
  letter-spacing:.20em;
}
.hc-v2-set-promo__head h3{
  margin:5px 0 0;
  font-size:20px;
  font-weight:900;
}
.hc-v2-set-promo__head p{
  margin-top:7px;
  color:var(--hc-muted);
  font-size:10px;
  line-height:1.65;
  font-weight:600;
}
.hc-v2-set-promo__plans{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}
.hc-v2-set-promo__plans>div{
  padding:10px 7px;
  border:1px solid #e2ebf5;
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.hc-v2-set-promo__plans b,
.hc-v2-set-promo__plans strong,
.hc-v2-set-promo__plans small{display:block;}
.hc-v2-set-promo__plans b{font-size:10px;color:var(--hc-blue-dark);}
.hc-v2-set-promo__plans strong{margin-top:3px;font-size:17px;color:#b97a05;}
.hc-v2-set-promo__plans small{margin-top:3px;font-size:7px;line-height:1.35;color:var(--hc-muted);}
.hc-v2-set-promo__link{
  width:min(100%,320px);
  min-height:44px;
  margin:13px auto 0;
  padding:0 16px;
  border:1.5px solid var(--hc-blue);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:var(--hc-blue) !important;
  background:#fff;
  font-size:11px;
  font-weight:900;
}
.hc-v2-set-promo__link span{font-size:16px;}

/* For genuine separate before/after photos, show those real photos on mobile too. */
@media (max-width:430px){
  .hc-v2-ba-card--real-pair .hc-v2-ba-card__desktop{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) !important;
    gap:5px !important;
  }
  .hc-v2-ba-card--real-pair .hc-v2-ba-card__mobile{display:none !important;}
  .hc-v2-ba-card--real-pair .hc-v2-ba-photo{
    min-height:0 !important;
    height:150px !important;
    border-radius:10px !important;
  }
  .hc-v2-ba-card--real-pair .hc-v2-ba-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .hc-v2-ba-card--real-pair .hc-v2-ba-arrow{font-size:24px !important;}
  .hc-v2-ba-card--real-pair .hc-v2-ba-tag{
    top:6px !important;
    left:6px !important;
    padding:3px 6px !important;
    font-size:9px !important;
  }
}

@media (max-width:640px){
  .hc-v2-option-card--service{
    min-height:94px !important;
    grid-template-columns:86px minmax(0,1fr) auto !important;
    gap:10px !important;
    padding:8px 10px 8px 8px !important;
    border-radius:14px !important;
  }
  .hc-v2-option-card--service .hc-v2-option-card__media{height:74px !important;border-radius:9px !important;}
  .hc-v2-option-card--service .hc-v2-option-card__body h4{font-size:13px !important;line-height:1.4 !important;}
  .hc-v2-option-card--service .hc-v2-option-card__body p{margin-top:3px !important;font-size:9px !important;line-height:1.45 !important;}
  .hc-v2-option-card--service > strong{font-size:20px !important;}
  .hc-v2-option-card--service > strong small{display:block !important;margin-top:2px !important;font-size:7px !important;text-align:right !important;}

  .hc-v2-set-promo{margin-top:34px;padding:16px 10px 12px;border-radius:16px;}
  .hc-v2-set-promo__head h3{font-size:17px;}
  .hc-v2-set-promo__head p{font-size:9px;}
  .hc-v2-set-promo__plans{gap:5px;margin-top:11px;}
  .hc-v2-set-promo__plans>div{padding:8px 4px;border-radius:10px;}
  .hc-v2-set-promo__plans b{font-size:8px;}
  .hc-v2-set-promo__plans strong{font-size:14px;}
  .hc-v2-set-promo__plans small{font-size:6.4px;}
}

/* =========================================================
   KITCHEN DETAIL — price parity + set-menu promo polish
   2026-09 user-directed
   ========================================================= */

/* ---------------------------------------------------------
   PRICE CARD
   Match the approved ceiling-detail single-price proportions.
   House cleaning intentionally has NO multi-unit discount ribbon.
   --------------------------------------------------------- */
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic{
  width:100% !important;
  padding:24px 18px 28px !important;
  border:1.5px solid #deb84c !important;
  border-radius:22px !important;
  background:linear-gradient(
    145deg,
    #ffffff 0%,
    #fffefd 58%,
    #fffaf2 82%,
    #fff6e7 100%
  ) !important;
  box-shadow:0 13px 30px rgba(128,91,22,.075) !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines{
  margin:0 0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  color:#bd8b17 !important;
  font-size:25px !important;
  line-height:1.3 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::before,
.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::after{
  content:"" !important;
  width:24px !important;
  height:2px !important;
  flex:0 0 24px !important;
  border-radius:999px !important;
  background:#d8b14e !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single{
  display:grid !important;
  grid-template-columns:34% 66% !important;
  align-items:center !important;
  gap:8px !important;
  padding:20px 10px 18px !important;
  border-top:0 !important;
  border-bottom:1px dashed #d5e1ed !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > span{
  color:var(--hc-blue-dark) !important;
  font-size:17px !important;
  line-height:1.4 !important;
  font-weight:900 !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > strong{
  justify-self:center !important;
  color:#e3261c !important;
  font-size:56px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
  text-shadow:0 2px 8px rgba(227,38,28,.08) !important;
}

.hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > strong small{
  margin-left:5px !important;
  color:var(--hc-blue-dark) !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-shadow:none !important;
}

/* Keep the FV card visually connected to the hero like the ceiling page. */
.hc-v2 .hc-v2-hero__price-shell{
  position:relative !important;
  z-index:6 !important;
}

@media (max-width:640px){
  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic{
    padding:20px 14px 25px !important;
    border-radius:18px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines{
    margin-bottom:11px !important;
    gap:8px !important;
    font-size:20px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::before,
  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__title--lines::after{
    width:18px !important;
    flex-basis:18px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single{
    grid-template-columns:34% 66% !important;
    gap:4px !important;
    padding:15px 8px 14px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > span{
    font-size:12px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > strong{
    font-size:42px !important;
  }

  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row--single > strong small{
    margin-left:4px !important;
    font-size:9px !important;
  }
}

/* ---------------------------------------------------------
   SET MENU CROSS-SELL
   Navy image header + existing white plan cards below.
   --------------------------------------------------------- */
.hc-v2-set-promo{
  position:relative !important;
  overflow:hidden !important;
  margin:48px auto 0 !important;
  padding:0 16px 16px !important;
  border:1px solid #cfddeb !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(13,64,130,.10) !important;
}

.hc-v2-set-promo__head{
  position:relative !important;
  z-index:1 !important;
  isolation:isolate !important;
  overflow:hidden !important;
  margin:0 -16px !important;
  padding:27px 18px 25px !important;
  text-align:center !important;
  background:
    linear-gradient(rgba(8,38,93,.89),rgba(8,38,93,.91)),
    var(--hc-set-promo-bg) center 48% / cover no-repeat !important;
}

.hc-v2-set-promo__head::after{
  content:"" !important;
  position:absolute !important;
  inset:auto -8% -68% auto !important;
  width:210px !important;
  height:210px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:50% !important;
  z-index:-1 !important;
}

.hc-v2-set-promo__head > span{
  color:#6fc7ff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.22em !important;
}

.hc-v2-set-promo__head h3{
  margin:9px 0 0 !important;
  color:#fff !important;
  font-size:29px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

.hc-v2-set-promo__head p{
  max-width:560px !important;
  margin:10px auto 0 !important;
  color:rgba(255,255,255,.84) !important;
  font-size:12px !important;
  line-height:1.7 !important;
  font-weight:700 !important;
}

.hc-v2-set-promo__plans{
  position:relative !important;
  z-index:2 !important;
  margin-top:16px !important;
  gap:9px !important;
}

.hc-v2-set-promo__plans > div{
  position:relative !important;
  overflow:hidden !important;
  min-height:98px !important;
  padding:14px 8px 12px !important;
  border:1px solid #e3e9f1 !important;
  border-radius:14px !important;
  background:
    linear-gradient(180deg,#fff 0%,#fffdf8 100%) !important;
  box-shadow:0 6px 16px rgba(15,49,91,.055) !important;
}

.hc-v2-set-promo__plans > div::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:4px !important;
  background:linear-gradient(90deg,#0a74f5,#5bbdff 62%,#e5b74b) !important;
}

.hc-v2-set-promo__plans b{
  font-size:11px !important;
  color:var(--hc-blue-dark) !important;
}

.hc-v2-set-promo__plans strong{
  margin-top:5px !important;
  color:#b97a05 !important;
  font-size:19px !important;
  line-height:1 !important;
}

.hc-v2-set-promo__plans small{
  margin-top:6px !important;
  color:var(--hc-muted) !important;
  font-size:7.5px !important;
  line-height:1.4 !important;
}

.hc-v2-set-promo__link{
  margin-top:15px !important;
}

@media (max-width:640px){
  .hc-v2-set-promo{
    margin-top:38px !important;
    padding:0 10px 12px !important;
    border-radius:18px !important;
  }

  .hc-v2-set-promo__head{
    margin:0 -10px !important;
    padding:23px 12px 21px !important;
  }

  .hc-v2-set-promo__head > span{
    font-size:9px !important;
  }

  .hc-v2-set-promo__head h3{
    margin-top:8px !important;
    font-size:23px !important;
    line-height:1.32 !important;
  }

  .hc-v2-set-promo__head p{
    margin-top:8px !important;
    padding-inline:4px !important;
    font-size:9.5px !important;
    line-height:1.6 !important;
  }

  .hc-v2-set-promo__plans{
    gap:5px !important;
    margin-top:11px !important;
  }

  .hc-v2-set-promo__plans > div{
    min-height:84px !important;
    padding:12px 4px 9px !important;
    border-radius:11px !important;
  }

  .hc-v2-set-promo__plans b{
    font-size:8.5px !important;
  }

  .hc-v2-set-promo__plans strong{
    font-size:15px !important;
  }

  .hc-v2-set-promo__plans small{
    font-size:6.5px !important;
    line-height:1.35 !important;
  }
}


/* =========================================================
   HOUSE CLEANING — FINAL SET-MENU CARD TYPOGRAPHY
   2026-09 user-directed
   - larger plan labels / prices / descriptions
   - remove multicolor top accent
   - clearer navy outline
   ========================================================= */

.hc-v2-set-promo__plans > div{
  min-height:112px !important;
  padding:16px 9px 14px !important;
  border:1.5px solid #163d79 !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 7px 18px rgba(11,47,112,.07) !important;
}

.hc-v2-set-promo__plans > div::before{
  content:none !important;
  display:none !important;
}

.hc-v2-set-promo__plans b{
  color:#0b2f70 !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

.hc-v2-set-promo__plans strong{
  margin-top:7px !important;
  color:#b87700 !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

.hc-v2-set-promo__plans small{
  margin-top:8px !important;
  color:#435b7d !important;
  font-size:11px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

@media (max-width:640px){
  .hc-v2-set-promo__plans > div{
    min-height:96px !important;
    padding:13px 5px 11px !important;
    border-width:1.5px !important;
    border-radius:11px !important;
  }

  .hc-v2-set-promo__plans b{
    font-size:11.5px !important;
  }

  .hc-v2-set-promo__plans strong{
    margin-top:5px !important;
    font-size:19px !important;
  }

  .hc-v2-set-promo__plans small{
    margin-top:6px !important;
    font-size:8.5px !important;
    line-height:1.4 !important;
  }
}

/* Desktop layout: keep mobile styling, give hero copy its own usable width. */
@media (min-width:641px){
  .hc-v2 .hc-v2-shell{
    width:min(100%,960px);
    padding-inline:24px;
  }
  .hc-v2 .hc-v2-hero{
    min-height:0 !important;
    padding-bottom:48px;
  }
  .hc-v2 .hc-v2-hero__content{
    width:min(100%,1120px);
    min-height:480px !important;
    padding:86px 24px 60px !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
  }
  .hc-v2 .hc-v2-kicker,
  .hc-v2 .hc-v2-hero__title,
  .hc-v2 .hc-v2-hero__lead{
    width:46%;
    min-width:0;
  }
  .hc-v2 .hc-v2-hero__title{
    font-size:clamp(28px,3.4vw,48px) !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
    overflow-wrap:anywhere;
  }
  .hc-v2 .hc-v2-hero__title span:last-child{
    font-size:.94em !important;
    white-space:normal !important;
  }
  .hc-v2 .hc-v2-hero__lead{
    font-size:clamp(15px,1.6vw,18px) !important;
    line-height:1.85 !important;
  }
  .hc-v2 .hc-v2-hero__visual{
    width:50%;
    height:480px;
    border-bottom-left-radius:100px;
  }
  .hc-v2 .hc-v2-hero__price-shell{
    margin-top:-24px !important;
  }
  .hc-v2 .hc-v2-pricebox--classic-hero{
    margin-top:0 !important;
  }
  .hc-v2 .hc-v2-section{
    padding-block:64px;
  }
  .hc-v2 .hc-v2-heading h2{
    font-size:clamp(26px,3vw,32px);
    line-height:1.45;
  }
  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:24px !important;
  }
  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > span{
    min-width:0;
    font-size:18px !important;
    line-height:1.6 !important;
  }
  .hc-v2 .hc-v2-pricebox.hc-v2-pricebox--classic .hc-v2-pricebox__row > strong{
    white-space:nowrap;
    justify-self:end !important;
  }
  .hc-v2 .hc-v2-cleaning-point > div,
  .hc-v2 .hc-v2-step-card__content,
  .hc-v2 .hc-v2-option-card__body{
    min-width:0;
    overflow-wrap:anywhere;
  }
  .hc-v2 .hc-v2-mid-cta{
    width:min(100%,760px);
  }
}

/* Allow the longer consultation / booking labels to wrap at every width. */
.hc-v2 .hc-v2-mid-cta__copy strong{
  line-height:1.45 !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

/* Round 05: original colors and mobile layout, clearer desktop presentation. */
@media (min-width:901px){
  .hc-v2 .hc-v2-cleaning .hc-v2-shell,
  .hc-v2 .hc-v2-process .hc-v2-shell{width:min(100%,1120px);}
  .hc-v2 .hc-v2-cleaning-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);}
  .hc-v2 .hc-v2-cleaning-card__media{position:relative;min-height:0;}
  .hc-v2 .hc-v2-cleaning-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .hc-v2 .hc-v2-cleaning-card__body{min-width:0;padding:18px 24px;gap:4px;}
  .hc-v2 .hc-v2-cleaning-point{grid-template-columns:42px minmax(0,1fr);gap:12px;}
  .hc-v2 .hc-v2-process--b .hc-v2-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  .hc-v2 .hc-v2-process--b .hc-v2-step-card{min-width:0;}
  .hc-v2 .hc-v2-process--b .hc-v2-step-card__media{height:180px;}
  .hc-v2 .hc-v2-process--b .hc-v2-step-card__content{padding:28px 18px 0;}
  .hc-v2 .hc-v2-process--b .hc-v2-step-card__content h3{min-height:2.9em;}
  .hc-v2 .hc-v2-process--b .hc-v2-step-card__content p{font-size:14px;line-height:1.8;}
}
/* One comparison per row, with the full photographs visible. */
@media (min-width:641px){
  .hc-v2 .hc-v2-beforeafter .hc-v2-shell{width:min(100%,960px);}
  .hc-v2 .hc-v2-ba-card{margin-top:20px;padding:20px;min-width:0;}
  .hc-v2 .hc-v2-ba-card h3{font-size:24px;}
  .hc-v2 .hc-v2-ba-card__desktop{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:12px;}
  .hc-v2 .hc-v2-ba-photo{min-width:0;min-height:0;height:clamp(240px,32vw,320px);}
  .hc-v2 .hc-v2-ba-photo img{width:100%;height:100%;object-fit:contain;}
  .hc-v2 .hc-v2-ba-card>p{font-size:15px;line-height:1.8;}
}

/* Genuine photo pairs on mobile; also cover the previous 431-640px gap. */
@media (max-width:640px){
  .hc-v2 .hc-v2-ba-card--real-pair .hc-v2-ba-card__desktop{
    display:grid !important;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) !important;gap:5px !important;
  }
  .hc-v2 .hc-v2-ba-card--real-pair .hc-v2-ba-card__mobile{display:none !important;}
  .hc-v2 .hc-v2-ba-card--real-pair .hc-v2-ba-photo{
    min-height:0 !important;height:clamp(150px,43vw,240px) !important;border-radius:10px !important;
  }
  .hc-v2 .hc-v2-ba-card--real-pair .hc-v2-ba-photo img{width:100% !important;height:100% !important;object-fit:contain !important;}
  .hc-v2 .hc-v2-ba-card--real-pair .hc-v2-ba-arrow{font-size:24px !important;}
  .hc-v2 .hc-v2-ba-card--real-pair .hc-v2-ba-tag{top:6px !important;left:6px !important;padding:3px 6px !important;font-size:9px !important;}
}
