/* Tree Service Beaverton. Site stylesheet.
   Tokens: vellum page, fir panels, hi-vis actions. Type: Barlow Condensed (display) + Barlow (text), self-hosted. */

@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/assets/fonts/barlow-condensed-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/assets/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/assets/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --vellum:#EEF2EC; --paper:#FAFCF8; --fir:#12382C; --fir-2:#1D4D3C; --canopy:#2F6B4F; --link:#1F5C44;
  --wash:#D5E4D8; --line:#C3D1C6; --ink:#1B2622; --muted:#4A5B53; --hivis:#D9F24B; --signal:#C73E1D;
  --on-fir:#EEF2EC; --on-fir-muted:#B5CBBD; --fir-line:#2C5A48;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --text:"Barlow",Arial,Helvetica,sans-serif;
  --wrap:1180px; --gut:clamp(20px,4vw,40px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--vellum);color:var(--ink);font-family:var(--text);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration-thickness:.16em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--fir);outline-offset:3px;border-radius:4px}
.on-fir :focus-visible,.site-footer :focus-visible,.alertbar :focus-visible{outline-color:var(--hivis)}
.skip{position:absolute;left:12px;top:-60px;background:var(--hivis);color:var(--fir);padding:10px 14px;border-radius:8px;font-weight:600;z-index:100}
.skip:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tel{white-space:nowrap}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}

/* Type */
.h1,.h2{font-family:var(--display);font-weight:600;color:var(--fir);letter-spacing:-.005em}
.h1{font-size:clamp(2.75rem,6.4vw,4.75rem);line-height:.96}
.h2{font-size:clamp(2.1rem,3.8vw,3rem);line-height:1.02}
.h3{font-family:var(--text);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--fir)}
.lede{font-size:clamp(1.2rem,1.6vw,1.375rem);line-height:1.5;max-width:34em}
.prose>*+*{margin-top:1em}
.prose{max-width:41em}
.small{font-size:1rem;line-height:1.5;color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:.6em 1.25em;border:2px solid var(--fir);border-radius:10px;font-family:var(--text);font-weight:600;font-size:1.0625rem;line-height:1.1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}
.btn-primary{background:var(--hivis);color:var(--fir);box-shadow:4px 4px 0 var(--fir)}
.btn-primary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--fir)}
.btn-ghost{background:transparent;color:var(--fir)}
.btn-ghost:hover{background:var(--wash)}
.on-fir .btn{border-color:var(--hivis)}
.on-fir .btn-primary{box-shadow:4px 4px 0 #0A241C;border-color:var(--hivis)}
.on-fir .btn-primary:hover{box-shadow:2px 2px 0 #0A241C}
.on-fir .btn-ghost{color:var(--on-fir);border-color:var(--on-fir-muted)}
.on-fir .btn-ghost:hover{background:var(--fir-2)}
.btn svg{width:1.1em;height:1.1em;flex:none}

/* Alert bar + header */
.alertbar{background:var(--fir);color:var(--on-fir);font-size:1rem;line-height:1.35}
.alertbar .wrap{display:flex;gap:.6em;align-items:center;justify-content:center;padding-block:9px;text-align:center}
.alertbar a{color:var(--hivis);font-weight:600}
.alertbar .ab-short{display:none}
@media (max-width:480px){.alertbar .ab-long{display:none}.alertbar .ab-short{display:inline}}
.alertbar .dot{width:9px;height:9px;border-radius:50%;background:var(--signal);flex:none;box-shadow:0 0 0 3px rgba(199,62,29,.35)}
.site-header{background:var(--vellum);border-bottom:1px solid var(--line);position:relative;z-index:40}
.header-in{display:flex;align-items:center;gap:20px;min-height:76px}
.brand{display:block;flex:none;line-height:0}
.brand img{height:46px;width:auto}
.nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:2px}
.nav-list>li{position:relative}
.nav-link,.nav-btn{display:inline-flex;align-items:center;gap:.35em;padding:10px 13px;border:0;background:none;border-radius:8px;font-weight:500;font-size:1.0625rem;color:var(--fir);text-decoration:none;cursor:pointer}
.nav-link:hover,.nav-btn:hover,.nav-btn[aria-expanded="true"]{background:var(--wash)}
.nav-btn .chev{width:.7em;height:.7em;transition:transform .15s ease}
.nav-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.sub{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--fir);border-radius:4px 4px 12px 12px;padding:10px;box-shadow:0 18px 40px -18px rgba(18,56,44,.45)}
.sub.is-wide{min-width:560px}
.nav-btn[aria-expanded="true"]+.sub{display:block}
.sub-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.sub-head{font-size:.9375rem;font-weight:600;color:var(--muted);padding:8px 12px 4px}
.sub a{display:block;padding:8px 12px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:1.0625rem;line-height:1.3}
.sub a:hover{background:var(--wash);color:var(--fir)}
.sub .sub-all{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 6px 6px;padding-top:12px;font-weight:600;color:var(--link)}
.header-call{flex:none}
.nav-toggle{display:none;margin-left:auto;align-items:center;gap:.5em;min-height:46px;padding:8px 14px;border:2px solid var(--fir);border-radius:10px;background:transparent;font-weight:600;color:var(--fir);cursor:pointer}
.nav-toggle svg{width:22px;height:22px}
.nav-toggle .x{display:none}
.nav-toggle[aria-expanded="true"] .x{display:block}
.nav-toggle[aria-expanded="true"] .bars{display:none}

