/* ===== INVITAAR design system ===== */
:root{
  --maroon:#4B101B; --maroon2:#5e1824; --gold:#C9A45C; --gold-d:#9c7a3a; --ivory:#F4EBDD; --ivory2:#EFE4D2; --espresso:#38271F; --bronze:#B78B61; --white:#FFFDF8;
  --text:#38271F; --muted:#6e5a4c; --line:rgba(56,39,31,.14); --line2:rgba(56,39,31,.24);
  --serif:"Cormorant Garamond","Playfair Display",Georgia,serif; --sans:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:4px; --shadow:0 18px 40px -28px rgba(56,39,31,.45);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--ivory);color:var(--text);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0;color:var(--espresso);text-wrap:balance;letter-spacing:.005em}
p{margin:0}
a{color:inherit}
img,canvas{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--maroon);outline-offset:3px}
.wrap{width:min(1200px,calc(100% - 2rem));margin-inline:auto}
.narrow{width:min(760px,calc(100% - 2rem));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--maroon);color:var(--white);padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:600 .74rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--bronze)}
.tagline{font:italic 500 1.25rem/1.3 var(--serif);color:var(--maroon)}
.small{font-size:.88rem;color:var(--muted)}
.fine{font-size:.8rem;color:var(--muted)}
.gold-rule{display:flex;align-items:center;gap:.8rem;color:var(--gold)}
.gold-rule::before,.gold-rule::after{content:"";height:1px;background:currentColor;flex:1;opacity:.7}
.gold-rule i{width:7px;height:7px;transform:rotate(45deg);border:1px solid currentColor;display:block}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.6rem;border-radius:var(--radius);font:600 .86rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--maroon);color:var(--white);border-color:var(--maroon)}
.btn-primary:hover{background:var(--maroon2)}
.btn-ghost{background:transparent;color:var(--maroon);border-color:var(--maroon)}
.btn-ghost:hover{background:rgba(75,16,27,.06)}
.btn-light{background:transparent;color:var(--ivory);border-color:rgba(244,235,221,.7)}
.btn-light:hover{background:rgba(244,235,221,.1)}
.btn-gold{background:var(--gold);color:var(--espresso);border-color:var(--gold)}
.btn-gold:hover{background:#d4b36f}
.btn-sm{min-height:40px;padding:.55rem 1.1rem;font-size:.74rem}
.btn:disabled{opacity:.55;cursor:not-allowed}
.textlink{color:var(--maroon);font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.textlink:hover{border-bottom-color:var(--maroon)}

/* announcement */
.announce{display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--maroon);color:var(--ivory);font-size:.82rem;letter-spacing:.04em;padding:.5rem 2.8rem;position:relative;text-align:center}
.announce a{color:var(--gold);font-weight:600}
.announce button{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--ivory);font-size:1.3rem;line-height:1;cursor:pointer;width:36px;height:36px}

/* header */
.site-head{position:sticky;top:0;z-index:30;background:rgba(244,235,221,.97);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.site-head.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 24px -22px rgba(56,39,31,.6)}
.hrow{display:flex;align-items:center;gap:1.4rem;min-height:76px}
.logo{text-decoration:none;flex:0 0 auto}
.wordmark{display:grid;line-height:1}
.wordmark b{font:600 1.7rem/1 var(--serif);letter-spacing:.22em;color:var(--maroon)}
.wordmark small{font:italic 500 .82rem/1.2 var(--serif);color:var(--bronze);letter-spacing:.04em;margin-top:.25rem}
.logo img{display:block;height:68px;width:auto}
@media (max-width:560px){.logo img{height:54px}}
.site-foot .logo img{height:auto;width:min(260px,100%)}
.brandimg{display:block;width:100%;height:auto;box-shadow:var(--shadow);margin-block:.6rem 1rem}
.mainnav{display:flex;gap:1.3rem;margin-left:auto}
.mainnav a{text-decoration:none;font-size:.86rem;font-weight:500;color:var(--espresso);padding:.4rem 0;border-bottom:1px solid transparent;white-space:nowrap}
.mainnav a:hover{border-bottom-color:var(--gold)}
.mainnav a[aria-current="page"]{color:var(--maroon);border-bottom-color:var(--gold)}
.hactions{display:flex;align-items:center;gap:.4rem}
.iconbtn{position:relative;display:inline-flex;align-items:center;gap:.4rem;min-width:44px;height:44px;justify-content:center;background:none;border:0;cursor:pointer;color:var(--espresso);font-size:.84rem;font-weight:600}
.iconbtn svg{width:22px;height:22px}
.iconbtn .n{position:absolute;top:4px;right:2px;min-width:18px;height:18px;border-radius:9px;background:var(--maroon);color:var(--white);font-size:.68rem;display:grid;place-items:center;padding:0 4px}
.acctbtn .an{display:none}
.avmini{width:30px;height:30px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--maroon);color:var(--gold);font:600 .9rem var(--serif);box-shadow:0 0 0 1px var(--gold)}
.avmini img{width:100%;height:100%;object-fit:cover}
.menubtn{display:none}
@media (max-width:1180px){.mainnav a{font-size:.8rem}.mainnav{gap:.9rem}}
@media (max-width:1060px){
  .menubtn{display:inline-flex}
  .mainnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);flex-direction:column;gap:0;padding:.5rem 1rem 1rem;border-bottom:1px solid var(--line);box-shadow:0 20px 30px -24px rgba(56,39,31,.6)}
  .site-head.open .mainnav{display:flex}
  .mainnav a{padding:.9rem .2rem;border-bottom:1px solid var(--line);font-size:1rem}
  .hactions{margin-left:auto}
}
@media (max-width:560px){.findbtn{display:none}.wordmark b{font-size:1.4rem}.wordmark small{font-size:.72rem}.hrow{min-height:64px;gap:.6rem}}

