/* Restoration Pros 360. Premium dark editorial. Archivo semi expanded + Inter Tight. */
@font-face{font-family:"Archivo";src:url("/fonts/archivo-sx-latin.woff2") format("woff2");font-weight:700 900;font-stretch:112.5%;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("/fonts/intertight-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Archivo Fallback";src:local("Arial Black"),local("Arial");size-adjust:104%;ascent-override:88%}
@font-face{font-family:"Inter Tight Fallback";src:local("Arial");size-adjust:94%;ascent-override:96%}

:root{
  color-scheme:dark;
  --bg:#0c0b0a; --bg-rgb:12,11,10;
  --panel:#151413; --panel-2:#1d1b19; --line:#3a352f;
  --text:#ece6dd; --muted:#bdb4a8;
  --copper:#c8743c; --copper-rgb:200,116,60;
  --amber:#f2a541; --amber-rgb:242,165,65;
  --btn:#e08a45; --btn-ink:#140c05;
  --display:"Archivo","Archivo Fallback",Arial,sans-serif;
  --body:"Inter Tight","Inter Tight Fallback",Arial,sans-serif;
  --cut:clamp(28px,5vw,72px);
  --wrap:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17.5px;line-height:1.62;font-variant-numeric:tabular-nums;overflow-x:hidden}
figure,blockquote,dl,dd{margin:0}
[hidden]{display:none!important}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--amber);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#ffc876}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-stretch:112.5%;font-weight:800;line-height:1.06;letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5.6vw,4.6rem);font-weight:900}
h2{font-size:clamp(1.55rem,3.2vw,2.5rem)}
h3{font-size:clamp(1.15rem,2vw,1.45rem)}
p{margin:0 0 1.05em}
ul,ol{padding-left:1.25em;margin:0 0 1.2em}
li{margin:.3em 0}
b,strong{font-weight:700;color:#fff6ea}
.skip{position:absolute;left:-999px;top:8px;background:var(--btn);color:var(--btn-ink);padding:8px 14px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
@media (min-width:768px){.wrap{padding:0 32px}}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(var(--bg-rgb),.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);flex-shrink:0}
.brand svg{width:44px;height:44px}
.brand .wm{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:1.02rem;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.brand .wm span{display:block;color:var(--amber);font-size:.72rem;letter-spacing:.32em;margin-top:5px}
.nav{display:none;gap:22px;margin-left:auto;flex-shrink:0}
.nav a{color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem}
.nav a:hover,.nav a[aria-current]{color:var(--amber)}
.top .call{margin-left:auto}
@media (min-width:1040px){.nav{display:flex}.top .call{margin-left:0}}
@media (max-width:479px){.brand svg{width:36px;height:36px}.brand .wm{font-size:.86rem}.brand .wm span{font-size:.6rem;letter-spacing:.18em}.top .wrap{gap:10px}}
@media (max-width:899px){.hero .ring360{width:min(300px,80vw);justify-self:center}}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:.98rem;letter-spacing:.01em;text-decoration:none;padding:13px 20px;border:1px solid var(--btn);min-height:48px}
.btn--fill{background:var(--btn);color:var(--btn-ink)}
.btn--fill:hover{background:#f39c55;color:var(--btn-ink)}
.btn--line{color:var(--text);background:transparent}
.btn--line:hover{color:var(--amber)}
.top .btn{padding:10px 14px;font-size:.9rem;min-height:44px}

/* sections and diagonal cuts */
main{display:block}
.sec{position:relative;padding:clamp(56px,8vw,112px) 0}
.sec--panel{background:var(--panel);clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%);padding:calc(var(--cut) + clamp(40px,6vw,88px)) 0}
.sec--rev{background:var(--panel-2);clip-path:polygon(0 0,100% var(--cut),100% 100%,0 calc(100% - var(--cut)));padding:calc(var(--cut) + clamp(40px,6vw,88px)) 0}
.rule{height:1px;background:linear-gradient(90deg,var(--copper),rgba(var(--copper-rgb),0));border:0;margin:0 0 28px}
.kicker{font-family:var(--display);font-stretch:112.5%;font-weight:800;color:var(--amber);text-transform:uppercase;letter-spacing:.24em;font-size:.78rem;margin:0 0 14px}

/* hero */
.hero{padding:clamp(40px,7vw,96px) 0 clamp(56px,8vw,110px);position:relative;overflow:hidden}
.hero .wrap{display:grid;gap:36px}
.hero h1{max-width:13ch}
.hero .sub{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted);max-width:44ch;margin-bottom:28px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .ring360{justify-self:end;width:min(100%,460px);opacity:.95}
.ring360 text{font-family:var(--display);font-stretch:112.5%;font-weight:900}
@media (min-width:900px){.hero .wrap{grid-template-columns:7fr 5fr;align-items:center}}
.page-hero{padding:clamp(32px,5vw,72px) 0 clamp(28px,4vw,56px);border-bottom:1px solid var(--line)}
.page-hero .wrap{display:grid;gap:24px}
.page-hero h1{font-size:clamp(1.9rem,4.6vw,3.6rem);max-width:20ch}
.page-hero .bignum{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(5rem,16vw,12rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--copper);letter-spacing:-.04em}
@media (min-width:900px){.page-hero .wrap{grid-template-columns:auto 1fr;align-items:end;column-gap:48px}.page-hero .bignum{grid-row:1/3}}
.crumbs{font-size:.88rem;color:var(--muted);margin:0 0 14px}
.crumbs a{color:var(--muted)}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--copper)}

