:root {
  --ink: #102335;
  --paper: #f8f5ef;
  --brand: #0e67d1;
  --brand-dark: #084383;
  --accent: #f7b52c;
  --soft: #e9f2fb;
  --muted: #5e6a75;
  --display: "Manrope", Arial, sans-serif;
  --body: "Inter", Arial, sans-serif;
}
[data-theme="family"] { --ink:#18312d; --paper:#fbf8f0; --brand:#176f63; --brand-dark:#0d4d45; --accent:#e9a441; --soft:#e9f3ed; --display:"Fraunces", Georgia, serif; }
[data-theme="wellness"] { --ink:#343229; --paper:#f7f3eb; --brand:#6d7653; --brand-dark:#4e553b; --accent:#bf936d; --soft:#ede8dc; --display:"Cormorant Garamond", Georgia, serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
.concept-label { position:relative; z-index:30; display:flex; justify-content:center; gap:8px; padding:8px 20px; background:#121722; color:white; font-size:11px; font-weight:800; letter-spacing:.09em; text-align:center; text-transform:uppercase; }
.concept-label a { color:#d8ff4c; text-underline-offset:3px; }
.site-header { position:sticky; z-index:20; top:0; display:flex; min-height:74px; align-items:center; justify-content:space-between; padding:12px clamp(20px,5vw,78px); border-bottom:1px solid rgba(16,35,53,.12); background:rgba(248,245,239,.93); backdrop-filter:blur(15px); }
.logo { display:flex; align-items:center; gap:11px; font-family:var(--display); font-size:20px; font-weight:800; line-height:1; text-decoration:none; }
.logo-mark { display:grid; width:40px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--brand); color:white; font-family:var(--body); font-size:15px; font-weight:900; }
.site-nav { display:flex; align-items:center; gap:28px; }
.site-nav a { font-size:13px; font-weight:700; text-decoration:none; }
.site-nav .nav-button { padding:11px 17px; border-radius:6px; background:var(--brand); color:white; }
.hero { display:grid; min-height:720px; grid-template-columns:1.02fr .98fr; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(70px,9vw,135px) clamp(25px,7vw,110px); }
.kicker { margin:0 0 18px; color:var(--brand); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero h1,.section-title,.offer h2,.final-cta h2 { margin:0; font-family:var(--display); font-size:clamp(48px,6vw,86px); letter-spacing:-.045em; line-height:1.02; }
[data-theme="family"] .hero h1,[data-theme="family"] .section-title,[data-theme="family"] .offer h2,[data-theme="family"] .final-cta h2,
[data-theme="wellness"] .hero h1,[data-theme="wellness"] .section-title,[data-theme="wellness"] .offer h2,[data-theme="wellness"] .final-cta h2 { font-weight:600; }
.hero-lede { max-width:650px; margin:24px 0 0; color:var(--muted); font-size:19px; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:13px 20px; border:2px solid var(--brand); border-radius:6px; background:var(--brand); color:white; font-weight:800; text-decoration:none; transition:transform .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-secondary { background:transparent; color:var(--brand); }
.micro-proof { display:flex; flex-wrap:wrap; gap:18px; margin:26px 0 0; padding:0; color:var(--muted); font-size:12px; font-weight:700; list-style:none; }
.micro-proof li::before { margin-right:7px; color:var(--brand); content:"✓"; }
.hero-image { position:relative; min-height:600px; overflow:hidden; }
.hero-image img { width:100%; height:100%; object-fit:cover; }
[data-theme="hvac"] .hero-image img { object-position:68% center; }
[data-theme="family"] .hero-image img { object-position:center center; }
.hero-badge { position:absolute; bottom:30px; left:30px; max-width:260px; padding:17px 20px; border-radius:8px; background:white; box-shadow:0 16px 45px rgba(16,35,53,.18); }
.hero-badge strong { display:block; font-family:var(--display); font-size:20px; line-height:1.1; }
.hero-badge span { color:var(--muted); font-size:12px; }
.trust-bar { display:grid; grid-template-columns:repeat(4,1fr); background:var(--brand-dark); color:white; }
.trust-bar div { padding:25px clamp(18px,3vw,45px); border-right:1px solid rgba(255,255,255,.17); }
.trust-bar div:last-child { border:0; }
.trust-bar strong { display:block; font-size:15px; }
.trust-bar span { color:rgba(255,255,255,.73); font-size:12px; }
.section { padding:clamp(78px,9vw,135px) clamp(22px,7vw,110px); }
.section-head { display:grid; max-width:1380px; grid-template-columns:1.15fr .85fr; gap:50px; align-items:end; margin:0 auto 55px; }
.section-title { font-size:clamp(42px,5.2vw,72px); }
.section-head > p { margin:0; color:var(--muted); font-size:18px; }
.service-grid { display:grid; max-width:1380px; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 auto; }
.service-card { padding:clamp(26px,3vw,42px); border:1px solid rgba(16,35,53,.13); background:white; }
.service-icon { display:grid; width:48px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--soft); color:var(--brand); font-size:20px; font-weight:900; }
.service-card h3 { margin:35px 0 10px; font-family:var(--display); font-size:25px; line-height:1.1; }
.service-card p { margin:0; color:var(--muted); }
.split { display:grid; grid-template-columns:1fr 1fr; background:var(--soft); }
.split-image { min-height:630px; }
.split-image img { width:100%; height:100%; object-fit:cover; }
.split-image-justice img { object-position:65% center; }
.split-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(60px,8vw,120px); }
.split-copy h2 { margin:0; font-family:var(--display); font-size:clamp(40px,5vw,68px); letter-spacing:-.04em; line-height:1.05; }
.split-copy > p { color:var(--muted); font-size:18px; }
.check-list { display:grid; gap:13px; margin:18px 0 0; padding:0; list-style:none; }
.check-list li { display:grid; grid-template-columns:28px 1fr; gap:8px; align-items:start; }
.check-list li::before { display:grid; width:22px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--brand); color:white; content:"✓"; font-size:12px; font-weight:900; }
.offer { display:grid; max-width:1380px; grid-template-columns:1fr .85fr; margin:0 auto; background:var(--brand); color:white; }
.offer-copy,.offer-card { padding:clamp(38px,6vw,82px); }
.offer h2 { font-size:clamp(44px,5.5vw,75px); }
.offer-copy p { max-width:630px; color:rgba(255,255,255,.78); font-size:18px; }
.offer-card { align-self:center; margin:30px; border-radius:10px; background:white; color:var(--ink); box-shadow:0 20px 55px rgba(0,0,0,.16); }
.offer-card .price { display:flex; align-items:baseline; gap:8px; }
.offer-card .price strong { font-family:var(--display); font-size:58px; letter-spacing:-.05em; line-height:1; }
.offer-card .price span { color:var(--muted); }
.offer-card ul { margin:22px 0; padding:0; list-style:none; }
.offer-card li { padding:10px 0; border-bottom:1px solid rgba(16,35,53,.11); }
.offer-card li::before { margin-right:8px; color:var(--brand); content:"✓"; font-weight:900; }
.offer-card .button { width:100%; }
.testimonials { max-width:1100px; margin:0 auto; text-align:center; }
.quote-mark { color:var(--accent); font-family:Georgia,serif; font-size:90px; line-height:.5; }
.testimonials blockquote { margin:20px 0; font-family:var(--display); font-size:clamp(28px,4vw,48px); letter-spacing:-.025em; line-height:1.25; }
.testimonials footer { color:var(--muted); font-size:13px; font-weight:700; }
.final-cta { display:grid; grid-template-columns:1fr .9fr; gap:60px; align-items:center; padding:clamp(75px,9vw,130px) clamp(22px,8vw,130px); background:var(--ink); color:white; }
.final-cta h2 { font-size:clamp(46px,6vw,82px); }
.lead-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:25px; border-radius:10px; background:white; color:var(--ink); }
.lead-form label { display:flex; flex-direction:column; gap:5px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.lead-form label:nth-child(3),.lead-form button { grid-column:1/-1; }
.lead-form input,.lead-form select { width:100%; min-height:48px; padding:10px 12px; border:1px solid #c8cdd1; border-radius:5px; background:white; }
.lead-form button { border:0; cursor:pointer; }
.footer { display:flex; justify-content:space-between; gap:20px; padding:30px clamp(22px,5vw,78px); background:#080e15; color:#aab3bb; font-size:12px; }
@media (max-width:850px) {
  .site-nav a:not(.nav-button){display:none}.hero,.split,.offer,.final-cta{grid-template-columns:1fr}.hero-image{min-height:550px}.trust-bar{grid-template-columns:1fr 1fr}.trust-bar div:nth-child(2){border-right:0}.section-head{grid-template-columns:1fr;gap:22px}.service-grid{grid-template-columns:1fr 1fr}.split-image{min-height:520px}.offer-card{margin:0 30px 30px}.final-cta{gap:45px}
}
@media (max-width:560px) {
  .concept-label{font-size:9px}.site-header{min-height:64px;padding-inline:16px}.logo{font-size:16px}.site-nav .nav-button{padding:9px 12px}.hero{min-height:0}.hero-copy{padding:65px 20px}.hero h1{font-size:46px}.hero-image{min-height:440px}.hero-badge{left:18px;right:18px;bottom:18px}.trust-bar div{padding:18px 15px}.section{padding:72px 18px}.service-grid{grid-template-columns:1fr}.split-image{min-height:390px}.split-copy{padding:65px 22px}.offer-card{margin:0 18px 18px}.offer-copy,.offer-card{padding:35px 25px}.lead-form{grid-template-columns:1fr}.lead-form label,.lead-form label:nth-child(3),.lead-form button{grid-column:auto}.footer{flex-direction:column}
}
