:root:not(#_){--bg:#080409;--bg-2:#100810;--bg-card:#160d18;--accent:#c4768a;--accent-light:#e0a8b8;--gold:#c9a46a;--gold-light:#e0c090;--text:#f5ede8;--text-sub:#d4c0c8;--text-muted:#9a7880;--text-faint:#3a2830;--border:#2a1820;--border-light:rgba(196,118,138,.2);--max:1280px;--nav-h:88px;--fd:'Playfair Display',Georgia,serif;--fb:'Jost',sans-serif}
*:not(#_),*:not(#_)::before,*:not(#_)::after{box-sizing:border-box;margin:0;padding:0}html:not(#_){scroll-behavior:smooth}body:not(#_){background:var(--bg);color:var(--text);font-family:var(--fb);font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}a:not(#_){text-decoration:none;color:inherit}

/* NAV */
.sh:not(#_){position:fixed;top:0;left:0;right:0;z-index:500;height:var(--nav-h);background:rgba(8,4,9,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.ni:not(#_){height:100%;max-width:var(--max);margin:0 auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between}.nl-top:not(#_){font-family:var(--fd);font-size:22px;font-weight:400;letter-spacing:3px;color:var(--text)}.nl-top em:not(#_){font-style:italic;color:var(--accent-light)}.nl-top span:not(#_){font-size:8px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--text-faint);display:block;margin-top:2px}.na:not(#_){display:flex;align-items:center;gap:24px}.nav-link:not(#_){font-size:9px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);transition:color .2s}.nav-link:hover:not(#_),.nav-link.active:not(#_){color:var(--accent-light)}.nav-tel:not(#_){font-family:var(--fd);font-size:13px;font-style:italic;color:var(--text-muted)}.bn:not(#_){display:inline-flex;font-family:var(--fb);font-size:8px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;padding:11px 24px;border:1px solid var(--accent);color:var(--accent);transition:all .25s}.bn:hover:not(#_){background:var(--accent);color:var(--bg)}
.btn-p:not(#_){display:inline-flex;font-family:var(--fb);font-size:9px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;padding:13px 28px;background:var(--accent);color:var(--bg);transition:all .25s}.btn-p:hover:not(#_){background:var(--accent-light)}
.btn-o:not(#_){display:inline-flex;font-family:var(--fb);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:13px 20px;border:1px solid var(--border-light);color:var(--text-muted);transition:all .25s}.btn-o:hover:not(#_){border-color:var(--accent);color:var(--accent)}

/* HERO */
.ph:not(#_){padding-top:var(--nav-h);background:var(--bg-2);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.ph-glow:not(#_){position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(201,164,106,.07) 0%,transparent 70%);right:-100px;top:-160px;pointer-events:none}
.phi:not(#_){max-width:var(--max);margin:0 auto;padding:80px 60px 72px;display:grid;grid-template-columns:1fr 460px;gap:80px;align-items:center;position:relative;z-index:1}
.pcat:not(#_){font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:inline-flex;align-items:center;gap:12px}.pcat:not(#_)::before{content:'';width:20px;height:1px;background:var(--gold)}
.ph-h1:not(#_){font-family:var(--fd);font-size:clamp(38px,5.5vw,76px);font-weight:300;line-height:.98;color:var(--text);margin-bottom:20px}.ph-h1 em:not(#_){font-style:italic;color:var(--accent-light)}
.ph-intro:not(#_){font-size:15px;font-weight:300;line-height:1.95;color:var(--text-muted);margin-bottom:24px}
.ph-note:not(#_){background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--accent);padding:14px 18px;font-size:12px;font-weight:300;color:var(--text-muted);line-height:1.8}
.ph-note strong:not(#_){color:var(--text-sub);font-weight:500}

/* SAMPLE VOUCHER in hero */
.voucher-demo:not(#_){position:relative}
.vd:not(#_){border:1px solid rgba(201,164,106,.3);padding:32px 28px;position:relative;overflow:hidden;transition:all .3s}
.vd:not(#_)::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.vd:not(#_)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.vd-corner:not(#_){position:absolute;width:18px;height:18px;border-color:rgba(201,164,106,.3);border-style:solid}
.vd-corner.tl:not(#_){top:10px;left:10px;border-width:1px 0 0 1px}.vd-corner.tr:not(#_){top:10px;right:10px;border-width:1px 1px 0 0}
.vd-corner.bl:not(#_){bottom:10px;left:10px;border-width:0 0 1px 1px}.vd-corner.br:not(#_){bottom:10px;right:10px;border-width:0 1px 1px 0}
.vd-orn:not(#_){display:flex;align-items:center;gap:8px;margin-bottom:18px}
.vd-orn-line:not(#_){flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,164,106,.2))}.vd-orn-line.r:not(#_){background:linear-gradient(90deg,rgba(201,164,106,.2),transparent)}
.vd-orn-gem:not(#_){width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);opacity:.5}
.vd-brand:not(#_){font-family:var(--fd);font-size:24px;font-weight:300;letter-spacing:3px;color:var(--text);margin-bottom:2px}.vd-brand em:not(#_){font-style:italic;color:var(--accent-light)}
.vd-sub:not(#_){font-size:7px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--text-faint);margin-bottom:20px}
.vd-for:not(#_){font-size:8px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px}
.vd-svc:not(#_){font-family:var(--fd);font-size:18px;font-weight:300;font-style:italic;color:var(--text-sub);margin-bottom:6px}
.vd-occ:not(#_){font-size:8px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);opacity:.7}
.vd-div:not(#_){height:1px;background:linear-gradient(90deg,transparent,rgba(201,164,106,.18),transparent);margin:18px 0}
.vd-foot:not(#_){display:flex;justify-content:space-between;align-items:flex-end}
.vd-val:not(#_){font-family:var(--fd);font-size:36px;font-weight:300;color:var(--gold)}
.vd-right:not(#_){text-align:right}
.vd-valid:not(#_){font-size:8px;font-weight:300;color:var(--text-faint);line-height:1.5}.vd-code:not(#_){font-size:7px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-top:4px}

/* TEMPLATE SELECTOR */
.tpl-sect:not(#_){background:var(--bg-2);border-top:1px solid var(--border);padding:80px 60px}
.tpl-inner:not(#_){max-width:var(--max);margin:0 auto}
.sec-tag:not(#_){font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:12px;margin-bottom:10px}.sec-tag:not(#_)::before{content:'';width:24px;height:1px;background:var(--accent)}.sec-tag.gold:not(#_){color:var(--gold)}.sec-tag.gold:not(#_)::before{background:var(--gold)}
.sec-h:not(#_){font-family:var(--fd);font-size:clamp(26px,4vw,52px);font-weight:300;line-height:1.05;color:var(--text)}.sec-h em:not(#_){font-style:italic;color:var(--accent-light)}
.tpl-grid:not(#_){display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:40px}
.tpl:not(#_){cursor:pointer;border:2px solid var(--border);transition:all .2s;position:relative}
.tpl.active:not(#_){border-color:var(--gold)}
.tpl.active:not(#_)::after{content:'Selected';position:absolute;top:8px;right:8px;font-size:7px;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:3px 7px}
.tpl-preview:not(#_){height:120px;display:flex;flex-direction:column;justify-content:space-between;padding:14px}
.tpl-name:not(#_){font-size:8px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);padding:8px 12px;background:var(--bg-card)}
/* Template colour palettes — applied via JS */
.tpl-preview .tpl-brand:not(#_){font-family:var(--fd);font-size:13px;letter-spacing:2px}
.tpl-preview .tpl-val:not(#_){font-family:var(--fd);font-size:20px;font-weight:300}

/* VOUCHER TYPES */
.vt-sect:not(#_){padding:80px 60px}
.vt-inner:not(#_){max-width:var(--max);margin:0 auto}
.vt-grid:not(#_){display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px}
.vt:not(#_){background:var(--bg-card);border:1px solid var(--border);padding:28px;transition:border-color .3s;position:relative}
.vt:hover:not(#_){border-color:var(--gold)}
.vt-num:not(#_){font-family:var(--fd);font-size:40px;font-weight:300;color:var(--gold);opacity:.12;line-height:1;margin-bottom:8px}
.vt-cat:not(#_){font-size:8px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.vt-name:not(#_){font-family:var(--fd);font-size:19px;font-weight:400;color:var(--text);margin-bottom:8px;line-height:1.2}.vt-name em:not(#_){font-style:italic;color:var(--accent-light)}
.vt-p:not(#_){font-size:12px;font-weight:300;color:var(--text-muted);line-height:1.8;margin-bottom:14px}
.vt-prices:not(#_){display:flex;flex-wrap:wrap;gap:4px}
.vt-price-tag:not(#_){font-size:10px;font-weight:500;padding:3px 10px;border:1px solid rgba(201,164,106,.25);color:var(--gold)}

/* INTERACTIVE BUILDER */
.builder:not(#_){max-width:var(--max);margin:0 auto;padding:80px 60px;background:var(--bg-2);border-top:1px solid var(--border)}
.builder-grid:not(#_){display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:start;margin-top:48px}
.step-lbl:not(#_){font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:28px 0 10px;display:flex;align-items:center;gap:8px}
.step-lbl:first-child:not(#_){margin-top:0}
.step-n:not(#_){font-family:var(--fd);font-size:18px;font-weight:300;color:rgba(201,164,106,.35)}
.srv-options:not(#_){display:grid;grid-template-columns:1fr 1fr;gap:2px}
.srv-opt:not(#_){background:var(--bg-card);border:1px solid var(--border);padding:14px 16px;cursor:pointer;transition:all .2s}
.srv-opt:hover:not(#_){border-color:var(--accent)}
.srv-opt.sel:not(#_){border-color:var(--accent);background:rgba(196,118,138,.05)}
.srv-opt.sel:not(#_){border-top:2px solid var(--accent)}
.srv-opt-name:not(#_){font-family:var(--fd);font-size:13px;font-weight:400;color:var(--text);margin-bottom:3px}.srv-opt-name em:not(#_){font-style:italic;color:var(--accent-light)}
.srv-opt-info:not(#_){font-size:9px;font-weight:500;letter-spacing:.5px;color:var(--text-faint)}
.amt-opts:not(#_){display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.amt-btn:not(#_){background:var(--bg-card);border:1px solid var(--border);padding:9px 18px;cursor:pointer;font-family:var(--fd);font-size:17px;font-weight:300;color:var(--text-muted);transition:all .2s}
.amt-btn:hover:not(#_){border-color:var(--accent);color:var(--text)}
.amt-btn.sel:not(#_){border-color:var(--gold);color:var(--gold);background:rgba(201,164,106,.05)}
.custom-row:not(#_){display:flex;gap:8px;align-items:center;margin-top:6px}
.custom-row input:not(#_){background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--fd);font-size:16px;font-weight:300;padding:9px 12px;width:130px;outline:none;transition:border-color .2s}
.custom-row input:focus:not(#_){border-color:var(--accent)}
.custom-row span:not(#_){font-size:10px;color:var(--text-faint)}
.occ-chips:not(#_){display:flex;flex-wrap:wrap;gap:5px}
.occ-chip:not(#_){font-size:8px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);padding:5px 12px;cursor:pointer;transition:all .2s}
.occ-chip:hover:not(#_){border-color:var(--accent);color:var(--text-muted)}
.occ-chip.sel:not(#_){border-color:var(--accent);color:var(--accent);background:rgba(196,118,138,.05)}
.f-label:not(#_){font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;display:block;margin-top:14px}
.f-input:not(#_),.f-textarea:not(#_){width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--fb);font-weight:300;font-size:13px;padding:11px 14px;outline:none;transition:border-color .2s}
.f-input:focus:not(#_),.f-textarea:focus:not(#_){border-color:var(--accent)}
.f-textarea:not(#_){height:80px;resize:vertical}
.del-opts:not(#_){display:grid;grid-template-columns:1fr 1fr;gap:2px}
.del-opt:not(#_){background:var(--bg-card);border:1px solid var(--border);padding:16px;cursor:pointer;transition:border-color .2s}
.del-opt:hover:not(#_){border-color:var(--accent)}
.del-opt.sel:not(#_){border-color:var(--accent);border-top:2px solid var(--accent);background:rgba(196,118,138,.04)}
.del-opt h4:not(#_){font-family:var(--fd);font-size:15px;font-weight:400;color:var(--text);margin-bottom:4px}
.del-opt p:not(#_){font-size:10px;font-weight:300;color:var(--text-muted);line-height:1.6}
.del-opt .del-price:not(#_){font-size:9px;font-weight:600;letter-spacing:1px;color:var(--accent);margin-top:4px}

/* SIDEBAR SUMMARY */
.sum-card:not(#_){background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--gold);padding:28px;position:sticky;top:calc(var(--nav-h) + 20px)}
.sum-title:not(#_){font-family:var(--fd);font-size:20px;font-weight:300;color:var(--text);margin-bottom:18px}.sum-title em:not(#_){font-style:italic;color:var(--gold)}
.sum-row:not(#_){display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(42,24,32,.5)}
.sum-row:last-of-type:not(#_){border-bottom:none}
.sum-lbl:not(#_){font-size:10px;font-weight:300;color:var(--text-faint)}
.sum-val:not(#_){font-size:12px;font-weight:400;color:var(--text-muted);text-align:right;max-width:60%}
.sum-total:not(#_){display:flex;justify-content:space-between;padding:14px 0 0;margin-top:6px;border-top:1px solid var(--border)}
.sum-total-lbl:not(#_){font-family:var(--fd);font-size:17px;font-weight:300;color:var(--text)}
.sum-total-val:not(#_){font-family:var(--fd);font-size:32px;font-weight:300;color:var(--gold)}
.btn-gold:not(#_){display:flex;justify-content:center;font-family:var(--fb);font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:14px;background:var(--gold);color:var(--bg);border:none;width:100%;margin-top:18px;cursor:pointer;transition:all .25s}.btn-gold:hover:not(#_){background:var(--gold-light)}

/* LIVE PREVIEW */
.lp-wrap:not(#_){margin-top:3px;background:var(--bg-card);border:1px solid var(--border);padding:18px}
.lp-lbl:not(#_){font-size:8px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}
/* voucher card that changes with template */
.lp-card:not(#_){padding:18px;position:relative;transition:all .3s}
.lp-card:not(#_)::before{content:'';position:absolute;top:0;left:0;right:0;height:1px}
.lp-brand:not(#_){font-family:var(--fd);font-size:15px;letter-spacing:2px}
.lp-for:not(#_){font-size:7px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin:6px 0 2px}
.lp-svc:not(#_){font-family:var(--fd);font-size:12px;font-style:italic;min-height:16px}
.lp-div:not(#_){height:1px;margin:10px 0}
.lp-foot:not(#_){display:flex;justify-content:space-between;align-items:flex-end}
.lp-val:not(#_){font-family:var(--fd);font-size:22px;font-weight:300}
.lp-occ:not(#_){font-size:7px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;opacity:.6}

/* OCCASIONS */
.occ-sect:not(#_){padding:80px 60px;max-width:var(--max);margin:0 auto}
.occ-grid:not(#_){display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:44px}
.occ:not(#_){background:var(--bg-card);border:1px solid var(--border);padding:22px 18px;text-align:center;transition:border-color .25s}.occ:hover:not(#_){border-color:var(--accent)}
.occ-sym:not(#_){font-family:var(--fd);font-size:24px;font-style:italic;color:var(--accent);opacity:.5;margin-bottom:8px}
.occ-name:not(#_){font-family:var(--fd);font-size:15px;font-weight:400;color:var(--text);margin-bottom:5px}
.occ-sub:not(#_){font-size:10px;font-weight:300;color:var(--text-muted);line-height:1.6}

/* HOW */
.how-sect:not(#_){background:var(--bg-2);border-top:1px solid var(--border);padding:80px 60px}
.how-inner:not(#_){max-width:var(--max);margin:0 auto}
.how-steps:not(#_){display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:44px}
.hs:not(#_){background:var(--bg-card);border:1px solid var(--border);padding:26px}
.hs-n:not(#_){font-family:var(--fd);font-size:42px;font-weight:300;color:var(--gold);opacity:.15;line-height:1;margin-bottom:10px}
.hs-h:not(#_){font-family:var(--fd);font-size:17px;font-weight:400;color:var(--text);margin-bottom:7px}
.hs-p:not(#_){font-size:11px;font-weight:300;color:var(--text-muted);line-height:1.75}

.note-bar:not(#_){background:rgba(196,118,138,.04);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:28px 60px;text-align:center}
.note-bar p:not(#_){font-size:13px;font-weight:300;color:var(--text-muted);line-height:1.8;max-width:680px;margin:0 auto}
.note-bar strong:not(#_){color:var(--text-sub);font-weight:500}

.cta-band:not(#_){padding:80px 60px;text-align:center;background:var(--bg-2);border-top:1px solid var(--border);position:relative;overflow:hidden}
.cta-band:not(#_)::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(201,164,106,.06) 0%,transparent 70%)}
.cta-band-inner:not(#_){position:relative;z-index:2}
.cta-band h2:not(#_){font-family:var(--fd);font-size:clamp(28px,4.5vw,56px);font-weight:300;color:var(--text);margin-bottom:14px}.cta-band h2 em:not(#_){font-style:italic;color:var(--accent-light)}
.cta-band p:not(#_){font-size:14px;font-weight:300;color:var(--text-muted);line-height:1.9;max-width:460px;margin:0 auto 32px}

.sf:not(#_){background:var(--bg-2);border-top:1px solid var(--border)}.fbi:not(#_){max-width:var(--max);margin:0 auto;padding:20px 60px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--border)}.fc:not(#_){font-size:10px;font-weight:300;color:var(--text-faint)}.fl:not(#_){display:flex;gap:20px}.fl a:not(#_){font-size:10px;font-weight:300;color:var(--text-faint)}
.age-warn:not(#_){text-align:center;padding:10px;background:rgba(196,118,138,.05);border-top:1px solid var(--border);font-size:9px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint)}
@media(max-width:1024px){.phi:not(#_),.builder-grid:not(#_){grid-template-columns:1fr}.sum-card:not(#_){position:static}.tpl-grid:not(#_){grid-template-columns:1fr 1fr}.vt-grid:not(#_){grid-template-columns:1fr 1fr}.occ-grid:not(#_){grid-template-columns:1fr 1fr}.how-steps:not(#_){grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ni:not(#_){padding:0 24px}.phi:not(#_),.tpl-sect:not(#_),.vt-sect:not(#_),.builder:not(#_),.occ-sect:not(#_),.how-sect:not(#_),.note-bar:not(#_),.cta-band:not(#_){padding-left:24px;padding-right:24px}.fbi:not(#_){padding-left:24px;padding-right:24px}.na .nav-link:not(#_),.nav-tel:not(#_){display:none}.tpl-grid:not(#_),.occ-grid:not(#_),.how-steps:not(#_),.vt-grid:not(#_){grid-template-columns:1fr}.srv-options:not(#_),.del-opts:not(#_){grid-template-columns:1fr}}