:root{
  --bg:#08090A;
  --bg-2:#0F1113;
  --bg-3:#15181A;
  --bg-4:#1B1F22;
  --line:#24282B;
  --line-2:#343A3E;
  --paper:#F2F3F0;
  --paper-2:#B9BEC0;
  --dim:#8A9094;
  --brass:#C6A15B;
  --brass-hi:#E0BE7C;
  --brass-dim:#6E5830;
  --shell:#D9DBD6;
  --shell-ink:#111314;
  --shell-2:#BFC2BC;
  --wrap:1280px;
  --pad:clamp(20px,5vw,64px);
  --r:0px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:var(--bg);
  color:var(--paper-2);
  font-family:var(--sans);
  font-size:16.5px;
  line-height:1.68;
  font-weight:400;
  letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}

.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

::selection{background:var(--brass);color:#0B0C0D}

:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

.boot{position:fixed;inset:0;background:var(--bg);z-index:200;pointer-events:none;opacity:1;transition:opacity .5s var(--ease)}
body.is-ready .boot{opacity:0}

.h2{
  font-family:var(--sans);
  font-size:clamp(30px,4.6vw,60px);
  font-weight:300;
  line-height:1.06;
  letter-spacing:-.028em;
  color:var(--paper);
  text-transform:none;
}

.brass{color:var(--brass)}

.kicker{
  font-family:var(--mono);
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:22px;
}

.lede{
  font-size:17px;
  line-height:1.66;
  color:var(--dim);
  max-width:62ch;
  margin-top:20px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:0 28px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid transparent;
  border-radius:var(--r);
  transition:background .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease);
}
.btn--sm{min-height:42px;padding:0 18px;font-size:12px;letter-spacing:.08em}
.btn--hero{background:var(--brass);color:#0B0C0D;border-color:var(--brass)}
.btn--hero:hover{background:var(--brass-hi);border-color:var(--brass-hi)}
.btn--ghost{background:transparent;color:var(--paper);border-color:var(--line-2)}
.btn--ghost:hover{border-color:var(--brass);color:var(--brass-hi)}
.btn--full{width:100%}

.hd{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(8,9,10,.88);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--line);
}

.hd__in{
  display:flex;
  align-items:center;
  gap:28px;
  min-height:72px;
}

.logo{
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex-shrink:0;
}
.logo__m{width:22px;height:22px;color:var(--brass)}
.logo__t{
  font-family:var(--sans);
  font-size:16px;
  font-weight:700;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--paper);
}

.nav{
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
}
.nav a{
  font-size:13px;
  font-weight:500;
  letter-spacing:.05em;
  color:var(--dim);
  transition:color .25s var(--ease);
}
.nav a:hover{color:var(--paper)}

.hd__r{display:flex;align-items:center;gap:18px}
.hd__tel{
  font-family:var(--mono);
  font-size:14px;
  letter-spacing:.02em;
  color:var(--paper);
  white-space:nowrap;
  transition:color .25s var(--ease);
}
.hd__tel:hover{color:var(--brass-hi)}

.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px;margin-left:auto}
.burger span{display:block;width:22px;height:1.5px;background:var(--paper);transition:transform .3s var(--ease),opacity .3s var(--ease)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

.mobnav{
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--line);
  background:var(--bg-2);
  padding:8px var(--pad) 22px;
}
.mobnav[hidden]{display:none}
.mobnav a{
  padding:15px 0;
  border-bottom:1px solid var(--line);
  font-size:15px;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--paper);
}
.mobnav__tel{
  border-bottom:0 !important;
  margin-top:8px;
  font-family:var(--mono);
  color:var(--brass) !important;
}

.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(120% 80% at 12% 0%,rgba(198,161,91,.055),transparent 62%),
    var(--bg);
}

.gridlines{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:calc(100% / 6) 96px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.15) 78%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.15) 78%,transparent);
}

.hero__in{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:clamp(40px,5vw,80px);
  align-items:center;
  padding-top:clamp(56px,7vw,100px);
  padding-bottom:clamp(56px,7vw,100px);
}

