
.p26{background-attachment:scroll}
/* Header: frosted glass over the hero photo, bigger logo, shrinks on scroll */
.p26-hdr{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:none;--shrink:18px}
.p26-hdr .header-inner{padding:1.4rem 0 1.1rem}
.p26-hdr .logo-img{height:3.1rem;max-width:min(250px,56vw)}
@media (min-width:960px){.p26-hdr .logo-img{height:4.1rem;max-width:340px}}
.p26-hdr .nav a{color:var(--navy)}
.hdr-phone{display:none;flex-direction:column;align-items:flex-end;line-height:1.15;font-weight:600;font-size:1rem;color:var(--navy);text-decoration:none;margin-right:.4rem;white-space:nowrap}
.hdr-phone small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:600}
@media (min-width:1180px){.hdr-phone{display:flex}}
.p26-hdr .nav-mobile.open{background:rgba(243,240,234,.96)}
/* Hero */
.p26-hero{min-height:min(96vh,880px);align-items:flex-end}
.p26-hero .hero-media{background:none;transform:translate3d(0,var(--py,0px),0);inset:0}
.p26-photo{position:absolute;inset:0;background:linear-gradient(115deg,rgba(7,11,20,.96) 0%,rgba(12,24,48,.9) 34%,rgba(12,24,48,.5) 64%,rgba(12,24,48,.25) 100%)}
.p26-hero .container{padding:10rem 0 8.5rem}
.p26-hero h1{font-size:clamp(3rem,8vw,5.6rem);max-width:12ch}
.p26-hero .lead{max-width:34rem}
@media (max-width:719px){.p26-photo{background-position:70% 50%}.p26-hero .container{padding:8.5rem 0 7rem}}
/* Count-up stats, glass cards overlapping the hero */
.p26-stats{position:relative;z-index:5;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:-4.5rem}
@media (min-width:860px){.p26-stats{grid-template-columns:repeat(4,1fr);gap:1rem}}
.stat{background:rgba(250,247,242,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.3rem 1.2rem 1.15rem;text-align:center}
.stat b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,4vw,3rem);line-height:1;letter-spacing:-.03em;color:var(--navy)}
.stat b span{color:inherit}
.stat:nth-child(odd) b{color:var(--red)}
.stat>span{display:block;margin-top:.45rem;font-size:.86rem;line-height:1.35;color:var(--muted);font-weight:500}
/* Our work */
.p26-work-grid{display:grid;gap:2.2rem;align-items:center}
@media (min-width:860px){.p26-work-grid{grid-template-columns:5fr 6fr;gap:4rem}}
.p26-job{margin:0}
.p26-job-img{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;max-height:640px}
.p26-job-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
@media (hover:hover){.p26-job:hover .p26-job-img img{transform:scale(1.04)}}
.p26-job figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.p26-work-copy h2{font-family:var(--display);font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.025em;margin:.4rem 0 1rem;color:var(--navy)}
.p26-muted{color:var(--muted);font-size:1rem}
/* Reviews carousel */
.p26-carousel{max-width:56rem;margin:0 auto 2rem;color:var(--navy)}
.rv{margin:0 .4rem;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:2.4rem 2rem 2rem;position:relative;overflow:hidden}
.rv::before{content:"\201C";position:absolute;top:-1.6rem;left:1.2rem;font-family:var(--display);font-size:9rem;line-height:1;color:var(--red);opacity:.14}
.rv blockquote{margin:0;font-family:var(--display);font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.45;letter-spacing:-.01em;color:var(--ink);font-weight:500;position:relative}
.rv figcaption{margin-top:1.4rem;display:flex;gap:.8rem;align-items:baseline;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem}
.rv figcaption strong{font-size:1rem;color:var(--navy)}
.rv figcaption span{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media (min-width:768px){.rv{padding:3rem 3.4rem 2.4rem}}
.btn-outline-dark{background:transparent;color:var(--navy);border:1.5px solid rgba(12,24,48,.25)}
.btn-outline-dark:hover{border-color:var(--navy);color:var(--navy)}
/* Comfort Club: three cards */
@media (min-width:1000px){.p26-cc{grid-template-columns:repeat(3,1fr)!important}}
/* Quote band */
.p26-quote{min-height:420px}
.p26-quote-img{position:absolute;inset:0}
.p26-quote-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
/* Service area truck */
.p26-truck{margin:0;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.p26-truck img{width:100%;aspect-ratio:3/2;object-fit:cover}
.p26-text{margin-top:1.2rem;font-size:.95rem;opacity:.75}
/* Rhythm: a little more air and bigger heads than live */
.p26 .section-head h2{font-size:clamp(2.1rem,4.4vw,3.3rem)}
@media (max-width:719px){.p26 .site-footer{padding-bottom:6.5rem}}
.stat b span{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;margin:0;display:inline}
.p26 .stat{background:rgba(250,247,242,.86)}
.p26-carousel .m-slide{display:flex}
.p26-carousel .rv{flex:1;display:flex;flex-direction:column;justify-content:center}
.p26-job figcaption span:last-child{white-space:nowrap}
.cta-band .p26-text{max-width:34rem;margin-inline:auto}
.p26-hdr .logo-img{filter:none}
.p26-hdr .nav a{white-space:nowrap;padding:.5rem .7rem}
.stat b i{font-style:italic;font-weight:500;font-size:.5em;letter-spacing:0;color:var(--navy);vertical-align:.35em;margin-right:.1em}
@media (max-width:639px){
 .p26 .svc-grid{grid-template-columns:1fr 1fr;gap:.7rem}
 .p26 .svc-card-body{padding:.9rem .85rem 1rem}
 .p26 .svc-card-body h3{font-size:1.05rem}
 .p26 .svc-card-body p{font-size:.85rem;line-height:1.45}
 .rv{padding:1.8rem 1.3rem 1.4rem}
 .rv blockquote{font-size:1.05rem}
}

/* Phone header fit (bug fix 10/2): logo may shrink, Call + Menu always fully visible, no sideways scroll */
html,body{max-width:100%;overflow-x:clip}
@media (max-width:959px){
 .p26-hdr .header-inner{gap:.6rem;padding:1.1rem 0 .9rem}
 .p26-hdr .logo{flex:1 1 auto;min-width:0}
 .p26-hdr .logo-img{height:auto;width:100%;max-width:210px;max-height:3rem}
 .p26-hdr .header-actions{flex:0 0 auto;gap:.4rem}
 .p26-hdr .header-actions .btn{padding:.62rem .95rem;font-size:.88rem;white-space:nowrap}
 .p26-hdr .menu-toggle{padding:.58rem .75rem}
}
@media (max-width:719px){body.p26{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}}
/* Logo size (10/2 add-on): expanded desktop ~1.8-2x the live logo's artwork, scales down when shrunk.
   Both pages get the transparent lockup, even if their HTML still points at logo-light.png. */
.p26-hdr img.logo-img[src$="logo-light.png"]{content:url("images/lockup.png")}
@media (min-width:960px){.p26-hdr .logo-img{height:3.5rem;width:auto;max-width:none}}
@media (min-width:1280px){.p26-hdr .logo-img{height:4.4rem}}
@media (min-width:960px){[data-shrink].is-shrunk:not(.is-top) .m-logo{transform:scale(.68)}}
@media (max-width:959px){.p26-hdr .logo-img{max-width:100%}}
/* ===== Inner pages (overnight build) ===== */
.nw{white-space:nowrap}
.p26-phero{padding:9.5rem 0 4.5rem}
@media (max-width:959px){.p26-phero{padding:7.6rem 0 3.4rem}}
.p26-phero h1{font-size:clamp(2.3rem,5.2vw,3.9rem);max-width:20ch}
.p26-phero .hero-ctas{margin-top:1.6rem}
.p26-phero-grid{display:grid;gap:2rem;align-items:end}
@media (min-width:960px){.p26-phero-grid{grid-template-columns:1.6fr 1fr;gap:3rem}}
.p26-facts{margin:0;display:grid;gap:.6rem}
.p26-facts div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:1rem;padding:.85rem 1.1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.p26-facts dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-bright);font-weight:600}
.p26-facts dd{margin:.15rem 0 0;color:#fff;font-weight:500;font-size:1.02rem;line-height:1.4}
.p26-center{text-align:center;margin:2rem auto 0;max-width:44rem}
.p26-small{font-size:.82rem;color:var(--muted);margin-top:1rem}
.p26-lede{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.4;color:var(--navy);max-width:48rem;margin:0 auto;text-align:center}
.p26-onnavy{color:rgba(255,255,255,.75)}
.p26-list{margin:.6rem 0 0;padding-left:1.1rem}.p26-list li{margin:.35rem 0;line-height:1.55}
.p26-box{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.6rem 1.5rem;margin:1.2rem 0}
.p26-box h2{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.12;color:var(--navy);margin:.3rem 0 .8rem}
.p26-box h3{font-family:var(--display);color:var(--navy);margin:.2rem 0 .5rem;font-size:1.3rem}
.p26-wide{max-width:52rem;margin:0 auto;padding:2.4rem 2.2rem}
.p26-centerbox{text-align:center}
.p26-work-copy h3{font-family:var(--display);color:var(--navy);font-size:1.3rem;margin:1.3rem 0 .4rem}
@media (min-width:860px){.p26-work-grid.rev{grid-template-columns:6fr 5fr}}
.p26-cat{margin:0;background:#0c1830;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.p26-cat img{width:100%;aspect-ratio:4/3;object-fit:cover}
.p26-cat figcaption{color:rgba(255,255,255,.7);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1.1rem;font-weight:600}
/* Designed photo-shoot placeholder: full navy panel, never an empty grey box */
.ph-fig{margin:0}
.ph{position:relative;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);background:radial-gradient(ellipse 70% 60% at 85% 10%,rgba(26,163,224,.28),transparent 60%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(227,28,35,.22),transparent 60%),linear-gradient(160deg,#070b14,#0c1830 55%,#152a4a);max-height:640px;width:100%}
.ph::before{content:"";position:absolute;inset:0;opacity:.07;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:48px 48px}
.ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--red) 0 30%,#fff 30% 38%,var(--cyan) 38% 100%)}
.ph-mark{position:absolute;right:3%;top:50%;width:62%;max-width:360px;transform:translateY(-50%);opacity:.12}
.ph-tag{position:absolute;left:1.1rem;bottom:1.3rem;display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.45rem .9rem;color:var(--cyan-bright);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:calc(100% - 2.2rem)}
.ph-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.ph-fig figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ph-fig figcaption span:last-child{white-space:nowrap}
/* Services rows */
.svc-rows{display:grid;gap:.9rem}
@media (min-width:900px){.svc-rows{grid-template-columns:repeat(5,1fr)}}
.svc-row{display:flex;flex-direction:column;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.3rem 1.2rem;text-decoration:none;color:var(--body)}
.svc-row .n{font-family:var(--display);font-style:italic;color:var(--cyan);font-size:1.4rem}
.svc-row h3{font-family:var(--display);color:var(--navy);font-size:1.2rem;margin:.3rem 0 .45rem;line-height:1.2}
.svc-row p{font-size:.92rem;line-height:1.55;margin:0 0 .8rem;flex:1}
.svc-row .go{color:var(--red);font-weight:600;font-size:.88rem}
.call-rows{display:grid;gap:0;border-top:1px solid var(--line);max-width:60rem;margin:0 auto}
.call-row{display:grid;gap:.3rem 2rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
@media (min-width:760px){.call-row{grid-template-columns:1fr 1.6fr}}
.call-row h3{font-family:var(--display);color:var(--navy);margin:0;font-size:1.15rem}
.call-row p{margin:0;font-size:1rem;line-height:1.6}
.p26-cards .card{padding:1.8rem 1.6rem}
.p26-cards .card h3{font-family:var(--display);color:var(--navy)}
@media (min-width:860px){.cards.cols-3{grid-template-columns:repeat(3,1fr)}.cards.cols-2{grid-template-columns:repeat(2,1fr)}}
.p26-imgcard{overflow:hidden;padding-top:0!important}
.p26-imgcard>img,.p26-navytile{display:block;margin:0 -1.6rem 1.2rem;width:calc(100% + 3.2rem);max-width:none;aspect-ratio:7/5;object-fit:cover;background:#0c1830}
.p26-navytile{display:grid;place-items:center;background:radial-gradient(ellipse 70% 60% at 80% 10%,rgba(26,163,224,.3),transparent 60%),linear-gradient(160deg,#070b14,#152a4a)}
.p26-navytile span{font-family:var(--display);font-style:italic;font-size:2.2rem;color:#fff}
/* Tiers */
.tier-grid{display:grid;gap:1.2rem}
@media (min-width:900px){.tier-grid{grid-template-columns:repeat(3,1fr)}}
.tier-card{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.tier-img{background:#0c1830;aspect-ratio:7/5;position:relative;overflow:hidden}
.tier-img img{width:100%;height:100%;object-fit:cover}
.tier-type{display:grid;place-items:center;background:radial-gradient(ellipse 70% 60% at 85% 10%,rgba(26,163,224,.28),transparent 60%),linear-gradient(160deg,#070b14,#0c1830 55%,#152a4a)}
.tier-type span{position:relative;font-family:var(--display);font-style:italic;font-size:3rem;color:#fff;letter-spacing:-.02em}
.tier-type .ph-mark{opacity:.1}
.tier-body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.tier-body h3{font-family:var(--display);color:var(--navy);margin:.6rem 0 .2rem;font-size:1.3rem}
.tier-line{color:var(--muted);margin:0;font-size:.95rem}
.tier-body .p26-list{flex:1;margin-bottom:1.2rem}
.tier-body .btn{align-self:flex-start}
/* Reviews grid */
.review-grid{display:grid;gap:1.2rem;max-width:64rem;margin:0 auto}
@media (min-width:900px){.review-grid{grid-template-columns:repeat(3,1fr)}.review-grid .rv{height:100%;padding:2.2rem 1.8rem 1.8rem}.review-grid .rv blockquote{font-size:1.15rem}}
.review-grid>div{display:flex}.review-grid .rv{flex:1;margin:0;display:flex;flex-direction:column;justify-content:space-between}
/* Contact */
.p26-contact{align-items:start}
.p26-dl{margin:.6rem 0 1rem;display:grid;gap:.55rem}
.p26-dl div{display:grid;grid-template-columns:7rem 1fr;gap:.8rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}
.p26-dl dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:.2rem}
.p26-dl dd{margin:0;color:var(--ink)}
.p26-form small{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:.25rem}
.p26-form fieldset{border:0;padding:0;margin:0 0 1rem}.p26-form legend{font-weight:600;font-size:.92rem;margin-bottom:.4rem;color:var(--navy)}
.p26-form label.r{display:inline-flex;align-items:center;gap:.35rem;margin-right:1rem;font-weight:500}
.p26-form label.r input{width:auto;margin:0}
.form-ok{background:rgba(26,163,224,.1);border:1px solid rgba(26,163,224,.35);border-radius:.8rem;padding:.8rem 1rem;color:var(--navy);font-weight:600}
@media (hover:hover) and (pointer:fine){.p26-sms{display:none}}
.p26-pills-center .pills{justify-content:center}
/* Service areas */
.town-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
@media (min-width:760px){.town-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}
.town{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.3rem 1.2rem}
.town .n{font-family:var(--display);font-style:italic;color:var(--red);font-size:1.1rem}
.town h3{font-family:var(--display);color:var(--navy);margin:.2rem 0 0;font-size:clamp(1.15rem,2.4vw,1.5rem)}
/* Our work grid */
.work-grid{display:grid;gap:1.2rem}
@media (min-width:900px){.work-grid{grid-template-columns:repeat(6,1fr);gap:1.4rem}.wg-a{grid-column:1/4;grid-row:1/3}.wg-b{grid-column:4/7}.wg-c{grid-column:4/7}.wg-d{grid-column:1/4}.wg-e{grid-column:4/7}
 .wg-b .ph{aspect-ratio:3/2!important}}
.work-grid .p26-job-img{max-height:none}
.p26-chips{justify-content:center}.p26-chips .pill{text-decoration:none}
.p26 .faq-list{max-width:52rem;margin-inline:auto}
.p26 [id]{scroll-margin-top:96px}
.p26-contact>*,.split>*{min-width:0}
@media (max-width:859px){.p26-contact{grid-template-columns:minmax(0,1fr)}}
.p26-form input,.p26-form select,.p26-form textarea{max-width:100%;box-sizing:border-box}
@media (max-width:480px){.p26-dl div{grid-template-columns:5.6rem 1fr;gap:.6rem}}
@media (max-width:899px){.work-grid{grid-template-columns:1fr 1fr;gap:.8rem}.wg-a{grid-column:1/-1}.work-grid .ph{aspect-ratio:1/1!important}.work-grid .ph-tag{font-size:.6rem;left:.6rem;bottom:.8rem;max-width:calc(100% - 1.2rem);padding:.35rem .6rem}.work-grid .ph-fig figcaption{font-size:.66rem;flex-direction:column;gap:.1rem}}
/* Comfort Club perks: five live-style .special tiles */
.p26 .specials.p26-perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.p26-perks .special:last-child{grid-column:1/-1}
@media (min-width:760px){.p26 .specials.p26-perks{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.p26-perks .special{grid-column:span 2}.p26-perks .special:nth-child(4){grid-column:2/span 2}.p26-perks .special:last-child{grid-column:span 2}}
@media (min-width:1100px){.p26 .specials.p26-perks{grid-template-columns:repeat(5,minmax(0,1fr))}.p26-perks .special,.p26-perks .special:nth-child(4),.p26-perks .special:last-child{grid-column:auto}}
.p26-perks .special strong{white-space:nowrap}
.p26-perks .special h3,.p26-perks .special p{overflow-wrap:anywhere}
/* About: whole review quotes (longer than the old excerpts) */
.ab-q{font-size:1.02rem!important;line-height:1.5!important}
@media (max-width:719px){.ab-q{font-size:.95rem!important}}
/* ===== Header v3: solid dark navy, official reversed lockup (logo-dark.png, as on the live footer) ===== */
.p26-hdr .m-inner{mix-blend-mode:lighten} /* the reversed lockup ships on a near-black plate; lighten lets the navy bar show through without touching the art */
.p26-hdr .nav a{color:rgba(255,255,255,.84)}
.p26-hdr .nav a:hover,.p26-hdr .nav a[aria-current=page]{color:#fff;background:rgba(255,255,255,.1)}
.hdr-phone{color:#fff}.hdr-phone small{color:#7fd0ff}
.p26-hdr .menu-toggle{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28)}
.p26-hdr .nav-mobile{border-top-color:rgba(255,255,255,.12)}
.p26-hdr .nav-mobile.open{background:#0a162e}
.p26-hdr .nav-mobile a{color:#fff;border-bottom-color:rgba(255,255,255,.1)}
.p26-hdr .nav-mobile a[aria-current=page]{color:#7fd0ff}
.p26-hdr img.logo-img{content:normal}
@media (max-width:959px){.p26-hdr .logo-img{max-height:3.2rem}}
/* ===== Premium pass ===== */
:focus-visible{outline:3px solid #7fd0ff;outline-offset:3px;border-radius:6px}
.btn:focus-visible{outline-offset:2px;border-radius:999px}
h1,h2,h3{text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
.rv.rv-mid blockquote{font-size:clamp(1.05rem,1.7vw,1.3rem)}
.rv.rv-long blockquote{font-size:clamp(.98rem,1.3vw,1.12rem);line-height:1.55}
.review-grid .rv.rv-long blockquote{font-size:1rem}
.rv figcaption{flex-direction:column;align-items:flex-start;gap:.2rem}
@media (min-width:900px){
 .review-grid{display:block;columns:3;column-gap:1.2rem;max-width:72rem}
 .review-grid>div{display:block;break-inside:avoid;margin:0 0 1.2rem}
 .review-grid .rv{height:auto}
}
@media (min-width:600px) and (max-width:899px){.review-grid{display:block;columns:2;column-gap:1rem}.review-grid>div{display:block;break-inside:avoid;margin:0 0 1rem}}
/* Crew recognition */
.rec-grid{display:grid;gap:1.4rem;margin:0 auto}
.rec-grid.rec-n1{max-width:460px}.rec-grid.rec-n2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:940px}.rec-grid.rec-n3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.rec-card{margin:0;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow)}
.rec-card img{display:block;width:100%;height:auto}
.rec-card figcaption{padding:1rem 1.2rem 1.15rem;display:flex;flex-direction:column;gap:.15rem}
.rec-card strong{color:var(--navy);font-size:1.02rem}.rec-card span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media (min-width:960px){.p26-hdr .logo-img{height:4.1rem}}
@media (min-width:1280px){.p26-hdr .logo-img{height:5.1rem}}
@media (max-width:959px){[data-shrink].is-shrunk:not(.is-top) .m-logo{transform:scale(.86)}}
/* ===== Release: hero = job 104478 American Standard condenser (no vans/trucks in the hero) ===== */
.p26-photo{background:linear-gradient(90deg,#070b14 0%,rgba(10,22,46,.97) 38%,rgba(10,22,46,.55) 58%,rgba(10,22,46,.08) 78%),url("images/hero-104478-1200.jpg") right 18% center/auto 112% no-repeat,#0a162e;background:linear-gradient(90deg,#070b14 0%,rgba(10,22,46,.97) 38%,rgba(10,22,46,.55) 58%,rgba(10,22,46,.08) 78%),image-set(url("images/hero-104478-1200.webp") type("image/webp"),url("images/hero-104478-1200.jpg") type("image/jpeg")) right 18% center/auto 112% no-repeat,#0a162e}
@media (max-width:1100px){.p26-photo{background:linear-gradient(180deg,rgba(10,22,46,.25) 0%,rgba(10,22,46,.55) 38%,rgba(7,11,20,.96) 66%),image-set(url("images/hero-104478-800.webp") type("image/webp"),url("images/hero-104478-800.jpg") type("image/jpeg")) center top/cover no-repeat,#0a162e}}
.p26-stats{grid-template-columns:repeat(3,1fr)}
@media (min-width:860px){.p26-stats{grid-template-columns:repeat(3,1fr);max-width:60rem;margin-left:auto;margin-right:auto}}
@media (max-width:520px){.p26-stats{grid-template-columns:1fr 1fr 1fr;gap:.5rem}.p26-stats .stat{padding:.9rem .6rem}.p26-stats .stat>span{font-size:.72rem}}
.p26-solo{max-width:560px;margin:0 auto}
.p26-work-grid>.p26-work-copy:only-child{grid-column:1/-1;max-width:46rem;margin:0 auto}
.page-about .ab-stats{grid-template-columns:repeat(2,1fr)}
/* Desktop sticky call button (navy, matches the header) */
.callfab{position:fixed;right:24px;bottom:24px;z-index:75;height:56px;min-width:56px;border-radius:999px;display:none;align-items:center;gap:.6rem;padding:0 17px;background:#0a162e;color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;box-shadow:0 12px 30px rgba(7,11,20,.35);border:1px solid rgba(255,255,255,.14);opacity:0;transform:translate3d(0,12px,0);transition:opacity .3s,transform .3s var(--m-ease),background .2s;pointer-events:none}
@media (min-width:960px){.callfab{display:inline-flex}}
.callfab.on{opacity:1;transform:none;pointer-events:auto}
.callfab svg{color:#7fd0ff;flex:none}
.callfab span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .35s var(--m-ease)}
.callfab:hover,.callfab:focus-visible{background:var(--red)}.callfab:hover svg,.callfab:focus-visible svg{color:#fff}
.callfab:hover span,.callfab:focus-visible span{max-width:200px}
@media (prefers-reduced-motion:reduce){.callfab,.callfab span{transition:none}}
/* Comfort Club perks v2: seven tiles, 4 + 3 centered on desktop, 2-up on phone with the last one full width */
.p26 .specials.p26-perks{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}
.p26-perks .special,.p26-perks .special:nth-child(4),.p26-perks .special:last-child{grid-column:auto;flex:0 0 calc(50% - .4rem);min-width:0}
.p26-perks .special:last-child:nth-child(odd){flex-basis:100%}
@media (min-width:760px){.p26 .specials.p26-perks{gap:1rem}.p26-perks .special,.p26-perks .special:last-child:nth-child(odd){flex-basis:calc(33.333% - .67rem)}}
@media (min-width:1100px){.p26-perks .special,.p26-perks .special:last-child:nth-child(odd){flex-basis:calc(25% - .75rem)}}
.p26 .specials.p26-perks{max-width:72rem;margin-left:auto;margin-right:auto}
.p26 .specials.p26-perks>.special{flex:0 0 calc(50% - .4rem)!important;max-width:none!important}
.p26 .specials.p26-perks>.special:last-child:nth-child(odd){flex-basis:100%!important}
@media (min-width:760px){.p26 .specials.p26-perks>.special,.p26 .specials.p26-perks>.special:last-child:nth-child(odd){flex-basis:calc(33.333% - .67rem)!important}}
@media (min-width:1100px){.p26 .specials.p26-perks>.special,.p26 .specials.p26-perks>.special:last-child:nth-child(odd){flex-basis:calc(25% - .75rem)!important}}

/* ===== One-photo-per-use pass (Oct 2): credits, design panels, branded heroes ===== */
.dp{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 85% 10%,rgba(26,163,224,.28),transparent 60%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(227,28,35,.22),transparent 60%),linear-gradient(160deg,#070b14,#0c1830 55%,#152a4a);display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem 1.5rem 1.7rem;color:#fff}
.dp::before{content:"";position:absolute;inset:0;opacity:.07;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:48px 48px}
.dp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--red) 0 30%,#fff 30% 38%,var(--cyan) 38% 100%)}
.dp>span{position:relative;font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.02em;line-height:1.05}
.dp>small{position:relative;margin-top:.45rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-bright);font-weight:600}
.svc-card-img .dp{position:absolute;inset:0;padding:1.1rem 1.2rem 1.3rem}
.svc-card-img .dp>span{font-size:1.9rem}
.svc-card-img .dp .ph-mark{width:46%;opacity:.14}
.p26-truck .dp{aspect-ratio:3/2;border-radius:0}
.p26-truck .dp>span{font-size:clamp(2rem,4vw,3rem)}
.p26-credit{position:absolute;left:.75rem;bottom:.75rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;background:rgba(7,11,20,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.32rem .7rem;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;line-height:1.2;max-width:calc(100% - 1.5rem)}
.p26-credit::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);flex:none}
.p26-hero-credit{left:auto;right:1.2rem;bottom:1.4rem}
@media (max-width:1100px){.p26-hero-credit{right:.8rem;bottom:auto;top:clamp(5.8rem,24vw,7.4rem)}}
.p26-quote-dp{background:radial-gradient(ellipse 60% 70% at 90% 0%,rgba(26,163,224,.3),transparent 60%),radial-gradient(ellipse 50% 60% at 0% 100%,rgba(227,28,35,.25),transparent 60%),linear-gradient(160deg,#070b14,#0c1830 55%,#152a4a)}
.quote-band .p26-quote-dp img.ph-mark{inset:auto;left:auto;right:4%;top:50%;width:min(40%,320px);height:auto;object-fit:contain;opacity:.12}
.p26-pair{display:grid;gap:2rem;max-width:1040px;margin:0 auto}
@media (min-width:760px){.p26-pair{grid-template-columns:1fr 1fr;align-items:start}.p26-pair>figure:nth-child(2){margin-top:3.5rem}}
.p26-wide-job .p26-job-img{aspect-ratio:16/9}
.p26-wide-job .p26-job-img img{object-position:50% 60%}
.p26-phero-brand,.p26-phero-cc{isolation:isolate}
.p26-phero-mark{position:absolute;right:-3%;top:50%;transform:translateY(-46%);width:min(42vw,500px);height:auto;opacity:.07;pointer-events:none;z-index:0}
@media (max-width:959px){.p26-phero-mark{width:78vw;right:-24%;top:auto;bottom:-8%;transform:none;opacity:.06}}
.p26-phero-cc{background:linear-gradient(118deg,transparent 0 58%,rgba(227,28,35,.92) 58% 66%,rgba(255,255,255,.95) 66% 66.8%,rgba(26,163,224,.9) 66.8% 74%,transparent 74%),radial-gradient(ellipse 60% 80% at 100% 0%,rgba(26,163,224,.22),transparent 55%),linear-gradient(160deg,var(--void),var(--navy) 70%,#152a4a)}
.p26-phero-cc::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,20,.92) 0%,rgba(7,11,20,.6) 46%,rgba(7,11,20,0) 62%);pointer-events:none;z-index:0}
@media (max-width:959px){.p26-phero-cc{background:linear-gradient(160deg,transparent 0 82%,rgba(227,28,35,.92) 82% 86%,rgba(255,255,255,.95) 86% 86.6%,rgba(26,163,224,.9) 86.6% 91%,transparent 91%),linear-gradient(160deg,var(--void),var(--navy) 70%,#152a4a)}.p26-phero-cc::before{display:none}}
.p26-credit-line{display:block;margin:-.15rem 0 .45rem;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.p26-phero-cc .p26-facts div{background:rgba(9,18,38,.9);border-color:rgba(255,255,255,.16)}
.p26-wide-job .p26-job-img{aspect-ratio:2.15/1}
.p26-pair figcaption{flex-direction:column;gap:.2rem}
.p26-pair figcaption span:last-child{white-space:normal}

/* a11y (Lighthouse, Oct 3): heading order on Home action tiles, footer contrast, phone link in footer text */
.action-tile h2{margin:0;font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--navy);letter-spacing:-0.02em;line-height:1.2;display:flex;flex-direction:column;gap:.5rem}
.footer-bottom{color:rgba(255,255,255,.66)}
.site-footer p a[href^="tel:"]{color:#fff;text-decoration:underline;text-underline-offset:2px}