/* sections */
.sec{padding-block:clamp(56px,8vw,104px)}
.sec-white{background:var(--white)}
.sec-maroon{background:var(--maroon);color:var(--ivory)}
.sec-maroon h2,.sec-maroon h3{color:var(--white)}
.sec-maroon .eyebrow{color:var(--gold)}
.shead{max-width:640px;margin:0 auto clamp(32px,5vw,56px);text-align:center;display:grid;gap:.9rem}
.shead h2{font-size:clamp(2rem,4.4vw,3.1rem)}
.shead p{color:var(--muted)}
.sec-maroon .shead p{color:rgba(244,235,221,.8)}
.shead.left{text-align:left;margin-left:0}
.center{text-align:center}
.mt{margin-top:clamp(28px,4vw,44px)}

/* hero */
.hero{padding-block:clamp(32px,6vw,80px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:500;margin:.9rem 0 1.2rem}
.hero .lede{font-size:1.1rem;color:var(--muted);max-width:32rem}
.hero .cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero .tagline{margin-top:2.2rem;display:flex;align-items:center;gap:.8rem}
.hero .tagline::before{content:"";width:40px;height:1px;background:var(--gold)}
.hero-visual{position:relative}
.hero-visual canvas{display:block;width:100%;height:auto;aspect-ratio:1/1;box-shadow:var(--shadow)}
@media (max-width:860px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero-visual{order:-1}.hero h1{margin-top:.6rem}}

/* occasion grid */
.occgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
@media (max-width:980px){.occgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.occ{display:flex;flex-direction:column;text-decoration:none;background:var(--white);border:1px solid var(--line);transition:border-color .2s,transform .2s}
.occ:hover{border-color:var(--gold);transform:translateY(-3px)}
.occ canvas{display:block;width:100%;height:auto;aspect-ratio:5/4}
.occ div{padding:1rem 1.1rem 1.2rem;display:grid;gap:.35rem}
.occ h3{font-size:1.35rem}
.occ p{font-size:.86rem;color:var(--muted)}
.occ span{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--maroon);margin-top:.3rem}
@media (max-width:480px){.occ div{padding:.7rem .7rem .9rem}.occ h3{font-size:1.08rem}.occ p{display:none}}

/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
@media (max-width:1060px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}
.pcard{display:flex;flex-direction:column;min-width:0}
.pimg{position:relative;display:block;background:var(--ivory2);overflow:hidden}
.pimg canvas{display:block;width:100%;height:auto;aspect-ratio:5/6;transition:transform .5s ease}
.pcard:hover .pimg canvas{transform:scale(1.025)}
.plabel{position:absolute;top:12px;left:12px;background:var(--white);color:var(--maroon);border:1px solid var(--gold);font:600 .66rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.4rem .6rem}
.pbody{display:grid;gap:.3rem;padding:.9rem .1rem 0}
.pocc{font:600 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.pbody h3{font-size:1.35rem}
.pbody h3 a{text-decoration:none}
.pfmt{font-size:.82rem;color:var(--muted)}
.pprice{font-size:.9rem;color:var(--muted)}
.pprice b{color:var(--espresso);font-weight:600}
.plink{font:600 .76rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);text-decoration:none;margin-top:.4rem}
.plink:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:480px){.pbody h3{font-size:1.1rem}}
.note-ex{font-size:.8rem;color:var(--muted);text-align:center;margin-top:1.4rem}

/* experience + why */
.feats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.4vw,28px)}
@media (max-width:980px){.feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.feats{grid-template-columns:minmax(0,1fr)}}
.feat{display:grid;gap:.6rem;align-content:start}
.feat svg{width:34px;height:34px;color:var(--gold-d)}
.feat h3{font-size:1.3rem}
.feat p{font-size:.92rem;color:var(--muted)}
.why{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}}
.why .feat{padding:1.6rem;background:var(--white);border:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);list-style:none;margin:0;padding:0;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.steps{grid-template-columns:minmax(0,1fr)}}
.steps li{counter-increment:s;display:grid;gap:.5rem;padding-top:1.2rem;border-top:1px solid var(--gold)}
.steps li::before{content:counter(s,decimal-leading-zero);font:italic 500 2rem/1 var(--serif);color:var(--gold-d)}
.steps h3{font-size:1.3rem}
.steps p{font-size:.92rem;color:var(--muted)}
.caption{font:italic 500 1.35rem/1.3 var(--serif);color:var(--maroon);text-align:center;margin-top:2.4rem}