.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:30px;
}

.hero__h1{
  font-size:clamp(40px,6.4vw,88px);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--paper);
  margin-bottom:28px;
}

.hero__lead{
  font-size:17.5px;
  line-height:1.66;
  color:var(--paper-2);
  max-width:54ch;
  margin-bottom:38px;
}

.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:56px}

.spec{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.spec__i{background:var(--bg);padding:20px 20px 22px}
.spec dt{
  font-family:var(--mono);
  font-size:25px;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--brass);
  line-height:1.1;
}
.spec dd{
  font-size:13px;
  line-height:1.45;
  color:var(--dim);
  margin-top:8px;
}

.hero__fig{margin:0;position:relative}
.elev{width:100%;height:auto;overflow:visible}
.elev__grid path{stroke:rgba(255,255,255,.05);stroke-width:1;fill:none}
.elev__case{fill:rgba(255,255,255,.022);stroke:var(--line-2);stroke-width:1.2}
.elev__glass{fill:rgba(198,161,91,.07);stroke:var(--brass-dim);stroke-width:1}
.elev__ln{stroke:var(--line-2);stroke-width:1;fill:none}
.elev__pull{stroke:var(--brass);stroke-width:1.6;stroke-linecap:round}
.elev__top{fill:rgba(198,161,91,.12);stroke:var(--brass);stroke-width:1.2}
.elev__floor{stroke:var(--paper);stroke-width:1.4;fill:none;opacity:.55}
.elev__plinth{stroke:var(--line-2);stroke-width:1;fill:none}
.elev__dim path{stroke:var(--dim);stroke-width:.9;fill:none;opacity:.75}
.elev__dim text{fill:var(--dim);font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.elev__call path{stroke:var(--brass);stroke-width:.9;fill:none;opacity:.85}
.elev__call circle{fill:var(--brass)}
.elev__call text{fill:var(--brass);font-family:var(--mono);font-size:11px;letter-spacing:.04em}

.hero__cap{
  font-family:var(--mono);
  font-size:11.5px;
  line-height:1.6;
  letter-spacing:.04em;
  color:var(--dim);
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid var(--line);
  max-width:52ch;
}

.creed{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line)}

.creed__cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,64px);
  margin-top:34px;
  max-width:1100px;
}
.creed__cols p{font-size:17px;line-height:1.7;color:var(--paper-2)}

.pillars{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:clamp(48px,6vw,84px);
}
.pillar{background:var(--bg);padding:30px 26px 34px;position:relative}
.pillar__n{
  display:block;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.2em;
  color:var(--brass);
  margin-bottom:20px;
}
.pillar h3{font-size:17.5px;font-weight:600;color:var(--paper);margin-bottom:12px;letter-spacing:-.01em}
.pillar p{font-size:14.5px;line-height:1.62;color:var(--dim)}

.cats{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line);background:var(--bg-2)}
.cats__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:clamp(40px,5vw,66px);
}
.cat{
  background:var(--bg-2);
  padding:30px 26px 32px;
  display:flex;
  flex-direction:column;
  transition:background .3s var(--ease);
}
.cat:hover{background:var(--bg-3)}
.cat__n{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.2em;
  color:var(--brass);
  margin-bottom:18px;
}
.cat h3{font-size:21px;font-weight:600;letter-spacing:-.015em;color:var(--paper);margin-bottom:12px}
.cat p{font-size:14.5px;line-height:1.62;color:var(--dim)}
.cat__p{margin-top:auto;padding-top:20px;font-family:var(--mono);font-size:13px;color:var(--dim)}
.cat__p b{color:var(--paper);font-weight:500}
.cat__go{
  margin-top:18px;
  align-self:flex-start;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brass);
  padding:11px 0;
  border-bottom:1px solid var(--brass-dim);
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.cat__go:hover{color:var(--brass-hi);border-color:var(--brass)}
.cat--wide{grid-column:span 2}

.mats{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line)}

