*,*::before,*::after{box-sizing:border-box} img{max-width:100%;height:auto;display:block}
:root{
  --bg:#FBF8F2; --tint:#F6EDE2; --ink:#1C1814; --mut:#5E554C; --line:#E4D9CB; --acc:#C2561A; --acc-d:#A3460F; --white:#fff;
  --f:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --w:1200px;
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.12}
h2{font-size:clamp(1.9rem,3.2vw,2.75rem)}
h3{font-size:1.1rem;letter-spacing:-.01em}
.h-sm{font-size:1.5rem}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 32px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;background:var(--acc-d);color:#fff;font-weight:600;font-size:1rem;text-decoration:none;border:0;border-radius:6px;cursor:pointer;font-family:inherit;transition:background .2s}
.btn:hover{background:#8A3A0B}
.btn--sm{min-height:42px;padding:0 18px;font-size:.95rem}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--tint)}
.btn--full{width:100%}

/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.97);border-bottom:1px solid transparent;transition:border-color .2s}
.hd.is-stuck{border-color:var(--line)}
.hd__in{display:flex;align-items:center;gap:28px;height:76px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:500;font-size:1.06rem;letter-spacing:-.01em;white-space:nowrap}
.logo b{font-weight:700}
.hd__nav{display:flex;gap:26px;margin-left:auto}
.hd__nav a{text-decoration:none;font-size:.96rem;color:var(--mut)}
.hd__nav a:hover{color:var(--ink)}
.hd__tel{font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}
.hd__menu{display:none}

/* hero */
.hero{padding:56px 0 48px}
.hero__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:32px;grid-template-rows:auto 1fr}
.hero h1{grid-column:1/9;grid-row:1;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.06;letter-spacing:-.035em;font-weight:600;margin-top:36px;text-wrap:balance}
.hero__copy{grid-column:1/9;grid-row:2;padding-top:32px}
.lead{font-size:1.16rem;color:var(--mut);max-width:36em}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 34px}
.checks{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,auto);gap:10px 24px;justify-content:start}
.checks li{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500}
.checks svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--acc);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hero__ph{grid-column:9/13;grid-row:1/3;margin:0;align-self:stretch;display:flex;flex-direction:column}
.hero__ph img{width:100%;flex:1;min-height:540px;object-fit:cover;object-position:62% 50%;border-radius:8px}
.hero__ph figcaption,.ph figcaption,.strip figcaption{font-size:.85rem;color:var(--mut);margin-top:10px}

/* sections */
.sec{padding:104px 0}
.sec--tight{padding:72px 0 104px}
.sec--tint{background:var(--tint)}
.sec--line{border-top:1px solid var(--line)}
.sec__head{max-width:640px;margin-bottom:48px}
.sec__head p{color:var(--mut);margin-top:14px;font-size:1.06rem}
.sec__head--split{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end}
.sec__head--split p{margin:0;max-width:30em}
.ph{margin:0}
.ph img{border-radius:8px;width:100%}