/* custom design band */
.custom .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.custom h2{font-size:clamp(2.1rem,4.6vw,3.4rem);margin:.9rem 0 1.1rem}
.custom p{color:rgba(244,235,221,.85);max-width:30rem}
.custom canvas{display:block;width:100%;height:auto;aspect-ratio:1/1;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
@media (max-width:860px){.custom .wrap{grid-template-columns:minmax(0,1fr)}}

/* testimonials / expect */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:860px){.quotes{grid-template-columns:minmax(0,1fr)}}
.quotes blockquote{margin:0;padding:1.6rem;background:var(--white);border:1px solid var(--line)}
.quotes blockquote p{font:italic 500 1.25rem/1.45 var(--serif)}
.quotes cite{display:block;margin-top:1rem;font-style:normal;font-size:.84rem;color:var(--muted)}

/* faq */
.faq{display:grid;border-top:1px solid var(--line2)}
.faq details{border-bottom:1px solid var(--line2)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;list-style:none;padding:1.15rem .2rem;font:500 1.25rem/1.3 var(--serif);color:var(--espresso)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 1.6rem/1 var(--sans);color:var(--gold-d);flex:0 0 auto}
.faq details[open] summary::after{content:"−"}
.faq summary:focus-visible{outline-offset:-2px}
.faqa{padding:0 .2rem 1.2rem;color:var(--muted);max-width:60rem}
.faqa a{color:var(--maroon)}

/* final cta */
.final{text-align:center}
.final h2{font-size:clamp(2.2rem,5vw,3.4rem)}
.final p{color:var(--muted);margin-top:.9rem}
.final .cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}

/* footer */
.site-foot{background:var(--espresso);color:rgba(244,235,221,.82);padding-block:clamp(48px,6vw,72px) 1.6rem;font-size:.9rem}
.site-foot .wordmark b{color:var(--ivory)}
.site-foot .wordmark small{color:var(--gold)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem 2.4rem}
.fgrid>div{display:grid;gap:.45rem;align-content:start;min-width:0}
.fgrid a{text-decoration:none;color:rgba(244,235,221,.82);justify-self:start}
.fgrid a:hover{color:var(--gold)}
.fbrand p{max-width:22rem;margin-top:.8rem}
.fbrand .btn{margin-top:.6rem}
.site-foot .btn-ghost{color:var(--ivory);border-color:rgba(244,235,221,.5)}
.fh{font:600 .72rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.fcopy{grid-column:1/-1;border-top:1px solid rgba(244,235,221,.16);padding-top:1.2rem;margin-top:1rem;display:grid;gap:.3rem}
.site-foot .fine{color:rgba(244,235,221,.6)}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}

/* page header */
.phead{padding-block:clamp(40px,6vw,72px) clamp(24px,4vw,40px);text-align:center}
.phead h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:.8rem 0 .9rem}
.phead p{color:var(--muted);max-width:40rem;margin-inline:auto}
.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:.4rem}
.crumbs a{color:var(--muted)}

/* catalog */
.catalog{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start}
.filters{position:sticky;top:96px;display:grid;gap:1.2rem;max-height:calc(100vh - 110px);overflow:auto;padding-right:.4rem}
.filters fieldset{border:0;padding:0;margin:0;display:grid;gap:.45rem;min-width:0}
.filters legend{font:600 .72rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:.5rem}
.fopt{display:flex;align-items:center;gap:.55rem;font-size:.9rem;cursor:pointer}
.fopt input{width:18px;height:18px;accent-color:var(--maroon);margin:0}
.fopt small{color:var(--muted);margin-left:auto}
.ctools{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1.4rem}
.search{flex:1;min-width:200px;position:relative}
.search input{width:100%;padding-left:2.4rem}
.search svg{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.ctools select{width:auto}
.count{font-size:.86rem;color:var(--muted);margin-left:auto}
.filterbtn{display:none}
.activechips{display:flex;flex-wrap:wrap;gap:.4rem;margin:-0.4rem 0 1.2rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--line2);background:var(--white);font-size:.8rem;cursor:pointer;border-radius:999px}
.chip:hover{border-color:var(--maroon)}
.empty-state{text-align:center;padding:3rem 1rem;border:1px dashed var(--line2);background:var(--white);display:grid;gap:.8rem;justify-items:center}
.empty-state h2{font-size:1.8rem}
@media (max-width:900px){
  .catalog{grid-template-columns:minmax(0,1fr)}
  .filterbtn{display:inline-flex}
  .filters{position:fixed;inset:0 0 0 auto;width:min(360px,92vw);max-height:none;background:var(--white);z-index:45;padding:1.2rem;transform:translateX(105%);transition:transform .25s;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4)}
  .filters.open{transform:none}
  .filters .fclose{display:flex}
}
.fclose{display:none;justify-content:space-between;align-items:center}
.fclose h2{font-size:1.5rem}

