/* Approved Concept Two: a bright editorial layout with quick access to help. */
.approved-v2{color:#171717;background:#fff}
.approved-v2 .approved-availability{background:#111;color:#f4f4f4;padding:0;font-size:.83rem;line-height:1.5}
.approved-availability-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding-top:11px;padding-bottom:11px}
.approved-availability strong{color:#f5b51b;font-weight:850}
.approved-availability .availability-divider{color:#f5b51b;margin:0 8px}
.approved-availability a{color:#111;background:#f5b51b;padding:9px 14px;font-family:Manrope,Arial,sans-serif;font-size:.78rem;font-weight:850;white-space:nowrap}
.approved-availability a:hover{background:#fff;color:#111}
.approved-header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 5px 24px rgba(0,0,0,.07)}
.approved-header .navbar{min-height:83px}
.approved-header .navbar-brand img{width:168px;max-height:76px}
.approved-header .navbar-nav .nav-link{font-size:.85rem;padding:10px 9px!important;color:#1b1b1b!important}
.approved-header .nav-cta{margin-left:10px;padding:13px 17px;font-size:.82rem}
.approved-header .dropdown-menu{margin-top:0}
.approved-v2 .page-hero,.approved-v2 .article-hero{background:#f6f6f3;color:#151515}
.approved-v2 .page-hero h1,.approved-v2 .article-hero h1{color:#151515}
.approved-v2 .page-hero p,.approved-v2 .article-hero p{color:#555}
.approved-v2 .page-hero .eyebrow.on-dark,.approved-v2 .article-hero .eyebrow.on-dark{color:#936300}
.approved-v2 .page-hero:after{border-color:#f5b51b;opacity:.55}
.approved-v2 .page-hero-inner>img{clip-path:none;object-fit:cover}
.approved-v2 .page-hero.has-image .page-hero-inner{min-height:380px}
.approved-v2 .article-hero .back-link{color:#6e5018}
.approved-v2 .section-pad{padding-top:92px;padding-bottom:92px}

.approved-hero{background:#f7f7f4;padding:57px 0 64px}
.approved-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:65px}
.approved-hero-copy{padding-top:28px}
.approved-hero .mock-kicker{margin-bottom:19px}
.approved-hero h1{font-size:clamp(3.3rem,5vw,5.1rem);line-height:1.04;letter-spacing:-.065em;margin-bottom:25px}
.approved-hero h1 em{font-style:normal;white-space:nowrap;background:linear-gradient(transparent 76%,#f5b51b 76%)}
.approved-hero-copy>p{font-size:1.09rem;line-height:1.7;color:#515151;max-width:520px}
.approved-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:26px 0 29px}
.approved-hero-actions .c2-button{padding:15px 21px}
.approved-owner-photo{position:relative;max-width:580px;overflow:hidden;background:#e7e5db}
.approved-owner-photo img{display:block;width:100%;height:253px;object-fit:cover;object-position:center 12%}
.approved-owner-photo span{position:absolute;bottom:0;left:0;background:#111;color:#fff;padding:11px 16px;font-family:Manrope,Arial,sans-serif;font-size:.73rem;font-weight:800;letter-spacing:.03em}
.approved-experience{display:flex;gap:18px;flex-wrap:wrap;padding-top:17px;font-family:Manrope,Arial,sans-serif;font-size:.75rem;font-weight:800;line-height:1.4}
.approved-experience strong,.approved-experience span{border-left:3px solid #f5b51b;padding-left:12px}
.approved-form-card{background:#fff;border-top:6px solid #f5b51b;padding:33px 36px 31px;box-shadow:0 24px 55px rgba(0,0,0,.11);scroll-margin-top:105px}
.approved-form-card .eyebrow{margin-bottom:9px}
.approved-form-card h2{font-size:clamp(2rem,2.8vw,2.65rem);line-height:1.08;margin:0 0 9px}
.approved-form-card>p{color:#626262;font-size:.94rem;margin:0 0 22px}
.approved-form-card .form-grid{gap:14px}
.approved-form-card .contact-form label{margin-bottom:5px}
.approved-form-card .contact-form input,.approved-form-card .contact-form select{min-height:44px;padding:9px 11px}
.approved-form-card .contact-form textarea{min-height:65px;padding:9px 11px}
.approved-form-card .form-submit{margin-top:17px}
.approved-form-card .form-note{color:#626262}

.approved-coverage-quick{padding:45px 0;background:#f5b51b}
.approved-coverage-grid{display:grid;grid-template-columns:1fr 285px;gap:48px;align-items:center}
.approved-coverage-quick .eyebrow{color:#151515;margin-bottom:9px}
.approved-coverage-quick .eyebrow:before{background:#111}
.approved-coverage-quick h2{font-size:clamp(2rem,3vw,3.15rem);max-width:650px}
.approved-coverage-quick p{color:#2e2e2e;max-width:630px;margin:13px 0 18px}
.approved-coverage-links{display:flex;gap:18px;flex-wrap:wrap}
.approved-coverage-links a{font-family:Manrope,Arial,sans-serif;color:#111;font-size:.86rem;font-weight:850;border-bottom:2px solid #111}
.approved-map-preview{display:block;background:#fff;padding:9px;box-shadow:0 13px 28px rgba(0,0,0,.16);position:relative}
.approved-map-preview img{display:block;width:100%;height:215px;object-fit:cover;object-position:center 48%}
.approved-map-preview span{display:block;background:#111;color:#fff;text-align:center;font-family:Manrope,Arial,sans-serif;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:9px}

.approved-services{padding:93px 0 100px;background:#fff}
.approved-section-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:50px;max-width:1060px}
.approved-section-intro h2{font-size:clamp(2.6rem,4vw,4rem);letter-spacing:-.055em}
.approved-section-intro p{color:#565656;font-size:1.02rem;margin:0 0 6px}
.approved-service-group{margin-top:58px}
.approved-group-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:2px solid #151515;padding-bottom:18px;margin-bottom:20px}
.approved-group-heading h3{font-size:1.6rem}
.approved-group-heading p{color:#636363;margin:0;font-size:.87rem}
.approved-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.approved-service-card{border:1px solid #dadada;background:#fff;padding:25px;display:flex;flex-direction:column;min-height:268px;transition:border-color .2s,transform .2s,box-shadow .2s}
.approved-service-card:hover{border-color:#f5b51b;box-shadow:0 15px 30px rgba(0,0,0,.08);transform:translateY(-3px)}
.approved-service-icon{display:grid;place-items:center;flex:none;width:45px;height:45px;background:#f5b51b;color:#111;margin-bottom:18px}
.approved-service-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.approved-service-card h4{font-size:1.13rem;letter-spacing:-.03em;margin-bottom:9px}
.approved-service-card p{font-size:.89rem;line-height:1.6;color:#5a5a5a;flex:1;margin-bottom:17px}
.approved-request{display:inline-block;align-self:flex-start;font-family:Manrope,Arial,sans-serif;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:850;color:#151515;border-bottom:2px solid #f5b51b;padding-bottom:4px}
.approved-request:hover{color:#946512}
.approved-about{background:#f7f7f4;padding:100px 0}
.approved-about .c2-about-image img{max-height:540px}
.approved-areas{scroll-margin-top:100px}

.approved-reviews{background:#151515;color:#fff;padding:95px 0}
.approved-reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.approved-reviews .eyebrow{color:#f5b51b}
.approved-reviews h2{color:#fff;font-size:clamp(2.4rem,3.5vw,3.65rem)}
.approved-reviews .c2-text-link{color:#fff;white-space:nowrap}
.approved-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.approved-review-grid figure{background:#252525;margin:0;padding:29px;border-top:4px solid #f5b51b}
.approved-review-grid blockquote{font-family:Manrope,Arial,sans-serif;font-size:1.12rem;font-weight:750;line-height:1.45;min-height:100px;margin:0}
.approved-review-grid figcaption{color:#d7d7d7;font-size:.77rem;font-weight:700;margin-top:16px}
.approved-review-source{font-size:.76rem;color:#bbb;margin:20px 0 0}
.approved-review-source a{color:#f5b51b;text-decoration:underline}

.approved-v2 .service-card{border-color:#dedede;box-shadow:none}
.approved-v2 .service-card:hover{border-color:#f5b51b}
.approved-v2 .service-card .approved-service-icon{margin-bottom:13px}
.approved-v2 .service-card h3{font-size:1.15rem}
.approved-v2 .service-card a{color:#151515;border-bottom:2px solid #f5b51b;align-self:flex-start;padding-bottom:4px}
.approved-v2 .service-jump{background:#f5b51b}
.approved-v2 .service-group:nth-of-type(even){background:#f7f7f4}
.approved-v2 .area-map-layout .service-map{border:1px solid #ddd}
.approved-bella-section{background:#f7f7f4}
.approved-bella-list h2{margin-bottom:12px}
.approved-bella-list p{max-width:700px}
.approved-bella-list ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;list-style:none;padding:0;margin:30px 0}
.approved-bella-list li{border-left:3px solid #f5b51b;padding-left:12px;font-weight:750;font-size:.9rem}
.approved-bella-list li a:hover{text-decoration:underline}
.approved-v2 .site-footer{background:#111}

@media(max-width:1199px){.approved-header .navbar-nav .nav-link{padding:10px 6px!important;font-size:.78rem}.approved-header .nav-cta{padding:12px;font-size:.78rem}.approved-hero-grid{gap:35px}}
@media(max-width:991px){.approved-header .navbar{min-height:72px}.approved-header .navbar-nav .nav-link{font-size:.96rem;padding:12px!important}.approved-header .nav-cta{width:100%;margin-left:0}.approved-hero-grid{grid-template-columns:1fr;gap:25px}.approved-hero-copy{padding-top:0}.approved-owner-photo{max-width:100%}.approved-owner-photo img{height:300px}.approved-form-card{max-width:760px}.approved-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approved-coverage-grid{grid-template-columns:1fr 250px;gap:25px}.approved-bella-list ul{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.approved-availability-inner{grid-template-columns:1fr;gap:8px;text-align:center;font-size:.79rem}.approved-availability .availability-divider{display:none}.approved-availability a{justify-self:center}.approved-hero{padding:49px 0 57px}.approved-hero h1{font-size:clamp(2.95rem,11vw,4.1rem)}.approved-owner-photo img{height:240px}.approved-hero-actions{gap:15px}.approved-form-card{padding:28px 22px}.approved-coverage-grid,.approved-section-intro{grid-template-columns:1fr}.approved-coverage-grid{gap:25px}.approved-map-preview{width:min(100%,380px)}.approved-services,.approved-about,.approved-reviews{padding:70px 0}.approved-service-grid,.approved-review-grid{grid-template-columns:1fr}.approved-service-card{min-height:0}.approved-group-heading{display:block}.approved-group-heading p{margin-top:7px}.approved-review-grid blockquote{min-height:0}.approved-reviews-heading{display:block}.approved-reviews-heading .c2-text-link{margin-top:18px}.approved-bella-list ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.approved-hero h1{font-size:2.75rem}.approved-form-card .form-grid{grid-template-columns:1fr}.approved-form-card .form-grid .full{grid-column:auto}.approved-hero-actions{align-items:flex-start;flex-direction:column}.approved-bella-list ul{grid-template-columns:1fr}}

/* Keep the supplied portraits and alarm photo framed around their subjects. */
.team-card img[src$="johnna.webp"]{object-position:center 9%}   /* 13 Oct 2026: her photo now has headroom (tools/johnna-headroom.mjs); this sets her head level with the others */
.blog-image img[src$="equipment.webp"],.article-cover[src$="equipment.webp"]{object-position:center 8%}
/* ---------- 24/7 banner (10 Oct 2026): the client wants people to see at once that the phone is answered 24/7.
   The bar now sits inside the sticky header, so it stays on screen while scrolling. ---------- */
.approved-v2 .approved-availability{background:#f5b51b;color:#111;font-size:.98rem;line-height:1.45;border-bottom:1px solid rgba(0,0,0,.14)}
.approved-v2 .approved-availability-inner{gap:18px;padding-top:9px;padding-bottom:9px}
.approved-availability .avail-line{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.approved-availability .avail-247{color:#111;font-family:Manrope,Arial,sans-serif;font-size:1.2rem;font-weight:900;letter-spacing:-.01em}
.approved-availability .avail-long strong{color:#111;font-weight:850}
.approved-availability .availability-divider{color:#111;opacity:.45;margin:0 6px}
.approved-availability a.avail-call{display:inline-flex;align-items:center;gap:9px;background:#111;color:#fff;padding:12px 18px;font-family:Manrope,Arial,sans-serif;font-size:1rem;font-weight:850;white-space:nowrap;text-decoration:none}
.approved-availability a.avail-call svg{width:19px;height:19px;color:#f5b51b;flex:none}
.approved-availability a.avail-call:hover{background:#fff;color:#111}
.approved-availability a.avail-call:focus-visible,.avail-badge:focus-visible{outline:3px solid #111;outline-offset:3px}
/* a small "we're on" light; it pulses gently, and holds still for people who turn motion off */
.avail-live{display:inline-block;width:11px;height:11px;border-radius:50%;background:#16803a;flex:none;animation:availPulse 2.2s ease-out infinite}
@keyframes availPulse{0%{box-shadow:0 0 0 0 rgba(22,128,58,.55)}70%{box-shadow:0 0 0 9px rgba(22,128,58,0)}100%{box-shadow:0 0 0 0 rgba(22,128,58,0)}}
/* the homepage badge above the headline */
.avail-badge{display:inline-flex;align-items:center;gap:10px;background:#111;color:#fff;padding:11px 17px;margin-bottom:20px;font-family:Manrope,Arial,sans-serif;font-size:1rem;font-weight:850;text-decoration:none}
.avail-badge .avail-live{background:#3ad16a}
.avail-badge:hover{background:#f5b51b;color:#111}
.avail-badge + .mock-kicker{display:block}
/* links to #contact etc. land below the taller sticky header */
html{scroll-padding-top:160px}
@media(max-width:767px){
  .approved-v2 .approved-availability-inner{grid-template-columns:1fr auto;text-align:left;gap:10px;padding:7px 14px}
  .approved-availability .avail-long{display:none}
  .approved-availability .avail-247{font-size:1rem}
  .approved-availability a.avail-call{padding:10px 12px;font-size:.9rem;justify-self:end}
  .approved-availability a.avail-call svg{width:16px;height:16px}
  .avail-badge{font-size:.92rem;padding:10px 14px}
  html{scroll-padding-top:120px}
}
@media(max-width:374px){.approved-availability .avail-247{font-size:.9rem}.approved-availability a.avail-call{font-size:.82rem;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){.avail-live{animation:none}}
/* phones: one slim line, "● We answer 24/7." and a compact call button (the bottom bar already says "Call 24/7") */
@media(max-width:767px){
  .approved-availability .avail-line{flex-wrap:nowrap;white-space:nowrap;gap:8px}
  .approved-availability .ac-pre{display:none}
  .approved-v2 .approved-availability-inner{padding-top:6px;padding-bottom:6px}
  .approved-availability a.avail-call{min-height:44px}
}
/* ---------- 24/7 banner, round 2 (10 Oct 2026): a calmer layout, same words ---------- */
.approved-v2 .approved-availability-inner{grid-template-columns:minmax(0,1fr) auto;gap:24px;padding-top:12px;padding-bottom:12px}
.approved-availability .avail-line{display:flex;flex-wrap:nowrap;align-items:center;gap:18px}
.approved-availability .avail-tag{display:inline-flex;align-items:center;gap:9px;flex:none;background:#fff;color:#111;padding:9px 14px;font-family:Manrope,Arial,sans-serif;font-size:.86rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 1px 0 rgba(0,0,0,.12)}
.approved-availability .avail-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.approved-availability .avail-head{font-family:Manrope,Arial,sans-serif;font-size:1.02rem;font-weight:850;color:#111;line-height:1.35}
.approved-availability .avail-sub{font-size:.88rem;color:#2a2410;line-height:1.4}
.approved-availability .avail-sub b{font-weight:800;color:#111}
.approved-availability .avail-sub .availability-divider{margin:0 7px;opacity:.55}
@media(max-width:1199px){.approved-availability .avail-sub{display:none}}
@media(max-width:767px){
  .approved-v2 .approved-availability-inner{gap:10px;padding:6px 14px}
  .approved-availability .avail-text{display:none}
  .approved-availability .avail-tag{background:transparent;box-shadow:none;padding:0;font-size:.95rem;letter-spacing:.02em;text-transform:none}
}
/* ---------- 24/7 banner, round 3 (10 Oct 2026): bigger, so nobody misses it ---------- */
.approved-v2 .approved-availability-inner{gap:28px;padding-top:16px;padding-bottom:16px}
.approved-availability .avail-line{gap:22px}
.approved-availability .avail-tag{font-size:1.08rem;padding:13px 20px;gap:11px}
.approved-availability .avail-tag .avail-live{width:14px;height:14px}
.approved-availability .avail-head{font-size:1.35rem;line-height:1.3}
.approved-availability .avail-sub{font-size:1.02rem}
.approved-availability a.avail-call{font-size:1.2rem;padding:17px 26px;gap:11px}
.approved-availability a.avail-call svg{width:22px;height:22px}
html{scroll-padding-top:190px}
@media(max-width:1199px){.approved-availability .avail-head{font-size:1.15rem}.approved-availability a.avail-call{font-size:1.05rem;padding:14px 18px}}
@media(max-width:767px){
  .approved-v2 .approved-availability-inner{padding:9px 14px;gap:10px}
  .approved-availability .avail-tag{font-size:1.12rem;padding:0;gap:9px}
  .approved-availability .avail-tag .avail-live{width:13px;height:13px}
  .approved-availability a.avail-call{font-size:1.02rem;padding:12px 14px;min-height:48px}
  .approved-availability a.avail-call svg{width:18px;height:18px}
  html{scroll-padding-top:140px}
}
@media(max-width:374px){.approved-availability .avail-tag{font-size:.98rem}.approved-availability a.avail-call{font-size:.9rem;padding:11px 10px}}
/* round 3b: big AND tidy on desktop — each middle line stays on one line; the button shows the number (the tag
   beside it already says 24/7); the small second line only where it fits */
.approved-availability .ac-pre{display:none}
.approved-availability .avail-head,.approved-availability .avail-sub{white-space:nowrap}
.approved-availability .avail-head{font-size:1.28rem}
.approved-availability .avail-sub{font-size:.95rem}
.approved-availability .avail-line{gap:20px}
.approved-v2 .approved-availability-inner{gap:22px}
@media(max-width:1399px){.approved-availability .avail-sub{display:none}}
@media(max-width:1199px){.approved-availability .avail-head{font-size:1.08rem}}
@media(max-width:991px){.approved-availability .avail-text{display:none}}
.approved-availability .avail-head{font-size:1.24rem}
.approved-availability .avail-sub{font-size:.88rem}
@media(max-width:1199px){.approved-availability .avail-text{display:none}}
/* hero photo (10 Oct 2026): the client wanted their service in the hero, not their own pictures; the pump truck
   replaces the owners' photo, and the crop centres on the truck instead of faces */
.approved-owner-photo img[src$="truck.webp"]{object-position:center 58%}
/* service icons (10 Oct 2026): the client's own icons from the live Services page, drawn inline, in the live site's
   orange and at its size, without the yellow tile */
.approved-service-icon:has(.live-icon){width:64px;height:64px;background:none;color:#eaa21b;place-items:start;margin-bottom:12px}
.approved-service-icon .live-icon{width:64px;height:64px;fill:currentColor;display:block}
/* inner pages give the banner text ~35px less room than the homepage: sized to fit there too (measured) */
.approved-availability .avail-head{font-size:1.17rem}
.approved-availability .avail-sub{font-size:.82rem}
/* "too thick" (10 Oct 2026): the six heavy solid icons are drawn as outlines so all 16 read at one line weight;
   the whole set a touch smaller */
.approved-service-icon:has(.live-icon){width:56px;height:56px}
.approved-service-icon .live-icon{width:56px;height:56px}
.approved-service-icon .live-icon.is-solid{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}
/* the filled line icons, thinned one by one (tools/thin-icons.mjs): their edges traced in the card's white */
.approved-service-icon .live-icon[data-thin]{stroke:#fff;paint-order:fill stroke;stroke-linejoin:round}
.live-icon[data-thin="0.4"]{stroke-width:.4} .live-icon[data-thin="0.6"]{stroke-width:.6} .live-icon[data-thin="0.8"]{stroke-width:.8}
.live-icon[data-thin="1"]{stroke-width:1} .live-icon[data-thin="1.4"]{stroke-width:1.4}
/* ---------- reviews, more visible (10 Oct 2026): the overall rating up front, bigger quotes, a real button ---------- */
.review-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:14px 0 0;color:#fff;font-family:Manrope,Arial,sans-serif;font-size:1.35rem;font-weight:700}
.review-score b{color:#f5b51b;font-weight:900}
.review-score > span:last-child b:first-child{font-size:1.9rem;line-height:1}
.stars{display:inline-flex;gap:3px;color:#f5b51b}
.stars svg{width:26px;height:26px;fill:currentColor}
a.review-all{display:inline-flex;align-items:center;background:#f5b51b;color:#111;padding:15px 24px;font-family:Manrope,Arial,sans-serif;font-weight:850;font-size:1rem;text-decoration:none;white-space:nowrap}
a.review-all:hover{background:#fff;color:#111}
a.review-all:focus-visible,a.hero-rating:focus-visible{outline:3px solid #f5b51b;outline-offset:3px}
.approved-review-grid{gap:22px}
.approved-review-grid figure{position:relative;padding:58px 32px 30px;border-top-width:6px}
.approved-review-grid figure::before{content:"\201C";position:absolute;top:6px;left:28px;font:900 4.6rem/1 Georgia,serif;color:#f5b51b}
.approved-review-grid blockquote{font-size:1.5rem;font-weight:800;line-height:1.35;min-height:0}
.approved-review-grid figcaption{color:#fff;font-size:.98rem;font-weight:800;margin-top:22px}
.approved-review-source{font-size:.86rem;color:#d0d0d0;margin-top:24px}
/* the hero link to the reviews */
a.hero-rating{display:inline-flex;align-items:center;gap:10px;margin-top:20px;color:#111;font-family:Manrope,Arial,sans-serif;font-size:1rem;font-weight:700;text-decoration:none}
a.hero-rating .stars{color:#e29a0e}
a.hero-rating .stars svg{width:20px;height:20px}
a.hero-rating b{font-weight:900}
a.hero-rating:hover span{text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){
  .review-score{font-size:1.1rem}.review-score > span:last-child b:first-child{font-size:1.5rem}.stars svg{width:22px;height:22px}
  a.review-all{margin-top:18px}
  .approved-review-grid blockquote{font-size:1.28rem}
}
/* the quotes already open with their own quotation mark: no second, decorative one */
.approved-review-grid figure::before{content:none}
.approved-review-grid figure{padding:32px 32px 30px}
a.hero-rating{margin-bottom:22px}

/* the online employment application (13 Oct 2026) */
.apply-panel{max-width:980px;margin:0 auto}
.apply-panel>h2{margin:-4px 0 12px}
.apply-intro{color:#555;margin-bottom:26px}.apply-intro .req,.apply-check span{color:#b42318}
.apply-section{border:0;padding:0;margin:0 0 34px}
.apply-section legend{float:none;width:100%;font:800 1.05rem/1.2 inherit;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#232323;padding:11px 16px;margin:0 0 18px}
.apply-note{color:#555;font-style:italic;margin:-6px 0 14px}
.apply-sub{border-left:3px solid var(--gold,#f2b11c);padding:2px 0 4px 16px;margin:0 0 22px}
.apply-sub h3{font-size:1.05rem;font-weight:800;margin:0 0 12px}
.apply-form .form-grid{gap:14px}
.apply-form textarea{min-height:0}
.yn{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.yn-q{font-weight:600;color:#222;flex:1 1 260px}
.yn-opts{display:flex;gap:18px}
.yn-opts label,.apply-check{display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;margin:0}
.yn-opts input,.apply-check input{width:20px;height:20px;accent-color:#232323;margin:0}
.apply-check.invalid{color:#b42318}
.apply-ssn{background:#fff7df;border-left:4px solid var(--gold,#f2b11c);padding:12px 16px;margin:-14px 0 34px;color:#3d3d3d}
.apply-disclaimer{font-style:italic;color:#444;margin-bottom:8px}
.apply-done{text-align:center;padding:40px 10px}
.apply-done h3{font-size:1.7rem;margin-bottom:10px}
@media(max-width:575px){.apply-form .form-grid{grid-template-columns:1fr}.apply-form .form-grid .full{grid-column:auto}.apply-section legend{font-size:.95rem}}
.download-actions{display:flex;flex-wrap:wrap;gap:10px}
/* the application uses the contact form's own field style (label above, full-width boxes) */
.apply-form .form-grid>div>label{display:block;font-size:.78rem;font-weight:900;color:var(--navy);margin-bottom:7px}
.apply-form .form-grid>div>label span{color:#ba7400}
.apply-form input:not([type=radio]):not([type=checkbox]),.apply-form textarea{width:100%;background:#fff;border:1px solid #d9dde3;border-radius:3px;padding:12px 13px;color:var(--ink);outline:0;min-height:49px}
.apply-form textarea{resize:vertical;min-height:90px}
.apply-form input:focus,.apply-form textarea:focus{border-color:#ba820e;box-shadow:0 0 0 3px rgba(243,175,28,.18)}
.apply-form input.invalid,.apply-form textarea.invalid{border-color:#b92f2f}
.apply-section legend{font-family:inherit;font-weight:800;font-size:1rem;line-height:1.2}
.apply-form .yn-opts label,.apply-form .apply-check{font-size:.95rem;font-weight:700;color:var(--navy)}
