/* Hybrid layer: 01 Cinematic Shield chassis (locked via data-style="shield") + 02 Gulf Coast warmth.
   Load LAST on every page. Pages stay shield by default: slate ink, shield red actions, Plex type, video hero.
   Opt-in classes:
   .warm            residential-flavored band: cream ground, evergreen ink, sage details, Fraunces serif headings.
                    Shield red stays the action color (buttons, underlinks) so CTAs read the same site-wide.
   .warm.sage       same treatment on a sage ground (alternate two warm bands in a row).
   .pageintro.warm  warm page intro (cream-deep ground).
   .deep            dark forest band from the cinema hero palette (white type), for proof/standards strips.
   .serif           Fraunces on any element.  .arch  Gulf Coast arched top for an image or frame.
   .ticks           modifier for .checklist: check marks (red; sage inside .warm).
   .stamp           rotated round badge (Gulf Coast stamp), e.g. a real fact like "5.0★ on Google".
   .inlink          underlined text link inside body copy (shield red underline, ink text).
   .libcta          pest library cross-link card; pair with .warm (services page).
   Full-width bands: <section class="section warm"><div class="wrap">…</div></section>.
   A .section.wrap.warm also works: its ground bleeds edge to edge without horizontal scroll. */

/* Weight-mapped Fraunces. site.css/refinements.css declare the two files as separate weightless families
   (Fraunces = 600 file, FrauncesLight = 400 file); this family maps them to real weights (no faux bold). */
@font-face{font-family:FrauncesHybrid;src:url('fonts/fraunces-400.ttf');font-weight:400;font-display:swap}
@font-face{font-family:FrauncesHybrid;src:url('fonts/fraunces-600.ttf');font-weight:600;font-display:swap}