@media (min-width:1000px){
  .site-header{position:sticky;top:0}
}
@media (max-width:1180px) and (min-width:1000px){
  .nav-link,.nav-btn{padding:10px 9px;font-size:1rem}
  .brand img{height:42px}
}
@media (max-width:999px){
  .header-in{min-height:66px}
  .brand img{height:40px}
  .nav-toggle{display:inline-flex}
  .header-call{display:none}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -24px rgba(18,56,44,.5);max-height:calc(100vh - 110px);overflow:auto}
  .nav.is-open{display:block}
  .nav-list{display:block;padding:10px var(--gut) 20px}
  .nav-list>li{border-bottom:1px solid var(--line)}
  .nav-link,.nav-btn{width:100%;justify-content:space-between;padding:15px 4px;font-size:1.1875rem;border-radius:0}
  .nav-link:hover,.nav-btn:hover,.nav-btn[aria-expanded="true"]{background:none}
  .sub,.sub.is-wide{position:static;min-width:0;border:0;box-shadow:none;background:none;padding:0 0 12px}
  .sub-cols{grid-template-columns:1fr}
  .sub a{padding:10px 8px}
}

/* Bands */
.band{padding-block:clamp(56px,8vw,104px)}
.band-tight{padding-block:clamp(40px,6vw,72px)}
.band-paper{background:var(--paper);border-block:1px solid var(--line)}
.on-fir{background:var(--fir);color:var(--on-fir)}
.on-fir .h2,.on-fir .h3{color:var(--on-fir)}
.on-fir a{color:var(--hivis)}
.on-fir .small{color:var(--on-fir-muted)}
.ledger{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.ledger>*{min-width:0}
@media (min-width:960px){
  .ledger{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px}
  .ledger-head{position:sticky;top:112px;align-self:start}
}
.ledger-head .small{margin-top:14px;max-width:24em}

/* Hero */
.hero{padding-block:clamp(36px,5vw,72px) clamp(48px,6vw,88px)}
.hero-grid{display:grid;gap:36px;align-items:start}
@media (min-width:1000px){.hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px}}
.hero-copy .lede,.hero .lede{margin-top:22px}
.cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
.hero-facts{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:1rem;line-height:1.5;color:var(--muted);max-width:34em}
.hero-facts strong{color:var(--fir);font-weight:600}

