/* OffTheGridRVs · Hwy 95 Solar - draft stylesheet. Brand colors pulled from the shop sign/logo. */
:root{--navy:#0d2238;--navy-2:#163657;--sun:#f6b80f;--sun-2:#ffd34d;--sand:#f7f1e6;--ink:#1d2430;--muted:#5a6473;--white:#fff;--radius:14px;--shadow:0 10px 30px rgba(13,34,56,.12);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.6;background:var(--white)}
img{max-width:100%;display:block;height:auto}a{color:var(--navy-2)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;color:var(--navy)}h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}h3{font-size:1.2rem}
.eyebrow{display:inline-block;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:#9a6c00;margin-bottom:.6rem}
.btn{display:inline-flex;white-space:nowrap;align-items:center;gap:.5em;padding:.85em 1.4em;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s;cursor:pointer;font-size:1rem}
.btn:hover{transform:translateY(-2px)}.btn-sun{background:var(--sun);color:var(--navy)}.btn-sun:hover{background:var(--sun-2)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn-navy{background:var(--navy);color:#fff}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,34,56,.97);backdrop-filter:blur(6px);color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand img{width:42px;height:40px}.brand-name{font-weight:800;font-size:1.25rem;letter-spacing:-.01em;display:block;line-height:1.1}
.brand-co{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav ul a{color:#dfe7f1;text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}.nav ul a:hover{color:var(--sun)}
.nav-cta{display:flex;gap:10px;align-items:center}.phone-link{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.7rem;cursor:pointer}
@media(max-width:1366px){.nav ul{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);flex-direction:column;padding:16px 20px;gap:14px}.nav ul.open{display:flex}.menu-btn{display:block}.nav-cta .btn{display:none}}
/* hero */
.hero{position:relative;color:#fff;background:var(--navy)}
.hero picture img{width:100%;height:clamp(460px,72vh,720px);object-fit:cover;object-position:center 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,34,56,.92) 0%,rgba(13,34,56,.72) 45%,rgba(13,34,56,.15) 100%)}
.hero-copy{position:absolute;inset:0;z-index:2;display:flex;align-items:center}
.hero-copy .wrap{width:100%}.hero-inner{max-width:640px}
.hero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.6rem);letter-spacing:-.02em}.hero h1 span{color:var(--sun)}
.hero p.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#e6edf5;margin:0 0 1.4rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.stars{color:var(--sun);letter-spacing:2px}
.hero-rating{margin-top:1.4rem;display:flex;align-items:center;gap:10px;font-weight:600;color:#fff}
/* trust bar */
.trust{background:var(--sun);color:var(--navy)}.trust ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}
.trust strong{display:block;font-size:1.35rem;line-height:1.1}.trust span{font-size:.88rem;font-weight:600}
@media(max-width:760px){.trust ul{grid-template-columns:repeat(2,1fr)}}
section{padding:84px 0}.alt{background:var(--sand)}.dark{background:var(--navy);color:#e6edf5}.dark h2,.dark h3{color:#fff}
.section-head{max-width:720px;margin-bottom:40px}.section-head p{color:var(--muted);font-size:1.08rem}.dark .section-head p{color:#c3d0de}
.grid{display:grid;gap:24px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr);align-items:center}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.g4,.g3,.g2{grid-template-columns:1fr}section{padding:60px 0}}
.card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border-top:4px solid var(--sun)}
.card .icon{width:48px;height:48px;border-radius:12px;background:var(--navy);display:grid;place-items:center;margin-bottom:14px}
.card .icon svg{width:26px;height:26px;stroke:var(--sun);fill:none;stroke-width:2}
.card p{color:var(--muted);margin:0}
.checks{list-style:none;padding:0;margin:1rem 0}.checks li{padding-left:30px;position:relative;margin-bottom:.6rem}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d2238' stroke-width='4'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
/* placeholders */
.ph{position:relative;border-radius:var(--radius);background:repeating-linear-gradient(45deg,#e9e2d4,#e9e2d4 12px,#efe9de 12px,#efe9de 24px);border:2px dashed #b8a98c;display:grid;place-items:center;text-align:center;color:#6b5b3e;font-weight:700;padding:20px;min-height:260px}
.ph small{display:block;font-weight:500;font-size:.85rem;margin-top:4px}.ph.tall{min-height:380px}
.dark .ph{background:repeating-linear-gradient(45deg,#1b3a5c,#1b3a5c 12px,#20446a 12px,#20446a 24px);border-color:#5d7ea3;color:#cfe0f2}
.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ph-grid .ph{min-height:180px}
.tag{display:inline-block;background:var(--sun);color:var(--navy);font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.05em;text-transform:uppercase}
/* testimonials */
.quote{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;margin:0}
.quote blockquote{margin:0;font-size:1.04rem;color:var(--ink)}.quote blockquote::before{content:"\201C";font-size:3rem;line-height:0;vertical-align:-.45em;color:var(--sun);margin-right:4px;font-family:Georgia,serif}
.quote figcaption{font-size:.88rem;color:var(--muted);font-weight:600;margin-top:auto}
.quote.feature{grid-column:span 2;background:var(--navy);color:#fff}.quote.feature blockquote{color:#fff;font-size:1.3rem}.quote.feature figcaption{color:var(--sun)}
@media(max-width:680px){.quote.feature{grid-column:auto}}
.rating-big{display:flex;align-items:center;gap:18px;margin-bottom:32px;flex-wrap:wrap}.rating-big .num{font-size:3.4rem;font-weight:800;color:var(--navy);line-height:1}
.rating-big .stars{font-size:1.6rem}
/* featured build */
.feature-build{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1fr 1fr}
.feature-build .body{padding:36px}.stat-row{display:flex;gap:28px;margin:18px 0}.stat-row strong{display:block;font-size:2rem;color:var(--navy);line-height:1}.stat-row span{color:var(--muted);font-size:.9rem}
.feature-build .ph{border-radius:0;border:0;border-right:2px dashed #b8a98c;min-height:100%}
@media(max-width:760px){.feature-build{grid-template-columns:1fr}.feature-build .ph{min-height:240px;border-right:0;border-bottom:2px dashed #b8a98c}}
/* parts */
.price-list{list-style:none;padding:0;margin:0}.price-list li{display:flex;justify-content:space-between;border-bottom:1px dashed #d5cbb8;padding:10px 0;font-weight:600}.price-list li b{color:var(--navy)}
.note{font-size:.85rem;color:var(--muted)}
/* review CTA */
.review-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-radius:22px;padding:44px;display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center}
.review-cta h2{color:#fff}.review-cta p{color:#d4dfeb}
.qr-box{background:#fff;border-radius:18px;padding:20px;text-align:center;color:var(--navy);max-width:280px;justify-self:center}
.qr-box img{width:220px;height:220px;margin:0 auto 8px}.qr-box span{font-weight:700;font-size:.9rem}
.review-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
@media(max-width:760px){.review-cta{grid-template-columns:1fr;padding:28px}}
/* visit */
.map{border:0;width:100%;height:100%;min-height:380px;border-radius:var(--radius);box-shadow:var(--shadow)}
.hours{width:100%;border-collapse:collapse;margin:10px 0 18px}.hours td{padding:8px 0;border-bottom:1px solid #e3dccd}.hours td:last-child{text-align:right;font-weight:600}
.info-list{list-style:none;padding:0;margin:0 0 18px}.info-list li{margin-bottom:10px}.info-list a{font-weight:700}
/* form */
form.quote-form{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:16px;color:var(--ink)}
.quote-form label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem;gap:6px}
.quote-form input,.quote-form select,.quote-form textarea{font:inherit;padding:12px 14px;border:1.5px solid #cfd7e2;border-radius:10px;background:#fbfcfe}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--sun);border-color:var(--sun)}
.quote-form .full{grid-column:1/-1}.quote-form textarea{min-height:120px;resize:vertical}
@media(max-width:600px){form.quote-form{grid-template-columns:1fr;padding:22px}}
/* footer */
footer{background:#081726;color:#aab8c8;padding:50px 0 30px;font-size:.93rem}footer a{color:#dfe7f1}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}@media(max-width:760px){.foot{grid-template-columns:1fr}}
footer h3{color:#fff;font-size:1rem}.foot ul{list-style:none;padding:0;margin:0}.foot li{margin-bottom:6px}
.legal{border-top:1px solid #1d3550;margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.mobile-call{display:none}@media(max-width:680px){.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;box-shadow:0 -4px 16px rgba(0,0,0,.2)}.mobile-call a{flex:1;text-align:center;padding:14px;font-weight:800;text-decoration:none}.mobile-call a:first-child{background:var(--sun);color:var(--navy)}.mobile-call a:last-child{background:var(--navy);color:#fff}body{padding-bottom:52px}}
@media(max-width:520px){.phone-link{display:none}.hero::after{background:linear-gradient(180deg,rgba(13,34,56,.88),rgba(13,34,56,.78))}.hero picture img{height:640px}}
/* photos (watermarked install images are always shown uncropped so the corner mark stays visible) */
.photo{margin:0;border-radius:var(--radius);overflow:hidden;background:#0a1a2b;box-shadow:var(--shadow)}
.photo img{width:100%;height:auto}.photo figcaption{font-size:.85rem;padding:8px 12px;color:#c3d0de;background:#0a1a2b}
#overnight .photo figcaption{background:#fff;color:var(--muted)}
.ph-grid .photo{align-self:start}
.protect img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
/* featured install */
.featured-install{margin-top:56px;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:36px;display:grid;grid-template-columns:1fr 1.5fr;gap:32px;align-items:center;border-top:4px solid var(--sun)}
.fi-copy p{color:var(--muted);font-size:1.05rem}
.fi-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fi-photos a{display:block}
.fi-photos .photo figcaption{background:var(--navy);color:#fff}
@media(max-width:860px){.featured-install{grid-template-columns:1fr;padding:22px}}
@media(max-width:420px){.fi-photos{grid-template-columns:1fr}}
/* installs gallery: CSS columns so photos keep their full frame (and watermark) */
.install-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-16px 0 24px}
.install-filters button{font:inherit;font-weight:700;font-size:.88rem;padding:.45em 1.1em;border-radius:999px;border:2px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}
.install-filters button[aria-pressed="true"]{background:var(--navy);color:#fff}
.install-grid{columns:3 300px;column-gap:20px;margin-bottom:18px}
.install-card{break-inside:avoid;margin:0 0 20px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.install-card button{all:unset;cursor:zoom-in;display:block;width:100%}
.install-card button:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}
.install-card img{width:100%;height:auto;transition:transform .25s}.install-card button:hover img{transform:scale(1.02)}
.install-card .meta{padding:14px 16px 16px}.install-card h3{font-size:1.02rem;margin:0 0 4px}
.install-card p{margin:0;color:var(--muted);font-size:.9rem}.install-card .tags{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.install-card .tag{font-size:.68rem;padding:2px 8px}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(5,14,24,.97);display:flex;align-items:center;justify-content:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1200px,92vw);text-align:center}
.lightbox img{max-height:80vh;width:auto;max-width:100%;margin:0 auto;border-radius:8px}
.lightbox figcaption{color:#dfe7f1;margin-top:10px;font-size:.95rem}.lightbox figcaption strong{color:#fff;display:block}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font-size:2.4rem;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer}
.lightbox button:hover{background:var(--sun);color:var(--navy)}
.lb-close{top:16px;right:16px}.lb-prev{left:16px;top:50%;transform:translateY(-50%)}.lb-next{right:16px;top:50%;transform:translateY(-50%)}
@media(max-width:680px){.lb-prev,.lb-next{top:auto;bottom:16px;transform:none}}
.legal-photos{margin:10px 0 0;font-size:.85rem;color:#8193a7}
/* showroom (informational only: no cart/checkout) */
.sr-head{align-items:start;margin-bottom:48px}.sr-head .hours{max-width:520px}
.sr-actions{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 12px}
.sr-sub{font-size:1.4rem;margin-bottom:20px}
.sr-grid{align-items:stretch}.sr-card{display:flex;flex-direction:column}
.sr-card p{margin-bottom:12px}.sr-card .sr-ask{margin:auto 0 0;padding-top:12px;border-top:1px dashed #d5cbb8;font-size:.85rem;font-weight:700;color:var(--navy)}
.sr-card .sr-ask a{color:#9a6c00}
.sr-card.featured{grid-column:span 2;background:var(--navy);border-top-color:var(--sun)}
.sr-card.featured h3{color:#fff}.sr-card.featured p{color:#d4dfeb}.sr-card.featured a{color:var(--sun)}.sr-card.featured .sr-ask{color:#fff;border-top-color:#3a5878}
.sr-card.featured .icon{background:var(--sun)}.sr-card.featured .icon svg{stroke:var(--navy)}
.sr-card h3 .tag{vertical-align:middle;margin-right:4px;font-size:.66rem}
.sr-foot{margin-top:32px;align-items:stretch}
.sr-note{background:#fff;border-radius:var(--radius);padding:28px;border:2px dashed #d5cbb8}.sr-note p{color:var(--muted)}
@media(max-width:680px){.sr-card.featured{grid-column:auto}}
.sr-deals{grid-column:span 2}.sr-foot .sr-note{max-width:none}
.sr-head .hours td:first-child{white-space:nowrap;padding-right:12px}
@media(max-width:680px){.sr-deals{grid-column:auto}}
.quote-form label,.quote-form select,.quote-form input{min-width:0;max-width:100%}.grid>*{min-width:0}
/* Newmar stories (Oct 2026) */
.photo{position:relative}
.photo .badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--sun);color:var(--navy);font-weight:800;font-size:.8rem;line-height:1.2;padding:5px 10px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.photo .badge.before{background:#fff;color:#7a1e1e}
.newmar-hero{align-self:center}
.newmar-stories{margin-top:56px;display:grid;gap:48px}
.story{border-top:1px solid rgba(255,255,255,.14);padding-top:40px;display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:start}
.story h3{font-size:1.45rem;margin:.3rem 0 .8rem;color:#fff}
.story .pair,.crimps .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.story .trio{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.crimps{grid-column:1/-1;max-width:760px;margin:0 auto;width:100%}
.crimps h4{color:var(--sun);font-size:1.1rem;margin:0 0 12px;text-align:center}
@media(max-width:860px){.story{grid-template-columns:1fr}}
@media(max-width:680px){.story .trio{grid-template-columns:1fr}}
/* gallery card with a photo set */
.install-card button{position:relative}
.install-card .photo-count{position:absolute;top:10px;right:10px;z-index:2;background:rgba(10,26,43,.85);color:#fff;font-size:.75rem;font-weight:700;padding:4px 9px;border-radius:999px}
.story-copy a{color:var(--sun)}
@media(max-width:520px){.photo .badge{font-size:.66rem;padding:3px 7px;top:6px;left:6px;max-width:calc(100% - 12px)}}
/* About strip (J.R.'s words from the old site, Oct 2026) */
.about-strip{padding:64px 0 8px}
.about-strip .grid{align-items:start}
.about-strip h2{margin-top:.3rem}
/* Fabrication media: Supra + tilt loops (Oct 2026). Low-res sources, so keep them modest. */
.fab-media{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:16px;align-items:start;justify-content:end}
.fab-side{display:grid;gap:16px}
.vid{margin:0;border-radius:var(--radius);overflow:hidden;background:#0a1a2b;box-shadow:var(--shadow)}
.vid video{display:block;width:100%;height:auto;background:#0a1a2b}
.vid-portrait video{aspect-ratio:320/568}.vid-wide video{aspect-ratio:480/320}
.vid figcaption{font-size:.85rem;padding:8px 12px;color:#c3d0de;background:#0a1a2b}
.fab-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;align-items:start}
.fab-strip .ph{min-height:180px;align-self:stretch}
@media(max-width:860px){.fab-media{justify-content:stretch;margin-top:8px}}
@media(max-width:680px){.fab-media{grid-template-columns:1fr}.vid-portrait{max-width:280px;width:100%;justify-self:center}.fab-strip{grid-template-columns:1fr 1fr}.fab-strip .ph{grid-column:1/-1}}
.fab-strip{grid-template-columns:repeat(3,minmax(0,250px));justify-content:center}@media(max-width:680px){.fab-strip{grid-template-columns:1fr 1fr}}
/* Request a Consultation (Oct 2026): posts to /contact.php */
.anchor-alias{position:relative;top:-80px;display:block;height:0}
.consult-grid{align-items:start}
.consult-intro p{color:#d4dfeb}
.consult-form .field{display:flex;flex-direction:column;gap:6px;min-width:0}
.consult-form .field label{font-weight:600;font-size:.9rem}
.consult-form input,.consult-form select,.consult-form textarea{width:100%;color:var(--ink);font-size:16px}
.consult-form .req{color:#b3261e;font-weight:800}
.consult-form .opt{font-weight:400;color:var(--muted)}
.consult-form .choice-group{border:0;margin:0;padding:0;min-width:0}
.consult-form legend{font-weight:600;font-size:.9rem;padding:0;margin-bottom:8px}
.consult-form .choices{display:flex;flex-wrap:wrap;gap:8px}
.consult-form .choices-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.consult-form label.choice{flex-direction:row;align-items:center;gap:10px;font-weight:600;font-size:.92rem;padding:10px 14px;border:1.5px solid #cfd7e2;border-radius:10px;background:#fbfcfe;cursor:pointer;line-height:1.3}
.consult-form label.choice:has(input:checked){border-color:var(--sun);background:#fff7dc}
.consult-form .choice input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--navy);padding:0}
.consult-form .choice input:focus-visible{outline:2px solid var(--sun);outline-offset:2px}
.consult-form .field-err{color:#b3261e;font-size:.85rem;font-weight:600;min-height:0}
.consult-form .field-err:empty{display:none}
.consult-form [aria-invalid="true"]{border-color:#b3261e;background:#fff6f5}
.consult-form .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.consult-form .form-actions .note{margin:0}
.consult-form button[disabled]{opacity:.7;cursor:progress;transform:none}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{border-radius:10px;padding:14px 16px;font-weight:600;line-height:1.5}
.form-status.ok{background:#e8f6ec;border:1.5px solid #2e7d4f;color:#1d4d31}
.form-status.err{background:#fff1ef;border:1.5px solid #b3261e;color:#7a1712}
.form-status a{color:inherit;font-weight:800}
.form-status:focus{outline:none}
.consult-done{grid-column:1/-1;text-align:center;padding:28px 10px}
.consult-done h3{font-size:1.4rem;margin-bottom:.4rem}
.consult-done p{color:var(--muted);margin:0 0 .4rem}
.consult-done .icon-ok{width:56px;height:56px;border-radius:50%;background:var(--sun);display:grid;place-items:center;margin:0 auto 14px}
.consult-done .icon-ok svg{width:30px;height:30px;stroke:var(--navy);fill:none;stroke-width:3}
@media(max-width:600px){.consult-form .choices-grid{grid-template-columns:1fr}.consult-form .choices .choice{flex:1 1 auto}}
.consult-form h3{color:var(--navy)}
/* Header: "Request a Consultation" nav link replaces the old Get a Quote header button; header row a bit wider so the 9 links fit */
.site-header .wrap{max-width:1320px}
@media(min-width:1367px){.nav ul{gap:18px}}
.nav ul a.nav-consult{color:var(--sun)}.nav ul a.nav-consult:hover{color:var(--sun-2);text-decoration:underline}
.consult-form .field label{display:block}
/* Hero fix (Oct 17, 2026): on short, wide screens (e.g. 125-150% Windows scaling) the centered hero text was taller
   than the photo and spilled up under the sticky header. Photo and text now share one grid cell, so the hero grows
   to fit the text, with padding that keeps the eyebrow clear of the header. */
.hero{display:grid}
.hero>picture,.hero>.hero-copy{grid-area:1/1;min-width:0}
.hero>picture{display:block;position:relative;min-height:clamp(460px,72vh,720px)}
.hero picture img{position:absolute;inset:0;width:100%;height:100%}
.hero-copy{position:relative;inset:auto;padding:clamp(40px,6vh,64px) 0}
@media(max-width:520px){.hero>picture{min-height:640px}.hero picture img{height:100%}}
.overnight-note{background:#fff;border-left:4px solid var(--sun);border-radius:8px;padding:12px 16px;font-size:.95rem}
/* Bracket photo strip (Oct 17 2026): 5 photos + Haas placeholder; lead photo full width on phones */
.fab-strip picture{display:block}
@media(max-width:680px){.fab-strip .fab-lead{grid-column:1/-1}}
.fab-sub{margin:44px 0 16px;text-align:center;font-size:1.3rem}
.wrap:has(>.fab-sub)+.fab-strip{margin-top:0}
