body{background:#fff}
h1,h2,h3,.logo-t strong{font-family:Georgia,'Times New Roman',serif}
.topbar{background:#0d0705;color:#e9ddd0}.topbar svg{color:var(--c2)}
.site-header{background:#17100c;box-shadow:0 2px 14px rgba(0,0,0,.35)}
.logo-t strong{color:#fff}.logo-t strong:first-letter{color:var(--c2)}.logo-t small{color:#cdbfae}.logo-mark{background:var(--c2);color:#1c120c}
.nav a:not(.btn){color:#f3eadf}.nav a:not(.btn):hover,.nav a.is-cur{color:var(--c2)}
.nav-toggle{background:#2a1c14;border-color:#4a362a}.nav-toggle span{background:#f3eadf}
.hdr-cta .btn{background:var(--c3);color:#fff}
.hero{background:var(--dark);min-height:440px}.hero-bg{left:0}.hero-bg::after{background:linear-gradient(90deg,rgba(18,10,6,.96) 0%,rgba(18,10,6,.82) 30%,rgba(18,10,6,.25) 58%,rgba(18,10,6,0) 75%)}.hero-photo{object-position:70% center}
.hero h1{font-size:clamp(38px,5.4vw,66px);color:#fff}.hero h1 em{color:var(--c2);font-style:normal}.hero-sub{color:#f1e6d8;font-weight:500}.hero-grid{min-height:440px}
.hero-script{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6)}.hero-script em{color:var(--c3)}
.hero-btns .btn-a{background:var(--c3);color:#fff}.hero-btns .btn-line{background:transparent;color:var(--c2);border-color:var(--c2)}.hero-btns .btn-line:hover{background:var(--c2);color:#1c120c}
.cats-sec{background:#fff;padding-block:22px}.tiles{grid-template-columns:repeat(10,1fr);gap:10px}.tile-img{border-radius:50%;max-width:84px;border:2px solid #f0e3cf}.tile{font-size:12.5px}
.home .list-sec.sec-alt{background:#2a160c;background:linear-gradient(180deg,#2a160c,#1c0f08)}.home .list-sec.sec-alt .sec-head h2{color:#fff}.home .list-sec.sec-alt .sec-head h2 em{color:var(--c2)}.home .list-sec.sec-alt .sec-head p{color:#e0d2c2}.home .list-sec.sec-alt .eyebrow{color:#fff}.home .list-sec.sec-alt .view-all{color:var(--c2)}
.eyebrow{color:var(--c3)}em{color:var(--c3);font-style:normal}
.icard{background:#fff;border-radius:12px}.icard h3{font-size:16px}.icard-sub{display:none}.icard-foot .price{font-size:20px;font-weight:800;color:var(--c1)}.icard-foot .price small{font-size:14px;font-weight:700;margin-right:1px}.icard-foot .go{display:none}
.icard-foot{padding-top:4px}.icard-act{margin-top:8px}
.dm{display:flex;align-items:center;gap:8px;min-height:22px;margin-bottom:6px;flex-wrap:wrap}.vm-t{font-size:12px;color:var(--mut);font-weight:600}
.vm{display:inline-grid;place-items:center;width:18px;height:18px;border:2px solid #0a8f3c;border-radius:3px;background:#fff;flex:none}.vm::after{content:'';width:8px;height:8px;border-radius:50%;background:#0a8f3c}
.vm-n{border-color:#a4271c}.vm-n::after{background:#a4271c}.vm-e{border-color:#c47f00}.vm-e::after{background:#c47f00}
.sold{background:#fbe9e7;color:#a4271c;font-weight:700;font-size:11.5px;padding:2px 8px;border-radius:6px}
.addrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.addrow .add{flex:1;min-width:120px;min-height:44px;justify-content:center}.addrow .btn-p,.btn-p{background:var(--c3);color:#fff}
.vsel{min-height:44px;padding:0 10px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff;flex:1 1 100%}
.addrow-full{margin-top:6px}.addrow-full .vsel{flex:1 1 180px}
.unav{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;border-radius:10px;background:#f1ece4;color:#7a6a58;font-weight:700;font-size:14px}
.dm-lg{margin:0 12px 0 0}
.rsv-sec{background:linear-gradient(90deg,#3a1d10 0,#3a1d10 42%,#fff 42%)}
.rsv-grid{display:grid;grid-template-columns:5fr 7fr;gap:0;align-items:stretch}
.rsv-form{background:#3a1d10;color:#f3eadf;padding:30px 28px 30px 0;margin-right:28px}.rsv-form h2{color:#fff;font-size:34px}.rsv-form h2 em{color:var(--c2)}.rsv-form p{color:#e6d8c8}.rsv-form .eyebrow-line{color:#fff}
.rsv-form .fld>label:not(.chk){color:#f3eadf}.rsv-form .enq-note{color:#d9c9b5}.rsv-form .chk{color:#f3eadf}.rsv-form .chk a{color:var(--c2)}
.rsv-form .btn-p{background:var(--c2);color:#1c120c}
.rsv-about{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:center;padding:10px 0 10px 10px}.rsv-copy h2{font-size:32px}.rsv-img{position:relative;border-radius:14px;overflow:hidden;min-height:260px}.rsv-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.about-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 18px}.about-pts li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12.5px;font-weight:600}
.promos{display:grid;grid-template-columns:1fr 1fr;gap:20px}.promo{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-radius:16px;overflow:hidden;min-height:200px;background:#1c0f08;color:#fff;padding:24px}.promo-img{position:absolute;inset:0}.promo-img img{width:100%;height:100%;object-fit:cover}.promo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,10,6,.92) 0,rgba(18,10,6,.6) 48%,rgba(18,10,6,0) 80%)}.promo-t{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.promo-t strong{font-size:26px;line-height:1.15;font-family:Georgia,serif;color:#fff}.promo-t em{color:var(--c2)}.promo-t small{font-size:14px;color:#eadfd1}.promo .chip-s{z-index:3}
.promo .btn-a{background:var(--c3);color:#fff}
.testi-sec{background:#fff}
.site-footer{background:#120a06}
.cartx{display:grid;grid-template-columns:7fr 5fr;gap:24px;align-items:start}.cartx-main,.cartx-form{padding:22px}
.rs-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.rl{display:grid;grid-template-columns:1fr auto auto;gap:6px 14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.rl-n small{display:block;color:var(--mut)}.rl-warn{color:#a4271c!important;font-weight:700}.rl.is-off{background:#fdf3f1;border-color:#f0c6bf}
.rl-q{display:flex;align-items:center;gap:6px}.qb{width:44px;height:44px;border:1.5px solid var(--line);background:#fff;border-radius:10px;font-size:20px;font-weight:800;cursor:pointer;color:var(--c1)}.qn{min-width:26px;text-align:center;font-weight:800}.rl-p{font-weight:800;color:var(--c1);min-width:70px;text-align:right}
.rl-x{grid-column:1/-1;justify-self:start;background:none;border:0;color:#a4271c;font-weight:700;cursor:pointer;min-height:44px;padding:0 4px;text-decoration:underline}
.rs-tot{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:2px solid var(--c1);font-size:18px}.rs-tot strong{font-size:24px;color:var(--c3)}.rs-empty{padding:18px;background:var(--bg);border-radius:12px}
.seg{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.seg legend{font-weight:700;font-size:13.5px;margin-bottom:8px;padding:0}.seg-i{position:relative;display:block}.seg-i input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.seg-i span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid var(--line);border-radius:10px;font-weight:700;background:#fff}.seg-i input:checked+span{background:var(--c3);border-color:var(--c3);color:#fff}.seg-i input:focus-visible+span{outline:3px solid var(--c2);outline-offset:2px}
.dl-only[hidden]{display:none}.geo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.geo-s{font-size:13px;color:var(--mut);flex:1 1 200px}
.rs-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:max(16px,env(safe-area-inset-bottom));z-index:84;background:var(--c3);color:#fff;font-weight:800;padding:0 22px;min-height:50px;display:inline-flex;align-items:center;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.35);max-width:calc(100vw - 100px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.rs-bar:hover{color:#fff;background:#b8141e}
.sum dd{white-space:pre-line}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gal-i{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--bg)}.gal-i img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gal-i:hover img{transform:scale(1.05)}.gal-c{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 8px;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0));color:#fff;font-weight:700;font-size:13px}
@media(max-width:1180px){.tiles{grid-template-columns:repeat(5,1fr);row-gap:16px}.gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.rsv-sec{background:#fff}.rsv-grid{grid-template-columns:1fr}.rsv-form{margin:0;padding:26px 20px;border-radius:16px}.rsv-about{grid-template-columns:1fr;padding:22px 0 0}.promos{grid-template-columns:1fr}.cartx{grid-template-columns:1fr}.hero-bg{height:260px}.hero-bg::after{background:linear-gradient(180deg,rgba(18,10,6,.1) 40%,var(--dark) 100%)}.hero-dark .hero-bg::after{background:linear-gradient(180deg,rgba(18,10,6,.1) 40%,var(--dark) 100%)}.hero-script{display:none}}
@media(max-width:600px){.tile{flex:0 0 84px;min-width:84px}.promo{grid-template-columns:1fr;min-height:230px}.gal{grid-template-columns:1fr 1fr}.about-pts{grid-template-columns:1fr 1fr}.rl{grid-template-columns:1fr auto}.rl-p{text-align:left}.seg{grid-template-columns:1fr 1fr}}
/* ===== P2 CORRECTION KIT (site-local, Site 32) ===== */
/* header: hamburger up to 1180px so the CTA is never clipped */
@media(max-width:1280px){.nav-toggle{display:flex}.hdr{flex-wrap:wrap;gap:12px;min-height:70px}.hdr-cta{display:none}.nav{display:none;order:5;flex:1 1 100%;margin:0}.nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch;padding:6px 0 14px}.nav a:not(.btn){padding:13px 4px;border-bottom:1px solid var(--line);white-space:normal;min-height:48px}.nav a::after{display:none}.nav-cta{display:block;margin-top:10px}.nav-cta .btn{width:100%}}
/* unified compact mobile hero */
@media(max-width:980px){.hero{min-height:0;display:grid}.hero-bg{position:absolute;inset:0;left:0;height:auto}.hero-bg::after,.hero-dark .hero-bg::after{background:linear-gradient(180deg,rgba(11,31,51,.5) 0%,rgba(11,31,51,.78) 55%,rgba(11,31,51,.92) 100%)}.hero-photo{object-position:70% center}.hero-script,.hero-badge{display:none}.hero-grid{min-height:0;padding-block:30px 78px}.hero h1{font-size:clamp(30px,8vw,40px)}}
/* floating buttons */
.fab.away{opacity:0;pointer-events:none}
@media(max-width:640px) and (max-height:700px){.fab{width:44px;height:44px}.fab svg{width:22px;height:22px}.fab-wa{bottom:max(12px,env(safe-area-inset-bottom))}.fab-call{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 52px)}}
/* heading hierarchy (h3 -> h2 in cards/footer, same look) */
.ft-col h2{font-size:15px;margin-bottom:14px;color:#fff;font-family:inherit}
.icard h2{font-size:18px;margin:0 0 4px}.icard h2 a{color:var(--c1)}
.amen-b h2{margin:0 0 4px;font-size:18px}
.aside-card h2{font-size:18px}
/* content components */
.p2-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.p2-split.rev .p2-photo{order:2}
.p2-photo{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);position:relative;background:var(--line)}
.p2-photo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.p2-cap{position:absolute;left:12px;bottom:12px;background:rgba(11,31,51,.8);color:#fff;font-size:12px;padding:4px 10px;border-radius:999px}
.p2-copy h2{font-size:clamp(26px,3.4vw,36px)}
.p2-ticks{list-style:none;padding:0;margin:16px 0}.p2-ticks li{position:relative;padding:6px 0 6px 28px}.p2-ticks li::before{content:'\2713';position:absolute;left:0;color:var(--c2);font-weight:800}
.p2-note{font-size:13px;color:var(--mut);border-left:3px solid var(--c3);padding:8px 12px;background:#fff;border-radius:0 8px 8px 0;margin:16px 0}
.p2-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.p2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.p2-grid.c2{grid-template-columns:repeat(2,1fr)}.p2-grid.c4{grid-template-columns:repeat(4,1fr)}
.p2-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh)}
.p2-card>img,.p2-card>.p2-img img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.p2-card .b{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.p2-card h3{margin:0;font-size:19px}.p2-card p{margin:0;color:var(--mut)}
.p2-card .p2-btns{margin-top:auto;padding-top:8px}
.p2-sample{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c3);border:1px solid var(--c3);border-radius:999px;padding:2px 9px;align-self:flex-start}
.p2-alt{background:#fff}
.p2-pol{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.p2-pol .p2-card .b{padding:22px 24px}
@media(max-width:980px){.p2-split{grid-template-columns:1fr;gap:24px}.p2-split.rev .p2-photo{order:0}.p2-grid,.p2-grid.c4{grid-template-columns:repeat(2,1fr)}.p2-pol{grid-template-columns:1fr}}
@media(max-width:600px){.p2-grid,.p2-grid.c2,.p2-grid.c4{grid-template-columns:1fr}.p2-btns .btn{flex:1 1 100%;justify-content:center}}
/* Site 31 hero + header + cart bar */
@media(min-width:1281px) and (max-width:1500px){.hdr{gap:12px}.logo-t small{display:none}.nav a:not(.btn){padding-inline:7px;font-size:14px}.hdr-cta{padding-inline:16px}}
@media(max-width:980px){.hero{display:grid;min-height:0;background:var(--dark)}.hero-bg{position:absolute;inset:0;height:auto;left:0}.hero-photo{object-position:70% center}.hero-bg::after,.hero-dark .hero-bg::after{background:linear-gradient(180deg,rgba(18,10,6,.5) 0%,rgba(18,10,6,.8) 60%,rgba(18,10,6,.94) 100%)}.hero-script,.hero-badge{display:none}.hero-grid{min-height:0;padding-block:30px 60px}.hero h1{font-size:clamp(30px,8vw,40px)}}
@media(max-width:640px) and (max-height:700px){.hero-points{display:none}}
/* keep content clear of the sticky order bar */
body:has(.rs-bar){padding-bottom:84px}
/* ===== PASS2 OWNER-QA FIXES ===== */
/* .c1-.c4 are theme colour-utility classes; p2 grids reuse c2/c4 as column counts and must not inherit a background */
.p2-grid.c2,.p2-grid.c3,.p2-grid.c4{background:none!important;color:inherit}
/* CTA band outline button must read on the dark band */
.ctaband .btn-o{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.75)}
.ctaband .btn-o:hover{background:#fff;color:var(--c1)}
/* footer social icons: centred glyph, even spacing (.ft-col a overrode the grid centring) */
.soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.site-footer .soc a{display:inline-flex;align-items:center;justify-content:center;padding:0;min-width:0;width:44px;height:44px;border-radius:50%;line-height:0;background:rgba(255,255,255,.12);color:#fff}
.site-footer .soc a:hover{background:var(--c2);color:var(--on2)}
.site-footer .soc svg{display:block;flex:none;width:20px;height:20px;margin:0}
/* filters: inputs + Search/Reset in a logical grid */
.fl-act{align-items:center}
.fl-act .btn{white-space:nowrap;min-width:112px}
@media(max-width:899px){.fl-act{grid-column:1/-1}.fl-act .btn{flex:1}}
@media(min-width:900px){
 .fl-act{flex-wrap:nowrap}
 .fl-grid:has(.fl:nth-child(2)):not(:has(.fl:nth-child(3))){grid-template-columns:2fr 1fr auto}
 .fl-grid:has(.fl:nth-child(3)):not(:has(.fl:nth-child(4))){grid-template-columns:repeat(3,minmax(0,1fr)) auto}
 .fl-grid:has(.fl:nth-child(4)):not(:has(.fl:nth-child(5))){grid-template-columns:repeat(4,minmax(0,1fr)) auto}
 .fl-grid:has(.fl:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}
 .fl-grid:has(.fl:nth-child(5)):not(:has(.fl:nth-child(7))) .fl-act{grid-column:1/-1;justify-content:flex-end}
 .fl-grid:has(.fl:nth-child(7)){grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1200px){.fl-grid:has(.fl:nth-child(6)):not(:has(.fl:nth-child(7))){grid-template-columns:repeat(6,minmax(0,1fr))}}
/* footer height: compact on desktop, two link columns on phones */
@media(min-width:1024px) and (pointer:fine){.site-footer{padding-top:38px}.ft-col li{margin-bottom:2px}.ft-col a{min-height:32px}.ft-disc{margin-top:18px;padding-top:14px}}
@media(max-width:600px){.ft-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.ft-grid .ft-brand,.ft-grid .ft-col:last-child{grid-column:1/-1}}
/* two hero buttons share one row on phones (labels wrap instead of overflowing) */
@media(max-width:600px){.hero-btns:has(.btn+.btn){display:flex;flex-wrap:nowrap;gap:10px}.hero-btns:has(.btn+.btn) .btn{flex:1 1 0;min-width:0;padding:0 10px;font-size:14px;min-height:48px;white-space:normal;line-height:1.15}.hero-btns:has(.btn+.btn) .btn svg{display:none}}
/* template detail cards (replace blank "to supply" cards) */
.p2-info .b{gap:10px}.p2-info h3{font-size:19px}.p2-info .p2-ticks{margin:2px 0 6px}.p2-info .p2-ticks li{padding:4px 0 4px 26px;font-size:15px}
.p2-field{margin:auto 0 0;padding-top:12px;border-top:1px dashed var(--line);font-size:13px;color:var(--mut)}.p2-field b{color:var(--ink)}
.p2-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.p2-slot{border:2px dashed var(--line);border-radius:var(--r);background:#fff;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;color:var(--mut)}
.p2-slot svg{width:34px;height:34px;color:var(--c3)}.p2-slot b{color:var(--ink);font-size:16px}.p2-slot span{font-size:13px;max-width:30ch}
@media(max-width:600px){.p2-slots{grid-template-columns:1fr}.p2-slot{aspect-ratio:auto;min-height:140px}}
/* repeated SAMPLE tags stay visible but quieter */
.p2-sample{font-size:10px;padding:1px 7px;letter-spacing:.05em;color:var(--mut);border-color:var(--line)}
.p2-tight{padding-bottom:0!important}.p2-tight+.sec{padding-top:24px}

/* quieter repeated SAMPLE labels: listing chips smaller; testimonial text already states it */
.chip-s{font-size:10px!important;padding:2px 8px!important;letter-spacing:.04em}
.tcard .chip-s{display:none}
/* a section holding only a short note should not leave a large empty band */
.sec.p2-sec:has(>.wrap>.p2-note:only-child){padding-top:28px!important;padding-bottom:0!important}
.sec.p2-sec:has(>.wrap>.p2-note:only-child)+.sec{padding-top:28px!important}
.sec.p2-sec:has(>.wrap>.p2-note:only-child) .p2-note{margin:0}

/* sticky cart bar leaves room for the floating Call/WhatsApp buttons on narrow phones */
@media(max-width:440px){.rs-bar{left:12px!important;right:72px!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important;justify-content:center;text-align:center}}
@media(max-width:340px){.rs-bar{font-size:12.5px!important;padding-left:8px!important;padding-right:8px!important;white-space:nowrap}}
/* ===== /PASS2 ===== */