.mats__sw{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin:clamp(36px,4.6vw,60px) 0 clamp(30px,4vw,46px);
}
.sw{
  aspect-ratio:4/3;
  display:flex;
  align-items:flex-end;
  padding:14px;
  border:1px solid var(--line-2);
  position:relative;
  overflow:hidden;
}
.sw span{
  position:relative;
  font-family:var(--mono);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#EDEFEC;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.sw--oak{background:linear-gradient(150deg,#B58C55 0%,#8A6739 48%,#6E5029 100%)}
.sw--oak::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(93deg,rgba(0,0,0,.14) 0 2px,transparent 2px 11px)}
.sw--walnut{background:linear-gradient(150deg,#6B4426 0%,#4A2D18 52%,#33200F 100%)}
.sw--walnut::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(88deg,rgba(255,255,255,.05) 0 1px,transparent 1px 8px)}
.sw--veneer{background:linear-gradient(150deg,#C69A62 0%,#A87F48 55%,#8B6535 100%)}
.sw--veneer::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(95deg,rgba(0,0,0,.1) 0 1px,transparent 1px 6px)}
.sw--enamel{background:linear-gradient(150deg,#33373B 0%,#212528 55%,#15181A 100%)}
.sw--brass{background:linear-gradient(150deg,#DCBB79 0%,#C6A15B 48%,#8A6E36 100%)}

.tblwrap{overflow-x:auto;border:1px solid var(--line)}
.tbl{width:100%;border-collapse:collapse;min-width:720px}
.tbl caption{text-align:left}
.tbl th,.tbl td{
  text-align:left;
  padding:18px 22px;
  border-bottom:1px solid var(--line);
  font-size:14.5px;
  vertical-align:top;
}
.tbl thead th{
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
  background:var(--bg-2);
}
.tbl tbody th{font-weight:600;color:var(--paper);white-space:nowrap}
.tbl tbody td{color:var(--paper-2)}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:var(--bg-2)}
.tbl td.mono{color:var(--paper);white-space:nowrap}

.mats__note{
  font-size:14.5px;
  line-height:1.66;
  color:var(--dim);
  margin-top:22px;
  max-width:76ch;
}

.calc{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line);background:var(--bg-2)}

.calc__box{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:clamp(38px,4.6vw,60px);
}

.calc__form{background:var(--bg-2);padding:clamp(26px,3.4vw,44px)}

.fld{margin-bottom:34px;border:0;padding:0}
.fld:last-child{margin-bottom:0}
.fld__l{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  width:100%;
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:16px;
}
.fld__u{font-size:14px;letter-spacing:.02em;text-transform:none;color:var(--paper);font-weight:500}
.fld__u b{font-weight:500}
.fld__hint{font-size:13px;line-height:1.55;color:var(--dim);margin-top:12px}
.fld__hint b{color:var(--paper);font-weight:500}

.sel{position:relative}
.sel select{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  min-height:54px;
  padding:0 50px 0 18px;
  background:var(--bg);
  border:1px solid var(--line-2);
  border-radius:var(--r);
  font-size:15px;
  font-weight:500;
  color:var(--paper);
  cursor:pointer;
  transition:border-color .25s var(--ease);
}
.sel select:hover{border-color:var(--brass-dim)}
.sel select:focus-visible{border-color:var(--brass);outline-offset:1px}
.sel select option{background:var(--bg);color:var(--paper)}
.sel__cv{
  position:absolute;
  right:18px;
  top:50%;
  width:12px;
  height:8px;
  margin-top:-4px;
  color:var(--brass);
  pointer-events:none;
}

.rng{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:34px;
  background:transparent;
  cursor:pointer;
  display:block;
}
.rng::-webkit-slider-runnable-track{height:2px;background:var(--line-2)}
.rng::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:22px;
  height:22px;
  margin-top:-10px;
  background:var(--brass);
  border:0;
  cursor:grab;
  transition:transform .2s var(--ease),background .2s var(--ease);
}
.rng::-webkit-slider-thumb:hover{transform:scale(1.12);background:var(--brass-hi)}
.rng::-webkit-slider-thumb:active{cursor:grabbing}
.rng::-moz-range-track{height:2px;background:var(--line-2)}
.rng::-moz-range-thumb{
  width:22px;
  height:22px;
  background:var(--brass);
  border:0;
  border-radius:0;
  cursor:grab;
}
.rng__scale{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:var(--dim);margin-top:4px}

.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.seg__b{
  background:var(--bg);
  padding:17px 12px;
  font-size:14.5px;
  font-weight:600;
  color:var(--paper-2);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.seg__b small{
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:400;
  letter-spacing:.06em;
  color:var(--dim);
}
.seg__b:hover{background:var(--bg-3)}
.seg__b.is-on{background:var(--brass);color:#0B0C0D}
.seg__b.is-on small{color:#241D0E}

.opts{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}
.opt{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:15px 18px;
  background:var(--bg);
  cursor:pointer;
  transition:background .22s var(--ease);
}
.opt:hover{background:var(--bg-3)}
.opt input{position:absolute;opacity:0;width:0;height:0}
.opt__box{
  width:19px;
  height:19px;
  border:1px solid var(--line-2);
  display:block;
  position:relative;
  transition:border-color .2s var(--ease),background .2s var(--ease);
  flex-shrink:0;
}
.opt input:checked + .opt__box{background:var(--brass);border-color:var(--brass)}
.opt input:checked + .opt__box::after{
  content:"";
  position:absolute;
  left:5.5px;
  top:2px;
  width:6px;
  height:11px;
  border:solid #0B0C0D;
  border-width:0 2px 2px 0;
  transform:rotate(43deg);
}
.opt input:focus-visible + .opt__box{outline:2px solid var(--brass);outline-offset:2px}
.opt__t{font-size:14.5px;color:var(--paper-2)}
.opt__p{font-size:12.5px;color:var(--dim);white-space:nowrap}

.calc__out{
  background:var(--bg);
  padding:clamp(26px,3.4vw,44px);
  display:flex;
  flex-direction:column;
}
.out__l{
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
}
.out__total{
  font-size:clamp(34px,4.2vw,46px);
  font-weight:500;
  letter-spacing:-.03em;
  color:var(--paper);
  line-height:1.1;
  margin-top:14px;
}
.out__per{
  font-size:14px;
  color:var(--brass);
  margin-top:8px;
}
.out__rows{margin:26px 0 28px;border-top:1px solid var(--line)}
.out__rows > div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.out__rows dt{font-size:14px;color:var(--dim)}
.out__rows dd{font-size:15px;color:var(--paper);white-space:nowrap}
.out__note{
  font-size:12.5px;
  line-height:1.6;
  color:var(--dim);
  margin-top:18px;
}

.steps{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line)}
.steps__list{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:clamp(40px,5vw,66px);
}
.step{background:var(--bg);padding:28px 22px 32px;display:flex;flex-direction:column}
.step__n{
  font-family:var(--mono);
  font-size:30px;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--brass);
  line-height:1;
  margin-bottom:20px;
}
.step h3{font-size:16.5px;font-weight:600;color:var(--paper);margin-bottom:10px;letter-spacing:-.01em}
.step__d{font-size:12px;letter-spacing:.1em;color:var(--brass);margin-bottom:14px}
.step p:last-child{font-size:14px;line-height:1.62;color:var(--dim)}

.works{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line);background:var(--bg-2)}
.works__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:clamp(40px,5vw,66px);
}
.work{
  border:1px solid var(--line);
  padding:26px 24px 28px;
  background:var(--bg);
  transition:border-color .3s var(--ease);
}
.work:hover{border-color:var(--brass-dim)}
.work__t{
  font-size:17px;
  font-weight:600;
  color:var(--paper);
  letter-spacing:-.01em;
  margin-bottom:20px;
}
.work__spec{border-top:1px solid var(--line)}
.work__spec > div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:12.5px;
}
.work__spec dt{color:var(--dim);white-space:nowrap}
.work__spec dd{color:var(--paper-2);text-align:right}
.work__n{font-size:14px;line-height:1.62;color:var(--dim);margin-top:18px}

.guar{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line)}
.guar__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:clamp(40px,5vw,66px);
}
.gitem{background:var(--bg);padding:30px 24px 32px}
.gitem__n{
  font-size:54px;
  font-weight:300;
  letter-spacing:-.04em;
  color:var(--brass);
  line-height:1;
  margin-bottom:18px;
}
.gitem h3{font-size:16.5px;font-weight:600;color:var(--paper);margin-bottom:12px;letter-spacing:-.01em;line-height:1.35}
.gitem p:last-child{font-size:14px;line-height:1.62;color:var(--dim)}

