/* Stylesheet 1 */
:root {
  --brand:#c92242;
  --brand-deep:#a91532;
  --brand-bright:#e72e49;
  --brand-soft:#fff1f3;
  --brand-pale:#fff8f8;
  --ink:#202224;
  --muted:#63646a;
  --line:#efb7bf;
  --line-soft:#f3d9dd;
  --mark:#ffd9df;
  --white:#fff;
  --shadow:0 14px 38px rgba(80,25,34,.08);
  --radius-sm:10px;
  --radius:18px;
  --radius-lg:30px;
  --content:1180px;
  --section-space:clamp(78px,8.5cqw,124px);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
html,body {
  overflow-x:hidden;
}
body {
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:17px;
  line-height:1.9;
  letter-spacing:.035em;
  -webkit-font-smoothing:antialiased;
}
button,a {
  font:inherit;
}
a {
  color:inherit;
}
img {
  display:block;
  max-width:100%;
}
p {
  margin:0 0 1em;
}
p:last-child {
  margin-bottom:0;
}
.container {
  width:min(var(--content),calc(100% - 48px));
  margin-inline:auto;
}
.section {
  padding-block:var(--section-space);
}
.section--tint {
  background:linear-gradient(180deg,#fffafa,var(--brand-pale));
}
.accent {
  color:var(--brand);
}
.mark {
  background:linear-gradient(transparent 62%,var(--mark) 62%);
}
.dots {
  -webkit-text-emphasis:filled dot var(--brand);
  text-emphasis:filled dot var(--brand);
  -webkit-text-emphasis-position:over;
  text-emphasis-position:over;
}
.br-sp {
  display:none;
}
/* Shared headings */
.section-heading {
  margin:0 auto 14px;
  text-align:center;
  font-size:clamp(25px,3.7cqw,48px);
  line-height:1.4;
  letter-spacing:.05em;
  font-weight:800;
}
.section-heading::after {
  content:"";
  display:block;
  width:60px;
  height:3px;
  margin:20px auto 0;
  background:var(--brand);
  border-radius:2px;
}
.section-lead {
  max-width:820px;
  margin:0 auto clamp(40px,4cqw,56px);
  color:var(--muted);
  text-align:center;
  line-height:1.8;
}
.section-lead--accent {
  color:var(--brand);
  font-weight:700;
}
/* Buttons */
.btn {
  display:inline-flex;
  min-height:60px;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:12px 34px;
  border:1.5px solid var(--brand);
  border-radius:999px;
  color:var(--brand);
  background:var(--white);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.06em;
  transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease;
}
.btn::after {
  content:"";
  width:9px;
  height:9px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:rotate(45deg);
}
.btn:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(169,21,50,.18);
  color:var(--white);
  background:var(--brand);
  border-color:var(--brand);
}
.btn--primary {
  color:var(--white);
  background:linear-gradient(112deg,var(--brand),var(--brand-bright));
  border-color:transparent;
}
.btn--primary:hover {
  color:var(--brand);
  background:var(--white);
  border-color:var(--brand);
}
.estimate-cta .btn:hover {
  color:var(--white);
  background:var(--brand);
  border-color:var(--brand);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--brand);
  font-weight:800;
  text-decoration:none;
}
.text-link::after {
  content:"›";
  font-size:22px;
  line-height:0;
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.text-link--plain::after {
  content:none;
}
.text-link--phrase {
  display:inline;
}
.text-link--thin {
  font-weight:500;
}
.text-link-color {
  color:var(--brand);
  text-decoration:none;
}
.text-link-color:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.cond-row .text-link {
  font-weight:500;
}
.card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 26px rgba(80,25,34,.045);
}
.ico {
  width:1.35em;
  height:1.35em;
  object-fit:contain;
  flex:0 0 auto;
}
/* Hero */
.hero {
  position:relative;
  overflow:hidden;
  background:#faf6f1;
  border-bottom-left-radius:clamp(40px,5cqw,72px);
margin-right: calc(-200px) !important;
padding-right: calc(200px) !important;
}
@media only screen and (max-width: 1800px) {
	.hero {
	margin-right: calc(-100px) !important;
	padding-right: calc(100px) !important;
	}
}
@media only screen and (max-width: 1700px) {
	.hero {
	margin-right: calc(0px) !important;
	padding-right: calc(0px) !important;
	}
}

