/* Vertic Tree Works — brand palette from the logo: charcoal, cream, orange.
   One loud thing (the phone number); everything else quiet. */
/* Self-hosted fonts (SIL Open Font License) */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/montserrat-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-latin-600-normal.woff2) format("woff2")}
:root{
  /* Brand, sampled from the Vertic logo */
  --char:#1f272a; --char-2:#2b3437; --char-3:#161c1e;
  --orange:#df7332; --orange-dk:#b4531c; --cream:#e7d5b1; --cream-soft:#d8d1c3;
  --ink:#23292b; --muted:#5d6563; --paper:#faf6ee; --line:#e3dccd; --white:#fff;
  --storm:#b3261e;
  --head:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --wrap:72rem; --r:6px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.6 var(--body);color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange-dk);text-underline-offset:.15em}
a:hover{color:var(--char)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
h1,h2,h3{font-family:var(--head);line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;color:var(--char)}
h1{font-weight:800;font-size:clamp(2rem,4.8vw,3.1rem)}
h2{font-weight:700;font-size:clamp(1.45rem,3vw,2rem)}
h3{font-weight:700;font-size:1.15rem}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.narrow{max-width:46rem}
.small{font-size:.92rem;color:var(--muted)}
.mt{margin-top:2.5rem}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:var(--char);padding:.5rem 1rem;z-index:99}
.skip:focus{left:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.1rem;border-radius:var(--r);
  font:700 1rem/1.15 var(--head);letter-spacing:.01em;text-decoration:none;border:2px solid transparent;white-space:nowrap;cursor:pointer}
