.sd-home { --home-teal: #45a29e; color: #f6f7fa; background: #191919; }
.sd-home :is(h1,h2,h3,p) { margin: 0; }
.sd-home .btn { max-width: 100%; text-align: center; }
.sd-home .btn-primary { color: #081818; background: var(--home-teal); }
.sd-home .btn-primary:hover { background: #66fcf1; }
.sd-home .btn-outline { color: #b9e6e6; border-color: #a3d9f6; }
.sd-home .btn-outline:hover { color: #fff; background: #263745; }

.home-hero { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 726px; text-align: center; background: #0a0c0e; }
.home-hero-poster { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: url('./hero.webp') center 48% / cover no-repeat; }
.home-hero-poster video { width: 100%; height: 100%; object-fit: cover; }
.home-hero-poster::after { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / 74%); }
.home-hero-content { padding-block: 85px 108px; width: min(100% - 32px, 1180px); }
.sd-home .home-hours { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 40px; padding: 3px 14px; border: 1px solid #54ad6970; border-radius: 99px; color: #a1e2ac; background: #2a724caa; font-size: 13px; line-height: 1.45; }
.home-hours::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #82df96; box-shadow: 0 0 9px #82df96; }
.home-hero h1 { font-size: clamp(30px, 4vw, 49px); font-weight: 700; line-height: 1.25; text-wrap: balance; }
.sd-home .home-hero-lead { max-width: 475px; margin: 17px auto 0; font-size: 16px; color: #dedede; }
.home-hero-lead strong { display: block; color: #66fcf1; font-size: 1.2em; }
.home-hero .home-symptom-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 .8rem; }
#home-fee-title { scroll-margin-top: 7rem; }
.home-hero-note { color: #c7c7c7; font-size: 16px; }
.home-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 44px; margin-top: 44px; }
.home-actions .btn { min-height: 60px; min-width: 208px; font-size: 14px; border-radius: 11px; }
.home-actions .btn-primary { min-width: 250px; }
.home-areas { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 13px; margin: 56px 0 4px; padding: 0; list-style: none; color: #c2c4c7; font-size: 12px; }
.home-areas a { text-decoration: none; }
.home-areas a:hover { text-decoration: underline; }
.home-areas + .home-hero-note { font-size: 12px; }

.home-section { padding-block: 72px; }
.home-section-heading { position: relative; border-inline-start: 3px solid #45a29e; padding-inline-start: 16px; margin-bottom: 42px; }
.home-section-heading h2 { font-size: 24px; line-height: 1.25; }
.home-section-heading p { color: #b6b7bb; font-size: 13px; }
.home-grid { display: grid; gap: 24px; }
.home-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-card { margin: 0; min-width: 0; overflow-wrap: anywhere; }

.home-fees { padding-block: 80px 85px; }
.home-fees .wrap, .home-process .wrap { --container: 1184px; }
.home-fee { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr; padding: 24px; min-height: 199px; border-radius: 10px; background: #20232d; }
.home-fee h3 { font-size: 20px; font-weight: 550; }
.home-card-muted { grid-column: 1; color: #b5b8bc; font-size: 13px; }
.home-price { grid-column: 2; grid-row: 1 / 3; font-size: 27px; font-weight: 750; line-height: 1.4; white-space: nowrap; }
.home-price small { font-size: 11px; }
.home-ticks { margin: 0; padding: 0; list-style: none; }
.home-fee .home-ticks { grid-column: 1 / -1; align-self: end; margin-top: 18px; font-size: 13px; }
.home-fee li::before { content: '✔ '; color: #a3c9b0; }

.sd-home .home-ai { display: grid; align-items: center; min-height: 285px; padding-block: 38px; background: linear-gradient(105deg,#202734,#151925); }
.home-ai-inner { --container: 833px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 48px; }
.home-eyebrow { display: flex; align-items: center; gap: 9px; color: #77b7b6; font-size: 19px; }
.home-eyebrow img { flex: 0 0 44px; width: 44px; }
.home-ai h2 { margin-top: 18px; font-size: 22px; }
.home-ai h2 + p { margin-top: 12px; color: #c4c4c8; font-size: 14px; }
.home-ai .btn { min-width: 154px; font-size: 14px; }

.home-services { padding-block: 82px 60px; }
.home-service { display: flex; flex-direction: column; align-items: start; min-height: 228px; padding: 16px; border: 1px solid #a3b4c4; border-radius: 13px; background: #202830; }
.home-service svg { align-self: center; width: 34px; height: 34px; margin-bottom: 12px; color: #b8c0c7; }
.home-service h3 { font-size: 19px; }
.home-service p { color: #b8bcc2; font-size: 13px; }
.home-service .home-ticks { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0 13px; }
.home-service .home-ticks li { background: #111619; padding: 0 5px; font-size: 12px; }
.home-card-link { margin-top: auto; color: #85c2c1; font-size: 14px; font-weight: 650; }
.home-center-link { display: flex; justify-content: center; margin-top: 40px; }
.sd-home .home-services .home-center-link a { min-height: 36px; border: 0; padding: 0; color: #e5e5e5; background: transparent; text-decoration: underline; font-size: 14px; }

.home-checks { background: #000; padding-block: 56px; }
.home-checks .wrap { --container: 1320px; }
.home-checks .home-section-heading { border: 0; padding: 0; }
.home-checks h2 span { color: #4bb58e; }
.home-checks .home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
.home-check { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; min-height: 386px; background: #151515; }
.home-check img { width: 100%; height: 100%; max-height: 386px; object-fit: cover; }
.home-check-content { padding: 18px; }
.home-check h3 { font-size: 16px; font-weight: 550; line-break: anywhere; }
.home-check p, .home-check ul { margin-top: 10px; color: #d1d1d1; }
.home-check .home-check-label { margin-top: 26px; font-size: 14px; }
.home-check ul { padding-inline-start: 20px; font-size: 14px; }

.home-process { background: #1f2833; min-height: 560px; }
.home-process ol { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; position: relative; margin: 0; padding: 0 0 0 42px; list-style: none; }
.home-process ol::before { content: ''; position: absolute; left: 8px; top: 10px; bottom: 0; width: 3px; background: linear-gradient(#79b9a7,#496568,transparent); }
.home-process li { position: relative; min-height: 58px; }
.home-process h3 { font-size: 19px; }
.home-process li p { color: #b9bfc5; font-size: 14px; }
.home-step-number { position: absolute; left: -42px; top: 3px; width: 19px; height: 19px; border: 2px solid #70af9b; border-radius: 50%; background: #5f7379; }
.home-process li:first-child .home-step-number { background: #7ed5b6; }

.home-review { display: flex; flex-direction: column; align-items: center; padding: 24px 16px; border: 1px solid #47737c; background: #11232d; text-align: center; }
.home-review-title { font-weight: 650; line-height: 1.4; }
.home-review blockquote { margin: .6rem 0; color: #d6e1e5; line-height: 1.55; }
.home-review figcaption { margin-top: auto; font-size: 14px; color: #c8d7dc; }
body:has(.sd-home) .site-footer { background: #000; }

@media (max-width: 850px) {
  .home-hero { min-height: 560px; }
  .home-section { padding-block: 46px; }
  .home-section-heading { margin-bottom: 24px; }
  .home-actions { gap: 16px; }
  .home-services .home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-checks .home-grid { gap: 20px; }
  .home-check { grid-template-columns: 1fr; min-height: 0; }
  .home-check img { aspect-ratio: 16/10; max-height: 210px; }
}
@media (max-width: 560px) {
  .home-check-content { padding-inline: 15px; }
  .home-hero { min-height: 0; }
  .home-hero-content { padding-block: 62px 52px; }
  .home-hero-poster { background-position: 57% center; }
  .home-hero-poster video { display: none; }
  .sd-home .home-hours { font-size: 11px; margin-bottom: 28px; }
  .home-hero h1 { font-size: clamp(25px, 7vw, 34px); }
  .sd-home .home-hero-lead, .home-hero-note { font-size: 14px; }
  .home-actions { display: grid; width: min(100%,280px); margin: 28px auto 0; }
  .home-actions .btn, .home-actions .btn-primary { min-width: 0; min-height: 48px; }
  .home-areas { margin-top: 28px; }
  .home-two, .home-services .home-grid, .home-checks .home-grid { grid-template-columns: minmax(0,1fr); }
  .home-fee { min-height: 0; padding: 16px; }
  .home-price { font-size: 24px; }
  .home-section-heading { border-inline-start: 0; padding-inline-start: 0; text-align: center; }
  .home-section-heading h2 { text-wrap: balance; }
  .home-ai-inner { grid-template-columns: minmax(0,1fr); gap: 22px; text-align: center; }
  .home-ai-inner .btn { justify-self: center; }
  .home-eyebrow { justify-content: center; font-size: 16px; }
}

.home-section-heading h2 { line-height: 1.5; }
.home-service p, .home-process li p { font-size: 16px; line-height: 1.55; }
.home-check-guide { display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; margin-top: .5rem; color: #9fddd9; text-underline-offset: .24em; font-size: .9rem; font-weight: 700; }
.home-check:focus-within { outline: 1px solid #61b9b1; outline-offset: 3px; }

.home-questions { background: #101922; }
.home-questions h2 { margin: 0 0 .8rem; font-size: clamp(1.25rem, 2.6vw, 1.7rem); }
.home-questions .wrap { --container: 980px; }
.home-questions details { border: 1px solid #3d5b68; border-radius: .5rem; margin-block: .65rem; }
.home-questions summary { padding: .75rem .9rem; cursor: pointer; font-weight: 700; }
.home-questions details p { padding: 0 .9rem .9rem; margin: 0; color: #c6d6de; }
.home-questions a { color: #9fddd9; }
.home-area-links { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; padding-inline-start: 1.2rem; }

@media (min-width: 851px) {
  .home-hero h1 { font-size: 50px; line-height: 1.2; }
  .home-fees { min-height: 480px; }
  .home-services { min-height: 562px; }
  .sd-home .case-carousel { --case-stage-height: 406px; }
  .home-check { min-height: 454px; }
  .home-check img { max-height: 454px; }
  .home-process { min-height: 583px; }
}

@media (hover: hover) and (pointer: fine) {
  .home-check:hover { outline: 1px solid #61b9b1; outline-offset: 3px; }
  .home-check-guide:hover { color: #ddfffb; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .home-check { position: relative; }

  .home-check::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, #66fcf1, transparent) 0 0 / 45% 100% no-repeat;
    opacity: 0;
  }

  .home-check:hover::after { animation: home-check-scan 620ms ease-out; }
  .home-check-guide > span { transition: translate 180ms ease-out; }
  .home-check-guide:is(:hover, :focus-visible) > span { translate: .25rem 0; }
}

@keyframes home-check-scan {
  22%, 75% { opacity: 1; }
  to { background-position: 100% 0; }
}

.home-featured-reviews,
#home-google-reviews-title { scroll-margin-top: 5rem; }

.home-review-stars { color: #f7c66a; letter-spacing: .12em; }
.home-review-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 2rem; }
.home-review-actions .btn { min-height: 44px; }
.home-review-swipe { display: none; }
.home-review-track:focus-visible { outline: 2px solid #9fddd9; outline-offset: 4px; }

@media (max-width: 650px) {
  .sd-home .home-review-swipe { display: block; margin-bottom: .75rem; color: #c8d7dc; font-size: .875rem; }
  .home-review-track {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc(100% - 2rem);
    gap: .75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: .5rem;
  }
  .home-review { scroll-snap-align: start; }
  .home-review:last-child { scroll-snap-align: end; }
  .home-review-actions { margin-top: 1.25rem; }
}

.home-review-jump a { display: inline-block; color: #fff; text-underline-offset: .2em; }
.home-review-jump span { color: #f7c66a; letter-spacing: .12em; }

.home-symptom-jump a { display: inline-flex; align-items: center; min-height: 44px; color: #b7f4ee; font-weight: 700; text-underline-offset: .2em; }
.home-symptoms { scroll-margin-top: 5rem; }
.home-symptom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-symptom-card { display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid #47737c; border-radius: .75rem; background: #11232d; }
.home-symptom-card h3 { margin: 0 0 .5rem; }
.home-symptom-card p { color: #d6e1e5; }
.home-symptom-links { display: flex; flex-wrap: wrap; gap: .25rem 1.1rem; margin-top: auto; }
.home-symptom-links a { display: inline-flex; align-items: center; min-height: 44px; color: #b7f4ee; text-underline-offset: .2em; }
@media (max-width: 650px) {
  .home-symptom-grid { grid-template-columns: minmax(0, 1fr); }
}