.hero-bg {
  position:absolute;
  inset:0;
  background:url("../optimized/hero-window-inspection-v2-eyes.webp") right top/cover no-repeat;
}
.hero-bg::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(95deg,#fff 6%,rgba(255,255,255,.92) 30%,rgba(255,255,255,.42) 51%,rgba(255,255,255,0) 66%);
}
.hero-inner {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  min-height:clamp(600px,58cqw,800px);
}
.hero-copy {
  width:min(730px,63%);
  padding-block:70px;
}
.hero-tag {
  display:inline-block;
  margin:0 0 24px;
  padding:10px 22px;
  background:var(--brand);
  color:#fff;
  font-size:clamp(13px,1.35cqw,17px);
  font-weight:800;
  letter-spacing:.09em;
  box-shadow:0 6px 16px rgba(169,21,50,.22);
}
.hero-title {
  margin:0 0 30px;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:clamp(38px,4.1cqw,56px);
  line-height:1.42;
  letter-spacing:.02em;
  font-weight:700;
}
.hero-lead {
  margin-bottom:32px;
  font-size:clamp(17px,1.5cqw,21px);
  font-weight:600;
  line-height:1.85;
}
.hero-actions {
  display:flex;
  gap:14px;
  max-width:640px;
  margin-bottom:16px;
}
.hero-actions .btn {
  flex:1;
  padding-inline:20px;
}
.hero-note {
  font-size:13.5px;
  color:var(--muted);
}
.neutral-badge {
  position:absolute;
  z-index:3;
  right:clamp(16px,4cqw,72px);
  bottom:clamp(28px,6cqw,88px);
  width:clamp(150px,15.5cqw,214px);
  height:auto;
  filter:drop-shadow(0 12px 28px rgba(80,25,34,.18));
}
/* Concerns */
.concern-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:22px;
}
.concern-card {
  grid-column:span 2;
  display:flex;
  flex-direction:column;
  padding:26px 22px 22px;
}
.concern-card:nth-child(4) {
  grid-column:2/span 2;
}
.concern-card:nth-child(5) {
  grid-column:4/span 2;
}
.concern-card h3 {
  margin:0;
  font-size:18.5px;
  line-height:1.7;
  text-align:center;
  font-weight:700;
}
.concern-art {
  margin-top:auto;
  padding-top:16px;
}
.concern-art img {
  width:100%;
  max-width:330px;
  margin:0 auto;
}
.closing-copy {
  margin:48px 0 12px;
  text-align:center;
  font-size:clamp(25px,3.1cqw,38px);
  font-weight:900;
  line-height:1.5;
}
.closing-sub {
  text-align:center;
  color:var(--muted);
}
/* Reasons */
.reason-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.reason {
  padding:8px 46px;
  position:relative;
}
.reason:not(:last-child)::after {
  content:"";
  position:absolute;
  top:6px;
  bottom:14px;
  right:0;
  width:1px;
  background:var(--line);
  transform:skewX(-14deg);
}
.reason-no {
  color:var(--ink);
  font-size:66px;
  font-weight:300;
  line-height:1;
  letter-spacing:.02em;
}
.reason-label {
  display:flex;
  align-items:center;
  gap:12px;
  margin:16px 0 18px;
  color:var(--brand);
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
}
.reason-label::after {
  content:"";
  width:44px;
  height:1px;
  background:var(--brand);
}
.reason h3 {
  margin:0 0 14px;
  color:var(--brand);
  font-size:23px;
  letter-spacing:.04em;
}
.reason p {
  color:var(--ink);
}
.reason-bottom {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  margin-top:52px;
  padding-top:40px;
  border-top:1px solid var(--line);
}
.reason-bottom>div+div {
  padding-left:44px;
  border-left:1px solid var(--line);
}
.reason-bottom h3 {
  margin:0 0 12px;
  color:var(--brand);
  font-size:19px;
}
/* Pricing */
.base-course {
  display:grid;
  grid-template-columns:.86fr 1.7fr;
  /*gap:34px;*/
  gap:20px;
  padding:34px 36px;
}
.course-kicker {
  display:inline-block;
  padding:5px 16px;
  color:#fff;
  background:var(--brand);
  border-radius:6px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.08em;
}
.base-course h3 {
  margin:14px 0 6px;
  font-size:clamp(16px,1.78cqw,22px);
  letter-spacing:.01em;
  white-space:nowrap;
}
.price {
  margin:4px 0 2px;
  color:var(--brand);
  font-weight:900;
  line-height:1.15;
  font-size:50px;
  letter-spacing:.01em;
}
.price small {
  font-size:16px;
  color:var(--ink);
  font-weight:700;
}
.price-sub {
  margin:0 0 14px;
  color:var(--muted);
  font-size:14px;
}
.check-head {
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 18px;
  color:var(--brand);
  font-size:17px;
  font-weight:800;
  letter-spacing:.08em;
}
.check-head::before,.check-head::after {
  content:"";
  flex:1;
  height:1px;
  background:var(--line);
}
.check-cols {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 30px;
}
.check-col h4 {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 10px;
  font-size:18px;
  letter-spacing:.06em;
}
.check-col h4 img {
  width:34px;
  height:34px;
  object-fit:contain;
  flex:0 0 auto;
}
.check-list {
  margin:0;
  padding:0;
  list-style:none;
}
.check-list li {
  position:relative;
  padding-left:30px;
  margin-block:8px;
  line-height:1.55;
}
.check-list li img {
  position:absolute;
  left:0;
  top:.2em;
  width:19px;
  height:19px;
}
.check-note {
  grid-column:1/-1;
  margin:12px 0 0;
  padding-top:14px;
  border-top:1px dashed var(--line-soft);
  color:var(--muted);
  font-size:13.5px;
}
.meta-row {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:22px 0;
  padding:20px 24px;
  text-align:center;
}
.meta-item {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-weight:700;
}
.meta-item img {
  width:30px;
  height:30px;
}
.meta-row>div+div {
  border-left:1px solid var(--line);
}
.include-card {
  padding:30px 36px 26px;
}
.include-list {
  margin:0;
  padding:0;
  list-style:none;
}
.include-list li {
  position:relative;
  padding-left:34px;
  margin-block:12px;
  line-height:1.7;
}
.include-list li img {
  position:absolute;
  left:0;
  top:.25em;
  width:21px;
  height:21px;
}
.include-foot {
  margin-top:8px;
  text-align:right;
}
.package-heading {
  display:flex;
  align-items:center;
  gap:22px;
  margin:54px 0 14px;
  font-size:clamp(24px,3cqw,30px);
  font-weight:800;
  letter-spacing:.06em;
  justify-content:center;
}
.package-heading::before,.package-heading::after {
  content:"";
  flex:1;
  height:2px;
  background:var(--brand);
  max-width:150px;
}
.package-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.package {
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.package h3 {
  margin:0;
  padding:14px;
  color:#fff;
  text-align:center;
  font-size:21px;
  letter-spacing:.06em;
  background:linear-gradient(180deg,var(--brand-bright),var(--brand));
}
.package-body {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:22px 24px 26px;
  position:relative;
}
.package-badge {
  position:absolute;
  top:-40px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 26px;
  background:linear-gradient(180deg,#ffe14d,#ffcc00);
  color:#6b4e00;
  border:2px solid #fff;
  border-radius:6px;
  font-size:16px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(191,140,0,.4);
  z-index:4;
}
.package--gold {
  overflow:visible;
  position:relative;
}
.package--gold>h3 {
  border-top-left-radius:calc(var(--radius) - 1px);
  border-top-right-radius:calc(var(--radius) - 1px);
}
.house-art {
  margin:0 auto 8px;
  text-align:center;
}
.house-art img {
  height:152px;
  width:auto;
  max-width:100%;
  margin:0 auto;
  display:block;
}
.house-legend {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 0 12px;
  font-size:12.5px;
  color:var(--muted);
}
.house-legend .sw {
  width:26px;
  height:15px;
  border:1px solid #333;
  background:repeating-linear-gradient(45deg,#1f5fe0 0 3px,#fff 3px 6px);
}
.package-caption {
  margin:2px 0 14px;
  text-align:center;
  color:var(--brand);
  font-weight:800;
  font-size:16px;
}
.package-items {
  margin:0 0 18px;
  padding:0;
  list-style:none;
  flex:1;
}
.package-items li {
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 4px;
  border-bottom:1px dashed var(--line-soft);
  font-size:15px;
}
.package-items li img {
  width:22px;
  height:22px;
}
.package-items li.is-empty {
  color:#c9cacc;
  justify-content:center;
}
.package-items .dash {
  display:inline-block;
  width:22px;
  text-align:center;
  color:#c9cacc;
}
.package .price {
  font-size:33px;
  text-align:center;
  margin-top:auto;
}
.package .price-sub {
  text-align:center;
  margin-bottom:0;
}
.center-actions {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin-top:34px;
}
.fine-note {
  margin:22px auto 6px;
  color:var(--muted);
  text-align:center;
  font-size:13.5px;
}
.center-link {
  text-align:center;
}
/* Conditions */
.notice {
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:center;
  margin-bottom:34px;
  padding:20px 26px;
  background:var(--brand-soft);
  border:1px solid var(--line);
  border-radius:12px;
  font-size:clamp(16px,1.7cqw,20px);
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.notice:hover,.notice:focus-visible {
  background:#ffe1e7;
  border-color:var(--brand);
  box-shadow:0 8px 22px rgba(169,21,50,.16);
  transform:translateY(-1px);
  outline:none;
}
.notice .notice-text {
  text-decoration:underline;
  text-decoration-color:var(--brand);
  text-decoration-thickness:2px;
  text-underline-offset:6px;
  transition:text-decoration-thickness .18s ease;
}
.notice:hover .notice-text {
  text-decoration-thickness:3px;
}
.notice svg {
  width:22px;
  height:22px;
  flex:0 0 auto;
  color:var(--brand);
  transition:transform .18s ease;
}
.notice:hover svg {
  transform:translate(3px,-3px);
}
.cond-title {
  display:flex;
  align-items:center;
  gap:14px;
  margin:34px 0 4px;
  color:var(--brand);
  font-size:19px;
  font-weight:800;
  letter-spacing:.08em;
}
.cond-title::before {
  content:"";
  width:22px;
  height:2px;
  background:var(--brand);
}
.cond-row {
  display:grid;
  grid-template-columns:88px 1fr auto;
  align-items:center;
  gap:20px;
  padding:18px 6px;
  border-bottom:1px solid #e6e6e6;
}
.cond-icon {
  display:grid;
  place-items:center;
  color:var(--brand);
}
.cond-icon svg {
  width:40px;
  height:40px;
}
.cond-icon img {
  width:40px;
  height:40px;
  object-fit:contain;
}
.cond-row .cond-sub {
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
}
.cond-note {
  color:var(--muted);
  margin:2px 0 16px;
}
.tag-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:16px 0 6px;
}
.tag {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 18px;
  color:var(--brand);
  background:#fff;
  border:1.5px solid var(--brand);
  border-radius:8px;
  font-weight:700;
  text-decoration:none;
}
.tag::after {
  content:"›";
  font-size:20px;
}
.tag:hover {
  background:var(--brand-soft);
}
.estimate-cta {
  display:flex;
  justify-content:center;
  margin:24px 0 30px;
}
.estimate-cta .btn {
  background:var(--white);
  color:var(--brand);
  border-color:var(--brand);
  min-height:56px;
}
.estimate-cta .btn::after {
  content:none;
}
.cond-accordion details {
  background:var(--brand-soft);
  border:1px solid var(--line);
  border-radius:12px;
  margin-top:14px;
}
.cond-accordion summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  cursor:pointer;
  font-weight:700;
  list-style:none;
}
.cond-accordion summary::-webkit-details-marker {
  display:none;
}
.cond-accordion summary::after {
  content:"";
  width:12px;
  height:12px;
  border-right:2px solid var(--brand);
  border-bottom:2px solid var(--brand);
  transform:rotate(45deg);
  transition:transform .2s;
}
.cond-accordion details[open] summary::after {
  transform:rotate(-135deg);
}
.cond-accordion details p {
  margin:0;
  padding:0 24px 22px;
  color:var(--muted);
}
.ins-body {
  padding:6px 24px 22px;
}
.ins-panel {
  margin:0 0 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.ins-head {
  padding:12px;
  text-align:center;
  background:var(--brand-soft);
  color:var(--brand);
  font-weight:800;
  letter-spacing:.03em;
  border-bottom:1px solid var(--line);
}
.ins-cols {
  display:grid;
  grid-template-columns:1fr 1fr;
}
.ins-col {
  padding:18px 22px 20px;
}
.ins-col+.ins-col {
  border-left:1px solid var(--line);
}
.ins-lbl {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 0 10px;
  color:var(--brand);
  font-weight:800;
  font-size:15px;
}
.ins-lbl::before,.ins-lbl::after {
  content:"";
  flex:1;
  height:1px;
  background:var(--line);
}
.ins-val {
  text-align:center;
  color:var(--brand);
  font-weight:900;
  font-size:clamp(24px,2.9cqw,30px);
  line-height:1.2;
}
.ins-val small {
  font-size:15px;
  font-weight:800;
}
.ins-note {
  margin:0 0 6px;
  color:var(--muted);
  font-size:13px;
}
.ins-sub {
  margin:4px 0 0;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}
.ins-foot {
  text-align:right;
}
.ins-foot .text-link {
  font-weight:500;
}
@container servicecontent (max-width:640px) {
  .ins-cols {
    grid-template-columns:1fr;
  }
  .ins-col+.ins-col {
    border-left:0;
    border-top:1px solid var(--line);
  }
  .ins-foot {
    text-align:left;
  }
}
/* Options */
.option-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.option-card {
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.option-photo {
  width:100%;
  height:250px;
  object-fit:cover;
}
.option-copy {
  display:flex;
  flex-direction:column;
  padding:24px 28px 28px;
}
.option-card .option-copy {
  flex:1;
}
.option-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.option-head h3 {
  margin:0;
  font-size:25px;
  letter-spacing:.04em;
}
.option-badge {
  padding:6px 14px;
  background:var(--brand-soft);
  color:var(--brand);
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.option-lead {
  display:block;
  margin:12px 0 10px;
  color:var(--brand);
  font-size:19px;
  font-weight:800;
}
.option-copy p {
  color:var(--ink);
}
.option-link {
  margin-top:auto;
  padding-top:16px;
  text-align:right;
}
.thermal-card {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.thermal-card .option-photo {
  height:100%;
  min-height:270px;
}
.thermal-card .option-copy {
  align-self:center;
}
.thermal-card .option-copy h3 {
  margin:0;
  font-size:25px;
  letter-spacing:.04em;
}
.options-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:26px;
  flex-wrap:wrap;
}
.options-foot small {
  color:var(--muted);
}
/* Flow */
.flow {
  display:grid;
  gap:34px;
}
.flow-step {
  position:relative;
  display:grid;
  grid-template-columns:150px 1fr;
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:16px;
  overflow:hidden;
}
.flow-step:not(:last-child)::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:-30px;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:22px solid transparent;
  border-right:22px solid transparent;
  border-top:22px solid var(--brand);
  opacity:.85;
  z-index:2;
}
.step-no {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  color:var(--brand);
  border-right:1.5px dashed var(--line);
  font-weight:800;
  letter-spacing:.14em;
  line-height:1.3;
}
.step-no b {
  display:block;
  font-size:34px;
  letter-spacing:0;
  line-height:1;
}
.step-copy {
  padding:26px 34px;
}
.step-copy h3 {
  margin:0 0 10px;
  color:var(--brand);
  font-size:22px;
}
.step-copy p {
  margin:0 0 .5em;
}
.step-copy .note {
  color:var(--muted);
  font-size:14px;
  margin:0;
}
/* Data */
.data-grid {
  display:grid;
  grid-template-columns:1fr 1.28fr;
  gap:24px;
}
.data-card {
  padding:30px 32px;
  display:flex;
  flex-direction:column;
}
.data-pill {
  align-self:center;
  margin-bottom:16px;
  padding:5px 28px;
  color:var(--brand);
  background:var(--brand-soft);
  border-radius:999px;
  font-weight:800;
  font-size:15px;
}
.data-card h3 {
  margin:0 0 22px;
  text-align:center;
  font-size:clamp(20px,2.1cqw,25px);
  line-height:1.5;
  letter-spacing:.03em;
}
.data-card h3 span {
  display:inline-block;
}
.donut-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.data-card .donut-wrap {
  flex:1;
  margin-bottom:0;
}
.donut-wrap img {
  width:min(260px,60%);
}
.donut-wrap img.chart-full {
  width:100%;
  max-width:520px;
}
.legend {
  margin:0;
  padding:0;
  list-style:none;
  min-width:210px;
}
.legend li {
  display:grid;
  grid-template-columns:16px 1fr auto;
  align-items:center;
  gap:12px;
  padding:9px 0;
  border-bottom:1px dashed #d8d8d8;
}
.legend .sw {
  width:15px;
  height:15px;
  border-radius:3px;
}
.legend b {
  color:var(--brand);
  font-size:18px;
}
.chart-full {
  width:100%;
  margin-bottom:22px;
}
.data-foot {
  margin-top:auto;
}
.data-foot .src {
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}
/* Voices */
.voice-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.voice {
  padding:30px 30px 34px;
  display:flex;
  flex-direction:column;
}
.voice-visual {
  width:130px;
  margin:0 auto 6px;
}
.quote {
  color:var(--brand);
  font-size:44px;
  line-height:.6;
  font-family:Georgia,serif;
}
.voice h3 {
  margin:8px 0 14px;
  font-size:clamp(15px,1.45cqw,17px);
  line-height:1.6;
  letter-spacing:0;
}
.voice h3 span {
  display:inline-block;
}
.voice p {
  color:var(--muted);
  font-size:15px;
  line-height:1.85;
}
.voice-more {
  margin-top:34px;
  text-align:center;
}
/* Carousel arrows (mobile only) */
.carousel {
  position:relative;
}
.cnav {
  display:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--brand);
  font-size:12px;
  line-height:1;
  box-shadow:0 3px 12px rgba(0,0,0,.2);
  cursor:pointer;
  transition:opacity .2s ease;
}
.cnav--prev {
  left:-8px;
}
.cnav--next {
  right:-8px;
}
.cnav.is-off {
  opacity:0;
  pointer-events:none;
}
/* FAQ / equipment accordions */
.accordion {
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
}
.accordion details {
  border-bottom:1px solid var(--line);
}
.accordion details:last-child {
  border-bottom:0;
}
.accordion summary {
  display:grid;
  grid-template-columns:56px 1fr 26px;
  align-items:center;
  gap:14px;
  padding:24px 28px;
  cursor:pointer;
  font-weight:700;
  list-style:none;
}
.accordion summary::-webkit-details-marker {
  display:none;
}
.faq summary::before {
  content:"Q";
  color:var(--brand);
  font-family:Georgia,serif;
  font-size:32px;
  line-height:1;
  text-align:center;
}
.accordion summary .chev {
  width:14px;
  height:14px;
  border-right:2px solid var(--brand);
  border-bottom:2px solid var(--brand);
  transform:rotate(45deg);
  justify-self:end;
  transition:transform .2s;
}
.accordion details[open] summary .chev {
  transform:rotate(-135deg);
}
.accordion details p {
  margin:0;
  padding:0 60px 26px 98px;
  color:var(--muted);
}
.equipment summary {
  grid-template-columns:78px 260px 1fr 26px;
}
.equipment summary .eq-icon {
  display:grid;
  place-items:center;
}
.equipment summary .eq-icon img {
  width:44px;
  height:44px;
  object-fit:contain;
}
.equipment .eq-label {
  display:flex;
  align-items:center;
  gap:12px;
}
.equipment .eq-tag {
  display:inline-block;
  padding:2px 10px;
  border:1px solid var(--brand);
  color:var(--brand);
  border-radius:5px;
  font-size:12px;
  font-weight:800;
}
.equipment .eq-name {
  font-size:20px;
  letter-spacing:.04em;
}
.equipment .eq-desc {
  color:var(--ink);
  font-weight:500;
}
.equipment details:last-child {
  background:var(--brand-soft);
}
.equipment details p {
  padding:0 60px 26px 78px;
}
.equipment .eq-body-rich {
  padding:2px 60px 30px 78px;
}
.eq-intro {
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.8;
}
.eq-group+.eq-group {
  margin-top:22px;
}
.eq-grp-title {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 10px;
  color:var(--brand);
  font-size:16px;
  font-weight:800;
  letter-spacing:.04em;
}
.eq-grp-title::before {
  content:"";
  width:9px;
  height:9px;
  background:var(--brand);
  border-radius:2px;
  flex:0 0 auto;
}
.eq-items {
  margin:0;
  padding:0;
  list-style:none;
}
.eq-items li {
  position:relative;
  padding:8px 0 8px 20px;
  border-bottom:1px dashed var(--line-soft);
  line-height:1.7;
  font-size:15px;
}
.eq-items li:last-child {
  border-bottom:0;
}
.eq-items li::before {
  content:"";
  position:absolute;
  left:4px;
  top:1.05em;
  width:5px;
  height:5px;
  background:var(--brand);
  border-radius:50%;
}
.eq-items li b {
  font-weight:800;
}
.eq-note {
  color:var(--brand);
  font-size:12.5px;
  font-weight:700;
}
/* CTA */
.final-cta {
  padding-top:clamp(60px,7cqw,96px);
  background:var(--brand-pale);
}
.final-cta {
    padding-bottom: clamp(60px, 7vw, 96px);
}
.cta-panel {
  position:relative;
  overflow:hidden;
  border:2px solid var(--brand);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}
.cta-main {
  position:relative;
  padding:56px 54px;
  text-align:center;
  background:radial-gradient(120% 120% at 50% 0,#fff 40%,#fff2f4);
}
.cta-main::before,.cta-main::after {
  content:"";
  position:absolute;
  bottom:0;
  width:240px;
  height:80%;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.9;
  pointer-events:none;
}
.cta-main::before {
  left:0;
  background-image:url("../optimized/watermark-building-1-dark.webp");
  background-position:left bottom;
  -webkit-mask-image:linear-gradient(to right,#000 40%,transparent 90%),linear-gradient(to top,#000 50%,transparent 96%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,#000 40%,transparent 90%),linear-gradient(to top,#000 50%,transparent 96%);
  mask-composite:intersect;
}
.cta-main::after {
  right:0;
  background-image:url("../optimized/watermark-building-2-dark.webp");
  background-position:right bottom;
  -webkit-mask-image:linear-gradient(to left,#000 40%,transparent 90%),linear-gradient(to top,#000 50%,transparent 96%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to left,#000 40%,transparent 90%),linear-gradient(to top,#000 50%,transparent 96%);
  mask-composite:intersect;
}
.cta-main h2 {
  position:relative;
  margin:0 0 18px;
  font-size:clamp(32px,4.4cqw,58px);
  line-height:1.4;
  letter-spacing:.04em;
}
.cta-main>p {
  position:relative;
  color:var(--ink);
}
.cta-columns {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  max-width:920px;
  margin:36px auto 0;
  text-align:left;
}
.cta-columns>div+div {
  padding-left:44px;
  border-left:1px solid var(--line);
}
.cta-col-title {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0 0 16px;
  font-size:17px;
  font-weight:600;
}
.cta-col-title::before,.cta-col-title::after {
  color:var(--brand);
  font-weight:900;
}
.cta-col-title::before {
  content:"＼";
}
.cta-col-title::after {
  content:"／";
}
.cta-columns .btn {
  display:flex;
  width:100%;
  margin-bottom:12px;
}
.cta-columns small {
  display:block;
  text-align:center;
  color:var(--muted);
  font-size:13px;
}
.phone {
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:center;
  white-space:nowrap;
  color:var(--brand);
  font-size:clamp(24px,3cqw,40px);
  font-weight:900;
  line-height:1.2;
  letter-spacing:.01em;
  text-decoration:none;
}
.phone svg {
  width:.9em;
  height:.9em;
}
.phone-hours {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.phone-hours .lbl {
  padding:3px 14px;
  background:var(--brand-soft);
  color:var(--brand);
  border-radius:6px;
  font-size:13px;
  font-weight:800;
}
.phone-hours .val {
  font-weight:700;
}
.phone-note {
  text-align:center;
  color:var(--muted);
  font-size:13px;
  margin:2px 0 0;
}
.trust-row {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  color:#fff;
  background:linear-gradient(112deg,var(--brand-deep),var(--brand-bright));
}
.trust-item {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:132px;
  padding:22px;
  font-weight:800;
  line-height:1.5;
}
.trust-item+.trust-item {
  border-left:1px solid rgba(255,255,255,.5);
}
.trust-icon {
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  flex:0 0 auto;
}
.trust-icon img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.trust-icon svg {
  width:32px;
  height:32px;
  stroke:#fff;
  fill:none;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/*footer {
  padding:30px 24px;
  color:#7a7b7e;
  background:#fff;
  text-align:center;
  font-size:12.5px;
  line-height:1.8;
}
*/
/* Responsive */
@container servicecontent (max-width:900px) {
  .hero-copy {
    width:66%;
    padding-block:52px;
  }
  .neutral-badge {
    width:clamp(128px,17cqw,178px);
    right:16px;
    bottom:20px;
  }
  .concern-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .concern-card,.concern-card:nth-child(4),.concern-card:nth-child(5) {
    grid-column:auto;
  }
  .concern-card:last-child {
    grid-column:1/-1;
    max-width:440px;
    margin-inline:auto;
  }
  .reason-grid {
    grid-template-columns:1fr;
    gap:8px;
  }
  .reason {
    padding:22px 6px 28px;
    border-bottom:1px solid var(--line);
  }
  .reason:not(:last-child)::after {
    content:none;
  }
  .reason:last-child {
    border-bottom:0;
  }
  .reason-bottom {
    grid-template-columns:1fr;
    gap:0;
  }
  .reason-bottom>div+div {
    padding:26px 0 0;
    margin-top:26px;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .base-course,.data-grid,.option-grid,.thermal-card {
    grid-template-columns:1fr;
  }
  .package-grid {
    grid-template-columns:1fr;
    max-width:460px;
    margin-inline:auto;
  }
  .package--gold {
    margin-top:40px;
  }
  .tag-grid {
    grid-template-columns:1fr 1fr;
  }
  .voice-grid {
    grid-template-columns:1fr;
    max-width:520px;
    margin-inline:auto;
  }
  .cta-columns {
    grid-template-columns:1fr;
    gap:0;
  }
  .cta-columns>div+div {
    padding:30px 0 0;
    margin-top:30px;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .trust-row {
    grid-template-columns:1fr 1fr;
  }
  .trust-item:nth-child(odd) {
    border-left:0;
  }
  .trust-item:nth-child(n+3) {
    border-top:1px solid rgba(255,255,255,.5);
  }
}
@container servicecontent (max-width:640px) {
  body {
    font-size:16px;
    letter-spacing:.02em;
  }
  .section {
    padding-block:48px;
  }
  .container {
    width:min(100% - 32px,var(--content));
  }
  .hero {
    background:#fff;
    border-bottom-left-radius:0;
  }
  .hero-bg {
    display:none;
  }
  .hero-inner {
    display:block;
    min-height:0;
  }
  .hero-copy {
    width:100%;
    padding:0;
  }
  .hero-head {
    position:relative;
    min-height:440px;
    margin:0 -16px;
    padding:24px 16px 14px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:url("../optimized/hero-window-inspection-v2-eyes.webp") 82% center/cover no-repeat;
    overflow:hidden;
  }
  .hero-head::before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,#fff 6%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.55) 54%,rgba(255,255,255,0) 80%);
  }
  .hero-head>* {
    position:relative;
    z-index:1;
  }
  .hero-tag {
    align-self:flex-start;
    margin-bottom:22px;
  }
  .hero-title {
    font-size:26px;
    margin-bottom:0;
  }
  .hero-body {
    padding-top:24px;
  }
  .hero-body .hero-lead,.hero-body .hero-note {
    text-align:center;
  }
  .hero-actions {
    flex-direction:column;
  }
  .neutral-badge {
    width:92px;
    left:26px;
    right:auto;
    top:24px;
    bottom:auto;
  }
  /* Concerns → compact 2-col */
  .concern-grid {
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .concern-card {
    padding:14px 9px 12px;
  }
  .concern-card h3 {
    font-size:12px;
    line-height:1.65;
    letter-spacing:0;
  }
  .br-sp {
    display:inline;
  }
  .br-pc {
    display:none;
  }
  #concerns .section-heading {
    font-size:22px;
    letter-spacing:.02em;
  }
  #reasons-heading {
    font-size:22px;
    letter-spacing:.01em;
    white-space:nowrap;
  }
  #price-lead {
    font-size:13.5px;
    white-space:nowrap;
  }
  .cond-label {
    font-size:14.5px;
  }
  #conditions .cond-row .text-link {
    font-size:14.5px;
  }
  .estimate-cta .btn {
    font-size:14.5px;
  }
  .cond-accordion summary::after {
    flex-shrink:0;
  }
  .cond-accordion summary {
    font-size:14.5px;
  }
  .ins-foot .text-link {
    font-size:13.5px;
  }
  .options-foot {
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .options-foot a.text-link {
    align-self:flex-end;
  }
  .step-copy p:not(.note) {
    font-size:12.5px;
  }
  .flow-step:nth-child(4) .step-copy h3 {
    font-size:20px;
    white-space:nowrap;
  }
  .data-card h3 {
    font-size:17.5px;
  }
  .data-card h3 .h3-line {
    display:block;
  }
  .voice h3 span {
    display:inline;
  }
  .voice h3 {
    font-size:15.5px;
  }
  .voice p {
    font-size:15.5px;
  }
  .data-foot p:not(.src) {
    font-size:14.5px;
  }
  .data-card {
    padding:24px 16px;
  }
  .data-card .donut-wrap {
    margin-inline:-16px;
  }
  .data-card>img.chart-full {
    margin-inline:-16px;
    width:calc(100% + 32px);
    max-width:none;
  }
  .closing-copy {
    margin:34px 0 10px;
    font-size:18px;
  }
  .closing-sub {
    font-size:14px;
  }
  .concern-art {
    padding-top:10px;
  }
  .concern-art img {
    max-width:140px;
  }
  .concern-card:last-child {
    grid-column:1/-1;
    max-width:none;
    margin-inline:0;
    flex-direction:row;
    align-items:center;
    gap:14px;
    text-align:left;
  }
  .concern-card:last-child h3 {
    text-align:left;
    flex:1;
  }
  .concern-card:last-child .concern-art {
    margin-top:0;
    padding-top:0;
    flex:0 0 120px;
  }
  .concern-card:last-child .concern-art img {
    max-width:120px;
    margin:0;
  }
  /* Voices → swipe carousel */
  .voice-grid {
    display:flex;
    max-width:none;
    gap:14px;
    margin-inline:-16px;
    padding:2px 16px 8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:16px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .voice-grid::-webkit-scrollbar {
    display:none;
  }
  .voice-grid>.voice {
    flex:0 0 86%;
    scroll-snap-align:start;
  }
  /* Options → swipe carousel */
  .option-grid {
    display:flex;
    max-width:none;
    gap:14px;
    margin-inline:-16px;
    padding:2px 16px 8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:16px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .option-grid::-webkit-scrollbar {
    display:none;
  }
  .option-grid>.option-card,.option-grid>.thermal-card {
    flex:0 0 86%;
    scroll-snap-align:start;
  }
  .option-grid .option-photo {
    height:200px;
    min-height:0;
  }
  .cnav {
    display:flex;
  }
  .package-heading {
    font-size:21px;
    gap:12px;
  }
  .package-heading::before,.package-heading::after {
    max-width:28px;
  }
  .base-course {
    padding:24px 20px;
  }
  .check-cols {
    grid-template-columns:1fr;
  }
  .meta-row {
    grid-template-columns:1fr;
    text-align:left;
  }
  .meta-row>div {
    padding:8px 0;
  }
  .meta-row>div+div {
    border-left:0;
    border-top:1px solid var(--line);
  }
  .meta-item {
    justify-content:flex-start;
  }
  .include-card {
    padding:24px 20px;
  }
  .tag-grid {
    grid-template-columns:1fr;
  }
  .cond-row {
    grid-template-columns:64px 1fr;
  }
  .cond-row .text-link {
    grid-column:2;
    justify-self:start;
  }
  .cond-icon svg,.cond-icon img {
    width:34px;
    height:34px;
  }
  .flow-step {
    grid-template-columns:88px 1fr;
  }
  .step-no b {
    font-size:26px;
  }
  .step-copy {
    padding:22px 20px;
  }
  .donut-wrap {
    flex-direction:column;
  }
  .center-actions {
    flex-direction:column;
    align-items:stretch;
  }
  .center-actions .btn {
    width:100%;
  }
  .accordion summary {
    grid-template-columns:40px 1fr 20px;
    gap:10px;
    padding:20px 16px;
    font-size:15px;
  }
  .accordion details p {
    padding:0 20px 24px 66px;
  }
  .faq summary::before {
    font-size:26px;
  }
  .equipment summary {
    grid-template-columns:52px 1fr 20px;
  }
  .equipment summary .eq-desc {
    display:none;
  }
  .equipment details p {
    padding:0 20px 24px 52px;
  }
  .equipment .eq-body-rich {
    padding:0 20px 24px 52px;
  }
  .cta-main {
    padding:28px 16px;
  }
  .cta-main::before,.cta-main::after {
    width:96px;
    opacity:.55;
  }
  .cta-main h2 {
    font-size:24px;
    margin-bottom:12px;
  }
  .cta-main>p {
    font-size:14.5px;
    margin:0;
  }
  .cta-columns {
    margin-top:22px;
  }
  .cta-columns>div+div {
    padding-top:20px;
    margin-top:20px;
  }
  .cta-columns .btn {
    min-height:50px;
    margin-bottom:6px;
  }
  .cta-col-title {
    margin:0 0 10px;
  }
  .phone {
    margin-bottom:16px;
  }
  .phone-hours {
    gap:8px;
    margin-top:0;
  }
  .phone-hours .val {
    font-size:14.5px;
  }
  .phone-note {
    margin-top:14px;
  }
  .trust-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trust-item {
    min-height:76px;
    padding:10px 6px;
    gap:8px;
    font-size:12px;
    line-height:1.4;
  }
  .trust-icon {
    width:38px;
    height:38px;
  }
  .trust-icon svg {
    width:20px;
    height:20px;
  }
  .final-cta {
    padding-top:32px;
  }
}
/* New-build variant: retained resale tokens and components */
section[id] {
  scroll-margin-top:74px
}
.page-nav {
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  justify-content:center;
  gap:26px;
  padding:15px 24px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line-soft);
  font-size:14px;
  box-shadow:0 5px 20px rgba(80,25,34,.035)
}
.page-nav a {
  text-decoration:none;
  white-space:nowrap
}
.page-nav a:hover {
  color:var(--brand)
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid var(--brand);
  outline-offset:4px
}
.hero-copy {
  width:min(760px,66%)
}
.hero-title {
  font-size:clamp(36px,3.7cqw,52px)
}
.hero-note .text-link {
  font-size:13px;
  margin-top:10px
}
.concern-grid--new {
  grid-template-columns:repeat(3,1fr)
}
.concern-grid--new .concern-card {
  grid-column:auto
}
.concern-grid--new .concern-card h3 {
  font-size:17px
}
.concern-grid--new .concern-art {
  min-height:175px;
  display:flex;
  align-items:center
}
.report-visual {
  height:250px;
  background:linear-gradient(135deg,#fff1f3,#fff8f8);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  color:var(--brand);
  font-weight:800;
  font-size:24px;
  line-height:1.6
}
.report-visual img {
  width:75px;
  height:100px;
  object-fit:contain
}
.option-grid .thermal-card {
  grid-column:auto;
  display:flex;
  flex-direction:column
}
.thermal-card .option-photo {
  height:250px;
  min-height:0
}
.thermal-card .option-copy {
  align-self:stretch;
  flex:1
}
.voice-grid {
  row-gap:26px
}
.data-grid {
  grid-template-columns:1fr 1fr
}
.stat-ring {
  width:250px;
  height:250px;
  border-radius:50%;
  background:conic-gradient(var(--brand) 0 82%,var(--brand-soft) 82% 100%);
  padding:24px;
  margin:0 auto 30px
}
.stat-ring>div {
  background:#fff;
  border-radius:50%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center
}
.stat-ring b {
  font-size:58px;
  color:var(--brand);
  line-height:1.25
}
.stat-ring b span {
  font-size:25px
}
.stat-ring small {
  font-size:13px;
  color:var(--muted)
}
.stat-bars {
  margin:10px 0 20px
}
.stat-bars>div {
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px;
  margin-bottom:18px
}
.stat-bars b {
  color:var(--brand)
}
.bar-track {
  grid-column:1/-1;
  background:var(--brand-soft);
  height:14px;
  border-radius:99px;
  overflow:hidden
}
.bar-track i {
  height:100%;
  display:block;
  background:linear-gradient(90deg,var(--brand),var(--brand-bright));
  border-radius:99px
}
.data-table {
  border-collapse:collapse;
  width:100%;
  font-size:14px;
  margin-bottom:24px
}
.data-table caption {
  text-align:left;
  color:var(--muted);
  font-size:12px;
  margin-bottom:8px
}
.data-table th,.data-table td {
  border-bottom:1px solid var(--line-soft);
  padding:8px;
  text-align:left
}
.data-table td {
  text-align:right
}
.data-table thead {
  background:var(--brand-soft)
}
.flow-step {
  overflow:visible
}
.base-course h3 {
  white-space:normal;
  line-height:1.6
}
.option-grid .option-copy {
  padding:24px 25px
}
.hero-actions .btn {
  font-size:15px;
  padding-inline:12px;
  letter-spacing:.02em
}
.equipment summary {
  grid-template-columns:60px 250px 1fr 26px
}
@container servicecontent (max-width:900px) {
  .page-nav {
    justify-content:flex-start;
    overflow-x:auto;
    gap:22px
  }
  .hero-copy {
    width:70%
  }
  .concern-grid--new {
    grid-template-columns:1fr
  }
  .concern-grid--new .concern-card:last-child {
    max-width:none
  }
  .concern-grid--new .concern-art {
    min-height:0
  }
  .data-grid {
    grid-template-columns:1fr
  }
  .equipment summary {
    grid-template-columns:50px 1fr 26px
  }
  .equipment .eq-desc {
    display:none
  }
}
@container servicecontent (max-width:640px) {
  .page-nav {
    font-size:12px;
    padding:12px 16px;
    gap:20px
  }
  .hero-copy {
    width:100%
  }
  .hero-title {
    font-size:25px;
    letter-spacing:0
  }
  .hero-head {
    min-height:460px
  }
  .hero-actions .btn {
    font-size:16px
  }
  .concern-grid--new {
    grid-template-columns:1fr
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:last-child {
    flex-direction:column;
    padding:22px 18px
  }
  .concern-grid--new .concern-card h3,.concern-grid--new .concern-card:last-child h3 {
    text-align:center;
    font-size:16px
  }
  .concern-grid--new .concern-card .concern-art,.concern-grid--new .concern-card:last-child .concern-art {
    flex:auto;
    width:100%;
    padding-top:14px
  }
  .concern-grid--new .concern-card .concern-art img,.concern-grid--new .concern-card:last-child .concern-art img {
    max-width:285px;
    margin:auto
  }
  .report-visual {
    height:200px;
    font-size:20px;
    gap:20px
  }
  .report-visual img {
    width:55px
  }
  .option-grid .thermal-card {
    display:flex
  }
  .option-grid .option-copy h3 {
    font-size:23px
  }
  .option-grid .option-lead {
    font-size:18px
  }
  .equipment summary {
    grid-template-columns:42px 1fr 20px
  }
  .stat-ring {
    width:230px;
    height:230px
  }
  .base-course h3 {
    font-size:19px
  }
  #price-lead {
    white-space:normal
  }
  .closing-copy {
    font-size:24px
  }
  .hero-title {
    font-size:25px
  }
  .hero-tag {
    font-size:12px;
    letter-spacing:.02em;
    padding-inline:12px
  }
  .hero-note {
    text-align:center
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important
  }
}
/* Approved window-inspection hero, 2026-10-14 */
@container servicecontent (max-width:640px) {
  .hero-head {
    background:none;
    min-height:0;
    padding:280px 16px 20px;
    justify-content:flex-start;
  }
  .hero-head::before {
    inset:0 0 auto;
    height:260px;
    background:url("../optimized/hero-window-inspection-v2-eyes.webp") 67% center/cover no-repeat;
  }
  .hero-tag {
    margin-bottom:18px;
  }
  .neutral-badge {
    top:16px;
    left:16px;
    width:76px;
  }
  .hero-body {
    padding-top:10px;
  }
}
/* Preserve the inspection target on wide desktop screens. */
@container servicecontent (min-width:641px) {
  .hero {
    background:#fff;
  }
  .hero-bg {
    background-size:auto 100%;
    background-position:right bottom;
  }
}
/* Preserve the inspection target on wide desktop screens. */
@container servicecontent (min-width:641px) {
  .hero {
    background:#fff;
  }
  .hero-bg {
    background-size:auto 100%;
    background-position:right bottom;
  }
}
@container servicecontent (min-width:641px) and (max-width:1100px) {
  .hero-bg {
    display:none;
  }
  .hero-inner {
    display:block;
    min-height:0;
  }
  .hero-copy {
    width:100%;
    padding:0;
  }
  .hero-head {
    position:relative;
    margin:0 -24px;
    padding:calc(100cqw * .5625 + 24px) 24px 0;
    background:none;
  }
  .hero-head::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    aspect-ratio:16/9;
    background:url("../optimized/hero-window-inspection-v2-eyes.webp") center/contain no-repeat;
  }
  .hero-head>* {
    position:relative;
  }
  .hero-title {
    font-size:36px;
  }
  .hero-body {
    padding:0 0 30px;
  }
  .neutral-badge {
    top:22px;
    left:22px;
    right:auto;
    bottom:auto;
    width:105px;
  }
}
/* Production content container: responsive to the area beside the menu. */
.service-content {
  container-type:inline-size;
  container-name:servicecontent;
  min-width:0;
}
.hero-inner {
  width:calc(100% - 80px);
  max-width:none;
  margin-inline:40px;
}
.hero-copy {
  width:min(760px,66%);
}
@container servicecontent (max-width:1100px) {
  .hero-inner {
    width:calc(100% - 48px);
    margin-inline:24px;
  }
  .hero-copy {
    width:100%;
  }
}
@container servicecontent (max-width:640px) {
  .hero-inner {
    width:calc(100% - 32px);
    margin-inline:16px;
  }
}
@container servicecontent (max-width:360px) {
  .hero-title {
    font-size:22px;
    letter-spacing:0;
  }
}
/* Revised reporting and option charges */
.price-breakdown {
  display:block;
  margin-top:10px;
  font-size:12px;
  line-height:1.65;
}
.option-fee {
  margin:20px 0 0;
  padding:16px 18px;
  background:var(--brand-soft);
  border-radius:10px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.option-fee>span {
  font-size:13px;
  font-weight:700;
}
.option-fee b {
  font-size:29px;
  line-height:1.4;
  color:var(--brand);
  letter-spacing:0;
}
.option-fee b small {
  font-size:14px;
}
.option-fee>small {
  font-size:12px;
  color:var(--muted);
}
.option-fee p {
  font-size:12px;
  margin:8px 0 0;
  line-height:1.7;
}
/* Align FV typography with the resale page and inset the entire copy group. */
.hero-tag,.hero-lead,.hero-actions,.hero-note {
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
.hero-tag {
  font-weight:800;
}
.hero-lead {
  font-size:clamp(17px,1.5vw,21px);
  font-weight:600;
  line-height:1.85;
}
@container servicecontent (min-width:1101px) {
  .hero-inner {
    width:calc(100% - clamp(120px,12.4cqw,200px));
    margin-inline:clamp(60px,6.2cqw,100px);
  }
  .hero-copy {
    width:min(760px,66%);
  }
  .hero-title {
    font-size:clamp(38px,4.3cqw,56px);
    font-weight:700;
  }
  .hero-tag {
    font-size:clamp(13px,1.35vw,17px);
  }
}
@container servicecontent (max-width:640px) {
  .hero-lead {
    font-size:17px;
  }
}
/* Five practical entry points, fully visible on small screens. */
html,body {
  overflow-x:clip;
}
.page-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  align-items:stretch;
  justify-content:center;
  padding:12px max(24px,calc((100% - 1000px)/2));
  overflow:visible;
  font-size:14px;
}
.page-nav a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px;
  text-align:center;
  line-height:1.55;
  border-right:1px solid var(--line-soft);
  font-weight:500;
  letter-spacing:.02em;
}
.page-nav a:last-child {
  border-right:0;
}
.page-nav a:hover {
  background:var(--brand-pale);
}
section[id] {
  scroll-margin-top:88px;
}
@container servicecontent (max-width:640px) {
  .page-nav {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
    padding:12px 16px;
    font-size:13px;
  }
  .page-nav a {
    grid-column:span 2;
    min-height:48px;
    padding:6px;
    border:1px solid var(--line-soft);
    border-radius:6px;
    background:var(--brand-pale);
    white-space:normal;
  }
  .page-nav a:nth-child(3) {
    flex-direction:column;
  }
  .page-nav a:nth-child(n+4) {
    grid-column:span 3;
  }
  .page-nav a:last-child {
    border-right:1px solid var(--line-soft);
  }
  section[id] {
    scroll-margin-top:140px;
  }
}
@container servicecontent (max-width:360px) {
  .page-nav {
    font-size:12px;
    gap:6px;
  }
  .page-nav a {
    padding:5px;
  }
}
/* Five concerns: centered 3 + 2 cards, compact paired cards on phones. */
.concern-grid--new {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
}
.concern-grid--new .concern-card {
  grid-column:span 2;
  max-width:none;
  margin:0;
  flex-direction:column;
  align-items:stretch;
  padding:26px 20px 22px;
}
.concern-grid--new .concern-card:nth-child(4) {
  grid-column:2/span 2;
}
.concern-grid--new .concern-card:nth-child(5) {
  grid-column:4/span 2;
}
.concern-grid--new .concern-card h3 {
  font-size:17px;
  line-height:1.75;
  text-align:center;
}
.concern-grid--new .concern-art {
  min-height:175px;
  margin-top:auto;
  padding-top:16px;
  display:flex;
  align-items:center;
}
.concern-grid--new .concern-art img {
  width:100%;
  max-width:330px;
  height:auto;
  aspect-ratio:2/1;
  object-fit:contain;
  margin:auto;
}
@container servicecontent (max-width:900px) {
  .concern-grid--new {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:nth-child(4) {
    grid-column:auto;
  }
  .concern-grid--new .concern-card:nth-child(5) {
    grid-column:1/-1;
    width:calc((100% - 16px)/2);
    margin:auto;
  }
  .concern-grid--new .concern-card h3 {
    font-size:16px;
  }
  .concern-grid--new .concern-art {
    min-height:145px;
  }
}
@container servicecontent (max-width:640px) {
  .concern-grid--new {
    grid-template-columns:1fr;
    gap:14px;
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:nth-child(4),.concern-grid--new .concern-card:nth-child(5) {
    grid-column:auto;
    width:100%;
    padding:20px 18px;
  }
  .concern-grid--new .concern-card h3 {
    font-size:16px;
  }
  .concern-grid--new .concern-art {
    min-height:0;
    padding-top:12px;
    flex:auto;
  }
  .concern-grid--new .concern-art img {
    max-width:285px;
  }
}
/* Concise transition from concerns to service benefits. */
#concerns .closing-copy {
  font-size:clamp(22px,2.65cqw,36px);
  line-height:1.6;
  letter-spacing:.02em;
  margin:44px 0 0;
}
.closing-support {
  text-align:center;
  font-size:clamp(23px,2.4cqw,32px);
  font-weight:800;
  line-height:1.6;
  margin:6px 0 16px;
  letter-spacing:.02em;
}
#concerns .closing-sub {
  font-size:clamp(13px,1.1cqw,16px);
  line-height:1.9;
  letter-spacing:.015em;
}
@container servicecontent (max-width:640px) {
  #concerns .closing-copy {
    font-size:22px;
  }
  .closing-support {
    font-size:23px;
  }
  #concerns .closing-sub {
    font-size:14px;
    margin-inline:4px;
  }
}
/* Fit the point headings and right-align the aftercare link. */
@container servicecontent (min-width:901px) {
  .reason {
    padding-inline:clamp(12px,1.48cqw,24px);
  }
  .reason h3 {
    font-size:clamp(17px,1.85cqw,23px);
  }
}
.reason:first-child h3 {
  white-space:nowrap;
}
@container servicecontent (max-width:360px) {
  .reason:first-child h3 {
    font-size:19px;
    letter-spacing:.02em;
  }
}
.reason-bottom>div:last-child>a.text-link {
  display:flex;
  width:100%;
  justify-content:flex-end;
  margin-top:16px;
}
/* Give each point breathing room; keep dividers inside the column gaps. */
@container servicecontent (min-width:901px) {
  .reason-grid {
    --reason-gap:clamp(40px,4cqw,64px);
    column-gap:var(--reason-gap);
  }
  .reason {
    padding:14px 0 20px;
    min-width:0;
  }
  .reason:not(:last-child)::after {
    right:calc(var(--reason-gap) / -2);
    top:24px;
    bottom:24px;
    transform:skewX(-6deg);
  }
  .reason-label {
    margin:20px 0 24px;
  }
  .reason h3 {
    margin-bottom:20px;
    letter-spacing:.02em;
  }
}
/* Fit the finish summary to its own column without horizontal overflow. */
.base-course .check-col {
  container-type:inline-size;
}
.base-course .check-col:last-of-type .check-list li:nth-child(2) {
  font-size:clamp(13px,calc((100cqw - 30px) / 16.5),17px);
  white-space:nowrap;
}
/* Unified CTA font size at every viewport, including the hero and preview menu. */
.service-content .btn,.service-content .hero-actions .btn,.service-content .estimate-cta .btn,.site-menu-actions a {
  font-size:17px;
}
.report-price-marker {
  background:linear-gradient(transparent 60%,#ffd7df 60%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
/* New-build company guidance replaces the aftercare block. */
.reason-bottom .company-guide>.text-link {
  display:flex;
  width:100%;
  justify-content:flex-end;
  margin-top:16px;
}
/* State both surcharge thresholds plainly with one shared details entry. */
.surcharge-list {
  margin:16px 0 20px;
  padding-left:1.4em;
  line-height:1.85;
}
.surcharge-list li {
  padding-left:3px;
  margin-block:5px;
}
.surcharge-list li::marker {
  color:var(--brand);
}
.surcharge-detail {
  min-width:300px;
}
@container servicecontent (max-width:640px) {
  .surcharge-detail {
    min-width:0;
    width:100%;
    padding-inline:16px;
  }
}
/* Compact surcharge summary with a right-aligned text link. */
.surcharge-conditions {
  margin:0 0 10px;
}
.surcharge-detail-link {
  display:flex;
  justify-content:flex-end;
  width:100%;
  font-weight:500;
  margin-bottom:8px;
}
/* Preview actual report excerpts as layered paper; the source PDF is unchanged. */
.report-preview {
  position:relative;
  height:250px;
  display:block;
  overflow:hidden;
  background:linear-gradient(135deg,#fff1f3,#fffafa);
}
.report-sheet {
  position:absolute;
  background:white;
  border:1px solid #e4d9db;
  box-shadow:0 8px 20px rgba(72,43,49,.13);
}
.report-cover {
  left:calc(50% - 158px);
  top:27px;
  width:158px;
  height:203px;
  transform:rotate(-7deg);
  padding:10px 9px;
  border-top:3px solid #780b0c;
}
.report-preview .report-cover-heading {
  width:100%;
  max-width:none;
  height:auto;
  object-fit:contain;
}
.report-preview .report-cover-logo {
  position:absolute;
  width:88px;
  height:auto;
  left:34px;
  bottom:21px;
  object-fit:contain;
}
.report-inside {
  left:calc(50% - 20px);
  top:14px;
  width:207px;
  height:219px;
  padding:9px 10px;
  transform:rotate(5deg);
}
.report-preview-heading {
  font-size:11px;
  font-weight:700;
  line-height:1.5;
  color:#252525;
  margin:0 0 5px;
  border-bottom:1px solid #eadcdf;
  padding-bottom:4px;
}
.report-preview .report-page-excerpt {
  width:100%;
  max-width:none;
  height:auto;
  object-fit:contain;
}
.report-preview-caption {
  position:absolute;
  right:13px;
  bottom:5px;
  font-size:10px;
  font-weight:500;
  color:var(--muted);
  line-height:1.5;
}
@container servicecontent (max-width:640px) {
  .report-preview {
    height:250px;
    font-size:initial;
  }
  .report-cover {
    left:5%;
    top:40px;
    width:48%;
    max-width:158px;
    height:auto;
    aspect-ratio:158/203;
  }
  .report-inside {
    left:38%;
    top:27px;
    width:56%;
    max-width:207px;
    height:auto;
    aspect-ratio:207/219;
  }
  .report-preview-heading {
    font-size:8px;
  }
  .report-preview .report-cover-heading {
    width:100%;
  }
  .report-preview .report-cover-logo {
    width:55%;
    left:22%;
    bottom:15%;
  }
  .report-preview .report-page-excerpt {
    width:100%;
  }
}
/* Supplied report sample JPGs; originals retained, cropping is display-only. */
.report-preview {
  height:310px;
}
.report-paper-group {
  position:relative;
  width:min(400px,90%);
  height:245px;
  margin:0 auto;
}
.sample-paper {
  position:absolute;
  background:#fff;
  box-shadow:0 7px 17px #482b3126;
  border:1px solid #e7dadd;
  overflow:hidden;
}
.report-preview .sample-paper img {
  display:block;
  max-width:none;
  width:100%;
  height:auto;
}
.sample-cover {
  width:39%;
  left:0;
  top:24px;
  transform:rotate(-9deg);
}
.sample-plan {
  width:39%;
  left:24%;
  top:26px;
  transform:rotate(-2deg);
}
.sample-photo {
  width:54%;
  left:46%;
  top:23px;
  transform:rotate(6deg);
  padding:10px;
}
.sample-photo-heading {
  font-size:12px;
  font-weight:700;
  color:#bd1c3c;
  border-bottom:1px solid #eadcdf;
  padding-bottom:6px;
  margin-bottom:6px;
}
.sample-photo-crop {
  position:relative;
  width:100%;
  aspect-ratio:240/258;
  overflow:hidden;
}
.report-preview .sample-photo-crop img {
  position:absolute;
  width:240.83%;
  left:-16.67%;
  top:-21.32%;
  height:auto;
}
@container servicecontent (max-width:640px) {
  .report-preview {
    height:245px;
  }
  .report-paper-group {
    height:220px;
    top:14px;
  }
  .sample-cover {
    top:30px;
  }
  .sample-plan {
    top:28px;
  }
  .sample-photo {
    padding:7px;
    top:15px;
  }
  .sample-photo-heading {
    font-size:9px;
    padding-bottom:4px;
    margin-bottom:4px;
  }
}
/* Keep surcharge conditions and detail link together; equal paired CTA sizes. */
.surcharge-guide {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
}
.surcharge-guide .surcharge-conditions {
  margin:0;
}
.surcharge-guide .surcharge-detail-link {
  flex:none;
  width:auto;
  margin:0;
  white-space:nowrap;
}
.center-actions .btn {
  width:296px;
  min-height:60px;
}
@container servicecontent (max-width:900px) {
  .surcharge-guide {
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .surcharge-guide .surcharge-detail-link {
    align-self:flex-end;
  }
}
@container servicecontent (max-width:640px) {
  .center-actions .btn {
    width:100%;
    padding-inline:16px;
    gap:12px;
    letter-spacing:.02em;
  }
}
/* Align option card imagery, descriptions, prices and links across each row. */
.option-grid .option-photo,.option-grid .report-preview {
  height:270px;
  min-height:270px;
  flex:none;
}
.report-preview .report-paper-group {
  transform:scale(.86);
  transform-origin:top center;
  top:4px;
}
.option-grid .option-copy {
  display:grid;
  grid-template-rows:auto auto 1fr auto auto;
  align-content:start;
}
.option-grid .option-copy>p {
  margin:0;
}
.option-grid .option-fee {
  min-height:160px;
  align-self:stretch;
  justify-content:flex-start;
}
.option-grid .option-link {
  margin-top:0;
  padding-top:20px;
  align-self:end;
}
@container servicecontent (max-width:640px) {
  .option-grid .option-photo,.option-grid .report-preview {
    height:245px;
    min-height:245px;
  }
  .report-preview .report-paper-group {
    transform:none;
    top:14px;
  }
  .option-grid .option-fee {
    min-height:160px;
  }
}
/* One shared card for overall and location-specific inspection results. */
.data-grid--combined {
  display:block;
}
.data-card--combined {
  padding:32px 40px;
}
.data-card--combined>.data-pill {
  margin-bottom:28px;
}
.data-results {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:40px;
  align-items:start;
}
.data-results h3 {
  font-size:clamp(18px,2cqw,24px);
  margin:0 0 24px;
}
.data-overall .stat-ring {
  margin-bottom:0;
}
.data-breakdown {
  border-left:1px solid var(--line-soft);
  padding-left:40px;
}
.data-top-label {
  font-size:13px;
  color:var(--muted);
  font-weight:500;
  margin-left:12px;
}
.data-breakdown .stat-bars {
  margin:0;
}
.data-average {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  background:var(--brand-soft);
  border-radius:10px;
  padding:12px 18px;
  margin:22px 0 0;
  font-size:15px;
}
.data-average strong {
  font-size:29px;
  line-height:1.4;
  color:var(--brand);
  white-space:nowrap;
}
.data-average strong span {
  font-size:15px;
  margin-left:4px;
}
.data-card--combined>.data-foot {
  border-top:1px solid var(--line-soft);
  margin-top:30px;
  padding-top:18px;
}
.data-card--combined>.data-foot p {
  font-size:13px;
  margin:0;
  line-height:1.8;
  color:var(--muted);
}
.data-card--combined>.data-foot .src {
  margin-top:6px;
}
@container servicecontent (max-width:760px) {
  .data-card--combined {
    padding:26px 20px;
  }
  .data-results {
    grid-template-columns:1fr;
    gap:28px;
  }
  .data-breakdown {
    border-left:0;
    border-top:1px solid var(--line-soft);
    padding:26px 0 0;
  }
  .data-average {
    font-size:14px;
    padding:12px;
  }
  .data-average strong {
    font-size:27px;
  }
  .data-card--combined>.data-foot {
    margin-top:24px;
  }
  .data-results h3 {
    font-size:18px;
  }
  .data-top-label {
    font-size:12px;
  }
}
/* Match the resale page's grouped inspection accordions and larger voice artwork. */
.voice-visual {
  width:160px;
  max-width:100%;
}
.equipment summary {
  grid-template-columns:78px 260px 1fr 26px;
}
.equipment .eq-label {
  flex-wrap:wrap;
}
.equipment .eq-body-rich .eq-intro {
  padding:0;
  margin:0 0 18px;
}
.equipment .eq-body-rich .eq-scope-note {
  padding:14px 16px;
  margin:24px 0 20px;
  background:var(--brand-soft);
  border-left:3px solid var(--brand);
  font-size:14px;
  line-height:1.8;
}
@container servicecontent (max-width:1050px) {
  .equipment summary {
    grid-template-columns:60px 250px 1fr 26px;
  }
}
@container servicecontent (max-width:900px) {
  .equipment summary {
    grid-template-columns:52px 1fr 20px;
  }
  .equipment .eq-desc {
    display:none;
  }
}
@container servicecontent (max-width:640px) {
  .equipment .eq-body-rich {
    padding:0 20px 24px 52px;
  }
  .equipment .eq-label {
    gap:8px;
  }
  .equipment .eq-name {
    font-size:18px;
  }
  .equipment .eq-tag {
    font-size:11px;
    padding:2px 8px;
  }
  .equipment .eq-body-rich .eq-scope-note {
    padding:12px;
    font-size:13px;
  }
  .equipment .eq-items li {
    overflow-wrap:anywhere;
  }
}
/* Equal illustration slots keep the quotation and text baselines aligned. */
.voice-visual {
  width:190px;
  height:180px;
  flex:0 0 180px;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.voice-visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
/* Equal illustration slots keep the quotation and text baselines aligned. */
.voice-visual {
  width:190px;
  height:180px;
  flex:0 0 180px;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.voice-visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
@container servicecontent (min-width:641px) and (max-width:1050px) {
  .voice h3 {
    min-height:2lh;
  }
}
/* Compact on-site journey inside the existing inspection step. */
#flow .flow {
  grid-template-columns:minmax(0,1fr);
}
#flow .flow-step {
  min-width:0;
}
.day-flow {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  list-style:none;
  margin:20px 0;
  padding:0;
}
.day-flow li {
  background:#fff6f7;
  border-radius:10px;
  padding:18px;
}
.day-flow-no {
  display:block;
  color:var(--brand);
  font-size:18px;
  font-weight:700;
  line-height:1.3;
  margin-bottom:10px;
}
.day-flow h4 {
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  margin:0 0 10px;
  font-weight:700;
}
.step-copy .day-flow p {
  font-size:14px;
  line-height:1.8;
  margin:0;
}
.step-copy .day-flow-report {
  font-size:14px;
  line-height:1.9;
  margin:0;
}
@container servicecontent (max-width:900px) {
  .day-flow {
    grid-template-columns:1fr;
    gap:10px;
  }
  .day-flow li {
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    column-gap:12px;
    padding:16px;
  }
  .day-flow-no {
    grid-row:1/3;
    margin:2px 0 0;
    font-size:16px;
  }
  .day-flow h4 {
    margin-bottom:6px;
  }
  .day-flow p {
    grid-column:2;
  }
}
@container servicecontent (max-width:640px) {
  .flow-step--inspection {
    grid-template-columns:minmax(0,1fr);
  }
  .flow-step--inspection .step-copy {
    min-width:0;
  }
  .flow-step--inspection .step-no {
    flex-direction:row;
    gap:8px;
    border-right:0;
    border-bottom:1.5px dashed var(--line);
    padding:12px;
  }
  .flow-step--inspection .step-no b {
    font-size:24px;
  }
  .flow-step--inspection .step-copy {
    padding:20px 16px;
  }
  .day-flow li {
    padding:14px 12px;
    column-gap:8px;
  }
  .day-flow h4 {
    font-size:15px;
  }
  .step-copy .day-flow p {
    font-size:14px;
  }
}
/* Mobile refinement based on the resale service page; desktop is unchanged. */
.carousel-controls {
  display:none;
}
@media(max-width:640px) {
  .service-content {
    font-size:16px;
    line-height:1.85;
    letter-spacing:.02em;
  }
}
@container servicecontent (max-width:640px) {
  .section {
    padding-block:44px;
  }
  .section-heading {
    font-size:24px;
    letter-spacing:.025em;
    text-wrap:balance;
    line-height:1.5;
  }
  .section-heading::after {
    margin-top:16px;
    height:2px;
    width:48px;
  }
  .section-lead {
    font-size:15px;
    line-height:1.85;
    margin-bottom:30px;
    text-wrap:pretty;
  }
  .hero-head::before {
    background-image:linear-gradient(to bottom,transparent 50%,rgba(255,255,255,.15) 64%,rgba(255,255,255,.55) 80%,rgba(255,255,255,.9) 94%,#fff 100%),url("../optimized/hero-window-inspection-v2-eyes.webp");
  }
  .neutral-badge {
    width:112px;
    top:16px;
    left:16px;
    right:auto;
    bottom:auto;
  }
  .hero-title {
    text-wrap:balance;
  }
  .hero-tag {
    font-size:13px;
    letter-spacing:.035em;
    padding-inline:12px;
  }
  .hero-body .hero-lead {
    font-size:16px;
    line-height:1.9;
    margin-bottom:24px;
  }
  .hero-body .hero-note {
    font-size:12.5px;
    line-height:1.7;
    margin-bottom:12px;
  }
  .hero-actions {
    gap:12px;
    margin-bottom:16px;
  }
  .btn,.hero-actions .btn,.cta-columns .btn {
    font-size:17px;
    min-height:58px;
  }
  .page-nav {
    padding:8px 16px;
    gap:6px;
    font-size:12px;
    top:var(--service-mobile-header-offset,0px);
  }
  .page-nav a {
    min-height:40px;
    padding:4px;
    line-height:1.4;
  }
  section[id] {
    scroll-margin-top:calc(116px + var(--service-mobile-header-offset,0px));
  }
  #concerns .section-heading {
    font-size:23px;
  }
  .concern-grid--new {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:nth-child(4) {
    grid-column:auto;
    width:auto;
    padding:15px 10px 12px;
    gap:0;
  }
  .concern-grid--new .concern-card h3 {
    font-size:13px;
    line-height:1.7;
    letter-spacing:0;
    text-wrap:pretty;
  }
  .concern-grid--new .concern-art {
    padding-top:10px;
    margin-top:auto;
    min-height:0;
  }
  .concern-grid--new .concern-art img {
    max-width:100%;
    width:100%;
    height:auto;
    aspect-ratio:2/1;
  }
  .concern-grid--new .concern-card:nth-child(5) {
    grid-column:1/-1;
    width:100%;
    padding:14px 12px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 124px;
    gap:8px;
    align-items:center;
  }
  .concern-grid--new .concern-card:nth-child(5) h3 {
    text-align:left;
    font-size:13px;
  }
  .concern-grid--new .concern-card:nth-child(5) .concern-art {
    padding:0;
    margin:0;
  }
  #concerns .closing-copy {
    font-size:18px;
    line-height:1.55;
    margin:26px 0 4px;
    text-wrap:balance;
    letter-spacing:0;
  }
  #concerns .closing-copy .accent {
    white-space:nowrap;
  }
  .closing-support {
    font-size:clamp(16px,4.4cqw,18px);
    line-height:1.55;
    text-wrap:balance;
    margin:0 0 10px;
    letter-spacing:0;
  }
  .closing-support .accent {
    display:inline-block;
  }
  .closing-support .support-intro {
    display:inline;
  }
  #concerns .closing-sub {
    font-size:13px;
    line-height:1.85;
    max-width:340px;
    margin-inline:auto;
  }
  #reasons-heading {
    white-space:normal;
    font-size:22px;
    text-wrap:balance;
  }
  #reasons-heading + .section-lead {
    font-size:16px;
  }
  .reason {
    padding:22px 4px 24px;
  }
  .reason-no {
    font-size:52px;
  }
  .reason-label {
    margin:12px 0 16px;
    font-size:12px;
  }
  .reason h3,.reason:first-child h3 {
    font-size:20px;
    white-space:normal;
    letter-spacing:.02em;
    margin-bottom:12px;
    text-wrap:balance;
  }
  .reason p {
    margin:0;
    font-size:15.5px;
    line-height:1.9;
  }
  .reason-bottom {
    margin-top:30px;
    padding-top:28px;
  }
  .reason-bottom h3 {
    font-size:17px;
    line-height:1.7;
    text-wrap:pretty;
  }
  .reason-bottom p {
    font-size:15px;
    line-height:1.9;
  }
  .base-course {
    padding:22px 18px;
    gap:24px;
    min-width:0;
  }
  .base-course h3 {
    font-size:20px;
  }
  .base-course .price {
    font-size:46px;
  }
  .base-course .price small {
    font-size:14px;
  }
  .base-course p:not(.price):not(.price-sub):not(.check-note) {
    font-size:15px;
    line-height:1.85;
  }
  .check-head {
    font-size:15px;
    gap:10px;
    letter-spacing:.03em;
  }
  .check-list li {
    font-size:15px;
    padding-left:26px;
  }
  .check-list li img {
    width:17px;
    height:17px;
  }
  .check-col:nth-child(2) .check-list li:nth-child(2) {
    font-size:clamp(12.8px,calc((100cqw - 26px)/16.5),15px);
  }
  .check-note {
    font-size:12.5px;
    line-height:1.8;
  }
  .include-card {
    padding:22px 18px;
  }
  .include-list li {
    font-size:14.5px;
    line-height:1.85;
  }
  .package-heading {
    font-size:20px;
    letter-spacing:.02em;
    margin-top:36px;
  }
  .package-grid {
    gap:20px;
  }
  .package-body {
    padding:20px;
  }
  .package h3 {
    font-size:20px;
    padding:12px;
  }
  .house-art img {
    height:135px;
  }
  .package-items li {
    font-size:14px;
    padding:9px 0;
    gap:9px;
  }
  .package-items li.is-empty {
    display:none;
  }
  .package--gold {
    margin-top:26px;
  }
  .package .price {
    font-size:32px;
  }
  .package .price small {
    font-size:13px;
  }
  .fine-note {
    font-size:12px;
    line-height:1.85;
    text-wrap:pretty;
  }
  .notice {
    font-size:14.5px;
    line-height:1.9;
    padding:18px;
    gap:10px;
    margin-bottom:26px;
  }
  .cond-title {
    font-size:17px;
    letter-spacing:.04em;
    margin-top:28px;
  }
  .cond-row {
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
    padding:16px 0;
  }
  .cond-row .cond-label {
    font-size:14.5px;
    line-height:1.85;
  }
  .cond-row .cond-sub {
    font-size:12.5px;
  }
  .cond-row .text-link {
    font-size:14px;
  }
  .cond-icon svg,.cond-icon img {
    width:30px;
    height:30px;
  }
  .cond-note {
    font-size:14px;
    line-height:1.9;
  }
  .surcharge-guide {
    gap:6px;
  }
  .surcharge-detail-link {
    font-size:14px;
  }
  .estimate-cta {
    margin:20px 0;
  }
  .estimate-cta .btn {
    width:100%;
    padding:12px 14px;
    font-size:17px;
    line-height:1.5;
  }
  .estimate-label>span {
    display:inline-block;
  }
  .option-grid>.option-card,.option-grid>.thermal-card,.voice-grid>.voice {
    flex-basis:90%;
  }
  .option-grid .option-photo,.option-grid .report-preview {
    height:220px;
    min-height:220px;
  }
  .report-preview .report-paper-group {
    top:0;
    height:210px;
  }
  .option-grid .option-copy {
    padding:22px 20px;
  }
  .option-grid .option-copy h3 {
    font-size:21px;
    line-height:1.6;
  }
  .option-grid .option-lead {
    font-size:17px;
    line-height:1.8;
  }
  .option-grid .option-copy>p {
    font-size:15px;
    line-height:1.85;
  }
  .option-grid .option-fee {
    min-height:0;
    padding:15px;
    margin-top:20px;
  }
  .option-fee b {
    font-size:28px;
  }
  .option-fee b small {
    font-size:12px;
  }
  .option-grid .option-link {
    padding-top:18px;
  }
  .option-link .text-link {
    font-size:14.5px;
    line-height:1.8;
    letter-spacing:0;
  }
  .option-grid .option-lead .br-sp {
    display:none;
  }
  .options-foot {
    margin-top:20px;
  }
  .options-foot p {
    font-size:13px;
    line-height:1.9;
  }
  .carousel-controls {
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center;
    gap:12px;
    margin-top:10px;
  }
  .carousel-controls .cnav {
    display:flex;
    position:static;
    transform:none;
    width:44px;
    height:44px;
    box-shadow:0 2px 8px #50253214;
    border:1px solid var(--line-soft);
  }
  .carousel-controls .cnav.is-off {
    opacity:.3;
    visibility:visible;
  }
  .carousel-status {
    text-align:center;
    color:var(--muted);
    line-height:1.6;
  }
  .carousel-hint {
    display:block;
    font-size:11px;
    letter-spacing:.03em;
  }
  .carousel-count {
    font-size:13px;
    letter-spacing:.06em;
  }
  .flow-step {
    grid-template-columns:64px minmax(0,1fr);
  }
  .step-no {
    font-size:12px;
    letter-spacing:.08em;
  }
  .step-copy {
    padding:20px 16px;
    min-width:0;
  }
  .step-copy h3,.flow-step:nth-child(4) .step-copy h3 {
    font-size:20px;
    white-space:normal;
    line-height:1.6;
  }
  .step-copy p:not(.note) {
    font-size:14px;
    line-height:1.85;
  }
  .step-copy .note {
    font-size:12.5px;
    line-height:1.9;
  }
  .flow-step--inspection {
    grid-template-columns:minmax(0,1fr);
  }
  .flow-step--inspection .step-copy {
    padding:20px 16px;
  }
  .step-copy .day-flow-report {
    font-size:13px;
    line-height:1.9;
  }
  .day-flow h4 {
    font-size:14.5px;
    text-wrap:pretty;
  }
  .step-copy .day-flow p {
    font-size:13.5px;
  }
  .data-card--combined {
    padding:24px 18px;
  }
  .data-card--combined h3 {
    font-size:17px;
    text-wrap:balance;
  }
  .data-average {
    display:block;
    text-align:center;
  }
  .data-average strong {
    display:inline-block;
    margin-left:8px;
  }
  .data-card--combined>.data-foot p {
    font-size:12px;
    line-height:1.85;
  }
  .voice {
    padding:24px 20px;
  }
  .voice h3 {
    font-size:16px;
    line-height:1.65;
    min-height:2lh;
    text-wrap:pretty;
  }
  .voice p {
    font-size:15px;
    line-height:1.9;
  }
  .voice-visual {
    width:190px;
    height:180px;
    flex-basis:180px;
  }
  .voice-more .text-link {
    font-size:14px;
    line-height:1.85;
  }
  .accordion summary {
    grid-template-columns:28px minmax(0,1fr) 16px;
    gap:10px;
    padding:18px 14px;
    font-size:15px;
    line-height:1.8;
  }
  .faq summary::before {
    font-size:25px;
    align-self:start;
    margin-top:2px;
  }
  .accordion summary .chev {
    width:11px;
    height:11px;
  }
  .faq details>p {
    padding:0 18px 22px;
    font-size:15px;
    line-height:1.9;
  }
  .equipment summary {
    grid-template-columns:36px minmax(0,1fr) 16px;
  }
  .equipment summary .eq-icon img {
    width:34px;
    height:34px;
  }
  .equipment .eq-body-rich {
    padding:0 18px 22px;
  }
  .equipment .eq-intro {
    font-size:14px;
    line-height:1.85;
  }
  .equipment .eq-grp-title {
    font-size:15px;
  }
  .equipment .eq-items li {
    font-size:14px;
    padding-left:16px;
  }
  .cta-main h2 {
    font-size:22px;
    line-height:1.6;
    text-wrap:balance;
  }
  .cta-main>p {
    font-size:14px;
    line-height:1.9;
    text-wrap:pretty;
  }
  .cta-columns .btn {
    min-height:58px;
  }
  .phone {
    font-size:25px;
  }
  .phone-hours {
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    font-size:12px;
  }
  .phone-hours .val {
    white-space:normal;
  }
  .trust-item {
    padding:14px 8px;
    gap:8px;
  }
}
@container servicecontent (max-width:360px) {
  .hero-title {
    font-size:22px;
    letter-spacing:0;
  }
  .hero-tag {
    font-size:12px;
  }
  .neutral-badge {
    width:100px;
  }
  .hero-body .hero-lead {
    font-size:14px;
  }
  .concern-grid--new .concern-card h3 {
    font-size:12px;
  }
  .concern-grid--new .concern-card:nth-child(5) h3 {
    font-size:12px;
  }
  #concerns .section-heading {
    font-size:20px;
    letter-spacing:0;
  }
  .closing-support {
    font-size:clamp(16px,4.4cqw,18px);
    letter-spacing:0;
  }
  .concern-grid--new .concern-card:nth-child(5) {
    grid-template-columns:minmax(0,1fr) 100px;
  }
  .reason h3,.reason:first-child h3 {
    font-size:18px;
  }
  .section-heading,#reasons-heading {
    font-size:22px;
  }
  .base-course .price {
    font-size:42px;
  }
  .base-course .price small {
    font-size:12px;
  }
  .option-grid .option-copy {
    padding:20px 16px;
  }
  .option-grid .option-copy h3 {
    font-size:20px;
  }
  .voice {
    padding:22px 16px;
  }
  .flow-step {
    grid-template-columns:54px minmax(0,1fr);
  }
  .flow-step--inspection {
    grid-template-columns:minmax(0,1fr);
  }
  .step-copy {
    padding:18px 12px;
  }
  .step-copy h3,.flow-step:nth-child(4) .step-copy h3 {
    font-size:18px;
  }
  .cta-main h2 {
    font-size:20px;
  }
}
/* Explicit mobile concern copy lines; five horizontal rows, artwork at right. */
.concern-copy-desktop {
  display:contents;
}
.concern-copy-mobile {
  display:none;
}
@container servicecontent (max-width:640px) {
  .concern-copy-desktop {
    display:none;
  }
  .concern-copy-mobile {
    display:block;
  }
  .concern-line {
    display:block;
    white-space:nowrap;
  }
  .concern-grid--new {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:nth-child(4),.concern-grid--new .concern-card:nth-child(5) {
    display:grid;
    grid-column:1;
    width:100%;
    grid-template-columns:minmax(0,1fr) min(140px,calc(100cqw - 280px));
    gap:0;
    align-items:center;
    padding:14px 8px 14px 14px;
    min-height:94px;
  }
  .concern-grid--new .concern-card h3,.concern-grid--new .concern-card:nth-child(5) h3 {
    font-size:14px;
    letter-spacing:0;
    line-height:1.8;
  }
  .concern-grid--new .concern-card h3,.concern-grid--new .concern-card:nth-child(5) h3 {
    grid-column:1;
    grid-row:1;
    min-width:0;
    width:100%;
    text-align:left;
  }
  .concern-grid--new .concern-card .concern-art,.concern-grid--new .concern-card:nth-child(5) .concern-art {
    grid-column:2;
    grid-row:1;
    width:100%;
    min-height:0;
    margin:0;
    padding:0;
  }
  .concern-grid--new .concern-art img {
    width:100%;
    height:auto;
    max-width:none;
  }
}
@container servicecontent (max-width:389px) {
  .concern-grid--new .concern-card h3,.concern-grid--new .concern-card:nth-child(5) h3 {
    font-size:13px;
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:nth-child(4),.concern-grid--new .concern-card:nth-child(5) {
    grid-template-columns:minmax(0,1fr) calc(100cqw - 264px);
  }
}
@container servicecontent (max-width:340px) {
  .concern-grid--new .concern-card h3,.concern-grid--new .concern-card:nth-child(5) h3 {
    font-size:12px;
  }
  .concern-grid--new .concern-card,.concern-grid--new .concern-card:nth-child(4),.concern-grid--new .concern-card:nth-child(5) {
    grid-template-columns:minmax(0,1fr) calc(100cqw - 244px);
    padding-inline:12px 6px;
  }
}
/* Fee detail alignment and estimate spacing. */
#conditions .cond-row .text-link {
  justify-self:end;
  text-align:right;
}
.estimate-cta {
  margin-top:40px;
}
@container servicecontent (max-width:640px) {
  .base-course .check-col:last-of-type .check-list li:nth-child(2) {
    font-size:15px;
  }
  .estimate-cta {
    margin-top:36px;
  }
}
@container servicecontent (max-width:340px) {
  .base-course .check-list li,.base-course .check-col:last-of-type .check-list li:nth-child(2) {
    font-size:14px;
  }
}
/* Option usage badges and their reporting period. */
.option-grid .option-head {
  flex-wrap:wrap;
  row-gap:8px;
}
.options-foot .option-usage-note {
  flex-basis:100%;
  font-size:13px;
  line-height:1.8;
}
@container servicecontent (max-width:640px) {
  .option-grid .option-head {
    align-items:flex-start;
    gap:8px;
  }
  .option-card {
  	position: relative;
  }
  .option-grid .option-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 1;
	box-shadow: 0 2px 8px #00000012;
  }
  .options-foot .option-usage-note {
    flex-basis:auto;
    font-size:12px;
  }
}
/* Mobile option carousel: next-card preview and floating arrows. */
@container servicecontent (max-width:640px) {
  #options .option-grid>.option-card,#options .option-grid>.thermal-card {
    flex-basis:86%;
  }
  #options .option-grid .option-photo,#options .option-grid .report-preview {
    height:200px;
    min-height:200px;
  }
  #options .option-grid .option-copy {
    padding:24px;
  }
  #options .option-grid .option-copy h3 {
    font-size:23px;
    line-height:1.6;
    letter-spacing:.02em;
  }
  #options .option-grid .option-lead {
    font-size:18px;
    line-height:1.8;
  }
  #options .option-grid .option-lead .br-sp {
    display:initial;
  }
  #options .carousel-controls {
    display:contents;
  }
  #options .carousel-controls .carousel-status {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
  }
  #options .carousel-controls .cnav {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border:0;
    box-shadow:0 3px 12px #0003;
  }
  #options .carousel-controls .cnav--prev {
    left:-4px;
  }
  #options .carousel-controls .cnav--next {
    right:-4px;
  }
  #options .carousel-controls .cnav.is-off {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}
