/* Valley Atlas — inner pages (service + location). Tokens and shared components live in homepage.css. */

.bg-paper{background:var(--paper)}
.bg-paper2{background:var(--paper-2);--sec-bg:var(--paper-2)}
.stop__n{box-shadow:0 0 0 7px var(--sec-bg,var(--paper))}
.sec{padding:clamp(72px,9vw,128px) 0;border-top:1px solid var(--line)}

/* running copy */
.copy>*+*{margin-top:16px}
.copy p{font-size:17px;line-height:1.72;color:var(--ink-2);max-width:66ch}
.copy a:not(.btn),.lede a,.tel{color:var(--ink);font-weight:600;text-decoration:none;background:linear-gradient(var(--hi),var(--hi)) no-repeat 0 92%/100% .32em;transition:background-size .3s var(--ease)}
.tel{white-space:nowrap}
@media (hover:hover){.copy a:not(.btn):hover,.lede a:hover{background-size:100% 100%}}
.h3{font:600 clamp(22px,2vw,26px)/1.2 var(--f-l);letter-spacing:.005em;color:var(--ink)}

/* breadcrumb — a folio line under the bar */
.crumbs{border-bottom:1px solid var(--line);background:var(--paper)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;padding:12px 0;font:500 12px/1.4 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.crumbs li+li::before{content:"/";margin:0 12px;opacity:.5}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hi-2);text-decoration-thickness:2px}
.crumbs [aria-current]{color:var(--ink)}

/* page H1 (inner pages wrap naturally — no line masks) */
.ph1{font:400 clamp(36px,4.6vw,62px)/1.06 var(--f-d);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;text-transform:none}
.js .ph1{opacity:0;transform:translateY(22px);animation:rise 1s var(--ease) .05s forwards}
.lede{margin-top:24px}
.lede p{font-size:18px;line-height:1.72;color:var(--ink-2);max-width:60ch}

/* checklist chips (hero ✓ items) */
.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.checks li{display:inline-flex;align-items:center;gap:9px;padding:9px 14px 9px 10px;background:var(--card);border:1.5px solid var(--ink);border-radius:999px;
  font:600 16.5px/1.15 var(--f-l);letter-spacing:.02em;color:var(--ink)}
.checks li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--hi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314254f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat;border:1.5px solid var(--ink)}
.checks--2{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.checks--2 li{border-radius:4px}

/* lists inside copy */
.ticks{display:grid;gap:10px;margin-top:4px}
.ticks li{position:relative;padding-left:28px;font-size:17px;line-height:1.55;color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:12px;border:2px solid var(--ink);border-radius:50%;background:var(--hi)}
.ticks--chips{display:flex;flex-wrap:wrap;gap:10px}
.ticks--chips li{padding:8px 14px 8px 30px;background:var(--card);border:1px solid var(--line);font:600 17px/1.2 var(--f-l);letter-spacing:.02em}
.ticks--chips li::before{left:11px;top:50%;transform:translateY(-50%);width:10px;height:10px}
.ticks--check li::before{border-radius:3px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314254f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/10px no-repeat;width:15px;height:15px;top:.3em}

/* keyed rows (Label: text bullets) */
.keyed{border-top:2px solid var(--ink)}
.keyed li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.keyed__k{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--hi);border:1.5px solid var(--ink);font:700 16px/1 var(--f-l)}
.keyed p{font-size:17px;line-height:1.62;color:var(--ink-2)}
.keyed strong{display:block;font:600 21px/1.2 var(--f-l);color:var(--ink);margin-bottom:3px}

