/* Additions for the SEO rebuild. site.css and home.css are unchanged. */
.skip-main{position:absolute;left:-9999px;top:0;z-index:100;background:var(--red);color:#fff;padding:10px 16px;font-weight:700}
.skip-main:focus{left:12px;top:12px}
.answer{max-width:70ch}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 22px;margin:22px 0 0;padding:0}
.facts>div{border-left:4px solid var(--red);padding:6px 0 6px 14px;background:transparent}
.facts dt{font:700 .8rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.facts dd{margin:0;font-weight:600}
a.svc-link{text-decoration:none;color:inherit;display:block}
a.svc-link:hover{transform:translateY(-2px)}
.checks a{color:inherit}
.photo-split{align-items:center}
.photo-fig{margin:0}
.photo-pair .photo-fig img{aspect-ratio:4/3;object-fit:cover}
.photo-pair .span-2{grid-column:1 / -1}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media (max-width:900px){.photo-grid{grid-template-columns:1fr}}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.photo-pair{grid-template-columns:1fr}}
.photo-fig img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 14px 34px -18px rgba(11,27,63,.45)}
.photo-fig figcaption{margin-top:10px;font-size:.92rem;color:var(--muted,#55607a)}
.faq-fig{max-width:420px;margin:14px 0 4px}
.faq-fig figcaption{font-size:.95rem;margin-top:6px}
.site-footer .fh{font:700 1rem/1 var(--f-label);letter-spacing:.16em;color:var(--white);margin:0 0 16px;text-transform:uppercase}
.dd{position:relative}
.dd>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.8}
.dd-menu{display:none;position:absolute;top:100%;left:0;z-index:60;min-width:220px;padding:8px;background:var(--navy);border-top:3px solid var(--red);border-radius:0 0 8px 8px;box-shadow:0 18px 36px -12px rgba(0,0,0,.55)}
.dd-menu a{display:block;padding:11px 12px}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
@media (max-width:1260px){
 .nav.open{max-height:calc(100vh - 90px);overflow-y:auto}
 .dd-menu{display:block;position:static;min-width:0;padding:0 0 6px 16px;background:transparent;border:0;box-shadow:none}
 .dd-menu a{font-size:1rem !important;padding:11px 8px !important;color:#C9D3EA}
 .dd>a::after{display:none}
}
.article{max-width:760px}
.article h2{font-size:clamp(1.5rem,3vw,2rem);margin:34px 0 12px}
.article p,.article li{font-size:1.06rem}
.answer-box{border-left:6px solid var(--red);background:var(--paper);padding:18px 22px;border-radius:8px;margin-bottom:10px}
.answer-box p{margin:6px 0 0;font-size:1.12rem;font-weight:500}
.facts-wide{grid-template-columns:1fr}
.facts-wide>div{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:12px;align-items:baseline}
@media (max-width:600px){.facts-wide>div{grid-template-columns:1fr}}
.steps{counter-reset:s}
.steps .card h3::before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:50%;background:var(--red);color:#fff;font-size:1.1rem;vertical-align:middle}
/* Photo gallery */
.gf{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.gf-chip{font:700 .9rem/1 var(--f-label);letter-spacing:.08em;text-transform:uppercase;padding:11px 14px;border-radius:999px;border:1.5px solid var(--steel);background:var(--white);color:var(--navy);cursor:pointer}
.gf-chip span{color:var(--muted);font-weight:600;margin-left:4px}
.gf-chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.gf-chip[aria-pressed="true"] span{color:#C9D3EA}
.g-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1000px){.g-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.g-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.g-tile{position:relative;display:block;border-radius:8px;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.g-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.g-tile:hover img{transform:scale(1.04)}
.g-tile[hidden]{display:none!important}
.g-cap{position:absolute;left:8px;bottom:8px;font:700 .72rem/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(11,27,63,.72);padding:6px 8px;border-radius:4px}
.proj-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}
@media (max-width:900px){.proj-list{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.proj-list{grid-template-columns:1fr}}
.proj-list li{border-left:4px solid var(--red);padding:6px 0 6px 12px;font-weight:600}
.proj-list .eyebrow{display:block;margin-bottom:4px;font-size:.75rem}
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.lb::backdrop{background:rgba(5,12,30,.92)}
.lb[open]{display:flex;align-items:center;justify-content:center}
.lb figure{margin:0;max-width:min(92vw,1600px);display:flex;flex-direction:column;align-items:center;gap:10px}
.lb img{max-width:100%;max-height:82vh;width:auto;height:auto;border-radius:6px}
.lb figcaption{color:#C9D3EA;font:600 .9rem/1.2 var(--f-label);letter-spacing:.1em;text-transform:uppercase}
.lb-x,.lb-nav{position:fixed;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;border-radius:50%;width:52px;height:52px;font-size:2rem;line-height:1;display:grid;place-items:center}
.lb-x{top:calc(16px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.lb-prev{left:max(12px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.lb-next{right:max(12px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
.lb-x:hover,.lb-nav:hover{background:var(--red)}

/* Specials page */
.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:820px){.deal-grid{grid-template-columns:1fr}}
.deal{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--red);border-radius:10px;padding:24px 24px 26px;display:flex;flex-direction:column;gap:8px}
.deal-price{font:800 2.6rem/1 var(--f-display);color:var(--navy)}
.deal-price small{font:700 1rem/1 var(--f-label);color:var(--muted);margin-left:4px}
.deal h3{color:var(--navy)}
.deal p{color:var(--muted)}
.deal-fine{color:var(--muted);font-size:.95rem;margin-top:16px}
.deal-fine a{color:var(--red)}

/* Before / after compare slider */
.ba{max-width:1000px;margin:0 auto}
.ba-stage{--p:50%;position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#0A1A3C;box-shadow:0 24px 50px -24px rgba(5,14,36,.55);user-select:none;-webkit-user-select:none;touch-action:pan-y}
.ba-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.45);pointer-events:none}
.ba-knob{position:absolute;top:50%;left:var(--p);width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--red);color:#fff;border:3px solid #fff;display:grid;place-items:center;font:800 1.5rem/1 var(--f-label);box-shadow:0 8px 22px rgba(0,0,0,.45);pointer-events:none}
.ba-tag{position:absolute;top:14px;font:700 .8rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(5,14,36,.68);padding:8px 11px;border-radius:4px;pointer-events:none;backdrop-filter:blur(4px)}
.ba-tag.b{left:14px}.ba-tag.a{right:14px;background:var(--red)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;touch-action:pan-y}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:60px;height:100vh}
.ba-range::-moz-range-thumb{width:60px;height:100vh;border:0}
.ba-range:focus-visible+.ba-knob{outline:3px solid var(--gold);outline-offset:3px}
.ba-cap{text-align:center;color:var(--muted);margin:14px 0 0;font-size:1.02rem}
.ba-cap b{color:var(--navy)}
.ba-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.ba-tab{font:700 .85rem/1 var(--f-label);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:10px 14px;cursor:pointer}
.ba-tab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.ba-hint{text-align:center;font:700 .8rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
@media (max-width:640px){.ba-knob{width:44px;height:44px;margin:-22px 0 0 -22px;font-size:1.2rem}.ba-tab{padding:9px 11px;font-size:.78rem}}

/* Form status */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-ok,.form-err{border-radius:8px;padding:14px 16px;font-weight:600}
.form-ok{background:#E7F6EC;color:#14532D;border:1px solid #9AD3AE}
.form-err{background:#FDECEC;color:#7F1D1D;border:1px solid #F3A9A9}
.form-err a,.form-ok a{color:inherit;text-decoration:underline}
.form button[disabled]{opacity:.7;cursor:progress}