/* product page */
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
@media (max-width:900px){.pdp{grid-template-columns:minmax(0,1fr)}}
.gallery{position:sticky;top:92px;display:grid;gap:.8rem}
@media (max-width:900px){.gallery{position:static}}
.gmain{background:var(--ivory2);position:relative}
.gmain canvas{display:block;width:100%;height:auto;aspect-ratio:1/1}
.gthumbs{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.2rem}
.gthumbs button{flex:0 0 auto;width:78px;padding:0;border:1px solid var(--line);background:var(--white);cursor:pointer;display:grid;gap:.2rem;justify-items:center;font-size:.68rem;color:var(--muted);padding-bottom:.3rem}
.gthumbs button[aria-pressed="true"]{border-color:var(--maroon);color:var(--maroon)}
.gthumbs canvas{display:block;width:100%;height:auto;aspect-ratio:5/7}
.pinfo{display:grid;gap:1.2rem}
.pinfo h1{font-size:clamp(2.2rem,4.4vw,3.2rem)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tag{font:600 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:.45rem .6rem;border:1px solid var(--line2);color:var(--muted)}
.pricebox{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.pricebox b{font:500 2.2rem/1 var(--serif);color:var(--maroon)}
.fmtpick{display:grid;gap:.5rem}
.fmtopt{position:relative;display:block;cursor:pointer}
.fmtopt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.fmtopt .box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;padding:.9rem 1rem;border:1px solid var(--line2);background:var(--white)}
.fmtopt .box b{font-weight:600}
.fmtopt .box small{grid-column:1/2;color:var(--muted);font-size:.84rem}
.fmtopt .box em{font-style:normal;font-weight:600;color:var(--maroon);grid-row:1/2;grid-column:2}
.fmtopt input:checked + .box{border-color:var(--maroon);box-shadow:inset 0 0 0 1px var(--maroon)}
.fmtopt input:focus-visible + .box{outline:2px solid var(--maroon);outline-offset:2px}
.specs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.2rem;margin:0;font-size:.92rem}
.specs dt{color:var(--muted)}
.specs dd{margin:0}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.incl{grid-template-columns:1fr}}
.incl div{padding:1rem 1.1rem;background:var(--white);border:1px solid var(--line)}
.incl h3{font-size:1.15rem;margin-bottom:.5rem}
.incl ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}
.pactions{display:flex;flex-wrap:wrap;gap:.6rem}
.pactions .btn{flex:1 1 200px}
.filmbox{display:grid;gap:.8rem;justify-items:center}
.filmframe{position:relative;width:min(100%,360px);aspect-ratio:9/16;background:#1d0a0e;box-shadow:var(--shadow)}
.filmframe canvas{display:block;width:100%;height:100%}
.bigplay{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:rgba(56,39,31,.6);border:1px solid var(--gold);cursor:pointer}
.bigplay::before{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);border-left:24px solid var(--ivory);border-top:15px solid transparent;border-bottom:15px solid transparent}
.fctl{display:flex;align-items:center;gap:.6rem;width:min(100%,360px)}
.fctl input[type=range]{flex:1;accent-color:var(--maroon)}
.fctl .small{font-variant-numeric:tabular-nums}
#filmJump{display:none}

/* personalisation */
.persona{margin-top:clamp(40px,6vw,72px);background:var(--white);border:1px solid var(--line);padding:clamp(20px,4vw,48px)}
.pgrid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(20px,4vw,56px);align-items:start}
@media (max-width:900px){.pgrid2{grid-template-columns:minmax(0,1fr)}.livebox{order:-1}}
.livebox{position:sticky;top:96px;display:grid;gap:.6rem}
.livebox canvas{display:block;width:100%;height:auto;aspect-ratio:5/7;box-shadow:var(--shadow);max-width:380px;margin-inline:auto}
.stepper{display:flex;gap:.5rem;list-style:none;margin:0 0 1.4rem;padding:0;font:600 .72rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stepper li{flex:1;padding-top:.6rem;border-top:2px solid var(--line2)}
.stepper li.on{color:var(--maroon);border-color:var(--maroon)}
.stepper li.past{color:var(--gold-d);border-color:var(--gold)}
.form{display:grid;gap:1.1rem;min-width:0}
.field{display:grid;gap:.35rem;min-width:0}
.field label,.flabel,.form legend{font:600 .76rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--espresso)}
.field .hint{font-size:.8rem;color:var(--muted)}
.opt-l{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
.in{width:100%;min-height:48px;background:var(--white);border:1px solid var(--line2);border-radius:var(--radius);padding:.7rem .85rem;font-size:1rem}
.in:hover{border-color:var(--bronze)}
.in:focus-visible{outline:2px solid var(--maroon);outline-offset:0;border-color:var(--maroon)}
.in[aria-invalid="true"]{border-color:#a8264a;background:#fff8f8}
textarea.in{min-height:96px;resize:vertical}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--espresso) 50%),linear-gradient(135deg,var(--espresso) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.2rem}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:520px){.row2{grid-template-columns:minmax(0,1fr)}}
fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:.6rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.opt span{display:inline-block;padding:.55rem 1rem;border:1px solid var(--line2);background:var(--white);font-size:.9rem}
.opt input:checked + span{border-color:var(--maroon);background:var(--maroon);color:var(--white)}
.opt input:focus-visible + span{outline:2px solid var(--maroon);outline-offset:2px}
.chk{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;cursor:pointer}
.chk input{width:18px;height:18px;margin-top:.2rem;accent-color:var(--maroon);flex:0 0 auto}
.chk a{color:var(--maroon)}
.ferr{color:#a8264a;font-size:.84rem;font-weight:600;margin:.2rem 0 0}
.formnote{font-size:.84rem;color:var(--muted);background:var(--ivory);padding:.8rem 1rem;border-left:2px solid var(--gold)}
.evlist{display:grid;gap:.8rem}
.evrow{border:1px solid var(--line2);padding:1rem;display:grid;gap:.8rem;background:var(--white)}
.evrow legend{padding:0 .4rem;font-size:.72rem}
.evrow .rm,.mini{background:none;border:0;padding:0;color:var(--maroon);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.86rem;justify-self:start}
.review{display:grid;gap:.4rem;background:var(--ivory);padding:1.2rem;border:1px solid var(--line)}
.review dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem 1rem;margin:0;font-size:.92rem}
.review dt{color:var(--muted)}
.review dd{margin:0;overflow-wrap:anywhere}
.formfoot{display:flex;flex-wrap:wrap;gap:.6rem}
.formfoot .btn{flex:1 1 180px}
.related{margin-top:clamp(56px,8vw,96px)}