/* ---- prose sections: sticky head left, copy right ---- */
.prose-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}
.prose-grid__head{position:sticky;top:calc(var(--bar-h) + 32px)}
.prose-grid__body>.copy>p:first-child{font:400 clamp(20px,1.8vw,23px)/1.5 var(--f-d);color:var(--ink)}
.plate{position:relative;margin-top:34px;padding:28px 30px 30px;background:var(--card);border:1.5px solid var(--ink);box-shadow:10px 10px 0 -1.5px var(--paper-3)}
.plate__tick{position:absolute;top:10px;right:10px;width:16px;height:16px;border:3px solid var(--hi-2);border-left:0;border-bottom:0}
.plate .h3{margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.grid-paper .plate,.bg-paper .plate{box-shadow:10px 10px 0 -1.5px var(--paper-3)}
.bg-paper2 .plate{box-shadow:10px 10px 0 -1.5px var(--ink)}

/* ---- steps ---- */
.sec-head__p>*+*{margin-top:12px}
.sec-head__p p{font-size:18px;line-height:1.65;color:var(--ink-2)}
.stops--3{grid-template-columns:repeat(3,1fr)}
.stop__t{margin-top:22px;margin-bottom:8px;font:600 23px/1.18 var(--f-l);color:var(--ink)}
.stop .stop__t+p{margin-top:0}
.stops__after{margin-top:clamp(36px,4vw,54px);text-align:center}
.stops__after .callout{margin-top:0}

/* ---- why band (inner) ---- */
.why__p>*+*{margin-top:12px}
.why__p p{margin:0;font-size:19px;line-height:1.65;color:#d3d9ea;max-width:46ch}
.why__t{margin-bottom:6px;font:600 23px/1.2 var(--f-l);letter-spacing:.01em;color:var(--hi)}
.why__list li>div>p{font-size:17.5px;line-height:1.62;color:#e4e8f4}
.why__list li>div>p+p{margin-top:10px}

/* ---- services index (location pages) ---- */
.svc-index{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,56px);border-top:2px solid var(--ink)}
.svc-index__i{display:grid;grid-template-columns:50px 1fr;gap:8px;padding:24px 0;border-bottom:1px solid var(--line)}
.svc-index .row__d p{margin-top:8px;font-size:16.5px;line-height:1.62;color:var(--ink-2)}

/* ---- gazetteer (areas) ---- */
.gaz{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,48px)}
.gaz__lists{display:grid;gap:26px}
.gaz__lists>.copy>p:first-child{font:400 clamp(20px,1.8vw,23px)/1.45 var(--f-d);color:var(--ink);max-width:56ch}
.gaz__lists .copy p{font-size:17px;line-height:1.65;color:var(--ink-2)}
.gaz--plain{grid-template-columns:.85fr 1.15fr;align-items:start}
.gaz--plain .sec-head{margin-bottom:0}
.gaz__grp .h3{margin-bottom:14px}
.gaz__list.ticks--chips li{background:var(--card)}

/* ---- HTML sitemap ---- */
.smap{display:grid;gap:clamp(34px,4vw,52px)}
.smap__grp{border-top:2px solid var(--ink)}
.smap__h{display:flex;align-items:baseline;gap:12px;padding:14px 0 16px;font:600 clamp(20px,1.9vw,24px)/1.1 var(--f-l);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.smap__h span{padding:3px 8px;background:var(--hi);border:1px solid var(--ink);font:500 11.5px/1 var(--f-m);letter-spacing:.1em}
.smap__list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}
.smap__list li{border-bottom:1px solid var(--line)}
.smap__list a{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:16.5px;line-height:1.35;color:var(--ink-2);text-decoration:none;transition:padding .35s var(--ease),color .2s}
.smap__list a::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;border:2px solid var(--ink);background:var(--card);transition:background .2s}
@media (hover:hover){.smap__list a:hover{padding-left:6px;color:var(--ink)}.smap__list a:hover::before{background:var(--hi)}}
@media (max-width:1080px){.smap__list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.smap__list{grid-template-columns:1fr}}

/* ---- split band: a section's copy on one side, its photo filling the other ---- */
.sec--split{padding:0;border-top:1px solid var(--line)}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:0;align-items:stretch}
.split__copy{padding:clamp(60px,7vw,110px) clamp(28px,4vw,64px) clamp(60px,7vw,110px) 0;display:flex;flex-direction:column;justify-content:center}
.split__p{margin-top:22px}
.split__p p:first-child{font:400 clamp(20px,1.8vw,23px)/1.5 var(--f-d);color:var(--ink)}
.splitfig{position:relative;margin:0;min-height:100%}
.splitfig__frame{position:absolute;inset:clamp(26px,3.4vw,52px) 0 clamp(26px,3.4vw,52px) 0;background:var(--card);border:1.5px solid var(--ink);padding:10px;overflow:hidden}
.splitfig__frame img{width:100%;height:100%;object-fit:cover;display:block}
.splitfig__frame .inset__c{top:-1px;left:-1px}
.splitfig__cap{position:absolute;left:-22px;bottom:clamp(44px,5vw,74px);z-index:3;display:flex;align-items:center;gap:10px;
  padding:11px 16px;background:var(--hi);border:1.5px solid var(--ink);box-shadow:5px 5px 0 -1px var(--ink);
  font:600 14px/1.15 var(--f-l);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);max-width:calc(100% - 20px)}
