@layer site {
  :root { --hearth-ink:#151b1e; --hearth-blue:#176c8e; --hearth-electric:#55c7ef; --hearth-cream:#f3efe5; --hearth-warm:#dc7446; --hearth-line:#b8c3c4; --hearth-shell:min(1220px,calc(100% - clamp(32px,7vw,100px))); }
  body { background:var(--hearth-cream); color:var(--hearth-ink); font-family:"Avenir Next Condensed","DIN Alternate","Avenir Next",system-ui,sans-serif; }
  h1,h2,h3 { color:var(--hearth-ink); font-weight:760; letter-spacing:-.045em; line-height:.95; }
  p { color:#556065; }
  .hearth-shell,.site-shell { width:var(--hearth-shell); margin-inline:auto; }
  .site-header { min-height:76px; background:color-mix(in srgb,var(--hearth-cream) 94%,transparent); color:var(--hearth-ink); border-color:#c6ccca; backdrop-filter:blur(14px); }
  .hearth-brand { display:flex; align-items:center; gap:12px; }
  .hearth-brand-mark { width:42px; color:var(--hearth-blue); }
  .hearth-brand strong,.hearth-brand small { display:block; line-height:1; }
  .hearth-brand strong { font-size:1.18rem; letter-spacing:-.035em; }
  .hearth-brand small { margin-top:4px; color:var(--hearth-blue); font-size:.58rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
  .site-header nav a { color:#586266; }
  .site-header nav a:hover,.site-header nav a[aria-current="page"] { color:var(--hearth-blue); }
  .header-call,.hearth-action { display:inline-flex; min-height:46px; align-items:center; justify-content:center; border:1px solid var(--hearth-ink); border-radius:2px; padding:11px 18px; background:var(--hearth-ink); color:#fff; font:800 .8rem/1 "Avenir Next",sans-serif; text-decoration:none; cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
  .header-call:hover,.hearth-action:hover { background:var(--hearth-blue); border-color:var(--hearth-blue); transform:translateY(-2px); }
  .hearth-label { margin:0 0 16px; color:var(--hearth-blue); font:800 .69rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.1em; text-transform:uppercase; }
  .hearth-hero { min-height:calc(100vh - 76px); display:grid; grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr); border-bottom:1px solid var(--hearth-line); }
  .hearth-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,7vw,105px); background:var(--hearth-cream); }
  .hearth-hero h1 { max-width:9ch; margin:0; font-size:clamp(3.7rem,6.8vw,6rem); }
  .hearth-hero-copy>p:not(.hearth-label) { max-width:39ch; margin:27px 0 0; font-size:clamp(1.05rem,1.65vw,1.3rem); }
  .hearth-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:32px; }
  .hearth-actions>a { color:var(--hearth-blue); font-weight:800; }
  .hearth-hero dl { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:55px 0 0; padding-top:18px; border-top:1px solid var(--hearth-line); }
  .hearth-hero dt { color:#697579; font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; }
  .hearth-hero dd { margin:5px 0 0; font-weight:800; }
  .hearth-hero-media { position:relative; min-height:680px; overflow:hidden; background:#d8dad6; }
  .hearth-hero-media img { width:100%; height:100%; object-fit:cover; }
  .hearth-status { position:absolute; right:0; bottom:0; width:min(420px,80%); padding:22px 26px; background:var(--hearth-blue); color:#fff; }
  .hearth-status span,.hearth-status strong { display:block; }
  .hearth-status span { color:#bdefff; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
  .hearth-status strong { margin-top:5px; }
  .hearth-service-paths { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(55px,9vw,130px); padding-block:clamp(85px,11vw,150px); }
  .hearth-service-paths h2,.hearth-standard h2,.hearth-tech h2,.hearth-plans h2,.hearth-close h2,.hearth-team h2,.hearth-history h2 { margin:0; font-size:clamp(2.5rem,4.8vw,5.2rem); }
  .hearth-path-list { border-top:1px solid var(--hearth-line); }
  .hearth-path-list a { display:grid; grid-template-columns:38px 1fr; gap:8px 18px; padding:25px 0; border-bottom:1px solid var(--hearth-line); text-decoration:none; }
  .hearth-path-list span { grid-row:1 / 3; color:var(--hearth-warm); font:800 .72rem ui-monospace,monospace; }
  .hearth-path-list strong { color:var(--hearth-ink); font-size:1.18rem; }
  .hearth-path-list p { margin:0; }
  .hearth-standard { padding-block:clamp(90px,11vw,155px); background:var(--hearth-ink); color:#fff; }
  .hearth-standard>.hearth-shell { display:grid; grid-template-columns:1fr .9fr; gap:clamp(55px,10vw,140px); }
  .hearth-standard h2 { color:#fff; }
  .hearth-standard-copy>p:not(.hearth-label) { color:#b5bec1; }
  .hearth-step-list { display:grid; grid-template-columns:repeat(4,1fr); margin-top:38px; border-block:1px solid #ffffff35; }
  .hearth-step-list button { min-height:74px; border:0; border-right:1px solid #ffffff35; background:transparent; color:#abb5b8; cursor:pointer; }
  .hearth-step-list button:last-child { border-right:0; }
  .hearth-step-list button span { display:block; margin-bottom:4px; color:var(--hearth-electric); font:700 .64rem ui-monospace,monospace; }
  .hearth-step-list button[aria-selected="true"] { background:var(--hearth-electric); color:var(--hearth-ink); }
  .hearth-step-list button[aria-selected="true"] span { color:var(--hearth-ink); }
  .hearth-reading { align-self:center; border-top:1px solid #ffffff4a; border-bottom:1px solid #ffffff4a; padding:30px 0; }
  .hearth-reading>p:not(.hearth-label) { min-height:84px; color:#f0f3f2; font-size:1.25rem; }
  .hearth-reading>strong { display:block; margin-top:24px; color:#cad3d5; font-weight:500; }
  .hearth-airflow { display:flex; gap:8px; align-items:center; height:54px; overflow:hidden; }
  .hearth-airflow i { display:block; width:100%; height:2px; background:linear-gradient(90deg,transparent,var(--hearth-electric),transparent); transform:translateX(-35%); animation:hearth-air 2.6s ease-in-out infinite; }
  .hearth-airflow i:nth-child(2) { animation-delay:.3s }.hearth-airflow i:nth-child(3) { animation-delay:.6s }
  @keyframes hearth-air { 0%,100% { opacity:.25; transform:translateX(-30%) } 50% { opacity:1; transform:translateX(30%) } }
  .hearth-tech { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(55px,9vw,130px); align-items:center; padding-block:clamp(95px,12vw,175px); }
  .hearth-tech-media { min-height:620px; overflow:hidden; }
  .hearth-tech img { width:100%; height:100%; object-fit:cover; }
  .hearth-tech ul { margin:30px 0; padding:0; list-style:none; border-top:1px solid var(--hearth-line); }
  .hearth-tech li { padding:13px 0; border-bottom:1px solid var(--hearth-line); }
  .hearth-tech a { color:var(--hearth-blue); font-weight:800; }
  .hearth-plans { padding-block:clamp(80px,10vw,140px); background:#dbe7e7; }
  .hearth-plans>.hearth-shell { display:grid; grid-template-columns:1fr .8fr; gap:90px; }
  .hearth-plan-lines { border-top:1px solid #93a6a7; }
  .hearth-plan-lines p { display:flex; justify-content:space-between; gap:25px; margin:0; padding:18px 0; border-bottom:1px solid #93a6a7; }
  .hearth-plan-lines strong { color:var(--hearth-ink); }
  .hearth-close { padding-block:clamp(75px,9vw,120px); background:var(--hearth-blue); color:#fff; }
  .hearth-close>.hearth-shell { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }
  .hearth-close h2,.hearth-close .hearth-label { color:#fff; }
  .hearth-close p { color:#cce8f0; }
  .hearth-close .hearth-action { background:#fff; color:var(--hearth-ink); border-color:#fff; margin-right:18px; }
  .hearth-close a { color:#fff; font-weight:800; white-space:nowrap; }
  .hearth-page-intro { position:relative; overflow:hidden; padding-block:clamp(110px,14vw,200px); background:#dbe7e7; }
  .hearth-page-intro::after { content:""; position:absolute; right:-8%; top:15%; width:45%; height:2px; background:var(--hearth-blue); box-shadow:0 22px 0 #55c7ef,0 44px 0 #176c8e,0 66px 0 #55c7ef; transform:rotate(-7deg); opacity:.45; }
  .hearth-page-intro h1 { position:relative; z-index:1; max-width:12ch; margin:0; font-size:clamp(3.6rem,7.5vw,6rem); }
  .hearth-page-intro>div>p:last-child { position:relative; z-index:1; max-width:54ch; margin:28px 0 0; font-size:1.18rem; }
  .hearth-service-ledger { padding-block:70px 125px; }
  .hearth-service-ledger article { display:grid; grid-template-columns:.75fr 1fr 150px; gap:clamp(30px,6vw,90px); align-items:start; padding:37px 0; border-bottom:1px solid var(--hearth-line); }
  .hearth-service-ledger article>div { display:grid; grid-template-columns:42px 1fr; gap:14px; }
  .hearth-service-ledger span { color:var(--hearth-warm); font:800 .7rem ui-monospace,monospace; }
  .hearth-service-ledger h2 { margin:0; font-size:clamp(2rem,3.2vw,3.5rem); }
  .hearth-service-ledger p { margin:0; }
  .hearth-service-ledger>a { color:var(--hearth-blue); font-weight:800; }
  .hearth-next { padding-block:100px; background:var(--hearth-ink); color:#fff; }
  .hearth-next>.hearth-shell { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
  .hearth-next h2 { margin:0; color:#fff; font-size:clamp(2.7rem,5vw,5rem); }
  .hearth-next ol { margin:0; padding:0; list-style:none; }
  .hearth-next li { display:grid; grid-template-columns:40px 1fr; gap:18px; padding:19px 0; border-top:1px solid #ffffff38; }
  .hearth-next li>span { color:var(--hearth-electric); }
  .hearth-next li strong { font-size:1.12rem; }.hearth-next li p { margin:4px 0 0; color:#b8c2c4; }
  .hearth-team { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(50px,9vw,130px); align-items:center; padding-block:clamp(95px,12vw,170px); }
  .hearth-team>div:first-child { min-height:600px; overflow:hidden; }
  .hearth-team img { width:100%; height:100%; object-fit:cover; }
  .hearth-promises { padding-block:100px; background:#dbe7e7; }
  .hearth-promises h2 { max-width:12ch; margin:0 0 50px; font-size:clamp(2.7rem,5vw,5.2rem); }
  .hearth-promises>.hearth-shell>div { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #91a2a4; }
  .hearth-promises article { padding:24px 24px 0 0; }
  .hearth-promises article+article { padding-left:24px; border-left:1px solid #91a2a4; }
  .hearth-promises article span { color:var(--hearth-warm); }.hearth-promises article h3 { font-size:1.7rem; }
  .hearth-history { display:grid; grid-template-columns:1fr .8fr; gap:90px; padding-block:120px; }
  .hearth-history>p { font-size:1.14rem; }
  .contact-workbench { width:var(--hearth-shell); margin:0 auto; display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; padding-block:100px; }
  .contact-workbench h2 { font-size:clamp(2.4rem,4.4vw,4.8rem); }
  .contact-form-wrap form { display:grid; gap:7px; }
  .contact-form-wrap label { margin-top:7px; color:var(--hearth-ink); font-weight:800; }
  .contact-form-wrap input,.contact-form-wrap textarea { min-height:48px; border:1px solid var(--hearth-line); border-radius:0; padding:11px; background:#fff; }
  .contact-form-wrap textarea { min-height:130px; }
  .hearth-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-bottom:120px; }
  .hearth-contact-grid h2 { font-size:clamp(2.4rem,4.5vw,4.8rem); }.hearth-contact-grid>a,.hearth-contact-grid article>a { color:var(--hearth-blue); font-size:1.25rem; font-weight:800; }
  .hearth-contact-grid ul { padding:0; list-style:none; border-top:1px solid var(--hearth-line); }.hearth-contact-grid li { padding:16px 0; border-bottom:1px solid var(--hearth-line); }
  footer { background:var(--hearth-ink); color:#fff; }
  @media (max-width:960px) { .hearth-hero { grid-template-columns:1fr }.hearth-hero-media { min-height:560px }.hearth-service-paths,.hearth-standard>.hearth-shell,.hearth-tech,.hearth-plans>.hearth-shell,.hearth-close>.hearth-shell,.hearth-next>.hearth-shell,.hearth-team,.hearth-history,.contact-workbench,.hearth-contact-grid { grid-template-columns:1fr }.hearth-tech-media,.hearth-team>div:first-child { min-height:520px }.hearth-service-ledger article { grid-template-columns:.75fr 1fr }.hearth-service-ledger article>a { grid-column:2 }.hearth-promises>.hearth-shell>div { grid-template-columns:1fr 1fr }.hearth-promises article:nth-child(3) { border-left:0 } }
  @media (max-width:720px) { .hearth-hero h1,.hearth-page-intro h1 { font-size:clamp(3.2rem,15vw,4.8rem) }.hearth-hero-copy { padding:44px 24px 55px }.hearth-hero dl { grid-template-columns:1fr }.hearth-step-list { grid-template-columns:1fr 1fr }.hearth-step-list button { border-bottom:1px solid #ffffff35 }.hearth-service-ledger article { grid-template-columns:1fr; gap:18px }.hearth-service-ledger article>a { grid-column:1 }.hearth-promises>.hearth-shell>div { grid-template-columns:1fr }.hearth-promises article,.hearth-promises article+article { padding:22px 0; border-left:0; border-bottom:1px solid #91a2a4 }.hearth-plan-lines p { display:block }.hearth-plan-lines span { display:block; margin-top:5px }.hearth-tech-media,.hearth-team>div:first-child { min-height:430px }.hearth-close .hearth-action { margin:0 0 15px } }
  @media (max-width:420px) { .site-header { min-height:68px }.hearth-brand-mark { width:34px }.hearth-brand strong { font-size:1rem }.hearth-brand small { font-size:.5rem }.header-call { min-width:44px; font-size:0 }.header-call::after { content:"Service"; font-size:.72rem }.hearth-hero-media { min-height:430px }.hearth-status { width:90%; padding:17px }.hearth-page-intro { padding-block:88px } }
  @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important } }
}
