/* Rainbow Row — inner pages for Palmetto Painting Contractors (2026-09-30).
   Loads after rainbow-row.css and only adds page-type modules. Tokens, pills, grounds, eyebrows,
   the Rainbow Row rule, cards, rail, FAQ, door and footer all come from rainbow-row.css. */

/* ---------- page hero: photograph full bleed, ink scrim behind a single text column ---------- */
.phero{position:relative;min-height:clamp(600px,82svh,860px);display:flex;align-items:flex-end;color:var(--white);isolation:isolate;padding:150px 0 72px;overflow:hidden;background:var(--ink)}
.phero-img{position:absolute;inset:0;z-index:-2}
.phero-img img{width:100%;height:100%;object-fit:cover}
.js .phero-img img{animation:ph-drift 26s ease-out both}
@keyframes ph-drift{from{transform:scale(1.08)}to{transform:scale(1)}}
.phero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,42,47,.94) 0,rgba(15,42,47,.82) 38%,rgba(15,42,47,.3) 70%,rgba(15,42,47,.08) 100%),linear-gradient(0deg,rgba(15,42,47,.55),rgba(15,42,47,0) 45%),linear-gradient(180deg,rgba(15,42,47,.55),rgba(15,42,47,0) 22%)}
.phero .wrap{display:grid;grid-template-columns:minmax(0,820px) auto;gap:40px;align-items:end;justify-content:space-between}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:22px}
.crumbs a{color:var(--muted-dark);text-decoration:none}
.crumbs a:hover{color:var(--white)}
.crumbs span[aria-hidden]{opacity:.5}
.phero h1{font-size:clamp(42px,5vw,80px);max-width:17ch;margin:16px 0 22px;text-wrap:balance}
.phero h1 .paint{background-image:linear-gradient(90deg,var(--coral) 0 20%,var(--butter) 20% 40%,var(--aqua) 40% 60%,#5C78FF 60% 80%,var(--peach) 80% 100%);background-repeat:no-repeat;background-position:0 100%;background-size:100% .09em;padding-bottom:.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.js .phero h1 .paint{animation:paint-on 1.2s .5s var(--ease) both}
@keyframes paint-on{from{background-size:0 .09em}to{background-size:100% .09em}}
.phero .lede{font-size:19px;color:#E2ECED;max-width:54ch}
.phero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.phero .facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22);font-size:14px;color:#D5E3E5}
.phero .facts li{display:flex;align-items:center;gap:8px}
.phero .facts li::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--aqua)}
.phero .facts li:nth-child(2)::before{background:var(--butter)}.phero .facts li:nth-child(3)::before{background:var(--coral)}
.phero .chip-cap{justify-self:end;align-self:end;background:rgba(15,42,47,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:12px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#D5E3E5;max-width:260px}
.phero .chip-cap b{display:block;font-family:var(--body);font-size:14px;letter-spacing:0;text-transform:none;color:var(--white);margin-top:4px}
.phero-short{min-height:clamp(480px,62svh,640px)}

/* ---------- intro split: copy left, numbered colour cards right ---------- */
.intro .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.intro h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:22px}
.intro .copy{font-size:18px;color:var(--muted);max-width:54ch}
.intro .copy+.copy{margin-top:14px}
.intro .copy b{color:var(--ink)}
.ncards{display:grid;gap:14px}
.ncard{display:grid;grid-template-columns:auto 1fr;gap:18px;background:var(--white);border-radius:var(--radius);padding:24px;box-shadow:0 1px 0 rgba(15,42,47,.06),0 18px 40px -30px rgba(15,42,47,.45);position:relative;overflow:hidden}
.ncard::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c,var(--coral))}
.ncard .n{font-family:var(--display);font-weight:900;font-size:44px;line-height:.9;letter-spacing:-.04em;color:var(--c,var(--coral))}
.ncard h3{font-size:21px;margin-bottom:8px;line-height:1.1}
.ncard p{color:var(--muted);font-size:15.5px}
.intro.g-peach .ncard,.intro.g-sky .ncard{box-shadow:none}