/* simple content pages */
.prose{display:grid;gap:1rem;color:var(--text)}
.prose h2{font-size:1.8rem;margin-top:1.4rem}
.prose h3{font-size:1.35rem;margin-top:.8rem}
.prose p,.prose li{color:var(--muted)}
.prose ul,.prose ol{margin:0;padding-left:1.2rem;display:grid;gap:.4rem}
.prose .own{background:var(--white);border-left:2px solid var(--gold);padding:1rem 1.2rem;font-size:.92rem}
.prose a{color:var(--maroon)}
.cards2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:860px){.cards2{grid-template-columns:minmax(0,1fr)}}
.cards2>div{background:var(--white);border:1px solid var(--line);padding:1.5rem;display:grid;gap:.5rem;align-content:start}
.cards2 h3{font-size:1.4rem}
.cards2 p{font-size:.92rem;color:var(--muted)}
.contactgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:860px){.contactgrid{grid-template-columns:minmax(0,1fr)}}
.contactgrid>div{background:var(--white);border:1px solid var(--line);padding:1.5rem;display:grid;gap:.5rem;align-content:start}
.contactgrid h2{font-size:1.4rem}
.successbox{text-align:center;display:grid;gap:.8rem;justify-items:center;padding:2rem 1rem}
.successbox .tick{width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--maroon);font-size:1.5rem}
.about-hero canvas{display:block;width:100%;height:auto;aspect-ratio:16/7;box-shadow:var(--shadow)}

/* drawer, checkout */
.veil{position:fixed;inset:0;background:rgba(56,39,31,.4);z-index:40}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--ivory);z-index:41;display:flex;flex-direction:column;padding:calc(1.2rem + env(safe-area-inset-top,0px)) 1.3rem calc(1.2rem + env(safe-area-inset-bottom,0px));box-shadow:-20px 0 50px -24px rgba(56,39,31,.6)}
.drawer header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.drawer h2{font-size:1.7rem}
#cartList{list-style:none;margin:0;padding:0;overflow:auto;flex:1;display:grid;gap:.9rem;align-content:start}
#cartList li{display:grid;gap:.15rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
#cartList .ci{display:flex;justify-content:space-between;gap:1rem}
#cartList .ci b{font:500 1.2rem var(--serif)}
#cartList small{color:var(--muted)}
#cartList .rm{justify-self:start;background:none;border:0;padding:0;color:var(--maroon);text-decoration:underline;cursor:pointer;font-size:.84rem}
#cartList .empty{border:0;color:var(--muted)}
#cartList .empty a{color:var(--maroon)}
.drawer .foot{display:grid;gap:.7rem;padding-top:1rem;border-top:1px solid var(--line)}
.tot{display:flex;justify-content:space-between;align-items:baseline}
.tot b{font:500 1.8rem var(--serif);color:var(--maroon)}
.costeps{display:flex;gap:.4rem;list-style:none;margin:0 0 1rem;padding:0;font:600 .7rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.costeps li{flex:1;text-align:center;padding:.45rem .2rem;border-bottom:2px solid var(--line2)}
.costeps li.on{color:var(--maroon);border-color:var(--maroon)}
.costeps li.past{color:var(--gold-d);border-color:var(--gold)}
.co{flex:1;overflow:auto;display:grid;align-content:start;gap:1rem;min-width:0;padding-right:.2rem}
.co .form{gap:.9rem}
.co .btn{width:100%}
.payhead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.payhead b{font:500 2rem/1 var(--serif);color:var(--maroon)}
.sum{background:var(--white);border:1px solid var(--line);padding:.8rem 1rem;font-size:.88rem;color:var(--muted)}
.sum .sl,.sum .st{display:flex;justify-content:space-between;gap:1rem;padding:2px 0}
.sum .save{color:#1f6b45}
.sum .st{font-weight:700;color:var(--espresso);border-top:1px dashed var(--line2);margin-top:4px;padding-top:6px}
.upibox{display:grid;justify-items:center;gap:.8rem;text-align:center;padding:1rem;border:1px solid var(--line);background:var(--white)}
.qr svg{display:block;width:208px;height:208px}
.qrcap{font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}
.qrcap b{color:var(--espresso)}
.payee{font-size:.8rem;color:var(--muted);background:var(--ivory);padding:.6rem .8rem}
.cpn{display:flex;gap:.5rem}
.cpn .in{text-transform:uppercase}
.cpn .btn{width:auto!important;flex:0 0 auto}
.cpnmsg{font-size:.84rem;margin:0;min-height:1em}
.cpnmsg.ok{color:#1f6b45}.cpnmsg.bad{color:#a8264a}
.okicon{width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);color:var(--maroon);display:grid;place-items:center;font-size:1.5rem;margin:0 auto}
.toast{position:fixed;left:50%;bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--espresso);color:var(--ivory);padding:.8rem 1.2rem;z-index:60;max-width:calc(100% - 2rem);text-align:center;font-size:.9rem;box-shadow:var(--shadow)}
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:55;max-width:560px;margin-inline:auto;background:var(--white);border:1px solid var(--line2);padding:1rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;box-shadow:var(--shadow);font-size:.88rem}
.consent div{display:flex;gap:.5rem}
.consent a{color:var(--maroon)}

