/* Altiora Library + Retainers – extends style.css */
.draft-bar{background:repeating-linear-gradient(135deg,#d4a640 0 14px,#c99a33 14px 28px);color:#0b1a3a;text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.45rem 1rem}
.ph{display:inline-block;font-family:monospace;font-size:.72rem;letter-spacing:.05em;background:rgba(212,166,64,.14);color:var(--gold2);border:1px dashed rgba(212,166,64,.7);border-radius:6px;padding:.05rem .45rem;vertical-align:middle;text-transform:uppercase}
/* cinematic hero */
.lib-hero{position:relative;min-height:calc(92vh - 78px);display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 75% 30%,#24438a 0%,#1b3570 22%,#0b1a3a 58%,#060f24 100%)}
.lib-hero .bg{position:absolute;inset:0;background:url(../assets/office-sunset.jpg) center/cover;opacity:.16;filter:saturate(.6) blur(1px)}
.lib-hero .beams{position:absolute;inset:-20% -10% 0;background:conic-gradient(from 200deg at 72% 110%,transparent 0deg,rgba(241,210,122,.10) 12deg,transparent 24deg,rgba(241,210,122,.07) 40deg,transparent 55deg,rgba(241,210,122,.09) 75deg,transparent 95deg);animation:beam 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes beam{to{transform:rotate(4deg) translateY(-2%)}}
.lib-hero .dust{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(2px 2px at 10% 80%,#f1d27a 50%,transparent 51%),radial-gradient(1.5px 1.5px at 30% 60%,#f1d27a 50%,transparent 51%),radial-gradient(2px 2px at 55% 90%,#d4a640 50%,transparent 51%),radial-gradient(1px 1px at 70% 40%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 85% 75%,#f1d27a 50%,transparent 51%),radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 92% 20%,#d4a640 50%,transparent 51%),radial-gradient(1px 1px at 45% 15%,#f1d27a 50%,transparent 51%);background-size:100% 100%;opacity:.55;animation:rise 18s linear infinite}
.lib-hero .dust.d2{animation-duration:26s;opacity:.35;transform:scale(1.4)}
@keyframes rise{from{background-position:0 0}to{background-position:0 -900px}}
.lib-hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;padding:4.5rem 0}
.lib-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;letter-spacing:.03em}
.lib-hero h1 small{display:block;font-family:var(--serif2);font-style:italic;font-weight:500;font-size:.42em;letter-spacing:0;color:#f4ecd6;margin-top:.8rem}
.lib-hero p.big{font-size:1.08rem;color:#cfd6e6;max-width:560px;margin:1.3rem 0 1.8rem}
.hero-stats{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}
.hero-stats div{border-left:2px solid var(--gold);padding-left:.9rem}
.hero-stats b{display:block;font-family:var(--serif);font-size:1.7rem;color:#fff;line-height:1}
.hero-stats span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.shelf{position:relative;height:560px}
.shelf::before{content:"";position:absolute;left:8%;right:8%;bottom:40px;height:180px;background:radial-gradient(ellipse at center,rgba(241,210,122,.35),rgba(241,210,122,0) 70%);filter:blur(12px)}
.shelf .ring{position:absolute;left:50%;top:46%;width:470px;height:470px;margin:-235px 0 0 -235px;border-radius:50%;border:1px solid rgba(212,166,64,.35);box-shadow:0 0 0 30px rgba(212,166,64,.04),0 0 140px rgba(212,166,64,.18) inset}
.shelf .ring::after{content:"ALTIORA PETO · I SEEK HIGHER THINGS · ALTIORA PETO · I SEEK HIGHER THINGS ·";position:absolute;inset:0;display:none}
.shelf img{position:absolute;width:300px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));animation:float 7s ease-in-out infinite}
.shelf img:nth-child(2){left:0;top:150px;width:210px;transform:rotate(-10deg);animation-delay:-2s;opacity:.92}
.shelf img:nth-child(3){right:0;top:160px;width:210px;transform:rotate(9deg);animation-delay:-4s;opacity:.92}
.shelf img:nth-child(4){left:50%;margin-left:-125px;top:50px;width:250px;z-index:3}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -14px}}
.scroll-cue{position:absolute;left:50%;bottom:22px;z-index:3;color:var(--gold2);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;transform:translateX(-50%);opacity:.8}
/* trust strip */
.trust{background:linear-gradient(90deg,#08132b,#0e1f45,#08132b);border-top:1px solid rgba(212,166,64,.3);border-bottom:1px solid rgba(212,166,64,.3);padding:1.4rem 0}
.trust ul{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.trust li{display:flex;gap:.7rem;align-items:center;font-size:.82rem;color:#e6e9f2;line-height:1.35}
.trust svg{width:30px;height:30px;flex:none;stroke:var(--gold2);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* featured */
.featured{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center;background:linear-gradient(135deg,rgba(27,53,112,.55),rgba(8,19,43,.6));border:1px solid rgba(212,166,64,.45);border-radius:26px;padding:3rem;position:relative;overflow:hidden}
.featured::before{content:"";position:absolute;width:520px;height:520px;left:-120px;top:-80px;background:radial-gradient(circle,rgba(212,166,64,.22),transparent 65%)}
.featured .art{position:relative;text-align:center}
.featured .art img{width:min(290px,100%);margin:0 auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55));transition:transform .6s}
.featured:hover .art img{transform:rotate(-2deg) scale(1.03)}
.ribbon{display:inline-block;background:var(--grad);color:var(--navy);font-weight:700;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .9rem;border-radius:999px;margin-bottom:1rem}
.price{display:flex;align-items:baseline;gap:.7rem;margin:1.2rem 0;flex-wrap:wrap}
.price b{font-family:var(--serif);font-size:2rem;color:#fff}
.price small{color:var(--muted);font-size:.8rem}
.meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:.8rem;color:var(--gold2);letter-spacing:.06em;text-transform:uppercase;margin:.6rem 0}
.meta span::before{content:"◆ ";color:var(--gold);font-size:.6rem}
/* filters & grid */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.6rem}
.filters button{background:transparent;border:1px solid rgba(212,166,64,.5);color:#fff;border-radius:999px;padding:.6rem 1.2rem;font:600 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}
.filters button:hover{border-color:var(--gold2)}
.filters button[aria-pressed=true]{background:var(--grad);color:var(--navy);border-color:transparent}
.filters button .n{opacity:.7;margin-left:.3rem}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.pcard{display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));border:1px solid rgba(212,166,64,.25);border-radius:20px;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.pcard:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.pcard[hidden]{display:none}
.pcard .art{position:relative;height:330px;padding-top:26px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 70%,rgba(212,166,64,.22),rgba(11,26,58,0) 60%),linear-gradient(180deg,#0e1f45,#0a1734);overflow:hidden}
.pcard .art img{height:270px;max-width:88%;object-fit:contain;width:auto;filter:drop-shadow(0 22px 26px rgba(0,0,0,.5));transition:transform .5s}
.pcard:hover .art img{transform:translateY(-6px) rotate(-1.5deg) scale(1.04)}
.pcard .chip{position:absolute;top:14px;left:14px;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);background:var(--grad);padding:.3rem .7rem;border-radius:999px}
.pcard .fmt{position:absolute;top:14px;right:14px;font-size:.66rem;font-weight:600;letter-spacing:.12em;color:var(--gold2);border:1px solid rgba(212,166,64,.6);padding:.25rem .6rem;border-radius:999px;background:rgba(8,19,43,.6)}
.pcard .body{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:1.12rem;margin:0 0 .35rem}
.pcard h3 a{color:#fff;text-decoration:none}
.pcard .sub{font-family:var(--serif2);font-style:italic;font-size:1.08rem;color:#f4ecd6;line-height:1.3}
.pcard details{margin:1rem 0 0;border-top:1px solid rgba(212,166,64,.2);padding-top:.8rem}
.pcard summary{cursor:pointer;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);list-style:none}
.pcard summary::-webkit-details-marker{display:none}
.pcard summary::after{content:" +"}.pcard details[open] summary::after{content:" –"}
.pcard details ul{margin:.6rem 0 0;padding:0;list-style:none}
.pcard details li{font-size:.86rem;color:#d5dbe8;padding:.18rem 0 .18rem 1.1rem;position:relative}
.pcard details li::before{content:"";position:absolute;left:0;top:.7rem;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.pcard .foot{margin-top:auto;padding-top:1.2rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.pcard .foot .price{margin:0}.pcard .foot .price b{font-size:1.45rem}
.pcard .actions{display:flex;gap:.5rem}
.btn-buy::after{content:"→"}
.save{display:inline-flex;align-items:center;gap:.5rem;background:rgba(127,214,160,.12);border:1px solid rgba(127,214,160,.5);color:#a9ebc2;border-radius:999px;padding:.3rem .8rem;font-size:.75rem;font-weight:600;letter-spacing:.06em}
/* bundles */
.bundles{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.bundle{position:relative;border-radius:24px;padding:2.4rem;background:linear-gradient(160deg,#1b3570 0%,#0b1a3a 70%);border:1px solid var(--gold);overflow:hidden}
.bundle::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(241,210,122,.25),transparent 65%)}
.bundle .stack{display:flex;margin:1.4rem 0 1.2rem;height:170px;align-items:flex-end}
.bundle .stack img{height:150px;width:auto;margin-right:-38px;filter:drop-shadow(0 14px 16px rgba(0,0,0,.5));transition:transform .4s}
.bundle:hover .stack img{transform:translateY(-6px)}
.bundle .stack img:nth-child(2){height:162px}.bundle .stack img:nth-child(3){height:170px;z-index:2}
.bundle ul.inc{list-style:none;margin:.6rem 0 1rem}
.bundle ul.inc li{padding:.3rem 0 .3rem 1.6rem;position:relative;color:#d5dbe8;font-size:.92rem}
.bundle ul.inc li::before{content:"✓";position:absolute;left:0;color:var(--gold2);font-weight:700}
.bundle .callout{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(212,166,64,.35);padding-top:1.2rem;margin-top:1rem}
/* lead magnet */
.lead-mag{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center;background:radial-gradient(ellipse at 20% 50%,rgba(212,166,64,.18),transparent 55%),linear-gradient(135deg,#0e1f45,#08132b);border:1px solid rgba(212,166,64,.5);border-radius:26px;padding:3rem}
.lead-mag img{width:min(240px,100%);margin:0 auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.lead-mag form{gap:.9rem}
.free{display:inline-block;background:#7fd6a0;color:#0b1a3a;font-weight:800;font-size:.7rem;letter-spacing:.2em;padding:.3rem .8rem;border-radius:999px;margin-bottom:.8rem}
/* how it works */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:h}
.how .card{text-align:center;position:relative}
.how .card .badge{margin:0 auto}
.how .card::before{counter-increment:h;content:counter(h,decimal-leading-zero);position:absolute;top:1rem;right:1.2rem;font-family:var(--serif);font-size:2rem;color:rgba(212,166,64,.35)}
.pay-logos{display:flex;gap:.8rem;justify-content:center;margin-top:1.6rem;flex-wrap:wrap}
.pay-logos span{border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.45rem .9rem;font-size:.78rem;color:#fff;letter-spacing:.06em}
/* modal */
.modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:1rem}
.modal[hidden]{display:none}
.modal .bd{position:absolute;inset:0;background:rgba(4,10,25,.7);backdrop-filter:blur(3px)}
.modal .box{position:relative;max-width:520px;width:100%;background:linear-gradient(160deg,#122650,#0b1a3a 60%);border:1px solid var(--gold);border-radius:20px;padding:2rem;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.modal .box h2{font-size:1.4rem;margin-bottom:.6rem}
.modal .x{position:absolute;top:.8rem;right:1rem;background:none;border:0;color:var(--gold2);font-size:1.6rem;cursor:pointer}
.modal .opts{display:grid;gap:.6rem;margin:1.2rem 0}
/* product page */
.pd-hero{padding:4rem 0 4.5rem;background:radial-gradient(ellipse at 25% 40%,#24438a 0%,#1b3570 20%,#0b1a3a 60%);position:relative;overflow:hidden}
.pd-hero .container{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.5rem;align-items:center;position:relative;z-index:2}
.pd-hero .art{position:relative;text-align:center}
.pd-hero .art::before{content:"";position:absolute;inset:10% 5%;background:radial-gradient(circle,rgba(241,210,122,.3),transparent 65%);filter:blur(10px)}
.pd-hero .art img{position:relative;width:min(380px,100%);margin:0 auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55));animation:float 8s ease-in-out infinite}
.crumbs{font-size:.78rem;letter-spacing:.08em;margin-bottom:1rem;color:var(--muted)}.crumbs a{color:var(--gold2);text-decoration:none}
.spec{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.88rem}
.spec th{text-align:left;color:var(--gold2);font-weight:600;padding:.55rem 0;width:38%;border-bottom:1px solid rgba(212,166,64,.2);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.spec td{padding:.55rem 0;border-bottom:1px solid rgba(212,166,64,.2);color:#e6e9f2}
.previews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.previews figure{margin:0;background:#fbfaf6;border-radius:6px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4);transform:rotate(var(--r,0deg));transition:transform .4s}
.previews figure:hover{transform:rotate(0) scale(1.03)}
.previews img{width:100%;height:auto}
.previews figcaption{background:#0e1f45;color:var(--muted);font-size:.72rem;padding:.4rem .8rem;letter-spacing:.06em}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.related a{display:flex;gap:1rem;align-items:center;text-decoration:none;border:1px solid rgba(212,166,64,.25);border-radius:16px;padding:1rem;transition:.3s}
.related a:hover{border-color:var(--gold)}
.related img{width:84px;height:auto;flex:none}
.related b{color:#fff;font-family:var(--serif);font-size:.95rem;display:block}
.related small{color:var(--muted)}
/* retainers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;align-items:stretch}
.tier{display:flex;flex-direction:column;border:1px solid rgba(212,166,64,.35);border-radius:24px;padding:2.2rem 2rem;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));position:relative;transition:transform .35s,border-color .35s}
.tier:hover{transform:translateY(-6px);border-color:var(--gold)}
.tier.rec{background:linear-gradient(165deg,#1b3570,#0b1a3a 75%);border:1.5px solid var(--gold);box-shadow:0 30px 70px rgba(0,0,0,.4),0 0 0 6px rgba(212,166,64,.07);transform:translateY(-12px)}
.tier.rec:hover{transform:translateY(-16px)}
.tier .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--grad);color:var(--navy);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.35rem 1rem;border-radius:999px;white-space:nowrap}
.tier h3{font-size:1.6rem;margin:0}
.tier .for{font-family:var(--serif2);font-style:italic;font-size:1.15rem;color:#f4ecd6;margin:.4rem 0 1rem;line-height:1.3}
.tier .price b{font-size:2.1rem}
.tier ul.check{margin:.4rem 0 1.4rem;flex:1}
.tier ul.check li{font-size:.9rem}
.tier .suits{font-size:.84rem;border-top:1px solid rgba(212,166,64,.25);padding-top:1rem;margin-bottom:1.4rem}
.tier .suits b{color:var(--gold2);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:.3rem}
.tier .btns{display:grid;gap:.6rem}
.tier .btns .btn{justify-content:center}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;border:1px solid rgba(212,166,64,.35);border-radius:18px;overflow:hidden}
.cmp th,.cmp td{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.07);text-align:center}
.cmp thead th{background:#08132b;color:#fff;font-family:var(--serif);font-size:1.05rem}
.cmp thead th.rec{background:linear-gradient(180deg,#1b3570,#0e1f45);color:var(--gold2)}
.cmp td:first-child,.cmp th:first-child{text-align:left;color:#e6e9f2}
.cmp td.rec{background:rgba(212,166,64,.06)}
.cmp .y{color:var(--gold2);font-weight:700}.cmp .n{color:#5d6b8c}
.cmp tbody tr:hover td{background:rgba(255,255,255,.03)}
.terms{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.4rem}
.terms div{border-left:2px solid var(--gold);padding:.2rem 0 .2rem 1rem}
.terms h3{font-size:.98rem;margin-bottom:.3rem}
.terms p{font-size:.9rem}
@media (max-width:980px){.lib-hero .container,.featured,.lead-mag,.pd-hero .container{grid-template-columns:1fr}.shelf{height:440px;max-width:520px;margin:0 auto;width:100%}.pgrid,.tiers,.related{grid-template-columns:1fr 1fr}.trust ul{grid-template-columns:repeat(3,1fr)}.bundles{grid-template-columns:1fr}.tier.rec{transform:none}}
@media (max-width:680px){.shelf img:nth-child(4){width:200px!important;margin-left:-100px!important}.shelf img:nth-child(2),.shelf img:nth-child(3){width:150px!important;top:110px}.pgrid,.tiers,.how,.related,.previews,.terms{grid-template-columns:1fr}.trust ul{grid-template-columns:1fr 1fr}.shelf{height:360px}.shelf img:nth-child(4){width:230px;margin-left:-115px}.shelf img:nth-child(2),.shelf img:nth-child(3){width:180px}.featured,.lead-mag,.bundle{padding:1.6rem}.cmp{font-size:.8rem}.cmp th,.cmp td{padding:.6rem .5rem}}

/* ---------- Author & IP ---------- */
.author-line{margin:.7rem 0 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;color:var(--muted,#9aa6c2)}
.author-line a{font-family:Cinzel,serif;font-style:normal;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.92rem;color:#F1D27A;text-decoration:none;margin-left:.25rem}
.author-line a:hover{text-decoration:underline}
.author-line span{display:block;font-family:Montserrat,sans-serif;font-style:normal;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;margin-top:.35rem;opacity:.85}
.pcard .by{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:#D4A640;margin:.15rem 0 .35rem}
.author-sec{padding:5rem 0}
.author-card{display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:center;max-width:980px;margin:0 auto;border:1px solid rgba(212,166,64,.35);border-radius:22px;padding:2.4rem;background:linear-gradient(135deg,rgba(27,53,112,.35),rgba(11,26,58,.2))}
.author-card img{width:100%;max-width:220px;height:auto;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.45);border:1px solid rgba(212,166,64,.5)}
.author-card h2{margin:.2rem 0 .2rem}
.author-card .role{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#F1D27A;margin:0}
.author-card .divider{justify-content:flex-start;margin:1rem 0 1.2rem}
.author-card .pubnote{font-size:.85rem;opacity:.8;border-top:1px solid rgba(212,166,64,.3);padding-top:.9rem;margin-top:1rem}
.legal-strip{padding:2.2rem 0;border-top:1px solid rgba(212,166,64,.25);background:rgba(8,19,43,.6)}
.legal-strip p{font-size:.78rem;line-height:1.65;opacity:.78;max-width:1100px;margin:0 auto .7rem}
.legal-strip b{color:#F1D27A;font-weight:600}
@media (max-width:760px){.author-card{grid-template-columns:1fr;text-align:center;padding:1.6rem}.author-card img{max-width:160px;margin:0 auto}.author-card .divider{justify-content:center}}
.author-card p{margin:0 0 .85rem}.author-card .role{margin:0}

/* ---------- Prices ---------- */
.price s{color:var(--muted,#9aa6c2);font-size:1rem;text-decoration-color:rgba(212,166,64,.8)}
.price .save{font-size:.72rem}
.price small.from{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#F1D27A;align-self:center}
.pcard .foot .price s{font-size:.85rem}.pcard .foot .price .save{display:none}
.rand{font-size:.75rem;letter-spacing:.08em;opacity:.7;margin:-.6rem 0 1rem}
.bundle.complete{grid-column:1/-1}
.bundle.complete ul.inc{columns:3;column-gap:2rem}
.bundle.complete ul.inc li{break-inside:avoid}
@media (max-width:980px){.bundle.complete ul.inc{columns:2}}
@media (max-width:600px){.bundle.complete ul.inc{columns:1}}
/* ---- cart & checkout ---- */
.cart-link{position:relative;display:inline-flex;align-items:center;color:var(--text)}
.cart-link:hover{color:var(--gold)}
.cart-count{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--grad);color:var(--navy);font:700 .68rem/18px var(--sans);text-align:center}
.cart-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.cart-table th,.cart-table td{padding:.8rem .5rem;border-bottom:1px solid rgba(212,166,64,.25);text-align:left;vertical-align:middle}
.cart-table th{font-family:var(--serif);color:var(--gold);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.cart-table .r{text-align:right}.cart-table a{color:var(--text)}
.qty{display:inline-flex;align-items:center;border:1px solid rgba(212,166,64,.5);border-radius:6px}
.qty button{background:none;border:0;color:var(--gold);width:30px;height:32px;font-size:1.1rem;cursor:pointer}
.qty input{width:42px;text-align:center;background:transparent;border:0;color:var(--text);font:600 .95rem var(--sans);-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.cart-sum{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:1.3rem;color:var(--gold);margin:0 0 1.5rem}
.cart-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:start}
.co-form label{display:block;margin:0 0 1rem;font-size:.9rem}
.co-form input{display:block;width:100%;margin-top:.35rem;padding:.75rem .9rem;border-radius:6px;border:1px solid rgba(212,166,64,.45);background:rgba(255,255,255,.04);color:var(--text);font:inherit}
.co-form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.co-err{color:#ff9b8a;min-height:1.2em;font-size:.9rem}
.co-note{font-size:.8rem;color:var(--muted)}
.sandbox-pill{display:inline-block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.2rem .6rem;border-radius:20px;margin-bottom:1rem}
@media (max-width:860px){.cart-grid{grid-template-columns:1fr}.cart-table thead{display:none}.cart-table tr{display:grid;grid-template-columns:1fr auto;gap:.3rem;padding:.6rem 0;border-bottom:1px solid rgba(212,166,64,.25)}.cart-table td{border:0;padding:.2rem 0}}

.co-form label.co-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;line-height:1.45;text-transform:none;letter-spacing:normal;color:var(--text)}
.co-form label.co-check input{width:auto;margin:.2rem 0 0;flex:none;accent-color:var(--gold)}