.splitfig__tick{flex:none;width:11px;height:11px;border-radius:50%;background:var(--ink)}
/* artwork that carries its own text (the blog cards) is shown whole, never cropped */
.splitfig--card{display:flex;align-items:center}
.splitfig--card .splitfig__frame{position:relative;inset:auto;width:100%;aspect-ratio:4/3;margin:clamp(26px,3.4vw,52px) 0}
.splitfig--card .splitfig__frame img{object-fit:contain;background:var(--paper-2)}
.splitfig--card .splitfig__cap{bottom:clamp(14px,2vw,34px)}
/* mirrored band: photo on the left, copy on the right */
.split--flip .split__copy{order:2;padding-left:clamp(28px,4vw,64px);padding-right:0}
.split--flip .splitfig{order:1}
.split--flip .splitfig__cap{left:auto;right:-22px}

@media (max-width:1080px){
  .sec--split{padding:clamp(56px,7vw,90px) 0}
  .split{grid-template-columns:1fr;gap:clamp(30px,4vw,44px)}
  .split__copy,.split--flip .split__copy{order:1;padding:0}
  .splitfig,.split--flip .splitfig{order:2;min-height:0}
  .splitfig__frame{position:relative;inset:auto;aspect-ratio:16/10}
  .splitfig__cap{left:auto;right:10px;bottom:-14px}
  .split--flip .splitfig__cap{right:10px}
}
@media (max-width:700px){
  .splitfig{margin-right:6px}
  .splitfig__cap{font-size:12.5px;padding:9px 12px;right:6px}
}

/* ---- photo band (info pages) ---- */
.figband{padding:clamp(48px,6vw,84px) 0;border-top:1px solid var(--line)}
.figband__in{display:flex;justify-content:center}
.figband__fig{position:relative;width:min(760px,100%)}
.figband__fig .inset img{aspect-ratio:16/9;object-fit:cover}
.figband .pin{left:auto;right:-14px;bottom:26px}
@media (max-width:700px){
  .figband__fig{margin-right:8px}
  .figband .pin{right:-4px;bottom:16px;font-size:13.5px}
}

/* ---- tables (a cost table straight from the doc) ---- */
.tbl-wrap{margin-top:18px;overflow-x:auto;border:1.5px solid var(--ink);background:var(--card)}
.tbl{width:100%;border-collapse:collapse;font-size:16.5px}
.tbl th,.tbl td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font:600 14px/1.2 var(--f-l);letter-spacing:.1em;text-transform:uppercase;background:var(--hi);color:var(--ink);border-bottom:1.5px solid var(--ink);white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:600;color:var(--ink)}
.tbl td{color:var(--ink-2)}
.tbl tr:nth-child(even) td{background:rgba(226,215,184,.22)}

/* ---- cards (fallback H3 groups) ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{padding:26px 26px 28px;background:var(--card);border:1.5px solid var(--ink)}
.card .h3{margin-bottom:10px}

/* closing band copy */
.close__p>*+*{margin-top:14px}
.close__p p{font-size:19px;line-height:1.65;color:var(--ink-2);max-width:48ch;margin:0}
.close__p p+p{margin-top:14px}
.qa__a .copy{grid-column:2}
.qa__a .copy p{font-size:17px;line-height:1.65;color:var(--ink-2)}
.close__map iframe{display:block;width:100%;aspect-ratio:4/3;border:0}
.close__weather{grid-column:2;margin-top:18px;max-width:100%}
.close__weather .weatherwidget-io{display:block}
@media (max-width:1080px){.close__weather{grid-column:auto}}

@media (max-width:1080px){
  .prose-grid{grid-template-columns:1fr}
  .prose-grid__head{position:static}
  .svc-index{grid-template-columns:1fr}
  .gaz--plain{grid-template-columns:1fr}
  .stops--3{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .checks--2{grid-template-columns:1fr}
  .stops--3{grid-template-columns:1fr}
  .plate{padding:22px 20px 24px;box-shadow:6px 6px 0 -1.5px var(--paper-3)!important;margin-right:6px}
  .svc-index__i{grid-template-columns:36px 1fr}
  .crumbs ol{font-size:11px}
  .crumbs li+li::before{margin:0 8px}
}
@media (prefers-reduced-motion:reduce){.js .ph1{opacity:1!important;transform:none!important}}