.rev{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line);background:var(--bg-2)}
.rev__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:clamp(40px,5vw,66px);
}
.rev__c{
  border:1px solid var(--line);
  padding:28px 26px 26px;
  background:var(--bg);
  display:flex;
  flex-direction:column;
}
.rev__c > p{font-size:15.5px;line-height:1.68;color:var(--paper-2);flex:1}
.rev__c footer{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:3px;
}
.rev__c footer b{font-size:15px;font-weight:600;color:var(--paper)}
.rev__c footer span{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--dim)}

.faq{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line)}
.faq__wrap{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(36px,5vw,80px)}
.faq__head{position:sticky;top:104px;align-self:start}
.faq__sub{font-size:15px;line-height:1.65;color:var(--dim);margin-top:20px;max-width:40ch}
.faq__list{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{
  list-style:none;
  cursor:pointer;
  padding:24px 44px 24px 0;
  position:relative;
  font-size:17px;
  font-weight:600;
  color:var(--paper);
  letter-spacing:-.012em;
  transition:color .25s var(--ease);
}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--brass-hi)}
.qa summary::after{
  content:"";
  position:absolute;
  right:6px;
  top:32px;
  width:13px;
  height:13px;
  background:
    linear-gradient(var(--brass),var(--brass)) center/100% 1.4px no-repeat,
    linear-gradient(var(--brass),var(--brass)) center/1.4px 100% no-repeat;
  transition:transform .3s var(--ease);
}
.qa[open] summary::after{transform:rotate(45deg);background:
  linear-gradient(var(--brass),var(--brass)) center/100% 1.4px no-repeat}