/* Site plan */
.plan-figure{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:14px}
.plan-hint{font-size:1rem;color:var(--muted);padding:2px 4px 12px}
.plan-hint h2{display:inline;font:inherit;font-weight:600;color:var(--fir)}
.plan-stage{position:relative;line-height:0}
.plan-stage svg{width:100%;height:auto}
.plan-svg text{font-family:var(--text);font-size:12.5px;fill:#55675E}
@media (max-width:640px){.plan-svg .lbl-minor{display:none}.plan-svg .lbl-major text{font-size:21px;font-weight:500}}
.plan-svg .halo{opacity:0;transition:opacity .18s ease}
.plan[data-active="1"] #pt1 .halo,.plan[data-active="2"] #pt2 .halo,.plan[data-active="3"] #pt3 .halo,.plan[data-active="4"] #pt4 .halo,.plan[data-active="5"] #pt5 .halo{opacity:1}
.tag{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;line-height:1}
.tag svg{width:100%;height:100%;overflow:visible}
.tag .tag-shape{fill:var(--hivis);stroke:var(--fir);stroke-width:2.5}
.tag .tag-num{position:absolute;inset:9px 0 0;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--fir)}
.tag:hover .tag-shape{fill:#E8FA7E}
.tag[aria-pressed="true"] .tag-shape{fill:var(--fir)}
.tag[aria-pressed="true"] .tag-num{color:var(--hivis)}
.tag:focus-visible{outline-offset:1px}
.js .tag{animation:tag-in .42s cubic-bezier(.2,.9,.3,1.3) both}
.js .tag:nth-of-type(1){animation-delay:.25s}.js .tag:nth-of-type(2){animation-delay:.35s}.js .tag:nth-of-type(3){animation-delay:.45s}.js .tag:nth-of-type(4){animation-delay:.55s}.js .tag:nth-of-type(5){animation-delay:.65s}
@keyframes tag-in{from{opacity:0;transform:translate(-50%,-90%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.plan-readout{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--fir);border-radius:4px}
.plan-panel{padding:22px 24px 26px}
.plan-panel+.plan-panel{border-top:1px solid var(--line)}
.js .plan-panel{display:none;border-top:0}
.js .plan-panel.is-active{display:block}
.plan-panel .h3{display:flex;gap:14px;align-items:baseline;font-size:1.375rem}
.plan-panel .num{font-family:var(--display);font-weight:700;font-size:2.5rem;line-height:.9;color:var(--canopy);flex:none}
.plan-panel p{font-size:1.0625rem;line-height:1.6}
.plan-panel>p,.plan-rule{margin-top:12px}
.plan-rule .rule{color:var(--muted)}
.plan-rule .more{margin-top:12px;font-weight:600}
@media (max-width:520px){.tag{width:38px;height:38px}.tag .tag-num{font-size:1.15rem;inset:8px 0 0}}
@media (min-width:1000px){
  .hero-grid{grid-template-areas:"copy figure" "readout readout";row-gap:32px}
  .hero-copy{grid-area:copy}
  .plan{display:contents}
  .plan-figure{grid-area:figure}
  .plan-readout{grid-area:readout;margin-top:0}
  .plan-panel,.js .plan-panel.is-active{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:44px;padding:28px 32px 30px}
  .js .plan-panel:not(.is-active){display:none}
  .plan-panel>p,.plan-rule{margin-top:0}
  .plan-panel .h3{font-size:1.5rem;line-height:1.2}
}

/* Services */
.svc{display:grid;gap:18px 28px;padding-block:28px;border-top:1px solid var(--line)}
.svc:first-child{border-top:0;padding-top:0}
.svc:last-child{padding-bottom:0}
.svc img{width:100%;max-width:300px;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:var(--wash)}
.svc p{margin-top:8px;max-width:36em}
.svc .more{margin-top:12px;font-weight:600}
.svc .h3{font-size:1.5rem;font-family:var(--display);font-weight:600;letter-spacing:0}
.svc .h3 a{color:var(--fir);text-decoration:none}
.svc .h3 a:hover{text-decoration:underline;text-decoration-thickness:.08em}
@media (max-width:639px){.svc{grid-template-columns:104px minmax(0,1fr);gap:4px 16px;align-items:center}.svc>div{display:contents}.svc .h3{grid-column:2}.svc p{grid-column:1/-1}.svc img{max-width:104px}}
@media (min-width:640px){.svc{grid-template-columns:200px minmax(0,1fr);align-items:start}}
@media (min-width:1100px){.svc{grid-template-columns:240px minmax(0,1fr)}}

/* Local watch */
.watch{display:grid;gap:40px;margin-top:44px}
@media (min-width:900px){.watch{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}}
.watch-item{border-top:3px solid var(--hivis);padding-top:20px}
.watch-item p{margin-top:12px;font-size:1.0625rem;line-height:1.6;color:#DCE7DF}
.watch-item .when{display:block;font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--hivis);margin-bottom:6px}
.watch-intro{max-width:40em;margin-top:18px;color:#DCE7DF}

/* Permit checker */
.checker{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:clamp(20px,3vw,32px)}
.checker-fields{display:grid;gap:20px}
@media (min-width:720px){.checker-fields{grid-template-columns:1fr 1fr}}
.field label,.field .label{display:block;font-weight:600;color:var(--fir);margin-bottom:8px;font-size:1.0625rem}
.field select,.field input,.field textarea{width:100%;min-height:52px;padding:12px 14px;border:2px solid var(--fir);border-radius:8px;background:#fff;font-size:1.0625rem;line-height:1.35}
.field textarea{min-height:132px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2312382C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;padding-right:40px}
.checker-out{margin-top:24px;border-top:1px solid var(--line);padding-top:8px}
.verdict{padding-top:16px}
.verdict+.verdict{margin-top:16px;border-top:1px solid var(--line)}
.js .verdict{display:none;border-top:0;margin-top:0}
.js .verdict.is-on{display:block}
.verdict .answer{font-family:var(--display);font-weight:600;font-size:1.75rem;line-height:1.1;color:var(--fir)}
.verdict p{margin-top:12px;max-width:40em}
.extra{margin-top:16px;padding:14px 16px;background:var(--wash);border-left:4px solid var(--canopy);border-radius:0 6px 6px 0;font-size:1.0625rem}
.extra+.extra{margin-top:10px}
.js .extra{display:none}
.js .extra.is-on{display:block}
.checker-note{margin-top:20px;font-size:1rem;color:var(--muted);max-width:44em}

/* Steps */
.steps{counter-reset:step}
.steps li{counter-increment:step;display:grid;grid-template-columns:54px minmax(0,1fr);gap:4px 14px;padding-block:22px;border-top:1px solid var(--line)}
.steps li:first-child{border-top:0;padding-top:0}
.steps li::before{content:counter(step);font-family:var(--display);font-weight:700;font-size:2.5rem;line-height:.9;color:var(--canopy)}
.steps .h3,.steps p{grid-column:2}
.steps p{margin-top:6px;max-width:38em}
.photo{margin-top:26px}
.photo img{width:100%;border-radius:6px;background:var(--wash);aspect-ratio:3/2;object-fit:cover}

/* Areas */
.areas{display:grid;gap:36px}
@media (min-width:720px){.areas{grid-template-columns:1fr 1fr;gap:48px}}
.areas .h3{padding-bottom:10px;border-bottom:2px solid var(--fir)}
.area-list{columns:1}
.area-list li{border-bottom:1px solid var(--line)}
.area-list a{display:block;padding:11px 2px;text-decoration:none;color:var(--ink);font-weight:500}
.area-list a:hover{color:var(--link);text-decoration:underline}
.area-note{margin-top:32px}

/* Founder */
.founder{display:grid;gap:32px;align-items:start}
@media (min-width:820px){.founder{grid-template-columns:280px minmax(0,1fr);gap:56px}}
.founder picture{display:block}
.founder img{width:100%;max-width:280px;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:var(--wash)}
.founder blockquote{margin:0}
.founder blockquote p{font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.55;max-width:34em}
.founder blockquote p+p{margin-top:1em}
.founder .sig{margin-top:22px;font-weight:600;color:var(--fir)}
.founder .sig span{display:block;font-weight:400;color:var(--muted);font-size:1rem}

/* FAQ */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 2px;font-weight:600;font-size:1.1875rem;line-height:1.35;color:var(--fir)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:2.5px solid var(--fir);border-bottom:2.5px solid var(--fir);transform:rotate(45deg) translate(-3px,-3px);transition:transform .15s ease}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.faq .a{padding:0 2px 22px;max-width:40em}

/* Estimate */
.estimate-grid{display:grid;gap:44px}
@media (min-width:960px){.estimate-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px}}
.form-grid{display:grid;gap:18px;margin-top:30px}
@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}
.on-fir .field label{color:var(--on-fir)}
.on-fir .field label .opt{font-weight:400;color:var(--on-fir-muted)}
.on-fir .field select,.on-fir .field input,.on-fir .field textarea{border-color:#fff;color:var(--ink)}
.on-fir .field select:focus-visible,.on-fir .field input:focus-visible,.on-fir .field textarea:focus-visible{outline:3px solid var(--hivis);outline-offset:2px}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.consent{font-size:1rem;line-height:1.5;color:#DCE7DF}
.consent a{color:var(--hivis)}
.form-status{margin-top:4px;font-weight:600;font-size:1.0625rem;min-height:1.6em}
.form-status.is-ok{color:var(--hivis)}
.form-status.is-err{color:#FFC9B8}
.contact-facts{border-top:3px solid var(--hivis);padding-top:22px}
.contact-facts .bigtel{display:inline-block;font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,4vw,3.1rem);line-height:1;color:var(--hivis);text-decoration:none;white-space:nowrap}
.contact-facts .bigtel:hover{text-decoration:underline;text-decoration-thickness:3px}
.contact-facts dl{margin-top:26px;display:grid;gap:18px}
.contact-facts dt{font-weight:600;color:var(--on-fir)}
.contact-facts dd{color:#DCE7DF}

/* Footer */
.site-footer{background:#0D2B22;color:#DCE7DF;padding-block:64px 28px;font-size:1.0625rem}
.footer-grid{display:grid;gap:40px}
@media (min-width:700px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.footer-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:48px}}
.site-footer .f-logo img{height:50px;width:auto}
.site-footer address{font-style:normal;margin-top:20px;line-height:1.6}
.site-footer address a{color:#fff}
.site-footer .f-tel{display:inline-block;margin-top:8px;font-family:var(--display);font-weight:700;font-size:1.9rem;line-height:1.1;color:var(--hivis);text-decoration:none;white-space:nowrap}
.site-footer .f-meta{margin-top:14px;color:var(--on-fir-muted);font-size:1rem;line-height:1.55}
.f-head{font-family:var(--display);font-weight:600;font-size:1.4rem;color:#fff;margin-bottom:10px}
.f-list a{display:block;padding:6px 0;color:#DCE7DF;text-decoration:none}
.f-list a:hover{color:var(--hivis);text-decoration:underline}
.f-legal{margin-top:48px;padding-top:22px;border-top:1px solid var(--fir-line);display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;font-size:1rem;color:var(--on-fir-muted)}
.f-legal ul{display:flex;flex-wrap:wrap;gap:6px 22px}
.f-legal a{color:var(--on-fir-muted)}
.f-legal a:hover{color:var(--hivis)}

/* Mobile call bar */
.callbar{display:none}
@media (max-width:999px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--fir);border-top:1px solid var(--fir-line)}
  .callbar .btn{min-height:54px;padding-inline:.5em;font-size:1.0625rem;box-shadow:none;border-color:var(--hivis)}
  .callbar .btn-ghost{color:var(--on-fir);border-color:var(--on-fir-muted)}
}

/* Service pages */
.crumbs{font-size:1rem;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--muted)}
.crumbs .sep{margin:0 .45em}
.byline{display:flex;align-items:center;gap:12px;margin-top:26px;font-size:1rem;line-height:1.4;color:var(--muted)}
.byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.byline strong{color:var(--fir);font-weight:600}
.prose h3{margin-top:1.7em}
.prose h3+p{margin-top:.5em}
.prose ul,.prose ol{padding-left:1.25em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--canopy);font-weight:600}
.callout{margin-top:28px;padding:20px 22px 22px;background:var(--wash);border-left:5px solid var(--canopy);border-radius:0 6px 6px 0;max-width:41em}
.callout .h3{margin-bottom:8px}
.callout p+p{margin-top:.8em}
.band-paper .callout{background:var(--vellum)}
.figure{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:14px}
.band-paper .figure{background:#fff}
.figure+.prose,.switcher+.prose,.plan-inline+.prose{margin-top:28px}
.prose+.figure,.prose+.switcher,.prose+.plan-inline{margin-top:28px}
.figcap{font-size:1rem;line-height:1.5;color:var(--muted);padding:12px 4px 2px;max-width:46em}
.viz{width:100%;height:auto;display:block}
.viz text{font-family:var(--text);font-size:15px;fill:#3C4D45}
.viz .t-halo{paint-order:stroke;stroke:#CFE0C9;stroke-width:5px;stroke-linejoin:round}
.legend-m{display:none;font-size:1rem;line-height:1.5;color:var(--ink);padding:10px 4px 0}
.legend-m li{display:flex;gap:10px;align-items:baseline}
.legend-m li+li{margin-top:4px}
.legend-m i{flex:none;width:14px;height:14px;border:2px solid;border-radius:2px;transform:translateY(2px)}
@media (max-width:640px){.viz text:not(.keep){display:none!important}.viz text.keep{font-size:21px}.viz .legend-svg{display:none}.legend-m{display:block}}
.viz .t-strong{font-weight:600;fill:#12382C}
.viz .t-warn{font-weight:600;fill:#A33216}
.viz .halo{opacity:0;transition:opacity .18s ease}
.plan[data-active="1"] .pt1 .halo,.plan[data-active="2"] .pt2 .halo,.plan[data-active="3"] .pt3 .halo,.plan[data-active="4"] .pt4 .halo,.plan[data-active="5"] .pt5 .halo,.plan[data-active="6"] .pt6 .halo{opacity:1}
.js .tag:nth-of-type(6){animation-delay:.75s}
.sw-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 14px}
.sw-tab{min-height:44px;padding:8px 15px;border:2px solid var(--fir);border-radius:999px;background:transparent;color:var(--fir);font-weight:600;font-size:1rem;line-height:1.2;cursor:pointer}
.sw-tab:hover{background:var(--wash)}
.sw-tab[aria-pressed="true"]{background:var(--fir);color:var(--hivis)}
.sw-panels{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--fir);border-radius:4px}
.band-paper .sw-panels{background:#fff}
.sw-panel{padding:20px 24px 24px}
.sw-panel+.sw-panel{border-top:1px solid var(--line)}
.sw-panel .h3{margin-bottom:8px}
.sw-panel p{font-size:1.0625rem;line-height:1.6;max-width:46em}
.sw-panel p+p,.sw-panel ul+p{margin-top:.7em}
.sw-panel ul{list-style:disc;padding-left:1.25em;font-size:1.0625rem;line-height:1.6;max-width:46em}
.sw-panel li+li{margin-top:.35em}
.plan-panel p+p{margin-top:.7em}
.sw-panel .answer{font-family:var(--display);font-weight:600;font-size:1.6rem;line-height:1.1;color:var(--fir);margin-bottom:10px}
.js .switcher svg [data-layer]{display:none}
.js .switcher svg [data-layer].is-on{display:inline}
.js .sw-panel{display:none;border-top:0}
.js .sw-panel.is-on{display:block}
html:not(.js) .switcher svg .alt{display:none}
html:not(.js) .sw-tabs,html:not(.js) .sw-pick{display:none}
.sw-pick{padding:2px 2px 4px;max-width:30em}
.plan-inline .plan-readout{margin-top:16px}
@media (min-width:1000px){
  .hero-grid>.switcher{display:contents}
  .hero-grid .sw-figure{grid-area:figure}
  .hero-grid .sw-panels{grid-area:readout;margin-top:0}
  .hero-grid .sw-panel,.js .hero-grid .sw-panel.is-on{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:44px;padding:26px 32px 30px}
  .js .hero-grid .sw-panel:not(.is-on){display:none}
  .hero-grid .sw-panel .h3{font-size:1.5rem;line-height:1.2;margin:0}
  .plan-inline .plan-panel,.js .plan-inline .plan-panel.is-active{display:block;padding:22px 24px 26px}
  .plan-inline .plan-panel>p,.plan-inline .plan-rule{margin-top:12px}
}
.related{display:grid;gap:0 48px}
@media (min-width:720px){.related{grid-template-columns:1fr 1fr}}

/* Service-area pages */
@media (min-width:900px){.watch.watch-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hero-figure{margin:0}
@media (min-width:1000px){.hero-grid .hero-figure{grid-area:figure}}
.locator .loc-road text{font-size:12px;fill:#6A7C73;font-style:italic;paint-order:stroke;stroke:#E6EDE3;stroke-width:4px}
.locator .loc-name{font-size:13.5px;fill:#3C4D45;paint-order:stroke;stroke:#E6EDE3;stroke-width:4px;stroke-linejoin:round}
.locator .loc-office{font-size:12px;font-weight:600;fill:#12382C;paint-order:stroke;stroke:#E6EDE3;stroke-width:4px}
.locator .loc-note{font-size:12px;fill:#6A7C73}
.locator .loc-cur{font-size:17px;font-weight:600;fill:#12382C;paint-order:stroke;stroke:#E6EDE3;stroke-width:5px;stroke-linejoin:round}
.locator .loc-dot{fill:#2F6B4F;stroke:#fff;stroke-width:2}
.locator a:hover .loc-dot,.locator a:focus .loc-dot{fill:#12382C;r:7.5}
.locator a:hover .loc-name,.locator a:focus .loc-name{fill:#12382C;font-weight:600;text-decoration:underline}
.locator a:focus{outline:none}
.locator a:focus-visible .loc-dot{stroke:#D9F24B;stroke-width:4}
.gmap{width:100%;aspect-ratio:16/10;border:0;display:block;background:var(--wash);border-radius:2px}
@media (max-width:640px){.gmap{aspect-ratio:4/3}.viz.locator text.loc-cur{font-size:24px}}

/* Guides */
.h1-guide{font-size:clamp(2.4rem,5vw,3.9rem)}
.tldr{padding:24px 26px 26px;border-top:4px solid var(--fir)}
.tldr ul{margin-top:14px;padding-left:1.2em;list-style:disc}
.tldr li{font-size:1.0625rem;line-height:1.5}
.tldr li+li{margin-top:.6em}
.tldr li::marker{color:var(--canopy)}
.tldr-cta{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-weight:500}
.cal-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cal{border-collapse:separate;border-spacing:3px;width:100%;min-width:640px;font-size:.9375rem;line-height:1.25}
.cal thead th{font-weight:600;color:var(--muted);padding:4px 0;text-align:center}
.cal thead th:first-child,.cal tbody th{text-align:left}
.cal tbody th{font-weight:500;color:var(--ink);padding:7px 10px 7px 2px;min-width:210px;position:sticky;left:0;background:var(--paper)}
.band-paper .cal tbody th{background:#fff}
.cal td{height:30px;min-width:30px;border-radius:3px}
.cal-b{background:#2F6B4F}.cal-o{background:#C9DDCB}.cal-x{background:#E7B8A8}
.cal-key{display:inline-block;width:14px;height:14px;border-radius:3px;margin:0 6px 0 14px;vertical-align:-2px}
.cal-key:first-child{margin-left:0}
.prose+.switcher,.prose+.plan-inline,.prose+.figure{margin-top:28px}

/* Company pages */
.toc a{display:block;padding:7px 0 7px 14px;border-left:3px solid var(--line);color:var(--ink);text-decoration:none;line-height:1.35;font-size:1.0625rem}
.toc a:hover{border-left-color:var(--fir);color:var(--link)}
.about-hero{display:grid;gap:32px;align-items:start}
@media (min-width:900px){.about-hero{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:64px}}
.about-hero picture{display:block}
.about-hero img{width:100%;max-width:340px;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:var(--wash)}
.about-hero figcaption{margin-top:10px;font-size:1rem;color:var(--muted)}
.faq-tools{max-width:34em;margin-bottom:34px}
.faq-group+.faq-group{margin-top:52px}
.faq-group>.h3{font-family:var(--display);font-size:1.6rem;font-weight:600;letter-spacing:0;margin-bottom:12px}
.faq-none{margin-top:18px;font-weight:500}
.contact-card{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--fir);border-radius:4px;padding:26px 28px 28px}
.contact-card .bigtel{display:inline-block;font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,4vw,3.1rem);line-height:1;color:var(--fir);text-decoration:none;white-space:nowrap}
.contact-card .bigtel:hover{text-decoration:underline;text-decoration-thickness:3px}
.contact-card dl{margin-top:22px;display:grid;gap:16px}
.contact-card dt{font-weight:600;color:var(--fir)}
.legal .prose h2{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1.15;color:var(--fir);margin-top:1.6em}
.legal .prose h2+p{margin-top:.5em}
.sitemap-cols{display:grid;gap:40px}
@media (min-width:760px){.sitemap-cols{grid-template-columns:1fr 1fr;gap:48px 64px}}
.sitemap-cols .h3{padding-bottom:10px;border-bottom:2px solid var(--fir)}

/* Simple page (thank-you, 404) */
.simple{padding-block:clamp(64px,10vw,140px)}
.simple .lede{margin-top:20px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{.alertbar,.site-header .nav,.nav-toggle,.callbar,.header-call{display:none!important}body{background:#fff;padding:0}}