/* bite, snack, meal */
.bite{font-size:clamp(1.12rem,1.8vw,1.35rem);line-height:1.5;max-width:52ch;border-left:2px solid var(--copper);padding-left:20px;margin:0 0 32px}
.glance{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);margin:0 0 40px}
.glance div{padding:16px 0;border-bottom:1px solid var(--line)}
.glance dt{font-family:var(--display);font-stretch:112.5%;font-weight:800;color:var(--amber);font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:4px}
.glance dd{color:var(--text)}
@media (min-width:700px){.glance{grid-template-columns:1fr 1fr}.glance div:nth-child(odd){padding-right:24px;border-right:1px solid var(--line)}.glance div:nth-child(even){padding-left:24px}}
@media (min-width:1100px){.glance{grid-template-columns:repeat(4,1fr)}.glance div{padding:18px 20px!important;border-right:1px solid var(--line)}.glance div:last-child{border-right:0}}

/* magazine article layout */
.spread{display:grid;gap:40px}
@media (min-width:1000px){.spread{grid-template-columns:minmax(0,1fr) 300px;gap:72px}}
.prose{max-width:70ch}
.prose h2{margin-top:1.8em;padding-top:.6em;border-top:1px solid var(--line)}
.prose h2:first-child{margin-top:0}
.prose a{color:var(--amber)}
.aside{align-self:start}
@media (min-width:1000px){.aside{position:sticky;top:96px}}
.aside .box{border:1px solid var(--line);padding:22px;background:var(--panel)}
.aside .box+.box{margin-top:18px}
.aside h2,.aside h3{font-size:1.02rem;margin-bottom:12px}
.aside ul{list-style:none;padding:0;margin:0}
.aside li{margin:0;border-top:1px solid var(--line)}
.aside li a{display:block;padding:9px 0;color:var(--text);text-decoration:none}
.aside li a:hover{color:var(--amber)}
.aside .phone{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:1.5rem;color:var(--text);text-decoration:none;display:block;margin:6px 0 14px}