.qa__b{padding:0 40px 26px 0}
.qa__b p{font-size:15.5px;line-height:1.7;color:var(--paper-2)}

.lead{padding:clamp(70px,9vw,130px) 0;border-bottom:1px solid var(--line);background:var(--bg-2)}
.lead__wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,84px);align-items:start}
.lead__t{font-size:16.5px;line-height:1.68;color:var(--paper-2);margin-top:22px;max-width:44ch}
.contact{margin-top:36px;border-top:1px solid var(--line)}
.contact > div{
  display:flex;
  flex-wrap:wrap;
  gap:6px 20px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.contact dt{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--dim);
  min-width:120px;
  padding-top:3px;
}
.contact dd{font-size:15px;color:var(--paper);flex:1}
.contact dd a{transition:color .25s var(--ease)}
.contact dd a:hover{color:var(--brass-hi)}

.form{
  border:1px solid var(--line);
  background:var(--bg);
  padding:clamp(26px,3.2vw,40px);
}
.form__r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fi{margin-bottom:20px}
.fi__l{
  display:block;
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:10px;
}
.fi__i{
  width:100%;
  min-height:54px;
  padding:14px 16px;
  background:var(--bg-2);
  border:1px solid var(--line-2);
  border-radius:var(--r);
  font-size:15px;
  color:var(--paper);
  transition:border-color .25s var(--ease);
}
.fi__i::placeholder{color:#6C7276}
.fi__i:hover{border-color:var(--brass-dim)}
.fi__i:focus-visible{border-color:var(--brass);outline-offset:1px}
.fi__i--ta{min-height:96px;resize:vertical;line-height:1.6}
select.fi__i{appearance:none;-webkit-appearance:none}

.agree{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:13px;
  line-height:1.5;
  color:var(--dim);
  margin-bottom:22px;
  cursor:pointer;
}
.agree input{position:absolute;opacity:0;width:0;height:0}
.agree .opt__box{margin-top:1px}
.agree input:checked + .opt__box{background:var(--brass);border-color:var(--brass)}
.agree input:checked + .opt__box::after{
  content:"";
  position:absolute;
  left:5.5px;
  top:2px;
  width:6px;
  height:11px;
  border:solid #0B0C0D;
  border-width:0 2px 2px 0;
  transform:rotate(43deg);
}
.agree input:focus-visible + .opt__box{outline:2px solid var(--brass);outline-offset:2px}
.form__note{font-size:13px;line-height:1.55;color:var(--brass);margin-top:14px;min-height:20px}

.ft{background:var(--bg);padding-top:clamp(56px,7vw,90px);border-top:1px solid var(--line)}
.ft__in{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:clamp(28px,4vw,56px);
  padding-bottom:clamp(44px,5vw,66px);
}
.ft__col h3{
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
  margin-bottom:18px;
}
.ft__col a,.ft__col span{
  display:flex;
  align-items:center;
  min-height:28px;
  font-size:14.5px;
  line-height:1.5;
  color:var(--dim);
  transition:color .25s var(--ease);
}
.ft__col a:hover{color:var(--paper)}
.ft__d{font-size:14.5px;line-height:1.62;color:var(--dim);margin-top:18px}
.logo--ft .logo__t{font-size:17px}

.ft__bot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:24px;
  padding-bottom:28px;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--dim);
}
.dev{display:inline-flex;align-items:center;gap:12px;padding:6px 4px;border-radius:4px;transition:opacity .25s var(--ease)}
.dev:hover{opacity:.82}
.dev img{width:38px;height:38px;flex-shrink:0}
.dev__t{display:flex;flex-direction:column;line-height:1.34}
.dev__t b{font-size:13px;font-weight:600;color:var(--paper-2)}
.dev__t span{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--dim)}

