/* ============================================================
   v6-theme.css — sub-page layout utilities built strictly on the
   v6 design tokens & components. Use WITH v6.css (which supplies
   :root tokens, .container, .section, .head, .eyebrow, .v6h2,
   .v6card, .v6acc, .cta/.form, .v6btn, nav & footer).
   No recolored source CSS — everything here is v6-native.
   ============================================================ */

/* page canvas matches the v6 body */
.eapage{background:transparent;}

/* --- sub-page hero = v6 cream hero (.hero/.hero__inner from v6.css).
   Only override: allow long service/industry headlines to WRAP (v6's
   homepage sets h1{white-space:nowrap} for its short title). --- */
.eapage .hero h1{white-space:normal;max-width:24ch;margin-inline:auto;}
.eapage .hero h1 em{color:var(--gold-deep);font-style:italic;font-weight:600;}
.eapage .hero .eyebrow{margin-bottom:.4rem;}

/* --- section intro (eyebrow + h2 on the left, lead on the right) --- */
.v6intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.v6intro .v6h2{margin:.4rem 0 0;}
.v6intro__lead{font-size:1.05rem;color:var(--muted);line-height:1.7;}
@media(max-width:820px){.v6intro{grid-template-columns:1fr;}}

/* --- 3-up card grid of .v6card (services etc.) --- */
.v6cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.4rem;}
@media(max-width:900px){.v6cards{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.v6cards{grid-template-columns:1fr;}}
/* linked cards (hub "who we serve" sub-type cards) */
a.v6card--link{text-decoration:none;color:inherit;cursor:pointer;}
a.v6card--link:hover{transform:translateY(-4px);box-shadow:0 20px 44px -24px rgba(35,47,62,.45);border-color:var(--gold);}
.v6card__go{margin-top:auto;padding-top:.9rem;display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--disp);font-weight:700;font-size:.82rem;color:var(--gold-deep);text-decoration:none;}
a.v6card__go:hover{color:var(--gold);}
.v6card--hi .v6card__go{color:var(--gold);}

/* photo at the top of a card (placeholder or real image); bleeds to card edges */
.v6card__img{display:block;width:calc(100% + 3.2rem);margin:-1.7rem -1.6rem 1.3rem;
  aspect-ratio:16/10;object-fit:cover;border-radius:18px 18px 0 0;background:var(--cream-2);}

/* number chip for cards that use an index instead of an icon */
.v6card__num{width:44px;height:44px;border-radius:50%;background:var(--cream-2);
  color:var(--gold-deep);font-family:var(--disp);font-weight:800;font-size:.95rem;
  display:grid;place-items:center;margin-bottom:1.1rem;}
.v6card--hi .v6card__num{background:rgba(255,255,255,.15);color:var(--gold);}

/* --- numbered process steps on the navy band (4-up) --- */
.v6procband{background:var(--navy);}
.v6procband .eyebrow{color:var(--gold);}
.v6procband .v6h2{color:#fff;}
.v6steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:2.4rem;}
@media(max-width:820px){.v6steps{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.v6steps{grid-template-columns:1fr;}}
.v6steps .v6procstep{padding-left:1.4rem;border-left:1px solid rgba(255,255,255,.16);}
.v6steps .v6procstep b{font-family:var(--disp);font-weight:800;color:var(--gold);font-size:.9rem;letter-spacing:.02em;}
.v6steps .v6procstep h3{color:#fff;font-size:1.1rem;margin:.6rem 0 .5rem;}
.v6steps .v6procstep p{color:var(--paper-on-navy);font-size:.9rem;line-height:1.6;margin:0;}

/* --- two-column feature (media/panel + copy), like v6 Why Choose Us --- */
.v6feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center;}
@media(max-width:860px){.v6feature{grid-template-columns:1fr;}}
.v6panel{background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:1.8rem;box-shadow:0 24px 55px -34px rgba(35,47,62,.35);}
.v6panel__label{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-deep);font-weight:700;}
.v6panel__row{display:block;border-top:1px solid var(--line);padding:.85rem 0;
  font-size:.92rem;color:var(--navy);}
.v6panel__row:first-of-type{border-top:0;}

/* --- stat band (about: 35 / 15,000+ / <1% / nationwide) --- */
.v6statband{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.6rem;margin-top:2.4rem;}
.v6statband > div{padding-left:1.5rem;border-left:2px solid var(--gold);}
.v6statband b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(1.9rem,3.6vw,2.7rem);color:var(--navy);line-height:1;}
.v6statband span{display:block;margin-top:.55rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}

/* --- tag / item cloud (specialty items, project types) --- */
.v6tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;}
.v6tag{font-family:var(--disp);font-weight:600;font-size:.85rem;color:var(--navy);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.6rem 1.15rem;}
/* centered pill cloud with an optional forced row break (desktop only) */
.v6tags--center{justify-content:center;}
.v6tags__break{display:none;}
@media(min-width:721px){.v6tags--center .v6tags__break{display:block;flex-basis:100%;height:0;margin:0;}}