/* ---------- chapters: sticky photograph left, four chapter cards right ---------- */
.chap .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.chap-ph{position:sticky;top:110px;border-radius:var(--radius);overflow:hidden;margin:0}
.chap-ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.chap-ph .cap-chip{left:20px;bottom:20px}
.chap h2{font-size:clamp(36px,4vw,58px);margin-bottom:30px}
.chap-list{display:grid;gap:14px}
.chap-item{background:var(--white);border-radius:var(--radius);padding:26px 28px;border-left:6px solid var(--c,var(--coral))}
.chap-item h3{font-size:22px;line-height:1.12;margin-bottom:10px;display:flex;gap:14px;align-items:baseline}
.chap-item h3 .k{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--muted)}
.chap-item p{color:var(--muted);font-size:16px}
.chap-item details{margin-top:10px}
.chap-item summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--ink);list-style:none;display:inline-flex;gap:8px;align-items:center}
.chap-item summary::-webkit-details-marker{display:none}
.chap-item summary::after{content:"+";font-family:var(--mono);font-size:16px}
.chap-item details[open] summary::after{content:"−"}
.chap-item details p{margin-top:8px}

/* ---------- checklist band on ink ---------- */
.check .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:56px;align-items:center}
.check h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:26px}
.check-list{display:grid;gap:12px;counter-reset:ck}
.check-list li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:16.5px}
.check-list li i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--aqua);color:var(--ink)}
.check-list li:nth-child(2) i{background:var(--butter)}.check-list li:nth-child(3) i{background:var(--coral);color:var(--white)}.check-list li:nth-child(4) i{background:var(--peach)}.check-list li:nth-child(5) i{background:#8FA2FF}
.check-list li i svg{width:16px;height:16px}
.gcard{display:block;background:var(--white);color:var(--ink);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:transform .45s var(--ease)}
.gcard:hover{transform:translateY(-4px)}
.gcard img{width:100%;aspect-ratio:16/10;object-fit:cover}
.gcard .b{padding:22px 24px 26px}
.gcard .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gcard h3{font-size:24px;line-height:1.08;margin:8px 0 14px}
.gcard .more{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:15px}
.gcard .more svg{width:14px;height:14px}

/* ---------- one quote beside a photograph ---------- */
.quote .wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:56px;align-items:center}
.quote figure{margin:0;border-radius:var(--radius);overflow:hidden}
.quote figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.quote blockquote{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(26px,2.8vw,42px);line-height:1.14;letter-spacing:-.02em}
.quote .who{margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.quote .src{margin-top:18px;font-size:14px;color:var(--muted)}
.quote .src a{color:var(--ink)}

/* ---------- service links row (other services) ---------- */
.svc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svc-row .svc-card .body{padding:20px 22px 24px}
.svc-row .svc-card h3{font-size:22px}
.svc-row .svc-card ul{display:none}

/* ---------- hub cards ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.hub-card{display:grid;grid-template-rows:auto 1fr;background:var(--white);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;position:relative;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.hub-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(15,42,47,.6)}
.hub-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--c,var(--coral));z-index:1}
.hub-card .ph{overflow:hidden}
.hub-card .ph img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.hub-card:hover .ph img{transform:scale(1.04)}
.hub-card .b{padding:26px 28px 30px;display:flex;flex-direction:column;gap:12px}
.hub-card .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hub-card h3{font-size:clamp(26px,2.4vw,34px);line-height:1.04}
.hub-card p{color:var(--muted);font-size:16px}
.hub-card .more{margin-top:auto;display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:15px}
.hub-card .more svg{width:14px;height:14px}
.hub-grid.three{grid-template-columns:repeat(3,1fr)}
.hub-grid.three .hub-card h3{font-size:24px}

.feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:var(--white);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;margin-bottom:22px}
.feature .ph img{width:100%;height:100%;min-height:420px;object-fit:cover}
.feature .b{padding:44px 44px 48px;display:flex;flex-direction:column;gap:16px;justify-content:center;position:relative}
.feature .b::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--rr)}
.feature h2{font-size:clamp(32px,3.2vw,48px)}
.feature p{color:var(--muted);font-size:17px}
.feature .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- projects ---------- */
.pbento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:14px}
.pbento a{position:relative;border-radius:var(--radius);overflow:hidden;display:block;color:var(--white);text-decoration:none}
.pbento a img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pbento a:hover img{transform:scale(1.05)}
.pbento a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,42,47,.82),rgba(15,42,47,0) 52%)}
.pbento .cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;display:grid;gap:4px}
.pbento .cap b{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;line-height:1.05}
.pbento .cap span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#D5E3E5}
.pbento .cap i{display:block;width:44px;height:5px;border-radius:3px;background:var(--c,var(--coral));margin-bottom:6px}
.pbento .w2{grid-column:span 2}.pbento .h2{grid-row:span 2}