@media (max-width:1180px){
  .nav{display:none}
  .burger{display:flex}
  .hd__r{margin-left:auto}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat--wide{grid-column:span 2}
  .steps__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guar__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .works__grid,.rev__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mats__sw{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:980px){
  .hero__in{grid-template-columns:1fr;gap:44px}
  .hero__fig{order:2}
  .creed__cols{grid-template-columns:1fr;gap:20px;max-width:none}
  .calc__box{grid-template-columns:1fr}
  .faq__wrap{grid-template-columns:1fr;gap:34px}
  .faq__head{position:static}
  .lead__wrap{grid-template-columns:1fr;gap:40px}
  .ft__in{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:720px){
  body{font-size:16px}
  .hd__in{min-height:64px;gap:10px}
  .hd__r .btn--sm{display:none}
  .burger{margin-left:0}
  .logo__t{font-size:13px;letter-spacing:.16em}
  .logo__m{width:19px;height:19px}
  .hd__tel{font-size:12.5px}

  .spec{grid-template-columns:1fr}
  .pillars,.cats__grid,.steps__list,.guar__grid,.works__grid,.rev__grid{grid-template-columns:1fr}
  .cat--wide{grid-column:auto}
  .mats__sw{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .seg{grid-template-columns:1fr}
  .form__r{grid-template-columns:1fr;gap:0}
  .ft__in{grid-template-columns:1fr;gap:30px}
  .ft__bot{flex-direction:column;align-items:flex-start;gap:18px}
  .hero__cta{flex-direction:column;align-items:stretch;margin-bottom:40px}
  .hero__cta .btn{width:100%}
  .qa summary{font-size:16px;padding-right:38px}
  .qa summary::after{top:29px}
  .ft__bot span:nth-child(2){display:none}
}

@media (max-width:420px){
  .out__total{font-size:32px}
  .opt{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .opt__p{grid-column:2;margin-top:4px}
  .fld__l{flex-wrap:wrap;gap:6px}
  .contact dt{min-width:100%;padding-top:0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .boot{display:none}
}