:root{--cream:#f8f8f0;--cream-deep:#f2f3e9;--sage:#e5ede2;--sage-card:#e9eee0;--sage-ink:#27675c;--evergreen:#173f3c;--evergreen-muted:#536b64;--sage-line:#c5d1c3;--forest:#10261e;--serif:FrauncesHybrid,Georgia,serif}

/* Slim review banner (demo only; the launch strip removes the .reviewbar markup). */
.reviewbar .wrap{min-height:32px;justify-content:center;gap:0}
@media(max-width:650px){.reviewbar .wrap{min-height:28px;padding:4px 0;flex-direction:row;align-items:center}.reviewbar .wrap>span{font-size:10px}}

/* Warm band */
.warm{--bg:var(--cream);--soft:var(--sage);--ink:var(--evergreen);--muted:var(--evergreen-muted);--line:var(--sage-line);--card:#fffef9;--hero:var(--cream-deep);--heroink:var(--evergreen);--headfont:var(--serif);background:var(--bg);color:var(--ink)}
.warm.sage{--bg:var(--sage);--soft:var(--cream);--card:var(--cream)}
.wrap.warm{background:none;border-image:linear-gradient(var(--bg) 0 0) fill 0//0 100vmax}
.pageintro.warm{background:var(--hero);border-bottom-color:var(--line)}
.warm h1,.warm h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.08}
.warm h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;line-height:1.15}
.warm h1 em,.warm h2 em{font-style:italic;color:var(--sage-ink)}
.warm .eyebrow{color:var(--sage-ink)}
.warm .underlink{color:var(--ink)}
.warm .small{color:var(--muted)}
:root .warm .servicecard{background:var(--sage-card);border:0;border-radius:56px 6px 6px 6px;padding:36px 30px 30px;transition:transform .2s,box-shadow .2s}
.warm.sage .servicecard{background:var(--cream)}
.warm .servicecard:hover{box-shadow:0 16px 34px #173f3c17}
.warm .servicecard h3{font-size:28px}
.warm .service-number{color:var(--sage-ink)}
.warm .photo-frame{border:0;border-radius:120px 120px 10px 10px;background:var(--sage)}
.warm.sage .photo-frame{background:var(--cream)}
.warm .photo-frame span{color:var(--sage-ink)}
.warm .steps>div{border-top-color:var(--line)}
.warm .steps span{font-family:var(--serif);font-weight:400;color:var(--sage-ink)}
.warm .steps h3{font-size:25px}
.warm .life-photo{border-radius:64px 64px 10px 10px}
.warm .faqs summary{color:var(--ink)}
.warm .county,.warm .planpanel,.warm .quoteform{border-color:var(--line)}

/* Shared helpers */
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.arch{border-radius:200px 200px 12px 12px;overflow:hidden}
.checklist.ticks li{position:relative;padding-left:32px}
.checklist.ticks li:before{content:'';position:absolute;left:3px;top:19px;width:13px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.warm .checklist.ticks li:before{border-color:var(--sage-ink)}
.stamp{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:132px;border-radius:50%;background:#f3c46b;color:var(--evergreen);font-size:11px;font-weight:600;letter-spacing:.06em;line-height:1.25;text-align:center;padding:14px;transform:rotate(-8deg);box-shadow:0 10px 24px #173f3c26}
.stamp b{display:block;font:400 36px/1 var(--serif);letter-spacing:-.03em;margin-bottom:6px}

/* Deep band: cinema-hero forest green */
.deep{--line:#ffffff2b;--muted:#d3ddd6;--card:#ffffff0a;background:var(--forest);color:#fff}
.deep .eyebrow,.deep .service-number,.deep .cardlink span{color:#ffb7ac}
.deep .underlink{color:#fff}
:root .deep .servicecard{background:var(--card);border:1px solid var(--line);border-top:3px solid #d33735;color:#fff}
.deep .button.light{background:#fff;border-color:#fff;color:var(--forest)}

@media(max-width:650px){
:root .warm .servicecard{border-radius:40px 6px 6px 6px;padding:30px 26px 26px}
.warm .servicecard h3{font-size:25px}
.warm .photo-frame{border-radius:80px 80px 8px 8px}
.warm .life-photo{border-radius:48px 48px 10px 10px}
.arch{border-radius:120px 120px 10px 10px}
.stamp{width:112px;height:112px;font-size:10px}
.stamp b{font-size:30px}
}

/* Wide-viewport fix: keep the hero video toggle clear of the fixed Ask Shield launcher */
@media (min-width:1360px) and (max-width:1680px){.cinema-bottom.wrap{padding-right:170px}}

/* Pest library cross-link card (services page). Pair with .warm: <aside class="libcta warm">…</aside> */
.libcta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px 64px;align-items:center;margin-top:48px;padding:42px 46px;border-radius:56px 6px 6px 6px}
.libcta .eyebrow{margin:0 0 14px}
.libcta h2{font-size:clamp(30px,3.2vw,42px);margin:0 0 14px}
.libcta p:last-child{margin:0;max-width:600px}
.libcta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.libcta-actions .underlink{margin:0}
@media(max-width:650px){.libcta{grid-template-columns:minmax(0,1fr);margin-top:36px;padding:32px 24px 34px;border-radius:40px 6px 6px 6px}}

/* Inline body-copy link */
.inlink{font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
.inlink:hover{text-decoration-color:currentColor}

/* Footer license line links to the FDACS license lookup (all pages) */
.footer .small .licverify{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#b7232a73;transition:text-decoration-color .2s}
.footer .small .licverify:hover,.footer .small .licverify:focus-visible{text-decoration-color:currentColor}

/* Careers application form (careers page): help-line spacing, full-width rows and the textarea inside .formgrid */
.quoteform #apply-help{margin-top:-15px;margin-bottom:25px}
.formgrid .wide{grid-column:1/-1}
.formgrid textarea{display:block;width:100%;min-height:150px;padding:13px 12px;margin-top:8px;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-family:inherit;font-weight:400;font-size:16px;line-height:1.5;resize:vertical}
.formgrid textarea:focus-visible{outline:3px solid #119bbd;outline-offset:4px}

/* Booking request form (book page): help-line spacing, weekday + time-of-day chips inside .formgrid.
   Native checkboxes/radios stay in the DOM (focusable, validatable); the span is the visible chip. */
.quoteform #book-help{margin-top:-15px;margin-bottom:25px}
.formgrid fieldset{margin:0;padding:0;border:0;min-width:0}
.formgrid legend{padding:0;margin:0 0 10px;font-size:15px;font-weight:600}
.formgrid legend .small{font-weight:400;color:var(--muted);margin-left:4px}
.chips{display:grid;gap:8px}
.chips.days{grid-template-columns:repeat(5,minmax(0,1fr))}
.chips.times{grid-template-columns:repeat(3,minmax(0,1fr))}
.formgrid .chip{position:relative;display:block;font-weight:600}
.formgrid .chip input{position:absolute;top:50%;left:50%;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
.chip span{display:flex;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:8px 4px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.2;text-align:center;cursor:pointer;user-select:none;transition:background-color .15s,border-color .15s,color .15s}
.chip span:hover{border-color:var(--ink)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip input:checked+span::before{content:"\2713";font-size:13px}
.chip input:focus-visible+span{outline:3px solid #119bbd;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.chip span{transition:none}}
