:root{
  --navy:#0f1f3d;--navy-2:#16305c;--red:#d7263d;--red-2:#b81d31;--ink:#111827;--muted:#5b6472;--line:#e5e7eb;--bg:#f3f4f6;--white:#fff;
  --green:#15803d;--amber:#b45309;
  --head:"Barlow Condensed",Impact,"Arial Narrow",sans-serif;--body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:10px;--shadow:0 6px 24px rgba(15,31,61,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.5;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--navy-2)}
h1,h2,h3,.h{font-family:var(--head);text-transform:uppercase;letter-spacing:.01em;line-height:1;margin:0 0 .4em;color:var(--navy)}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800}
h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}
h3{font-size:1.4rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.muted{color:var(--muted)}.small{font-size:.875rem}.tiny{font-size:.78rem}
.center{text-align:center}
.mt{margin-top:24px}.mb{margin-bottom:24px}
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:1.05rem;letter-spacing:.03em;padding:12px 22px;border-radius:6px;border:2px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none;cursor:pointer;transition:.15s;line-height:1}
.btn:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn-red{background:var(--red);border-color:var(--red)}.btn-red:hover{background:var(--red-2);border-color:var(--red-2)}
.btn-ghost{background:transparent;color:var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy);border-color:#fff}.btn-white:hover{background:#eef}
.btn-sm{padding:9px 14px;font-size:.95rem}.btn-lg{padding:16px 30px;font-size:1.25rem}
.btn-block{width:100%;justify-content:center}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link-btn{background:none;border:0;color:var(--red);cursor:pointer;font:inherit;padding:0;text-decoration:underline}