/* prices */
.prices{display:grid;grid-template-columns:4fr 7fr;gap:64px;align-items:start}
.prices__side{position:sticky;top:110px}
.prices__side>p{color:var(--mut);margin:16px 0 32px}
.ph--side img{aspect-ratio:4/3;object-fit:cover}
.ptable{border-top:2px solid var(--ink)}
.ptable__row{display:grid;grid-template-columns:1fr 130px 130px;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ptable__row--head{padding:12px 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600}
.ptable__row--head span:last-child,.ptable__p{text-align:right}
.ptable__row p{color:var(--mut);font-size:.96rem;margin-top:6px;max-width:34em}
.ptable__t{font-size:.95rem;color:var(--mut)}
.ptable__p{font-weight:600;font-size:1.12rem;font-variant-numeric:tabular-nums;white-space:nowrap}

/* estimator */
.est{display:grid;grid-template-columns:7fr 5fr;background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.est__controls{padding:40px;display:grid;gap:30px}
.seg{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.seg legend{font-weight:600;font-size:.95rem;margin-bottom:12px;padding:0}
.seg button{min-height:46px;padding:0 18px;border:1px solid var(--line);background:#fff;border-radius:6px;font:500 .96rem var(--f);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center}
.seg button:hover{border-color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.est__row{display:flex;align-items:flex-end;gap:32px;flex-wrap:wrap}
.qty label{display:block;font-weight:600;font-size:.95rem;margin-bottom:12px}
.qty__box{display:flex;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}
.qty__box button{width:46px;height:46px;border:0;background:none;font-size:1.3rem;cursor:pointer;color:var(--ink)}
.qty__box button:hover{background:var(--tint)}
.qty__box input{width:72px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font:600 1.05rem var(--f);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.qty__box input::-webkit-inner-spin-button{-webkit-appearance:none}
.tog{display:inline-flex;align-items:center;gap:10px;min-height:46px;font-weight:500;cursor:pointer}
.tog input{width:20px;height:20px;accent-color:var(--acc-d)}
.est__out{background:#fff;border-left:1px solid var(--line);padding:40px;display:flex;flex-direction:column}
.est__lbl{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600}
.est__price{font-size:clamp(2.2rem,3.6vw,3rem);font-weight:600;letter-spacing:-.03em;margin:8px 0 4px;font-variant-numeric:tabular-nums;line-height:1.1}
.est__per{color:var(--mut);font-variant-numeric:tabular-nums}
.est__dl{margin:28px 0 32px;border-top:1px solid var(--line)}
.est__dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.est__dl dt{color:var(--mut)}
.est__dl dd{margin:0;font-weight:500;text-align:right}
.est__out .btn{margin-top:auto}

/* materials */
.mat{border-top:2px solid var(--ink)}
.mat__row{display:grid;grid-template-columns:140px 1fr 1fr 1fr 1.6fr;gap:28px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.mat__row--head{padding:12px 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600}
.mat__n{font-weight:600;font-size:1.1rem}
.mat__g{color:var(--mut);font-size:.95rem}
.bar{position:relative;height:8px;background:var(--tint);border-radius:2px}
.bar i{position:absolute;inset:0 auto 0 0;width:calc(var(--v)*100%);background:var(--acc);border-radius:2px}

/* process */
.days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:d}
.days li{border-top:2px solid var(--line);padding-top:24px;position:relative}
.days li::before{content:"";position:absolute;top:-2px;left:0;width:48px;height:2px;background:var(--acc)}
.days__d{display:block;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--acc-d);margin-bottom:18px}
.days h3{margin-bottom:8px}
.days p{color:var(--mut);font-size:.96rem}

/* strip */
.strip{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:24px;margin-top:28px}
.strip figure{margin:0}
.strip img{width:100%;height:440px;object-fit:cover;border-radius:8px}
.strip figure:nth-child(2) img{object-position:30% 50%}

/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.revs blockquote{margin:0;border-top:2px solid var(--ink);padding-top:22px;display:flex;flex-direction:column}
.stars{color:var(--acc);letter-spacing:3px;font-size:1rem;margin-bottom:14px}
.revs blockquote>p:not(.stars){font-size:1.06rem;line-height:1.6;flex:1}
.revs footer{margin-top:22px;font-weight:600;font-size:.95rem}
.revs footer span{font-weight:400;color:var(--mut)}

/* about */
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}
.about__ph img{aspect-ratio:5/4;object-fit:cover;object-position:35% 50%}
.about__txt p{color:var(--mut);margin-top:18px;max-width:34em}
.facts{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.facts li{padding:18px 16px 0 0}
.facts li+li{padding-left:20px;border-left:1px solid var(--line)}
.facts b{display:block;font-size:1.9rem;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.facts span{font-size:.9rem;color:var(--mut)}

/* area */
.area{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.area__txt>p{color:var(--mut);margin:16px 0 28px;max-width:32em}
.area__dl{margin:0;border-top:2px solid var(--ink)}
.area__dl div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.area__dl dt{color:var(--ink)}
.area__dl dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.map{width:100%;height:auto}
.map text{font:500 14px var(--f);fill:var(--ink)}
.map .map__big{font-size:17px;font-weight:700}
.map .map__note{fill:var(--mut);font-size:12px}
.map__pt circle:not([fill]){fill:var(--ink)}

/* faq + form */
.qf{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.faq h2{margin-bottom:28px}
.faq details{border-top:1px solid #DCCDB9}
.faq details:last-child{border-bottom:1px solid #DCCDB9}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:600;font-size:1.06rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 22px;color:var(--mut);max-width:36em}
.form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:40px}
.form__note{color:var(--mut);margin:8px 0 24px;font-size:.96rem}
.form__2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{margin-bottom:16px}
.fld label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid #D6C8B6;border-radius:6px;background:#fff;font:400 1rem var(--f);color:var(--ink)}
.fld input[type=file]{padding:10px;font-size:.92rem}
.fld textarea{resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--acc);outline-offset:0;border-color:var(--acc)}
.form .btn{margin-top:8px}
.form__ok{margin-top:16px;padding:14px 16px;background:var(--tint);border-radius:6px;font-weight:500}

/* cta */
.cta{background:var(--ink);color:#fff;padding:72px 0}
.cta__in{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta h2{font-size:clamp(1.7rem,2.8vw,2.4rem);max-width:17em}
.cta__act{display:flex;align-items:center;gap:22px;flex:none}
.cta__tel{color:#E9DFD3;text-decoration:none;font-variant-numeric:tabular-nums}
.cta__tel:hover{color:#fff}

/* footer */
.ft{padding:72px 0 32px}
.ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.ft__grid>div>p{color:var(--mut);font-size:.95rem;margin-top:14px;line-height:1.7}
.ft h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600}
.ft__grid a{text-decoration:none}
.ft__grid a:hover{text-decoration:underline}
.ft__bot{display:flex;justify-content:space-between;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:.85rem;color:var(--mut)}
.mbar{display:none}

/* responsive */
@media (max-width:1100px){
  .hd__nav{gap:18px}
  .hd__tel{display:none}
}
@media (max-width:900px){
  .wrap{padding:0 20px}
  .hd__in{height:66px;gap:12px}
  .hd .btn--sm{display:none}
  .hd__menu{display:flex;flex-direction:column;justify-content:center;gap:6px;margin-left:auto;width:46px;height:46px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;padding:0 12px}
  .hd__menu span:not(.sr){display:block;height:2px;background:var(--ink);transition:transform .2s}
  .hd.is-open .hd__menu span:nth-child(1){transform:translateY(4px) rotate(45deg)}
  .hd.is-open .hd__menu span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
  .hd__nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 20px 16px}
  .hd.is-open .hd__nav{display:flex}
  .hd__nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.05rem;color:var(--ink)}
  .hero{padding:24px 0 64px}
  .hero__grid{display:block}
  .hero h1{margin-top:8px;font-size:2.45rem}
  .hero__copy{padding-top:20px}
  .lead{font-size:1.06rem}
  .hero__btns .btn{flex:1 1 100%}
  .checks{grid-template-columns:1fr}
  .hero__ph{margin-top:36px}
  .hero__ph img{min-height:0;aspect-ratio:4/3}
  .sec{padding:72px 0}
  .sec__head--split{grid-template-columns:1fr;gap:12px}
  .prices,.about,.area,.qf{grid-template-columns:1fr;gap:40px}
  .prices__side{position:static}
  .ptable__row{grid-template-columns:1fr auto;gap:6px 16px}
  .ptable__row--head{display:none}
  .ptable__row>div{grid-column:1/-1}
  .ptable__t{grid-column:1}
  .ptable__p{grid-column:2;grid-row:2}
  .est{grid-template-columns:1fr}
  .est__controls,.est__out{padding:24px}
  .est__out{border-left:0;border-top:1px solid var(--line)}
  .seg button{flex:1 1 calc(50% - 8px);justify-content:center}
  .mat__row--head{display:none}
  .mat__row{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .mat__row .bar{margin:6px 0 0 78px}
  .mat__row .bar::before{position:absolute;left:-78px;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--mut)}
  .mat__row .bar:nth-child(2)::before{content:"Strength"}
  .mat__row .bar:nth-child(3)::before{content:"Heat"}
  .mat__row .bar:nth-child(4)::before{content:"Flex"}
  .mat__g{margin-top:6px}
  .days{grid-template-columns:1fr;gap:28px}
  .strip{grid-template-columns:1fr;gap:28px}
  .strip img{height:320px}
  .revs{grid-template-columns:1fr;gap:36px}
  .facts b{font-size:1.5rem}
  .form{padding:24px}
  .form__2{grid-template-columns:1fr;gap:0}
  .cta__in{flex-direction:column;align-items:flex-start;gap:24px}
  .cta__act{flex-direction:column;align-items:flex-start;width:100%}
  .cta__act .btn{width:100%}
  .ft{padding-bottom:100px}
  .ft__grid{grid-template-columns:1fr 1fr;gap:32px}
  .ft__grid>div:first-child{grid-column:1/-1}
  .ft__bot{flex-direction:column;gap:6px}
  .mbar{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}
  .mbar a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:6px;font-weight:600;text-decoration:none;box-shadow:inset 0 0 0 1.5px var(--ink)}
  .mbar .mbar__go{background:var(--acc-d);color:#fff;box-shadow:none}
}
@media (max-width:600px){
  .map text{font-size:21px}
  .map .map__big{font-size:24px}
  .map .map__note{font-size:17px}
  .facts span{font-size:.82rem;display:block;line-height:1.4}
}
