
@font-face{font-family:"RC";font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/rc-600-800.woff2) format("woff2")}
@font-face{font-family:"Plex";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/plex-sans.woff2) format("woff2")}
@font-face{font-family:"PlexMono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500.woff2) format("woff2")}
@font-face{font-family:"RC Fallback";src:local("Arial Narrow"),local("Arial");size-adjust:88%;ascent-override:104%;descent-override:27%}
:root{color-scheme:light;--bg:#f4f6f9;--panel:#fff;--ink:#16202b;--ink-2:#3a4756;--line:#d2d9e1;--line-2:#e4e9ef;
--slate:#1c2733;--slate-2:#283646;--green:#2f8a57;--green-ink:#1c5c39;--green-tint:#e7f2ec;--green-rgb:47,138,87;
--hd:"RC","RC Fallback","Arial Narrow",sans-serif;--tx:"Plex",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"PlexMono",ui-monospace,Menlo,monospace;
interpolate-size:allow-keywords}
*,*::before,*::after{box-sizing:border-box}
figure,blockquote,dl,dd{margin:0}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--tx);font-variant-numeric:tabular-nums;overflow-x:clip}
h1,h2,h3{font-family:var(--hd);font-weight:700;line-height:1.08;letter-spacing:-.005em;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(2.2rem,5.2vw,3.6rem);margin:0 0 .4em}
h2{font-size:clamp(1.6rem,3vw,2.15rem);margin:1.6em 0 .5em}
h3{font-size:1.3rem;margin:0 0 .35em}
p,li{text-wrap:pretty}
a{color:var(--green-ink);text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.narrow{width:min(780px,100% - 32px)}
.small{font-size:.92rem;color:var(--ink-2)}
.skip{position:absolute;left:-999px;top:0;background:var(--slate);color:#fff;padding:.6rem 1rem;z-index:20}
.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.25rem;border-radius:3px;font:700 1.05rem/1 var(--hd);letter-spacing:.02em;text-decoration:none;border:2px solid transparent;cursor:pointer;text-box:trim-both cap alphabetic}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
/* header */
.hd{background:var(--panel);border-bottom:1px solid var(--line);position:relative;z-index:5}
.hd-row{display:flex;align-items:center;gap:1.25rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--slate);text-decoration:none;font:600 1.2rem/1 var(--hd);flex-shrink:0}
.brand b{font-weight:800}
.mark{color:var(--slate)}
.hd-nav{display:none;gap:1.1rem;flex-shrink:0}
.hd-nav a{color:var(--ink-2);text-decoration:none;font:600 1.02rem/1 var(--hd);padding:.4rem 0;border-bottom:2px solid transparent}
.hd-nav a:hover,.hd-nav a[aria-current]{color:var(--ink);border-color:var(--green)}
.hd-act{display:none;margin-left:auto;gap:.92rem;align-items:center;flex-shrink:0}
.hd-call{font:700 1.05rem/1 var(--mono);color:var(--slate);text-decoration:none}
.hd-menu{margin-left:auto;position:relative}
.hd-menu summary{list-style:none;cursor:pointer;font:700 1rem/1 var(--hd);padding:.75rem 1rem;border:1px solid var(--line);border-radius:3px;color:var(--ink)}
.hd-menu summary::-webkit-details-marker{display:none}
.hd-menu nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--panel);border:1px solid var(--line);min-width:220px;display:grid;box-shadow:0 10px 30px rgba(22,32,43,.12)}
.hd-menu nav a{padding:.92rem 1rem;color:var(--ink);text-decoration:none;font:600 1.05rem/1 var(--hd);border-top:1px solid var(--line-2)}
@media (min-width:1040px){.hd-nav,.hd-act{display:flex}.hd-menu{display:none}}
.btn-go,.btn-go:visited{background:var(--green-ink);color:#fff}
.btn-go:hover{background:var(--slate);color:#fff}
.btn-line,.btn-line:visited{background:transparent;color:var(--slate);border-color:var(--slate)}
.btn-line:hover{background:var(--slate);color:#fff}
/* hero, grid paper */
.hero{background:var(--panel);border-bottom:1px solid var(--line);
background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}
.hero-grid{display:grid;gap:2rem;padding:2.5rem 0 3rem;align-items:center}
.hero-copy{background:var(--panel);padding:1.5rem;border:1px solid var(--line)}
.lede{font-size:1.15rem;color:var(--ink-2);margin:0;max-width:36em}
figcaption{font-size:.92rem;color:var(--ink-2);padding:.6rem .1rem 0}
figcaption span{font:500 .92rem/1 var(--mono);color:var(--green-ink);text-transform:uppercase;letter-spacing:.06em;margin-right:.5rem}
.hero-fig img,.split-fig img,.svc-fig img,.in-fig img{border:1px solid var(--line);border-radius:2px}
@media (min-width:960px){.hero-grid{grid-template-columns:1fr 1.05fr;padding:4rem 0}.hero-copy{padding:2.25rem}}
/* bands */
.band{padding:3.5rem 0;border-bottom:1px solid var(--line)}
.band-alt{background:var(--panel)}
.sec-head{display:grid;gap:.4rem;margin-bottom:1.75rem;border-left:4px solid var(--green);padding-left:1rem}
.sec-head h2{margin:0}.sec-head p{margin:0;color:var(--ink-2)}
/* service index, a spec list */
.ix{list-style:none;margin:0;padding:0;border-top:2px solid var(--slate)}
.ix a{display:grid;grid-template-columns:3.2rem 1fr auto;gap:.25rem 1rem;align-items:baseline;padding:1rem .25rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.ix a:hover{background:var(--green-tint)}
.ix-code{font:500 .95rem/1 var(--mono);color:var(--green-ink)}
.ix-name{font:700 1.3rem/1.1 var(--hd)}
.ix-line{grid-column:2;color:var(--ink-2);font-size:.98rem}
.ix-go{grid-row:1/3;grid-column:3;align-self:center;font-size:1.3rem;color:var(--green-ink)}
@media (min-width:860px){.ix a{grid-template-columns:4rem 15rem 1fr 2rem}.ix-line{grid-column:3}.ix-go{grid-row:1;grid-column:4}}
/* split */
.split{display:grid;gap:2rem;align-items:start}
.split .prose h2{margin-top:0}
@media (min-width:960px){.split{grid-template-columns:.9fr 1fr;gap:3rem}}
/* number sheet */
.sheet{display:grid;gap:1.5rem}
.sheet-col{background:var(--panel);border:1px solid var(--line);padding:1.25rem}
.sheet-h{font:500 .92rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--green-ink);margin:0 0 .75rem}
.nums{display:grid}
.nums div{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line-2);align-items:baseline}
.nums dt{font:700 1.45rem/1 var(--hd);color:var(--slate)}
.nums dd{color:var(--ink-2);font-size:.98rem}
@media (min-width:860px){.sheet{grid-template-columns:1fr 1fr}}
/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.steps li{background:var(--panel);padding:1.4rem}
.steps p{margin:0;color:var(--ink-2)}
.st-n{display:block;font:500 .92rem/1 var(--mono);color:var(--green-ink);margin-bottom:.8rem}
@media (min-width:700px){.steps{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.steps{grid-template-columns:repeat(4,1fr)}}
/* faq */
.faq{padding:1rem 0 3rem}
.faq details{border-top:1px solid var(--line);background:var(--panel)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1rem 2.5rem 1rem 1rem;font-weight:600;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:.92rem;font:500 1.2rem/1 var(--mono);color:var(--green-ink)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0;padding:0 1rem 1.1rem;color:var(--ink-2)}
.faq details::details-content{block-size:0;overflow:clip;transition:block-size .25s,content-visibility .25s allow-discrete}
.faq details[open]::details-content{block-size:auto}
/* crumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:1rem 0 0;font:500 .92rem/1.4 var(--mono)}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--ink-2)}
.crumbs li[aria-current]{color:var(--ink-2)}
/* service top */
.svc-top{padding:1.5rem 0 2rem;border-bottom:1px solid var(--line)}
.svc-grid{display:grid;gap:2rem;align-items:center}
@media (min-width:960px){.svc-grid{grid-template-columns:1fr 1fr}}
.plate{background:var(--slate);color:#eef2f6;padding:1.5rem;border-radius:2px;
background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px}
.plate-code{display:block;font:800 4.5rem/1 var(--hd);color:#7fd1a3;margin-bottom:1rem}
.plate-t{width:100%;border-collapse:collapse}
.plate-t th,.plate-t td{text-align:left;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.18);font-size:1rem}
.plate-t th{font:500 .92rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#b9c6d3;width:40%}
/* doc layout */
.doc{display:grid;gap:2.5rem;padding:2rem 0 1rem}
@media (min-width:1040px){.doc{grid-template-columns:minmax(0,1fr) 300px;gap:4rem}}
.prose{max-width:70ch}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin:.35rem 0}
.bite{font-size:1.2rem;line-height:1.55;border-left:4px solid var(--green);padding:.2rem 0 .2rem 1rem;margin-top:0}
.spec{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);margin:1.5rem 0}
.spec caption{caption-side:top;text-align:left;font:500 .92rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--green-ink);padding:0 0 .6rem}
.spec th,.spec td{padding:.75rem 1rem;border-top:1px solid var(--line-2);text-align:left;vertical-align:top}
.spec th{width:38%;font:600 1rem/1.4 var(--hd);color:var(--slate);background:#f8fafc;letter-spacing:.01em}
.side{align-self:start}
@media (min-width:1040px){.side{position:sticky;top:1.5rem}}
.side-h{font:500 .92rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--green-ink);margin:0 0 .6rem}
.rel{list-style:none;margin:0 0 1.75rem;padding:0;border-top:1px solid var(--line)}
.rel a{display:flex;gap:.7rem;padding:.7rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font:600 1.05rem/1.2 var(--hd)}
.rel a span{font:500 .92rem/1.4 var(--mono);color:var(--green-ink);min-width:1.8rem}
.rel a:hover{background:var(--green-tint)}
.official{margin:2rem 0;padding:1.25rem;background:var(--panel);border:1px solid var(--line)}
.official h2{margin:0 0 .5rem;font-size:1.3rem}
.cites{padding-left:1.1rem;margin:0}
.in-fig{margin:1.5rem 0}
.next{padding-left:1.2rem;margin:0 0 1rem}
/* popover tips */
.tip{font:inherit;color:var(--green-ink);background:none;border:0;border-bottom:1px dashed var(--green-ink);padding:0;cursor:help}
.tipbox{max-width:300px;margin:0;padding:.8rem 1rem;border:1px solid var(--slate);background:var(--panel);color:var(--ink);font-size:.95rem;line-height:1.45;box-shadow:0 8px 24px rgba(22,32,43,.18)}
@supports (position-area:top){.tipbox{position-area:top;margin-bottom:.5rem;position-try-fallbacks:flip-block}}
/* estimate box */
.est{background:var(--slate);color:#eef2f6;padding:3rem 0;border-top:4px solid var(--green)}
.est-grid{display:grid;gap:1.5rem}
.est h2{color:#fff;margin:0 0 .5rem}
.est-copy p{color:#d4dde6;margin:0}
.est-form,.full-form{display:grid;gap:1rem}
@media (min-width:700px){.est-form,.full-form{grid-template-columns:1fr 1fr}.f-wide,.f-phone{grid-column:1/-1}}
@media (min-width:1040px){.est-grid{grid-template-columns:.7fr 1.3fr;gap:3rem}}
.f{display:grid;gap:.35rem}
.f span{font:600 .98rem/1.2 var(--hd);letter-spacing:.02em}
.f input,.f select,.f textarea{font:400 16px/1.4 var(--tx);padding:.75rem .8rem;border:1px solid #9aa8b6;border-radius:3px;background:#fff;color:var(--ink);width:100%;min-height:48px}
textarea{field-sizing:content;min-block-size:3lh;max-block-size:12lh;resize:vertical}
.f-phone{display:grid;gap:.6rem}
.consent{display:grid;grid-template-columns:auto 1fr;gap:.6rem;font-size:.92rem;line-height:1.45;align-items:start}
.consent input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--green)}
.est .consent{color:#d4dde6}.est .consent a{color:#a9e3c2}
.est .btn-go{background:#46b07a;color:#0f1a14}.est .btn-go:hover{background:#fff;color:var(--slate)}
.full-form .consent{color:var(--ink-2)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.contact-doc .prose{max-width:none}
.full-form{background:var(--panel);border:1px solid var(--line);padding:1.25rem}
/* footer */
.ft{background:#121a23;color:#c9d3dd;padding:3rem 0 1.5rem;font-size:.98rem}
.ft a{color:#e7edf3}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:.35rem 0}
.ft-grid{display:grid;gap:2rem}
@media (min-width:860px){.ft-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.ft-brand{font:800 1.3rem/1 var(--hd);color:#fff}
.ft-h{font:500 .92rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#8fd6ae}
.ft-base{border-top:1px solid #2a3846;margin-top:2rem;padding-top:1rem}
.ft-base p{margin:0;font-size:.92rem}
/* call bar, only when a phone is set */
.callbar{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;z-index:6}
.callbar a{display:flex;align-items:center;justify-content:center;min-height:54px;font:700 1.05rem/1 var(--hd);text-decoration:none}
.callbar a:first-child{background:var(--green-ink);color:#fff}.callbar a:last-child{background:var(--slate);color:#fff}
@media (min-width:1040px){.callbar{display:none}}
/* reading progress on guides */
@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){
.progress{position:fixed;inset:0 0 auto;height:4px;background:var(--green);transform-origin:left;z-index:30;animation:grow linear both;animation-timeline:scroll(root)}
@keyframes grow{from{scale:0 1}to{scale:1 1}}}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
