/* Thermal survey pages: additions are scoped to this service. */
.thermal-page { background:#111; color:#e8e7e1; }
.thermal-page *, .thermal-page *::before, .thermal-page *::after { box-sizing:border-box; }
.thermal-page a { text-underline-offset:4px; }
.thermal-page :focus-visible { outline:3px solid #fff; outline-offset:4px; }
.thermal-page .thermal-wrap { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.thermal-page .thermal-breadcrumb { margin:26px 0 0; color:#bbb9b1; font-size:.86rem; line-height:1.6; }
.thermal-page .thermal-breadcrumb a { color:#f0c040; }
.thermal-page .thermal-hero { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:42px 0 52px; }
.thermal-page .thermal-hero > *, .thermal-page .thermal-split > * { min-width:0; }
.thermal-page .thermal-brand { width:94px; height:auto; display:block; margin:0 0 22px; }
.thermal-page .thermal-eyebrow { color:#f0c040; font-size:.77rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin:0 0 16px; }
.thermal-page h1 { color:#f0c040; font-size:clamp(2.1rem,3.65vw,3.2rem); line-height:1.12; letter-spacing:-.025em; margin:0 0 24px; }
.thermal-page .thermal-lead { font-size:1.12rem; line-height:1.75; color:#efeee8; margin:0 0 18px; }
.thermal-page .thermal-sublead { font-size:1rem; line-height:1.75; color:#c9c8c1; margin:0; }
.thermal-page .thermal-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.thermal-page .thermal-actions .hero-action { min-width:0; max-width:100%; width:auto; padding:13px 22px; font-size:.95rem; line-height:1.45; text-align:center; }
.thermal-page figure { margin:0; }
.thermal-page .thermal-photo { display:block; width:100%; height:auto; aspect-ratio:1672 / 941; object-fit:cover; border-radius:14px; border:1px solid #746133; }
.thermal-page .thermal-hero .thermal-photo { aspect-ratio:1.15; object-position:46% center; }
.thermal-page figcaption { color:#aaa9a1; font-size:.77rem; line-height:1.5; margin:10px 2px 0; }
.thermal-page .thermal-promises { list-style:none; padding:20px 0; margin:0; display:flex; gap:14px 32px; flex-wrap:wrap; border-top:1px solid #51462d; border-bottom:1px solid #51462d; color:#e8e1cd; font-size:.94rem; line-height:1.5; }
.thermal-page .thermal-promises li::before { content:'✓'; color:#f0c040; margin-right:9px; }
.thermal-page .thermal-section { padding:62px 0; border-bottom:1px solid #373125; }
.thermal-page .thermal-section h2 { color:#f0c040; font-size:clamp(1.6rem,2.5vw,2.1rem); line-height:1.25; margin:0 0 22px; }
.thermal-page .thermal-section p, .thermal-page .thermal-section li { font-size:1.03rem; line-height:1.75; color:#dddcd5; }
.thermal-page .thermal-section p { margin:0 0 18px; max-width:80ch; }
.thermal-page .thermal-section a { color:#f0c040; }
.thermal-page .thermal-symptoms { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:8px 0 0; }
.thermal-page .thermal-symptom { padding:20px 0 0; border-top:2px solid #6c5726; }
.thermal-page .thermal-symptom h3 { font-size:1.09rem; color:#f2e8cb; line-height:1.4; margin:0 0 10px; }
.thermal-page .thermal-symptom p { font-size:.97rem; margin:0; }
.thermal-page .thermal-split { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.thermal-page .thermal-note { border-left:3px solid #f0c040; padding:14px 18px; background:#1c1a15; }
.thermal-page .thermal-steps { list-style:none; padding:0; margin:30px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.thermal-page .thermal-step-number { display:block; font-size:1.5rem; color:#f0c040; margin:0 0 12px; font-weight:700; }
.thermal-page .thermal-steps h3 { font-size:1.08rem; line-height:1.4; color:#f2e8cb; margin:0 0 12px; }
.thermal-page .thermal-steps p { font-size:.96rem; margin:0; }
.thermal-page .thermal-report { padding:30px; background:#1b1914; border:1px solid #766337; border-radius:14px; }
.thermal-page .thermal-report h3 { color:#f0c040; font-size:1.15rem; margin:0 0 18px; }
.thermal-page .thermal-report ul { padding-left:21px; margin:0; }
.thermal-page .thermal-report li { margin:0 0 10px; }
.thermal-page .thermal-report li:last-child { margin-bottom:0; }
.thermal-page .thermal-report li::marker { color:#f0c040; }
.thermal-page .thermal-faq details { border-bottom:1px solid #4c422b; padding:20px 0; }
.thermal-page .thermal-faq details:first-child { border-top:1px solid #4c422b; }
.thermal-page .thermal-faq summary { font-size:1.08rem; font-weight:700; line-height:1.55; color:#f2e8cb; cursor:pointer; padding-right:8px; }
.thermal-page .thermal-faq summary::marker { color:#f0c040; }
.thermal-page .thermal-faq details p { margin:15px 0 0; }
.thermal-page .thermal-contact { padding:44px; margin:54px 0; border:1px solid #a2843d; border-radius:14px; background:linear-gradient(130deg,#242014,#131313); }
.thermal-page .thermal-contact h2 { color:#f0c040; font-size:clamp(1.65rem,2.7vw,2.2rem); line-height:1.3; margin:0 0 18px; }
.thermal-page .thermal-contact p { color:#e1dfd6; font-size:1.04rem; line-height:1.75; max-width:76ch; }
.thermal-page .thermal-contact .thermal-small { font-size:.9rem; color:#bfbba9; }
.thermal-page .thermal-related { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:16px; }
.thermal-page .thermal-related a { color:#f0c040; line-height:1.55; }
@media (max-width:950px) {
  .thermal-page .thermal-hero, .thermal-page .thermal-split { gap:30px; }
  .thermal-page .thermal-hero { grid-template-columns:1.1fr 1fr; }
  .thermal-page .thermal-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; }
}
@media (max-width:700px) {
  .thermal-page .thermal-wrap { width:calc(100% - 32px); }
  .thermal-page .thermal-breadcrumb { margin-top:20px; font-size:.78rem; }
  .thermal-page .thermal-hero, .thermal-page .thermal-split { grid-template-columns:minmax(0,1fr); }
  .thermal-page .thermal-hero { padding:30px 0 34px; gap:28px; }
  .thermal-page .thermal-brand { width:76px; margin-bottom:18px; }
  .thermal-page h1 { font-size:2.15rem; }
  .thermal-page .thermal-hero .thermal-photo { aspect-ratio:1672 / 941; }
  .thermal-page .thermal-section { padding:38px 0; }
  .thermal-page .thermal-lead { font-size:1.04rem; }
  .thermal-page .thermal-promises { gap:10px; flex-direction:column; }
  .thermal-page .thermal-symptoms { grid-template-columns:minmax(0,1fr); gap:20px; }
  .thermal-page .thermal-report { padding:22px; }
  .thermal-page .thermal-contact { padding:26px 22px; margin:38px 0; }
  .thermal-page .thermal-actions { flex-direction:column; align-items:stretch; }
  .thermal-page .thermal-actions .hero-action { width:100%; }
  .thermal-page .thermal-section p, .thermal-page .thermal-section li { font-size:1rem; }
}
@media (max-width:390px) {
  .thermal-page h1 { font-size:1.95rem; }
  .thermal-page .thermal-steps { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  .thermal-page *, .thermal-page *::before, .thermal-page *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