ol.steps{list-style:none;counter-reset:s;padding:0}
ol.steps>li{counter-increment:s;position:relative;padding:0 0 14px 56px;margin:0 0 14px;border-bottom:1px solid var(--line)}
ol.steps>li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-2px;font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:1.5rem;color:var(--copper)}
table.spec{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.97rem}
table.spec th,table.spec td{text-align:left;vertical-align:top;padding:11px 12px 11px 0;border-bottom:1px solid var(--line)}
table.spec th{font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--amber);border-bottom:1px solid var(--copper)}
@media (max-width:640px){table.spec thead{display:none}table.spec tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}table.spec td{display:block;border:0;padding:3px 0}table.spec td:first-child{font-weight:700;color:#fff6ea}}

.bignums{display:grid;gap:0;border-top:1px solid var(--copper);margin:8px 0 28px}
.bignums>div{padding:18px 0;border-bottom:1px solid var(--line)}
.bignums .n{display:block;font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1;color:var(--text)}
.bignums .l{display:block;color:var(--muted);margin-top:6px}
@media (min-width:760px){.bignums{grid-template-columns:repeat(3,1fr)}.bignums>div{padding:22px 20px 22px 0}}

/* stage dial */
.walk{position:relative}
.walk-grid{display:grid;gap:28px}
.dial-col{position:relative;padding:8px 0}
.dial{width:min(340px,92vw);margin:0 auto}
@media (max-width:899px){.dial .lbl{font-size:25px}}
.dial svg{width:100%;height:auto;overflow:visible}
.dial .arm{transform-origin:200px 200px;transform:rotate(var(--rot,0deg))}
.dial .seg{fill:none;stroke:var(--line);stroke-width:26}
.dial .seg.on{stroke:var(--copper)}
.dial .tick{stroke:var(--muted);stroke-width:1}
.dial .lbl{font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:17px;fill:var(--text);letter-spacing:.06em;text-transform:uppercase}
.dial a:focus-visible .seg{stroke:var(--amber)}
.dial a:focus{outline:none}
.dial .needle{fill:var(--amber)}
.dial .hub-n{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:64px;fill:var(--text)}
.dial .hub-l{font-family:var(--body);font-weight:600;font-size:15px;fill:var(--amber);letter-spacing:.24em;text-transform:uppercase}
.js .dial .arm{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.dial .seg{transition:stroke .3s}
.stages{list-style:none;padding:0;margin:0}
.stage{padding:28px 0 36px;border-top:1px solid var(--line);min-height:auto}
.stage .sn{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(3.4rem,8vw,6rem);line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--copper);display:block;margin-bottom:10px}
.stage.on .sn{color:var(--copper)}
.stage h3{font-size:clamp(1.4rem,2.6vw,2rem)}
@media (min-width:900px){
  .walk-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px}
  .dial-col{position:sticky;top:110px;align-self:start;padding:0}
  .dial{width:min(100%,440px)}
  .stage{min-height:62vh;padding:40px 0 60px}
}

/* editorial index lists */
.index{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--line)}
.index li{margin:0;border-bottom:1px solid var(--line)}
.index a{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:baseline;padding:18px 0;text-decoration:none;color:var(--text)}
.index a:hover .t{color:var(--amber)}
.index .n{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:1.6rem;color:var(--copper)}
.index .t{font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:1.12rem;line-height:1.2}
.index .d{grid-column:2;color:var(--muted);font-size:.97rem}
@media (min-width:860px){.index--two{grid-template-columns:1fr 1fr;column-gap:56px}.index--two li:nth-child(1),.index--two li:nth-child(2){border-top:0}}
.offset{display:grid;gap:32px}
@media (min-width:960px){.offset{grid-template-columns:4fr 8fr;gap:72px}.offset--rev{grid-template-columns:8fr 4fr}}

/* pull quote */
.pull{font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:clamp(1.5rem,3.6vw,2.7rem);line-height:1.15;max-width:24ch;margin:0;padding-left:28px;border-left:3px solid var(--copper)}
.pull-note{color:var(--muted);margin-top:18px;max-width:52ch}

/* numbers spread */
.figs{display:grid;gap:0;border-top:1px solid var(--copper)}
.figs>div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:baseline}
.figs .n{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(2.6rem,7vw,5rem);line-height:.9;color:var(--text);min-width:3ch}
.figs .l{color:var(--muted)}
@media (min-width:860px){.figs{grid-template-columns:1fr 1fr;column-gap:56px}}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:1.06rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:24px;width:12px;height:12px;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(45deg)}
.faq details[open] summary::after{transform:rotate(225deg);top:30px}
.faq .faq-a{padding:0 0 18px;color:var(--text);max-width:68ch}