/* --- checklist (v6 Why-Choose-Us style, gold check) --- */
.v6list{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.85rem;}
.v6list li{display:grid;grid-template-columns:22px 1fr;gap:.7rem;align-items:start;
  font-size:.94rem;color:var(--navy);line-height:1.5;}
.v6list li::before{content:"";width:20px;height:20px;border-radius:50%;margin-top:.1rem;
  background:var(--gold-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A6536' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;}
.v6card__list{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.5rem;}
.v6card__list li{position:relative;padding-left:1.1rem;font-size:.85rem;color:var(--muted);line-height:1.45;}
.v6card__list li::before{content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;border-radius:50%;background:var(--gold);}

/* --- numbered panel rows (route / timeline panels) --- */
.v6panel__row i{font-style:normal;color:var(--gold-deep);font-weight:800;margin-right:.6rem;}

/* v6.css styles .field input/textarea but not select — match it */
.field select{width:100%;background:var(--white);border:1px solid var(--line);border-radius:8px;
  color:var(--navy);font-family:var(--font);font-size:.9rem;padding:.7rem .8rem;}
.field select:focus{outline:none;border-color:var(--gold);}
.cta__copy .v6h2{margin:.4rem 0 0;}
.cta__copy p{color:var(--muted);line-height:1.7;margin:1rem 0 0;}
.cta__copy a[href^="tel"]{color:var(--gold-deep);font-weight:700;}

/* real-review avatar initial (v6 .v6rev__ava is for <img>) */
span.v6rev__ava{width:44px;height:44px;border-radius:50%;flex:0 0 auto;background:var(--gold);
  color:var(--navy);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:1.05rem;}

/* --- blog article (informational) --- */
.v6art{padding:calc(74px + 2.6rem) 0 var(--section);}
.v6art__head{max-width:760px;margin:0 auto;padding:0 var(--gutter);text-align:center;}
.v6art__head .eyebrow{color:var(--gold-deep);}
.v6art__head h1{font-size:clamp(1.8rem,3.6vw,2.7rem);color:var(--navy);margin:.7rem 0 0;line-height:1.15;letter-spacing:-.02em;}
.v6art__head h1 em{color:var(--gold-deep);font-style:italic;}
.v6art__meta{color:var(--muted);font-size:.84rem;margin-top:1rem;font-family:var(--mono);letter-spacing:.04em;}
.v6art__body{max-width:720px;margin:2.4rem auto 0;padding:0 var(--gutter);}
.v6art__body>p:first-of-type{font-size:1.12rem;color:var(--navy);line-height:1.7;}
.v6art__body h2{font-size:1.4rem;color:var(--navy);margin:2.2rem 0 .6rem;letter-spacing:-.01em;}
.v6art__body p{color:var(--navy);font-size:1.02rem;line-height:1.75;margin:0 0 1.05rem;}
.v6art__body ul,.v6art__body ol{margin:0 0 1.1rem 1.2rem;color:var(--navy);line-height:1.7;font-size:1.02rem;}
.v6art__body li{margin:.35rem 0;}
.v6callout{background:var(--cream-2);border-left:3px solid var(--gold);border-radius:12px;padding:1.2rem 1.4rem;margin:1.7rem 0;}
.v6callout b{display:block;color:var(--gold-deep);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--mono);margin-bottom:.4rem;}
.v6callout p{margin:0;font-size:1rem;line-height:1.65;}
.v6callout ul{margin:.2rem 0 0 1.1rem;color:var(--navy);line-height:1.7;font-size:.98rem;}
.v6art__body h3{font-size:1.12rem;color:var(--navy);margin:1.6rem 0 .4rem;}
.v6art__body blockquote{margin:1.7rem 0;padding:.2rem 0 .2rem 1.3rem;border-left:3px solid var(--gold);
  font-size:1.18rem;line-height:1.5;color:var(--gold-deep);font-style:italic;}
.v6art__body table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.96rem;display:block;overflow-x:auto;}
.v6art__body th,.v6art__body td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top;}
.v6art__body thead th{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);border-bottom:2px solid var(--gold);}
.v6art__body td:first-child{font-weight:700;color:var(--navy);white-space:nowrap;}
.v6art__up{max-width:720px;margin:2rem auto 0;padding:1.4rem var(--gutter);}
.v6art__up a{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--disp);font-weight:700;color:var(--gold-deep);text-decoration:none;font-size:.95rem;}

/* --- FAQ: v6.css already ships .v6acc; give it a 2-col wrapper --- */
.v6faqgrid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,4vw,3rem);align-items:start;}
@media(max-width:820px){.v6faqgrid{grid-template-columns:1fr;}}
.v6faqgrid .v6faq__lead .v6h2{margin:.4rem 0 0;}