/* track */
.trk{display:grid;gap:1.4rem}
.trk form{display:flex;gap:.6rem;flex-wrap:wrap}
.trk form .in{flex:1;min-width:12rem}
.ocard{background:var(--white);border:1px solid var(--line);padding:1.4rem;display:grid;gap:.5rem}
.ocard h2{font-size:1.5rem}
.ostep{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem}
.ostep li{display:grid;justify-items:center;gap:.35rem;text-align:center;font-size:.74rem;color:var(--muted);line-height:1.2}
.ostep i{width:16px;height:16px;border-radius:50%;border:1px solid var(--line2);background:var(--white)}
.ostep li.done{color:var(--espresso);font-weight:600}
.ostep li.done i{background:var(--gold);border-color:var(--gold)}
.ostatus{font-weight:600;color:var(--maroon)}

/* 404 */
.nf{text-align:center;padding-block:clamp(64px,10vw,140px)}
.nf h1{font-size:clamp(2.6rem,6vw,4rem)}
.nf p{color:var(--muted);margin:.8rem 0 1.6rem}
/* additions */
.chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.chips button{font:500 .78rem/1 var(--sans);padding:.45rem .7rem;border:1px solid var(--line2);background:var(--white);color:var(--espresso);cursor:pointer}
.chips button:hover{border-color:var(--gold)}
.catalog .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.catalog .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fmtfs{border:0;margin:0;padding:0;display:grid;gap:.6rem;min-width:0}
.gmain .filmbox{padding:1.2rem .8rem}
@media (max-width:900px){.filters{visibility:hidden}.filters.open{visibility:visible}}
.pinfo{display:grid;gap:1.1rem;min-width:0}
@media (max-width:900px){.livebox{position:static}.livebox canvas{max-width:240px}}
.fctl{flex-wrap:wrap;justify-content:center}.fctl input[type=range]{order:3;flex-basis:100%}
/* browse tabs and category pages */
.btabs{display:flex;justify-content:center;gap:0;margin:0 auto clamp(24px,4vw,40px);border-bottom:1px solid var(--line);max-width:420px}
.btabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.8rem 1rem;font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.btabs button[aria-selected="true"]{color:var(--maroon);border-color:var(--maroon)}
.btabs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.pkggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
@media (max-width:760px){.pkggrid{grid-template-columns:minmax(0,1fr)}}
.pkggrid .occ p.pkgmeta{color:var(--gold-d);font-weight:600;font-size:.82rem}
@media (max-width:480px){.pkggrid .occ p{display:block}}
.subnav{position:sticky;top:76px;z-index:5;background:var(--ivory);display:flex;gap:.5rem;overflow-x:auto;padding:.8rem 0;margin-bottom:1rem;border-bottom:1px solid var(--line);scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav .chip{white-space:nowrap;text-decoration:none;color:var(--espresso)}
.subnav .chip small{color:var(--muted);margin-left:.2rem}
.subnav .chip[aria-current="true"]{background:var(--maroon);color:var(--ivory);border-color:var(--maroon)}
.subnav .chip[aria-current="true"] small{color:var(--gold)}
.cgroup{padding-block:clamp(24px,4vw,40px);scroll-margin-top:140px}
.cghead{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line);padding-bottom:.8rem}
.cghead h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.cghead p{color:var(--muted);font-size:.92rem;margin-top:.3rem}
.catlinks{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1rem}
.catlinks .chip{text-decoration:none;color:var(--espresso);padding:.5rem .9rem}
.cghead .textlink{white-space:nowrap;flex:0 0 auto}
/* parent-brand badge */
.parentbar{background:var(--white);border-bottom:1px solid var(--line);text-align:center;font-size:.72rem;letter-spacing:.06em;color:var(--muted)}
.parentbar a{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem 1rem;color:inherit;text-decoration:none}
.parentbar a:hover b{color:#0B3C5D}
.parentbar b{font-weight:600;color:var(--espresso);transition:color .2s}
.parentbar svg{flex:0 0 auto}
.fgrid>.endorse{grid-column:1/-1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1.4rem;border-top:1px solid rgba(244,235,221,.14)}
.endorse small{font:600 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.avicard{background:#FFFDF8;padding:12px 20px;border-radius:4px;max-width:100%}
.avicard svg{width:40px;height:auto}
.avicard div[style*="70px"]{height:52px!important}
@media (max-width:420px){.avicard>div{gap:12px!important}.avicard div[style*="22px"]{font-size:18px!important}}
.avicard{width:fit-content}

/* ===== customer accounts ===== */
.acctbtn{display:inline-flex;align-items:center;gap:.45rem;max-width:150px;border-radius:999px;padding:.35rem .9rem .35rem .4rem;font-weight:700;font-size:.9rem;cursor:pointer;color:var(--text)}
.acctbtn .aico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7);font-size:.95rem}
.acctbtn .an{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avmini{width:28px;height:28px;border-radius:50%;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,#8a2a52,#b0406e);color:#f7d489;font-size:.85rem;font-weight:700;box-shadow:0 0 0 2px #c58a1f}
.avmini img,.av img,.dpi img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:560px){.acctbtn .an{display:none}.acctbtn{padding:.35rem}}
/* pop-ups */
.amodal{max-width:460px}
.pmodal{max-width:600px}
.aform{display:grid;gap:.9rem;overflow:auto;padding-right:.2rem}
.aform h2{font-size:1.6rem;padding-right:2.5rem}
.aform .ptabs{margin:0;width:100%}
.aform .ptabs button{flex:1}
.aerr{color:#a8264a;font-size:.88rem;min-height:1.1em;margin:0}
.okmsg{color:#1f7a45;font-size:.9rem;margin:0}
.okmsg.bad{color:#a8264a}
.mailic{font-size:3rem;text-align:center}
#verifyBox{text-align:center;justify-items:center}
#verifyBox .btn{width:100%}
.in.bad{border-color:#d0506a!important;background-color:rgba(255,240,243,.85)!important}
.ftip{margin:.35rem 0 0;background:#fff1f3;border:1px solid #f3b7c3;color:#a8264a;font-size:.82rem;font-weight:600;line-height:1.4;padding:.45rem .7rem;border-radius:10px}
.ftip.warn{background:#fff8e6;border-color:#f0d08a;color:#8a5a00}
/* password eye + caps lock */
.pwwrap{position:relative;display:block}
.pwwrap .in{padding-right:3rem}
.pweye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:var(--muted);cursor:pointer}
.pweye:hover{background:rgba(255,255,255,.7);color:var(--gold2)}
.pweye.on{color:var(--gold2)}
.pweye svg{width:21px;height:21px}
.capsw{margin:.35rem 0 0;font-size:.82rem;font-weight:700;color:#8a5a00;background:#fff8e6;border:1px solid #f0d08a;border-radius:10px;padding:.35rem .7rem}
/* profile form */
.meterlbl{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--gold2)}
.meter{height:10px;border-radius:9px;background:rgba(255,255,255,.6);box-shadow:inset 0 1px 2px rgba(90,28,62,.15);overflow:hidden;margin-top:.35rem}
.meter i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#c58a1f,#d6477a);transition:width .6s cubic-bezier(.3,1.3,.5,1)}
.dpwrap{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.dp{position:relative;width:96px;height:96px;flex:0 0 auto;cursor:pointer}
.dpi{width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center;font:400 2.4rem var(--f-display);color:#f7d489;background:linear-gradient(135deg,#8a2a52,#b0406e);box-shadow:0 0 0 4px rgba(255,255,255,.85),0 0 0 6px #c58a1f}
.cam{position:absolute;right:-2px;bottom:-2px;width:32px;height:32px;border-radius:50%;background:#c58a1f;display:grid;place-items:center;border:3px solid #fff;font-size:.9rem}
.dpact{display:grid;gap:.3rem}
.dpbtns{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.dpbtns .btn{width:auto!important}
.pgroup{border-radius:20px;padding:1rem!important;display:grid;gap:.8rem;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.8)}
.pgroup legend{font:400 1.1rem var(--f-display);color:var(--text);padding:0 .3rem;letter-spacing:0;text-transform:none}
.flabel{font:700 .78rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}
.opt-l{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
.pchips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}
.pchips .fchip{font-size:.84rem;padding:.4rem .8rem}
.pfoot{display:flex;gap:.6rem;position:sticky;bottom:-1px;padding:.6rem 0 .2rem;background:linear-gradient(180deg,rgba(255,246,244,0),rgba(255,246,244,.95) 30%)}
.pfoot .btn{flex:1}
/* account drawer */
#acct{display:flex;flex-direction:column;gap:1rem}
#acct[hidden]{display:none!important}
.acbody{flex:1;overflow:auto;display:grid;gap:1rem;align-content:start;padding-right:.2rem}
.prof{display:flex;gap:1rem;align-items:center}
.prof>div:last-child{display:grid;gap:.15rem;min-width:0}
.prof b{font:400 1.3rem var(--f-display);color:var(--text)}
.prof .mini{justify-self:start;margin-top:.2rem}
.av{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,#8a2a52,#b0406e);color:#f7d489;font:400 1.8rem var(--f-display);box-shadow:0 0 0 3px #fff,0 0 0 5px #c58a1f}
.pnudge,.ab,.bday{border-radius:18px;padding:.9rem 1rem;display:grid;gap:.5rem;background-color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 1px rgba(255,255,255,.9)}
.pnudge{background-image:linear-gradient(135deg,rgba(251,224,228,.8),rgba(247,234,211,.8))}
.pnudge .btn{justify-self:start;width:auto!important}
.bday{font-size:.92rem;color:var(--gold2);font-weight:600;background:rgba(255,250,240,.75);border:1px dashed #c58a1f}
.ab h3{font:400 1.1rem var(--f-display);color:var(--text)}
.ab .btn{justify-self:start;width:auto!important}
.ord{display:grid;gap:.3rem;padding:.6rem 0;border-top:1px dashed var(--line2)}
.ord:first-of-type{border-top:0}
.ordh{display:flex;justify-content:space-between;gap:.6rem;font-size:.92rem}
.ordh b{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--gold2)}
.ord small{color:var(--muted);font-size:.82rem}
.mstep{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;margin:.2rem 0;padding:0}
.mstep li{display:grid;justify-items:center;gap:.2rem;text-align:center;font-size:.66rem;color:var(--muted);line-height:1.2}
.mstep i{width:14px;height:14px;border-radius:50%;border:2px solid var(--line2);background:#fff}
.mstep li.done{color:var(--text);font-weight:700}
.mstep li.done i{background:#c58a1f;border-color:#c58a1f}
.ord .mini,.ab .mini{justify-self:start}
.rem{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px dashed var(--line2);font-size:.9rem}
.rem>div{flex:1;min-width:0}
.rmx{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1rem;padding:.3rem}
.rform{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.3rem}
.rform #rName{grid-column:1/-1}
.rform .btn{grid-column:1/-1;justify-self:start}
.shg b{font:400 1.8rem var(--f-display);color:var(--gold2)}
#signOut{width:100%}
/* INVITAAR overrides for the account pieces */
:root{--gold2:var(--maroon);--f-display:var(--serif);--f-body:var(--sans);--line2:rgba(56,39,31,.24)}
.lov{position:fixed;inset:0;z-index:70;background:rgba(56,39,31,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.lmodal{position:relative;background:var(--ivory);max-width:520px;width:100%;max-height:92vh;display:flex;flex-direction:column;padding:1.8rem 1.5rem 1.2rem;box-shadow:0 30px 60px -20px rgba(56,39,31,.6)}
.lx{position:absolute;top:10px;right:12px;width:40px;height:40px;border:1px solid var(--line2);background:var(--white);font-size:1.3rem;line-height:1;cursor:pointer;color:var(--maroon)}
.aform h2{font-size:1.9rem}
.ptabs{display:flex;border:1px solid var(--line2);background:var(--white)}
.ptabs button{flex:1;border:0;background:none;padding:.75rem;font:600 .76rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.ptabs button[aria-selected="true"]{background:var(--maroon);color:var(--white)}
.fchip{border:1px solid var(--line2);background:var(--white);padding:.45rem .85rem;font-size:.84rem;cursor:pointer;border-radius:999px}
.fchip[aria-pressed="true"]{background:var(--maroon);color:var(--white);border-color:var(--maroon)}
.acctbtn{max-width:none;border-radius:0;padding:0;font-size:inherit}
.dpi{background:var(--maroon);color:var(--gold);box-shadow:0 0 0 3px var(--white),0 0 0 4px var(--gold)}
.av{background:var(--maroon);color:var(--gold);box-shadow:0 0 0 3px var(--white),0 0 0 4px var(--gold)}
.cam{background:var(--gold)}
.meter{background:var(--ivory2);box-shadow:none;border-radius:0;height:6px}
.meter i{background:var(--maroon);border-radius:0}
.pgroup{background:var(--white);border:1px solid var(--line);border-radius:0}
.pnudge,.ab,.bday{border-radius:0;background:var(--white);border:1px solid var(--line);box-shadow:none}
.pnudge{background-image:none;background:var(--white)}
.bday{border:1px solid var(--gold);color:var(--maroon)}
.mstep{grid-template-columns:repeat(5,1fr)}
.mstep li.done i{background:var(--gold);border-color:var(--gold)}
.ordh b{color:var(--maroon)}
.pfoot{background:linear-gradient(180deg,rgba(244,235,221,0),var(--ivory) 30%)}
.ftip{border-radius:0}
.capsw{border-radius:0}
.pweye:hover{background:var(--ivory)}
#acct{background:var(--ivory)}