/* guide toc, degrees around the ring */
.toc{border:1px solid var(--line);padding:20px 22px;background:var(--panel)}
.toc h2{font-size:1rem;margin:0 0 10px;padding:0;border:0}
.toc ol{list-style:none;padding:0;margin:0}
.toc li{margin:0;border-top:1px solid var(--line)}
.toc a{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:9px 0;color:var(--text);text-decoration:none;font-size:.95rem;line-height:1.35}
.toc a span{font-family:var(--display);font-stretch:112.5%;font-weight:800;color:var(--copper);font-size:.84rem}
.toc a:hover{color:var(--amber)}
.sources{font-size:.92rem;color:var(--muted)}
.sources a{color:var(--muted)}
.lede{font-size:clamp(1.1rem,1.7vw,1.3rem);color:var(--text);max-width:60ch;margin:0}
.meta-line{color:var(--muted);font-size:.9rem;margin:10px 0 0}

/* calc */
.calc{border:1px solid var(--copper);padding:20px;margin:0 0 1.4em;background:var(--panel)}
.calc-row{margin:0 0 14px;border:0;padding:0}
.calc label{display:block;font-weight:600}
.calc fieldset label{display:inline-flex;gap:8px;align-items:center;margin-right:18px;font-weight:500;min-height:44px}
.calc legend{font-weight:600;margin-bottom:6px;padding:0}
.calc input[type=number]{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);padding:10px 12px;width:9em;margin-top:6px;min-height:44px}
.calc input[type=radio]{accent-color:var(--btn);width:20px;height:20px}
.calc-out{font-family:var(--display);font-stretch:112.5%;font-weight:800;margin:0;color:#fff6ea}

/* mini dial badge on service pages */
.stagebadge{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--text);border:1px solid var(--line);padding:14px 16px;background:var(--panel)}
.stagebadge svg{width:64px;height:64px;flex-shrink:0}
.stagebadge b{display:block;font-family:var(--display);font-stretch:112.5%;font-weight:800}
.stagebadge span{color:var(--muted);font-size:.92rem}
.stagebadge:hover b{color:var(--amber)}

/* closing spread */
.close .wrap{display:grid;gap:28px}
.close .big{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(2.2rem,7vw,5.6rem);line-height:.95;color:var(--text);text-decoration:none;display:inline-block;border-bottom:3px solid var(--copper)}
.close .big:hover{color:var(--amber)}
@media (min-width:900px){.close .wrap{grid-template-columns:5fr 7fr;align-items:end}}

/* footer */
.foot{border-top:1px solid var(--line);padding:56px 0 110px;color:var(--muted);font-size:.95rem}
.foot .cols{display:grid;gap:32px}
@media (min-width:860px){.foot .cols{grid-template-columns:2fr 1fr 1fr 1fr}.foot{padding-bottom:48px}}
.foot h2{font-size:.86rem;text-transform:uppercase;letter-spacing:.2em;color:var(--amber);margin-bottom:12px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:0 0 6px}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--amber)}
.foot .phone{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:1.4rem;color:var(--text);text-decoration:none}
.foot .legal{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px}

/* fixed call bar under 1040 */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:3fr 2fr;background:var(--bg);border-top:1px solid var(--copper);transition:transform .25s}
.callbar a{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:.92rem;white-space:nowrap;font-family:var(--display);font-stretch:112.5%;font-weight:800;text-decoration:none;color:var(--text)}
.callbar a:first-child{background:var(--btn);color:var(--btn-ink)}
.callbar.away{transform:translateY(110%)}
@media (min-width:1040px){.callbar{display:none}}

.cards-none{}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.top,.callbar,.foot,.dial-col{display:none}body{background:#fff;color:#000}}