@container servicecontent (max-width:340px) {
  #options .option-grid .option-copy {
    padding:22px 20px;
  }
  #options .option-grid .option-copy h3 {
    font-size:20px;
  }
  #options .option-grid .option-lead {
    font-size:16px;
  }
}
/* FAQ continuation link as a centered two-line mobile message. */
#faq .faq-more-label {
  text-decoration:underline;
  text-underline-offset:4px;
}
@container servicecontent (max-width:640px) {
  #faq .voice-more {
    margin-top:28px;
  }
  #faq .voice-more .faq-more-link {
    display:block;
    font-size:clamp(12px,3.8cqw,16px);
    line-height:1.9;
    font-weight:700;
    letter-spacing:0;
    text-align:center;
  }
  #faq .faq-more-line {
    white-space:nowrap;
  }
}
/* Mobile table of contents flows normally below the hero. */
.toc-label-desktop {
  display:contents;
}
.toc-label-mobile {
  display:none;
}
@container servicecontent (max-width:640px) {
  .page-nav {
    position:static;
    top:auto;
    z-index:auto;
    box-shadow:none;
  }
  .page-nav a:nth-child(3) {
    flex-direction:row;
    white-space:nowrap;
  }
  .toc-label-desktop {
    display:none;
  }
  .toc-label-mobile {
    display:inline;
  }
  section[id] {
    scroll-margin-top:calc(var(--service-mobile-header-offset,100px) + 16px);
  }
}
/* Mobile inspection step uses the same left number rail as the other steps. */
@container servicecontent (max-width:640px) {
  #data .section-heading {
    text-wrap:initial;
    letter-spacing:0;
  }
  .flow-step--inspection {
    grid-template-columns:64px minmax(0,1fr);
  }
  .flow-step--inspection .step-no {
    flex-direction:column;
    gap:6px;
    border-right:1.5px dashed var(--line);
    border-bottom:0;
    padding:0;
  }
  .flow-step--inspection .step-no b {
    font-size:26px;
  }
  .flow-step--inspection .day-flow li {
    grid-template-columns:24px minmax(0,1fr);
    padding:14px 10px;
    column-gap:8px;
  }
  .flow-step--inspection .day-flow-no {
    grid-row:1;
  }
  .flow-step--inspection .day-flow p {
    grid-column:1/-1;
  }
}
@container servicecontent (max-width:360px) {
  .flow-step--inspection {
    grid-template-columns:54px minmax(0,1fr);
  }
  .flow-step--inspection .step-copy {
    padding:18px 12px;
  }
}
/* Match mobile review navigation to the option carousel. */
@container servicecontent (max-width:640px) {
  #voices .voice-grid>.voice {
    flex-basis:86%;
  }
  #voices .carousel-controls {
    display:contents;
  }
  #voices .carousel-controls .carousel-status {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
  }
  #voices .carousel-controls .cnav {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border:0;
    box-shadow:0 3px 12px #0003;
  }
  #voices .carousel-controls .cnav--prev {
    left:-4px;
  }
  #voices .carousel-controls .cnav--next {
    right:-4px;
  }
  #voices .carousel-controls .cnav.is-off {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}
/* Stylesheet 2 */
.service-content {
  --brand-bright:#df2945;
}
.report-detail-link {
  display:block;
  text-align:right;
}
.report-detail-link::after {
  content:none;
}
.report-detail-link>span {
  white-space:nowrap;
}
.report-link-arrow {
  font-size:22px;
  line-height:0;
  vertical-align:-1px;
  margin-left:5px;
}
@container servicecontent (max-width:640px) {
  :is(#options,#voices) .carousel-controls .cnav {
    width:44px;
    height:44px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto!important;
  }
  .service-content * {
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important;
  }
}
/* Stylesheet 3 */
/* Approved white/pink section sequence, desktop and mobile. */
#flow, #voices {
  /*background: #fff;*/
}
/* Stylesheet 4 */
/* Allocate the existing gap to the white inspection section. */
#faq {
  padding-bottom: calc(var(--section-space) - 48px);
}
#equipment {
  padding-top: 48px;
  background: #fff;
}
@container servicecontent (max-width:640px) {
  #faq {
    padding-bottom: 20px;
  }
  #equipment {
    padding-top: 24px;
  }
}
