/* Liberated Financial team store. Brand: white paper, ink, antique gold, platinum. Bricolage Grotesque + Public Sans. */
:root{
  --paper:#FFFFFF; --ink:#1C1C1E; --ink2:#3A3A3F; --mut:#6B6B70; --line:#E4E4E2; --plat:#F5F5F4;
  --gold:#A8873F; --goldLt:#C9A961; --goldInk:#7E6224; --bad:#B3261E;
  --fd:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif; --fb:"Public Sans",-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--fb)}
img{max-width:100%;display:block}
a{color:var(--goldInk)}
button,input,select{font:inherit;color:inherit}
.w{max-width:1180px;margin:0 auto;padding:0 20px}
[hidden]{display:none!important}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgb(255 255 255 / .94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .w{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{height:38px;width:auto}
.brand b{font:700 15px/1.1 var(--fd);letter-spacing:.14em;text-transform:uppercase}
.brand small{display:block;font:600 10px/1.3 var(--fb);letter-spacing:.2em;color:var(--goldInk);text-transform:uppercase;margin-top:3px}
.cartbtn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1.5px solid var(--ink);background:var(--ink);color:#fff;font-weight:700;cursor:pointer}
.cartbtn svg{width:18px;height:18px}
.cartbtn .n{min-width:22px;height:22px;border-radius:11px;background:var(--goldLt);color:var(--ink);font-size:12px;display:inline-grid;place-items:center;padding:0 6px}

/* hero */
.hero{padding:64px 0 40px;border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 12px;font:700 12px/1 var(--fb);letter-spacing:.2em;text-transform:uppercase;color:var(--goldInk)}
.hero h1{margin:0;font:800 clamp(40px,7vw,84px)/.95 var(--fd);letter-spacing:-.03em}
.hero h1 span{color:var(--gold)}
.hero p.lede{margin:18px 0 0;max-width:560px;font-size:18px;color:var(--ink2)}
.agentnote{margin-top:26px;display:flex;gap:12px;align-items:center;max-width:620px;padding:14px 16px;border:1px solid var(--line);background:var(--plat);font-size:14.5px}
.agentnote b{font-weight:700}

/* grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:28px;padding:44px 0 72px}
.card{display:flex;flex-direction:column;text-align:left;border:0;background:none;padding:0;cursor:pointer}
.card .ph{aspect-ratio:1/1;background:var(--plat);display:grid;place-items:center;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .ph img{transform:scale(1.03)}
.card h3{margin:14px 0 4px;font:700 19px/1.25 var(--fd)}
.card .meta{display:flex;justify-content:space-between;gap:12px;color:var(--mut);font-size:14.5px}
.card .meta b{color:var(--ink)}
.empty{padding:64px 0;max-width:560px}
.empty h2{margin:0 0 8px;font:800 30px/1.1 var(--fd)}
.empty p{margin:0;color:var(--mut)}
.skel{aspect-ratio:1/1;background:linear-gradient(90deg,var(--plat),#ECECEA,var(--plat));background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}

/* dialogs */
dialog{border:0;padding:0;max-width:min(980px,100vw);width:100%;max-height:100dvh;background:var(--paper);color:var(--ink)}
dialog::backdrop{background:rgb(20 20 22 / .55)}
.x{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:var(--paper);display:grid;place-items:center;cursor:pointer;z-index:2}
.x svg{width:20px;height:20px}
.pd{display:grid;grid-template-columns:1.1fr 1fr;min-height:0}
.pd .ph{background:var(--plat);aspect-ratio:1/1}
.pd .ph img{width:100%;height:100%;object-fit:cover}
.pd .info{padding:40px 32px;display:flex;flex-direction:column;gap:18px;overflow:auto}
.pd h2{margin:0;font:800 30px/1.08 var(--fd);letter-spacing:-.02em;padding-right:40px}
.pd .price{font:700 22px/1 var(--fd)}
.pd .desc{margin:0;color:var(--ink2);font-size:15px}
.lab{display:block;font:700 12px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{min-width:52px;min-height:44px;padding:0 14px;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;font-weight:600}
.opt[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.opt:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line)}
.qty button{width:44px;height:44px;border:0;background:none;cursor:pointer;font-size:20px}
.qty span{min-width:36px;text-align:center;font-weight:700}
.go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border:0;background:var(--ink);color:#fff;font-weight:700;font-size:16px;cursor:pointer;width:100%}
.go.gold{background:var(--gold);color:#fff}
.go:disabled{opacity:.5;cursor:default}
.ghost{background:none;border:0;color:var(--goldInk);font-weight:700;cursor:pointer;padding:8px 0;min-height:44px}

/* cart */
#cart{margin:0 0 0 auto;height:100dvh;max-width:480px}
.cartwrap{display:flex;flex-direction:column;height:100%}
.cart-h{padding:22px 24px;border-bottom:1px solid var(--line)}
.cart-h h2{margin:0;font:800 26px/1 var(--fd)}
.cart-b{flex:1;overflow:auto;padding:8px 24px 24px}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.line img{width:72px;height:72px;object-fit:cover;background:var(--plat)}
.line b{display:block;font-weight:700;font-size:15px}
.line small{color:var(--mut);font-size:13.5px}
.line .r{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.line .rm{background:none;border:0;color:var(--mut);font-size:13px;cursor:pointer;text-decoration:underline;min-height:32px}
.cart-f{padding:20px 24px 24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.row{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.row.t{font:800 20px/1.2 var(--fd)}
.row span:first-child{color:var(--ink2)}
.note{margin:0;font-size:13px;color:var(--mut)}

/* checkout form */
.f{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.f label{font-size:13.5px;font-weight:600}
.f input,.f select{min-height:46px;padding:0 12px;border:1.5px solid var(--line);background:var(--paper);border-radius:0;width:100%}
.f input:focus,.f select:focus{outline:none;border-color:var(--ink)}
.f.bad input,.f.bad select{border-color:var(--bad)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.three{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:12px}
.code{margin-top:18px;padding:14px;background:var(--plat);border:1px solid var(--line)}
.code .f{margin-top:0}
.msg{font-size:14px;font-weight:600;margin:0}
.msg.err{color:var(--bad)}
.msg.ok{color:#2E6B3A}
.secure{display:flex;align-items:center;gap:8px;justify-content:center;font-size:12.5px;color:var(--mut)}
.secure svg{width:14px;height:14px}

/* footer */
.foot{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--mut);font-size:13.5px}
.foot .w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* thanks */
.thanks{padding:72px 0;max-width:640px}
.thanks h1{margin:0 0 12px;font:800 clamp(36px,6vw,60px)/1 var(--fd);letter-spacing:-.03em}

@media (max-width:760px){
  .brand b{font-size:13px}.brand small{display:none}.brand img{height:32px}
  .cartbtn{padding:0 12px}.cartbtn .t{display:none}
  .hero{padding:40px 0 28px}
  .pd{grid-template-columns:1fr}
  .pd .info{padding:24px 20px 28px}
  #cart{max-width:100vw}
  .three{grid-template-columns:1fr 1fr}.three .f:first-child{grid-column:1/-1}
}