/* header */
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.site-header .top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.site-header .bottom{border-top:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.leaf{width:34px;height:34px;fill:var(--red);flex:none}
.brand-text{font-family:var(--head);font-weight:800;font-size:1.9rem;letter-spacing:.02em;line-height:1;display:flex;flex-direction:column}
.brand-text small{white-space:nowrap;font-family:var(--body);font-weight:500;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-top:2px}
.tools{display:flex;align-items:center;gap:16px}
.tools .cta{white-space:nowrap}
.nav{display:flex;align-items:center;gap:2px;min-height:46px}
.nav a{white-space:nowrap;color:#fff;text-decoration:none;font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:1.05rem;letter-spacing:.04em;padding:8px 12px;border-radius:6px;opacity:.9}
.nav a:hover,.nav a.on{background:rgba(255,255,255,.1);opacity:1}
.nav .search{margin-left:auto;display:flex;align-items:center}
.site-header .search input{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px 0 0 6px;padding:7px 10px;width:200px;font-size:.9rem}
.site-header .search input::placeholder{color:rgba(255,255,255,.6)}
.search button{background:var(--red);border:0;border-radius:0 6px 6px 0;width:36px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.search button svg{width:18px;height:18px;fill:#fff}
.cart-link{position:relative;color:#fff;display:flex}
.cart-link svg{width:26px;height:26px;fill:#fff}
.cart-link .count{position:absolute;top:-8px;right:-10px;background:var(--red);font-size:.7rem;font-weight:700;border-radius:99px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.burger{display:none;background:none;border:0;width:40px;height:40px;position:relative;cursor:pointer}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:24px;height:3px;background:#fff;border-radius:2px;position:absolute;left:8px;top:18px;transition:.2s}
.burger span::before{top:-8px;left:0}.burger span::after{top:8px;left:0}
@media(max-width:900px){
  .site-header .bottom{display:none}
  .site-header .bottom.open{display:block}
  .nav{flex-direction:column;align-items:stretch;padding:8px 0 14px;gap:0}
  .nav .search{margin:10px 0 0}.search input{width:100%;flex:1}
  .burger{display:block}
  .tools .cta{display:none}
}
/* flash & crumbs */
.flash{margin:16px 0 0;padding:12px 16px;border-radius:8px;border:1px solid;font-weight:500}
.flash-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.flash-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.flash-info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}
.crumbs{font-size:.85rem;color:var(--muted);padding-top:14px}.crumbs a{color:var(--muted)}.crumbs span{margin:0 6px}

/* hero */
.hero{background:linear-gradient(120deg,#fff 0%,#f3f5f9 60%,#e9edf4 100%);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero h1{font-size:clamp(2.8rem,7vw,5.2rem)}
.hero h1 em{font-style:normal;display:block;font-size:.5em;color:var(--red)}
.hero .lead{font-size:1.15rem;max-width:520px;color:#374151}
.usp{display:flex;gap:0;margin:22px 0 26px;border-left:2px solid var(--line)}
.usp div{padding:6px 18px;border-right:2px solid var(--line);font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:1rem;line-height:1.1;color:var(--navy)}
.usp small{display:block;font-family:var(--body);text-transform:none;font-weight:500;color:var(--muted);font-size:.8rem;margin-top:3px}
.hero-art{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:rotate(-2deg)}
.hero-art .shirt{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:10px;transition:.2s}
.hero-art .shirt:nth-child(2){transform:translateY(-16px) scale(1.06);z-index:2}
.hero-art .shirt img{aspect-ratio:8/9;object-fit:cover;border-radius:8px}
.hero .script{position:absolute;right:20px;top:24px;font-family:"Barlow Condensed";font-style:italic;font-weight:700;font-size:1.4rem;color:var(--navy);transform:rotate(-6deg);opacity:.85}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-art{transform:none}.hero .script{display:none}}

/* sport tiles */
.section{padding:48px 0}
.section-alt{background:var(--bg)}
.section-navy{background:var(--navy);color:#fff}.section-navy h2,.section-navy h3{color:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-head p{margin:0;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
@media(max-width:1000px){.tiles{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tile{position:relative;aspect-ratio:1/1.1;border-radius:10px;overflow:hidden;text-decoration:none;color:#fff;display:flex;align-items:end;box-shadow:var(--shadow);background:var(--navy-2)}
.tile .ic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3.4rem;transition:.25s}
.tile:hover .ic{transform:scale(1.12)}
.tile b{position:relative;width:100%;padding:12px;font-family:var(--head);text-transform:uppercase;font-size:1.1rem;letter-spacing:.04em;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.tile-hockey{background:linear-gradient(160deg,#4d6b95,#1a2c4c)}.tile-soccer{background:linear-gradient(160deg,#3b8a4a,#1a4a28)}.tile-basketball{background:linear-gradient(160deg,#d97c2b,#7a3a0e)}
.tile-volleyball{background:linear-gradient(160deg,#d8b445,#7f5d0f)}.tile-baseball{background:linear-gradient(160deg,#a5583a,#4f2413)}.tile-lacrosse{background:linear-gradient(160deg,#5d6f88,#26313f)}
.tile-football{background:linear-gradient(160deg,#7d5a3f,#3a2515)}.tile-other{background:linear-gradient(160deg,#5b6b8a,#1f2b44)}

/* product cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.cards{grid-template-columns:repeat(2,1fr);gap:12px}}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:.15s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card .img{background:#f4f5f7;aspect-ratio:8/9}.card .img img{width:100%;height:100%;object-fit:cover}
.card .body{padding:12px 14px 14px}
.card .cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.card h3{font-size:1.15rem;margin:2px 0 6px;text-transform:none;font-family:var(--body);font-weight:600;color:var(--ink);line-height:1.25}
.card .price{font-weight:700;color:var(--navy)}.card .price small{font-weight:500;color:var(--muted)}
.swatches{display:flex;gap:4px;margin-top:8px}.swatches i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.swatches em{font-style:normal;font-size:.72rem;color:var(--muted);margin-left:2px}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
.step{padding:0 14px;border-left:2px solid var(--line)}
.step .n{font-family:var(--head);font-size:2.4rem;font-weight:800;color:var(--red);line-height:1}
.step b{display:block;font-family:var(--head);text-transform:uppercase;font-size:1.25rem;color:var(--navy);margin:6px 0 4px}
.band{background:var(--navy);color:#fff;padding:40px 0}
.band .wrap{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.band .script{font-family:var(--head);font-style:italic;font-weight:700;font-size:2.2rem;color:#fff}
.band .script u{text-decoration:none;border-bottom:4px solid var(--red)}
@media(max-width:800px){.band .wrap{grid-template-columns:1fr}}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px 0}
.trust div{display:flex;gap:12px;align-items:center;font-family:var(--head);text-transform:uppercase;font-weight:700;color:var(--navy);line-height:1.1}
.trust svg{width:34px;height:34px;fill:var(--navy);flex:none}
@media(max-width:800px){.trust{grid-template-columns:repeat(2,1fr)}}

/* listing */
.listing-head{padding:26px 0 8px}
.empty{padding:50px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}

/* forms */
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px}
.field{margin-bottom:14px}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=search],input[type=password],select,textarea{width:100%;padding:10px 12px;border:1px solid #cfd4dc;border-radius:6px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--navy-2);outline-offset:0;border-color:var(--navy-2)}
.field .err{color:#b91c1c;font-size:.82rem;margin-top:4px}
.field.has-err input,.field.has-err select{border-color:#dc2626}
.check{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}
.check input{width:18px;height:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.row{grid-template-columns:1fr}}
.help{font-size:.82rem;color:var(--muted);margin-top:4px}
.hp{position:absolute;left:-9999px}

/* product page / designer */
.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;padding:20px 0 50px}
@media(max-width:900px){.product{grid-template-columns:1fr}}
.stage{position:sticky;top:90px;align-self:start}
.canvas-wrap{background:#f4f5f7;border-radius:12px;overflow:hidden;position:relative;aspect-ratio:8/9}
.canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}
.canvas-wrap .zone-hint{position:absolute;left:12px;bottom:12px;background:rgba(15,31,61,.85);color:#fff;font-size:.75rem;padding:5px 9px;border-radius:6px;pointer-events:none}
.views{display:flex;gap:8px;margin-top:10px}
.views button{flex:1;padding:8px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;font:inherit;font-weight:600;font-size:.85rem}
.views button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.views button .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-left:6px;vertical-align:middle}
.pinfo .brand{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.pinfo h1{font-size:2.4rem}
.pinfo .from{font-size:1.4rem;font-weight:700;color:var(--navy)}
.pinfo .from small{font-size:.9rem;color:var(--muted);font-weight:500}
.panel{border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:14px;background:#fff}
.panel h3{font-size:1.1rem;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.panel h3 .fee{font-family:var(--body);font-size:.8rem;text-transform:none;color:var(--muted);font-weight:500}
.colors{display:flex;flex-wrap:wrap;gap:8px}
.colors button{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cfd4dc;cursor:pointer;padding:0}
.colors button.on{box-shadow:0 0 0 2px var(--navy)}
.colors button[title]{position:relative}
.sizes{display:flex;flex-wrap:wrap;gap:6px}
.sizes button{min-width:46px;padding:8px 10px;border:1px solid #cfd4dc;background:#fff;border-radius:6px;cursor:pointer;font:inherit;font-weight:600;font-size:.85rem}
.sizes button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.sizes button[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.sizes .grp{width:100%;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin:6px 0 0}
.upload-box{border:2px dashed #cfd4dc;border-radius:8px;padding:16px;text-align:center;cursor:pointer;background:#fafafa}
.upload-box:hover,.upload-box.drag{border-color:var(--navy);background:#f0f4fa}
.upload-box input{display:none}
.art-row{display:flex;gap:12px;align-items:center;margin-top:10px}.art-row[hidden],.upload-box[hidden]{display:none}
.art-row img{width:56px;height:56px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px}
.art-row .ctl{flex:1}
.art-row input[type=range]{width:100%}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.font-pick{display:flex;gap:6px;flex-wrap:wrap}
.font-pick button{padding:6px 10px;border:1px solid #cfd4dc;background:#fff;border-radius:6px;cursor:pointer;font-size:1.05rem;line-height:1}
.font-pick button.on{border-color:var(--navy);background:var(--navy);color:#fff}
.color-pick{display:flex;gap:6px;align-items:center}
.color-pick input[type=color]{width:38px;height:32px;padding:0;border:1px solid #cfd4dc;border-radius:6px;background:#fff}
.roster-lines table{width:100%;border-collapse:collapse;font-size:.9rem}
.roster-lines th,.roster-lines td{padding:6px 4px;text-align:left;border-bottom:1px solid var(--line)}
.roster-lines input,.roster-lines select{padding:7px 8px}
.roster-lines input[type=checkbox]{width:18px;height:18px}
.roster-lines .rm{color:var(--red);background:none;border:0;cursor:pointer;font-size:1.2rem}
.price-box{background:var(--bg);border-radius:10px;padding:16px;margin-top:16px}
.price-box .lines div{display:flex;justify-content:space-between;font-size:.9rem;padding:2px 0}
.price-box .total{display:flex;justify-content:space-between;font-family:var(--head);font-size:1.7rem;font-weight:800;color:var(--navy);border-top:2px solid #d1d5db;margin-top:8px;padding-top:8px}
.price-box .total small{font-family:var(--body);font-size:.8rem;font-weight:500;color:var(--muted)}
.mode-tabs{display:flex;gap:6px;margin-bottom:12px}
.mode-tabs button{flex:1;padding:10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;font:inherit;font-weight:600}
.mode-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.desc{margin-top:26px}
.desc dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.9rem}
.desc dt{font-weight:600;color:var(--muted)}

/* cart */
.cart-table{width:100%;border-collapse:collapse}
.cart-table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px;border-bottom:2px solid var(--line)}
.cart-table td{padding:14px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.cart-table .thumb{width:80px;height:90px;object-fit:cover;border-radius:8px;background:#f4f5f7}
.cart-table .qty{width:70px}
.cart-table .fees{font-size:.8rem;color:var(--muted)}
.chip{display:inline-block;background:var(--bg);border-radius:4px;padding:2px 7px;font-size:.78rem;margin:2px 4px 0 0}
.chip-team{background:#e0e7ff;color:#3730a3}
.chip-paid{background:#dcfce7;color:#166534}.chip-open{background:#fef3c7;color:#92400e}.chip-cart{background:#dbeafe;color:#1e40af}
.summary{background:var(--bg);border-radius:12px;padding:20px}
.summary .line{display:flex;justify-content:space-between;padding:5px 0}
.summary .grand{font-family:var(--head);font-size:1.8rem;font-weight:800;color:var(--navy);border-top:2px solid #d1d5db;margin-top:8px;padding-top:10px;display:flex;justify-content:space-between}
.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;padding:20px 0 50px}
@media(max-width:900px){.checkout{grid-template-columns:1fr}}
.pay-opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px;cursor:pointer}
.pay-opt:has(input:checked){border-color:var(--navy);background:#f5f7fb}
.pay-opt input{margin-top:4px}
.pay-opt b{display:block}
.etransfer-box{background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:18px;margin:16px 0}
.etransfer-box .ref{font-family:var(--head);font-size:2.2rem;font-weight:800;letter-spacing:.06em;color:var(--navy)}
.status-pill{display:inline-block;padding:4px 10px;border-radius:99px;font-weight:600;font-size:.85rem}
.status-pending{background:#fef3c7;color:#92400e}.status-paid{background:#dcfce7;color:#166534}.status-shipped{background:#dbeafe;color:#1e40af}.status-cancelled{background:#fee2e2;color:#991b1b}

/* team */
.team-head{background:var(--navy);color:#fff;padding:30px 0}
.team-head h1{color:#fff;margin:0}
.team-head .sub{opacity:.8}
.team-head .links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media(max-width:700px){.team-head .links{grid-template-columns:1fr}}
.linkbox{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px 14px}
.linkbox b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin-bottom:6px}
.linkbox .copy{display:flex;gap:8px}
.linkbox input{flex:1;background:rgba(0,0,0,.25);border:0;color:#fff;padding:8px 10px;border-radius:6px;font-size:.85rem}
.garments{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.garment{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;position:relative}
.garment img{aspect-ratio:8/9;object-fit:cover;width:100%}
.garment .b{padding:10px 12px;font-size:.88rem}
.garment .b b{display:block}
.garment .rm{position:absolute;top:8px;right:8px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:.75rem;cursor:pointer}
.garment.add{border-style:dashed;display:flex;align-items:center;justify-content:center;min-height:200px;text-decoration:none;color:var(--navy);font-weight:600}
.roster{width:100%;border-collapse:collapse;font-size:.9rem}
.roster th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 6px;border-bottom:2px solid var(--line);white-space:nowrap}
.roster td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}
.roster input[type=text],.roster select{padding:7px 8px;font-size:.9rem;min-width:0}
.roster input.num{width:64px;text-align:center}
.roster input.nm{min-width:120px}
.roster .price{white-space:nowrap;font-weight:600}
.roster tr.paid td{background:#f0fdf4}
.roster tr.paid input,.roster tr.paid select{background:#f0fdf4;border-color:transparent;pointer-events:none}
.roster-wrap{overflow-x:auto}
.player-list{display:grid;gap:8px}
.player{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink);background:#fff}
.player:hover{border-color:var(--navy)}
.player .num{font-family:var(--head);font-size:1.6rem;font-weight:800;color:var(--navy);width:44px;text-align:center}
.player .who{flex:1}.player .who b{display:block}
.player.paid{opacity:.7}
.progress{height:10px;background:rgba(255,255,255,.2);border-radius:99px;overflow:hidden;margin-top:10px}
.progress i{display:block;height:100%;background:var(--red)}

/* misc */
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{font-weight:600;cursor:pointer;font-size:1.05rem}
.faq details p{margin:8px 0 0;color:#374151}
.prose{max-width:760px}.prose h2{margin-top:32px}
.price-table{width:100%;border-collapse:collapse;margin:12px 0 20px}
.price-table td,.price-table th{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.price-table td:last-child{text-align:right;font-weight:600;color:var(--navy)}
.site-footer{background:#0b1730;color:#c7cfdd;padding:44px 0 20px;margin-top:40px;font-size:.9rem}
.site-footer h4{color:#fff;font-family:var(--head);text-transform:uppercase;font-size:1.1rem;margin:0 0 10px}
.site-footer a{color:#c7cfdd;display:block;text-decoration:none;padding:3px 0}
.site-footer a:hover{color:#fff}
.site-footer .fine{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:16px;font-size:.78rem;color:#8a97ad}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:8px;box-shadow:var(--shadow);z-index:99;font-weight:500}