.pdetail .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start}
.pdetail figure{margin:0;border-radius:var(--radius);overflow:hidden;position:relative}
.pdetail figure img{width:100%;aspect-ratio:5/4;object-fit:cover}
.pdetail h2{font-size:clamp(34px,3.6vw,52px);margin-bottom:20px}
.pdetail .copy{font-size:18px;color:var(--muted)}
.spec{margin-top:28px;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid rgba(15,42,47,.1)}
.spec div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 20px;border-top:1px solid rgba(15,42,47,.08);font-size:15.5px}
.spec div:first-child{border-top:0}
.spec dt{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.spec dd{margin:0;font-weight:600}
.spec .sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:8px;border:1px solid rgba(15,42,47,.2)}
.pnav{display:flex;justify-content:space-between;gap:16px;margin-top:40px;flex-wrap:wrap}

/* ---------- people (about) ---------- */
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.person{background:var(--white);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:minmax(0,220px) 1fr}
.person .ph img{width:100%;height:100%;object-fit:cover;min-height:280px}
.person .mono{display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:72px;letter-spacing:-.05em;color:var(--white);background:var(--c,var(--cobalt));min-height:280px}
.person .b{padding:28px;display:flex;flex-direction:column;gap:10px;border-top:6px solid var(--c,var(--coral))}
.person .role{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.person h3{font-size:30px}
.person p{color:var(--muted);font-size:16px}
.steps8{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.steps8 li{background:var(--white);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.steps8 li::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c)}
.steps8 .n{font-family:var(--display);font-weight:900;font-size:52px;line-height:.9;letter-spacing:-.05em;color:var(--c)}
.steps8 h3{font-size:20px}
.steps8 p{font-size:14.5px;color:var(--muted)}
.on-dark .steps8 li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.on-dark .steps8 p{color:var(--muted-dark)}

/* ---------- reviews wall ---------- */
.rwall{columns:3 320px;column-gap:20px}
.rcardq{break-inside:avoid;background:var(--white);border-radius:var(--radius);padding:28px 28px 26px;margin:0 0 20px;position:relative;overflow:hidden;display:block}
.rcardq::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c,var(--coral))}
.rcardq .pull{font-family:var(--display);font-weight:800;font-size:25px;line-height:1.1;letter-spacing:-.02em;margin-bottom:14px}
.rcardq blockquote{margin:0;color:var(--muted);font-size:15.5px}
.rcardq .who{display:flex;align-items:center;gap:12px;margin-top:18px;font-weight:600}
.rcardq .who i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--display);font-weight:800;font-size:15px;background:var(--c,var(--coral));color:var(--white)}
.rcardq .who small{display:block;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ---------- contact ---------- */
.contact .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px;align-items:start}
.contact h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:20px}
.contact .tel{font-family:var(--display);font-weight:900;font-size:clamp(38px,4.2vw,60px);letter-spacing:-.04em;text-decoration:none;display:block;color:var(--ink);margin:18px 0 6px}
.contact .mail{color:var(--muted);text-decoration:none;display:block;margin-bottom:28px}
.qform{background:var(--white);border-radius:24px;padding:34px 34px 30px;box-shadow:0 30px 70px -40px rgba(15,42,47,.55);position:relative;overflow:hidden}
.qform::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--rr)}
.qform h3{font-size:28px;margin-bottom:6px}
.qform .sub{color:var(--muted);font-size:15px;margin-bottom:22px}
.qform .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qform label{display:grid;gap:6px;font-size:13px;font-weight:600;margin-bottom:14px}
.qform input,.qform select,.qform textarea{font:inherit;font-size:16px;font-weight:400;padding:13px 14px;border-radius:12px;border:1.5px solid rgba(15,42,47,.18);background:#FBFCFC;color:var(--ink);width:100%}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-color:var(--aqua-deep);box-shadow:0 0 0 4px rgba(46,196,182,.18)}
.qform textarea{min-height:110px;resize:vertical}
.qform fieldset{border:0;padding:0;margin:0 0 14px}
.qform legend{font-size:13px;font-weight:600;margin-bottom:8px}
.svc-pick{display:flex;flex-wrap:wrap;gap:8px}
.svc-pick label{margin:0;display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:14px;padding:9px 14px;border-radius:999px;border:1.5px solid rgba(15,42,47,.18);cursor:pointer}
.svc-pick input{width:auto;margin:0;accent-color:var(--coral)}
.svc-pick label:has(input:checked){background:var(--ink);color:var(--white);border-color:var(--ink)}
.qform button{margin-top:6px;width:100%;justify-content:space-between;border:0;cursor:pointer}
.form-note{font-size:13px;color:var(--muted);margin-top:14px}
.contact-ph{border-radius:var(--radius);overflow:hidden;margin-top:28px;position:relative}
.contact-ph img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* ---------- article (guides and blog) ---------- */
.art{padding:88px 0 96px}
.art .wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:104px;display:grid;gap:18px}
.toc .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.toc ol a{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:8px 10px;border-radius:10px;text-decoration:none;font-size:14.5px;line-height:1.3;color:var(--muted)}
.toc ol a::before{counter-increment:t;content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:11px;padding-top:2px}
.toc ol a:hover,.toc ol a[aria-current]{background:var(--tint-peach);color:var(--ink)}
.toc-call{background:var(--ink);color:var(--white);border-radius:var(--radius);padding:20px 20px 22px;display:grid;gap:10px}
.toc-call b{font-family:var(--display);font-size:20px;line-height:1.1}
.toc-call a.t{font-family:var(--mono);font-size:17px;color:var(--white);text-decoration:none}
.toc-call .rr{height:4px}
.prose{min-width:0;max-width:740px;font-size:18px;line-height:1.72}
.prose>*+*{margin-top:20px}
.prose h2{font-size:clamp(30px,3vw,42px);line-height:1.04;margin-top:64px;scroll-margin-top:110px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:22px;line-height:1.15;margin-top:34px}
.prose p,.prose li{color:#2A4045}
.prose a{color:var(--cobalt-deep);text-underline-offset:3px}
.prose ul.dots{display:grid;gap:10px;padding-left:0}
.prose ul.dots li{position:relative;padding-left:26px}
.prose ul.dots li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:12px;border-radius:4px;background:var(--aqua)}
.prose ul.dots li:nth-child(3n+2)::before{background:var(--butter)}.prose ul.dots li:nth-child(3n)::before{background:var(--coral)}
.prose figure{margin:36px 0;position:relative}
.prose figure img{width:100%;border-radius:var(--radius)}
.prose figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:22px;border-bottom:1px solid rgba(15,42,47,.12)}
.kt{background:var(--tint-mist);border-radius:var(--radius);padding:26px 30px 28px;position:relative;overflow:hidden}
.kt::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--rr)}
.kt h2{font-size:22px!important;margin:0 0 14px!important;font-family:var(--mono)!important;font-weight:500!important;letter-spacing:.12em!important;text-transform:uppercase}
.kt ul{display:grid;gap:10px}
.kt li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:16.5px;color:var(--ink)!important}
.kt li i{width:22px;height:22px;border-radius:50%;background:var(--aqua-deep);color:var(--white);display:grid;place-items:center;margin-top:3px}
.kt li i svg{width:12px;height:12px}
.pq{margin:40px 0;padding:6px 0 6px 28px;border-left:6px solid transparent;border-image:linear-gradient(180deg,var(--coral),var(--butter),var(--aqua),var(--cobalt)) 1;font-family:var(--display);font-weight:700;font-size:clamp(24px,2.4vw,32px);line-height:1.18;letter-spacing:-.02em;color:var(--ink)}
.pq cite{display:block;margin-top:12px;font-family:var(--mono);font-style:normal;font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tbl{overflow-x:auto;border-radius:var(--radius);border:1px solid rgba(15,42,47,.12);margin:32px 0}
.tbl table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.45;min-width:560px}
.tbl caption{caption-side:top;text-align:left;padding:16px 18px 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tbl th{background:var(--ink);color:var(--white);text-align:left;font-weight:600;padding:12px 16px;font-size:14px}
.tbl td{padding:12px 16px;border-top:1px solid rgba(15,42,47,.08);vertical-align:top;color:#2A4045}
.tbl tr:nth-child(even) td{background:#F7FAFA}
.tbl td:first-child{font-weight:600;color:var(--ink)}
.tbl caption+thead th:first-child{border-top-left-radius:0}
.cardbox{background:var(--tint-peach);border-radius:var(--radius);padding:26px 28px}
.cardbox h3{margin-top:0!important;font-size:20px;margin-bottom:12px}
.sources{font-size:15px}
.sources ol{padding-left:20px;display:grid;gap:6px;color:var(--muted)}
.svc-cta{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;background:var(--ink);color:var(--white);border-radius:var(--radius);padding:16px 22px 16px 16px;text-decoration:none}
.svc-cta img{width:140px;height:100px;object-fit:cover;border-radius:12px}
.svc-cta .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.svc-cta b{display:block;font-family:var(--display);font-size:22px;line-height:1.1;margin-top:4px}
.prose .svc-cta{color:var(--white)}
.prose .faq-inline details{border-top:1px solid rgba(15,42,47,.14);padding:16px 0}
.prose .faq-inline details:last-child{border-bottom:1px solid rgba(15,42,47,.14)}
.prose .faq-inline summary{font-family:var(--display);font-weight:800;font-size:19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--ink)}
.prose .faq-inline summary::-webkit-details-marker{display:none}
.prose .faq-inline summary::after{content:"+";font-family:var(--mono);font-weight:400}
.prose .faq-inline details[open] summary::after{content:"−"}
.prose .faq-inline p{margin-top:10px;font-size:16.5px}

/* ---------- areas hub list ---------- */
.townlist{display:flex;flex-wrap:wrap;gap:10px}
.townlist span{padding:10px 16px;border-radius:999px;background:var(--white);font-weight:600;font-size:15px;border:1.5px solid rgba(15,42,47,.12)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .svc-row{grid-template-columns:repeat(2,1fr)}
  .steps8{grid-template-columns:repeat(2,1fr)}
  .pbento{grid-template-columns:repeat(3,1fr)}
  .art .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .toc{position:static}
  .toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toc-call{display:none}
}
@media (max-width:900px){
  .phero .wrap{grid-template-columns:1fr}
  .phero .chip-cap{justify-self:start}
  .intro .wrap,.chap .wrap,.check .wrap,.quote .wrap,.pdetail .wrap,.contact .wrap{grid-template-columns:1fr;gap:36px}
  .chap-ph{position:relative;top:0}
  .chap-ph img{aspect-ratio:16/11}
  .hub-grid,.hub-grid.three{grid-template-columns:1fr}
  .feature{grid-template-columns:1fr}
  .feature .ph img{min-height:0;aspect-ratio:16/10}
  .people{grid-template-columns:1fr}
  .quote figure{max-width:420px}
}
@media (max-width:700px){
  .phero{min-height:0;padding:118px 0 44px}
  .phero-scrim{background:linear-gradient(0deg,rgba(15,42,47,.96) 0,rgba(15,42,47,.86) 48%,rgba(15,42,47,.35) 78%,rgba(15,42,47,.55) 100%)}
  .phero h1{font-size:clamp(36px,10.4vw,48px);margin:12px 0 14px}
  .phero .lede{font-size:16px}
  .phero .cta{margin-top:22px;gap:10px}
  .phero .cta .pill-solid{flex:1 1 auto;justify-content:space-between}
  .phero .cta .pill-glass{padding:8px}
  .phero .cta .pill-glass .lbl{display:none}
  .phero .facts{font-size:13px;gap:6px 16px}
  .phero .chip-cap{display:none}
  .crumbs{font-size:11px;margin-bottom:12px}
  .ncard{padding:20px;gap:14px}
  .ncard .n{font-size:36px}
  .chap-item{padding:22px}
  .svc-row,.hub-grid.three{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(-1*var(--gutter));padding:0 var(--gutter) 12px;scrollbar-width:none}
  .svc-row>*,.hub-grid.three>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
  .steps8{grid-template-columns:1fr 1fr;gap:10px}
  .steps8 li{padding:18px}
  .steps8 .n{font-size:40px}
  .steps8 h3{font-size:16px}
  .steps8 p{font-size:13px}
  .pbento{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
  .pbento .w2{grid-column:span 2}.pbento .h2{grid-row:span 1}
  .pbento .cap b{font-size:18px}
  .person{grid-template-columns:1fr}
  .person .ph img,.person .mono{min-height:0;aspect-ratio:16/10}
  .feature .b{padding:28px 24px 30px}
  .qform{padding:26px 20px 22px}
  .qform .row{grid-template-columns:1fr;gap:0}
  .prose{font-size:17px}
  .toc ol{grid-template-columns:1fr}
  .svc-cta{grid-template-columns:96px 1fr}
  .svc-cta img{width:96px;height:80px}
  .spec div{grid-template-columns:1fr;gap:4px}
  .art{padding:56px 0 72px}
}
@media (prefers-reduced-motion:reduce){
  .js .phero-img img{animation:none}
  .js .phero h1 .paint{animation:none}
}
.contact .steps .n{color:var(--coral)}
.qform{scroll-margin-top:90px}
/* rendered-image label on cards (truth: AI frames are never read as Palmetto jobs) */
.hub-card .ph,.feature .ph{position:relative}
.rtag{position:absolute;left:14px;top:18px;z-index:2;background:rgba(15,42,47,.78);color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
@media (max-width:700px){.phero .chip-cap{display:block;justify-self:start;margin-top:16px;padding:8px 12px;max-width:none}.phero .chip-cap b{display:inline;margin:0 0 0 6px;font-size:12px}}

/* swipe rows: keep the gutter when scroll-snap aligns the first card */
@media (max-width:700px){.svc-row,.hub-grid.three{scroll-padding-inline:var(--gutter)}}

/* article contents as a disclosure: open on desktop, collapsed on phones by rr-pages.js */
.toc-d summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.toc-d summary::-webkit-details-marker{display:none}
@media (max-width:1100px){
  .toc-d{border:1px solid rgba(15,42,47,.14);border-radius:14px;padding:14px 16px}
  .toc-d summary{margin:0}
  .toc-d summary::after{content:"+";font-size:18px}
  .toc-d[open] summary::after{content:"−"}
  .toc-d[open] ol{margin-top:10px}
}
/* tables stack into labelled rows on phones: no sideways scroll */
@media (max-width:700px){
  .tbl{overflow:visible;border:0;border-radius:0}
  .tbl table{min-width:0;display:block}
  .tbl caption{display:block;padding:0 0 12px}
  .tbl thead{display:none}
  .tbl tbody{display:grid;gap:12px}
  .tbl tr{display:grid;gap:6px;background:#F7FAFA;border:1px solid rgba(15,42,47,.1);border-radius:14px;padding:14px 16px}
  .tbl tr:nth-child(even) td{background:none}
  .tbl td{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:12px;padding:0;border:0;font-size:15px}
  .tbl td::before{content:attr(data-label);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
  .tbl td:first-child{display:block;font-family:var(--display);font-size:18px;padding-bottom:4px;border-bottom:1px solid rgba(15,42,47,.1)}
  .tbl td:first-child::before{display:none}
}