.btn--go{background:var(--orange);color:var(--char);border-color:var(--orange)}
.btn--go:hover{background:#ea8747;border-color:#ea8747;color:var(--char)}
.btn--call{background:var(--char);color:var(--cream)}
.btn--call:hover{background:var(--char-2);color:var(--cream)}
.btn--ghost{border-color:var(--char);color:var(--char);background:transparent}
.btn--ghost:hover{background:var(--char);color:var(--cream)}
.btn--ghost-light{border-color:rgba(231,213,177,.75);color:var(--cream)}
.btn--ghost-light:hover{background:var(--cream);color:var(--char)}
.btn--xl{font-size:1.1rem;padding:.8rem 1.4rem;white-space:normal;text-align:center}
.btn--huge{font-size:clamp(1.35rem,5.4vw,2rem);color:var(--white);padding:1rem 1.6rem;background:var(--storm);margin:.5rem 0 1rem}
.btn--huge:hover{background:#8f1d17}
.btn:disabled{opacity:.6;cursor:wait}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0}

/* Header */
.masthead{position:sticky;top:0;z-index:50;background:var(--char)}
.masthead__row{display:flex;align-items:center;gap:1rem;min-height:68px}
.logo{display:block;flex:none;line-height:0}
.logo img{height:46px;width:auto}
.nav{display:flex;gap:1.1rem;margin-left:auto}
.nav a{font:600 .95rem var(--head);color:var(--cream);text-decoration:none;padding:.3rem 0;border-bottom:3px solid transparent;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--orange)}
.masthead__actions{display:flex;gap:.5rem}
.masthead .btn--call{background:transparent;border-color:rgba(231,213,177,.55);color:var(--cream)}
.masthead .btn--call:hover{background:var(--cream);color:var(--char)}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font:700 .95rem var(--head);color:var(--cream);padding:.6rem .7rem;border:2px solid rgba(231,213,177,.4);border-radius:var(--r);min-height:44px;display:flex;align-items:center}
.menu summary::-webkit-details-marker{display:none}
.menu__panel{position:absolute;right:0;max-width:calc(100vw - 2.5rem);top:calc(100% + .5rem);background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:.5rem;min-width:14rem;display:grid;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.menu__panel a{padding:.6rem .75rem;text-decoration:none;color:var(--ink);font-weight:500}
.menu__panel a:hover{background:var(--paper)}
.trustbar{margin:0;max-width:none;background:var(--char-2);color:var(--cream-soft);font-size:.85rem;text-align:center;padding:.3rem 1rem}
.crumbs{font-size:.88rem;color:var(--muted);padding-top:1rem}
.crumbs a{color:var(--muted)}

@media (max-width:1180px){ .nav{display:none} .menu{display:block} .masthead__actions{margin-left:auto} }
@media (max-width:700px){ .hide-sm{display:none} }
@media (max-width:560px){
  .logo img{height:36px;width:auto}
  .masthead__row{gap:.5rem}
  .masthead__actions{gap:.4rem}
  .masthead__actions .btn{padding:.45rem .6rem;font-size:.85rem}
  .menu summary{padding:.45rem .5rem;font-size:.85rem}
}
@media (max-width:350px){
  .masthead .wrap{padding:0 .75rem}
  .masthead__actions .btn,.menu summary{padding:.4rem .45rem;font-size:.8rem}
}

/* Hero — the one loud moment */
.hero{background:var(--char);color:var(--cream-soft);border-top:1px solid #333d40;padding:clamp(2.5rem,7vw,5rem) 0}
.hero h1{color:var(--cream);font-size:clamp(2.1rem,5.6vw,3.9rem);max-width:15ch}
.hero__sub{font-size:1.2rem;color:var(--cream-soft)}
.hero__trust{font-size:.95rem;color:#a9a597;margin-top:.5rem}
.hero__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:3rem;align-items:center}
.doorpanel{display:block;text-decoration:none;color:var(--orange);border:3px solid var(--orange);border-radius:10px;padding:1.5rem 1.6rem}
.doorpanel:hover{background:rgba(223,115,50,.08);color:var(--orange)}
.doorpanel__label{display:block;font:600 1.1rem var(--head);color:var(--cream)}
.doorpanel__num{display:block;font:800 clamp(1.5rem,3vw,2.6rem)/1 var(--head);letter-spacing:-.01em;margin:.35rem 0 .6rem;white-space:nowrap}
.doorpanel__foot{display:block;color:var(--cream-soft);font-size:1rem}
@media (max-width:800px){ .hero__grid{grid-template-columns:1fr;gap:1.5rem} .doorpanel__num{font-size:clamp(1.4rem,7vw,2.6rem)} }

/* Sections */
.section{padding:clamp(2.5rem,6vw,4rem) 0}
.section--tint{background:var(--paper)}
.lede{font-size:1.15rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media (max-width:760px){ .split{grid-template-columns:1fr} }

.pagehead{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line)}
.pagehead__trust{color:var(--muted);font-size:.95rem;margin:0}
.pagehead--storm{background:#fbeeed;border-bottom-color:#efc9c6}
.pagehead--storm h1{color:var(--storm)}
.pagehead__hours{font-weight:600}
.pagehead__secondary{color:var(--muted)}

/* Services list — rows with a working edge, not floating cards */
.services{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:1rem}
/* 3 cards on the first row, 2 equal cards on the second — never a lone card.
   Six columns: each card spans 2; with exactly 5 cards, cards 4–5 span 3. */
@media (min-width:700px){
  .services{grid-template-columns:repeat(6,1fr)}
  .services__item{grid-column:span 2}
  .services__item:first-child:nth-last-child(5) ~ .services__item:nth-child(n+4){grid-column:span 3}
  .services__item:first-child:nth-last-child(4),
  .services__item:first-child:nth-last-child(4) ~ .services__item{grid-column:span 3}
}
.services__item a{display:block;height:100%;padding:1.1rem 1.2rem 1.2rem;border-left:5px solid var(--orange);background:var(--paper);text-decoration:none;color:var(--ink)}
.services__item a:hover{background:#f3ecde}
.services__item h2,.services__item h3{margin:0 0 .35rem;font-size:1.2rem}
.services__item p{margin:0 0 .6rem}
.services__item--storm a{border-left-color:var(--storm)}
.more{font:700 .92rem var(--head);color:var(--orange-dk);text-decoration:underline;text-underline-offset:.15em}
.services--hub .services__item a{background:var(--white);border:1px solid var(--line);border-left-width:5px}

.ticks{list-style:none;padding:0;margin:0 0 1rem}
.ticks li{padding:.35rem 0 .35rem 1.6rem;position:relative}
.ticks li::before{content:"";position:absolute;left:.1rem;top:.85em;width:.8rem;height:.35rem;border-left:3px solid var(--orange-dk);border-bottom:3px solid var(--orange-dk);transform:translateY(-60%) rotate(-45deg)}
.ticks--warn li::before{border:none;width:.55rem;height:.55rem;background:var(--orange);transform:translateY(-50%);border-radius:1px;top:.95em}
.ticks--no li::before{border:none;content:"×";font:700 1.2rem/1 var(--body);color:var(--storm);transform:none;top:.4rem;width:auto;height:auto}
.note{background:var(--paper);border-left:4px solid var(--orange);padding:.8rem 1rem}
.section--tint .note{background:var(--white)}
.note--storm{border-left-color:var(--storm)}
.policy{border-left:6px solid var(--storm);padding-left:1.5rem}
.links{list-style:none;padding:0;margin:0}
.links li{padding:.3rem 0}

/* Process — a real sequence, so it's numbered */
.steps{list-style:none;counter-reset:s;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem}
.steps li{counter-increment:s;border-top:3px solid var(--char);padding-top:.9rem}
.steps li::before{content:counter(s);display:block;font:800 2.2rem/1 var(--head);color:var(--orange);margin-bottom:.3rem}
.steps h3{margin-bottom:.3rem}
.steps p{margin:0}

.cities{list-style:none;padding:0;margin:1rem 0;display:flex;flex-wrap:wrap;gap:.5rem}
.cities a{display:inline-block;padding:.45rem .85rem;border:2px solid var(--char);border-radius:999px;text-decoration:none;font:600 .92rem var(--head);color:var(--char)}
.cities a:hover{background:var(--char);color:var(--cream)}
.areahub{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}
.areahub a{display:block;padding:1.2rem;border:1px solid var(--line);border-top:5px solid var(--orange);text-decoration:none;color:var(--ink)}
.areahub a:hover{background:var(--paper)}
.areahub h2{margin:0 0 .2rem}
.areahub p{margin:0;color:var(--muted)}
.places{font-weight:500}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:.2rem 0}
.faq summary{cursor:pointer;font:700 1.02rem/1.35 var(--head);color:var(--char);padding:.8rem 2rem .8rem 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:.55rem;font-size:1.5rem;color:var(--orange)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 1rem}

/* CTA band */
.band--cta{background:var(--char);color:var(--cream-soft);padding:clamp(2.5rem,6vw,3.5rem) 0}
.band--cta h2{color:var(--cream)}
.band--cta p{color:var(--cream-soft)}
.band--cta a:not(.btn){color:var(--orange)}
.band--cta .btn--ghost{border-color:rgba(231,213,177,.75);color:var(--cream)}
.band--cta .btn--ghost:hover{background:var(--cream);color:var(--char)}
.band--cta .btn--call{background:var(--storm);color:var(--white)}
.band__small{font-size:.92rem;margin:0}

/* Reviews / gallery */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}
.reviews blockquote{margin:0;background:var(--white);padding:1.2rem;border-left:4px solid var(--orange)}
.reviews footer{font-weight:600;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin-bottom:2rem}
.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.empty{max-width:40rem;padding:1.5rem;border:2px dashed var(--line);border-radius:var(--r)}
.coverage{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}
.coverage dt{font-weight:600}
.coverage dd{margin:0}
.plain{padding-left:1.25rem}
.plain li{padding:.2rem 0}

/* Contact */
.urgent{background:#fbeeed;border-left:4px solid var(--storm);padding:.75rem 1rem;max-width:40rem}
.urgent a{color:var(--storm);font-weight:700}
.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start}
@media (max-width:820px){ .contact-grid{grid-template-columns:1fr} }
.estimate{display:grid;gap:1rem}
.field{display:grid;gap:.3rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){ .field-row{grid-template-columns:1fr} }
.field label{font-weight:600}
.opt{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;color:inherit;padding:.65rem .75rem;border:2px solid var(--line);border-radius:var(--r);background:var(--white);width:100%;min-height:44px}
input:focus,select:focus,textarea:focus{border-color:var(--char);outline:none;box-shadow:0 0 0 3px rgba(223,115,50,.45)}
.field--check{display:flex;gap:.6rem;align-items:flex-start;grid-template-columns:none}
.field--check input{width:1.3rem;height:1.3rem;min-height:0;margin-top:.2rem;flex:none}
.hp{position:absolute;left:-9999px}
.form-error{color:var(--storm);font-weight:600}
.contact-aside{background:var(--paper);padding:1.5rem;border-top:5px solid var(--orange)}
.bigphone{font:800 1.8rem/1.1 var(--head);text-decoration:none;color:var(--char)}

/* Footer */
.footer{background:var(--char-3);color:var(--cream-soft);padding:3rem 0 1.5rem;font-size:.95rem}
.footer a{color:var(--cream)}
.footer h2{color:var(--cream);font-size:1rem}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{padding:.2rem 0}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:760px){ .footer__grid{grid-template-columns:1fr 1fr} }
.footer__logo{width:150px;height:auto;margin:0 0 1rem}
.footer__phone{font:800 1.35rem var(--head);text-decoration:none;color:var(--orange)!important}
.footer__trust{color:#9d998e}
.footer__legal{border-top:1px solid #2e3639;margin-top:2rem;padding-top:1rem;color:#8c897f;max-width:none}

@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} }

/* Google reviews */
.review{margin:0;display:flex;flex-direction:column;gap:.5rem}
.review__stars{display:flex;gap:2px;color:#e7a521}
.review footer{font-size:.9rem;color:var(--muted,#6b6357)}
.review footer a,.review p a{color:inherit}
.reviews__attr{margin-top:1rem;font-size:.9rem;color:var(--muted,#6b6357)}
