  *{box-sizing:border-box;margin:0;padding:0}
  :root{
    --bg:#08080d;--bg2:#101018;--card:#16161f;--card2:#1e1e2b;--line:#2c2c3e;
    --ink:#ecebf5;--muted:#9a97b0;
    --gold:#e9b83a;--gold2:#f6d268;--gold-dk:#a87f1e;
    --blue:#2f7bff;--blue2:#5b9bff;--grn:#22c55e;
    --sans:'Trebuchet MS','Segoe UI',system-ui,Arial,sans-serif;
    --silver:linear-gradient(180deg,#ffffff,#c7c7d6 55%,#8f8fa6);
    --goldgrad:linear-gradient(180deg,#f8e08a,#e9b83a 55%,#a87f1e);
  }
  body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.55}
  .wrap{max-width:1180px;margin:0 auto}
  a{color:var(--blue2)}
  .top{background:#050508;border-bottom:1px solid var(--line)}
  .topbar{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 20px;flex-wrap:wrap}
  .brand{display:flex;flex-direction:column;line-height:1}
  .brand .nm{font-size:1.5rem;font-weight:800;letter-spacing:.5px}
  .brand .nm .c{background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
  .brand .nm .m{background:var(--goldgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .brand .nm .d{color:var(--blue2);font-style:italic}
  .brand .tl{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:4px}
  .top .tag{font-size:.72rem;color:var(--muted);margin-left:auto}
  .nav{background:#0c0c14;border-bottom:1px solid var(--line)}
  .navbar{max-width:1180px;margin:0 auto;display:flex;gap:2px;padding:0 14px;flex-wrap:wrap}
  .navbar a{color:#c6c3d8;text-decoration:none;font-size:.84rem;font-weight:600;padding:12px 13px;cursor:pointer;border-bottom:2px solid transparent}
  .navbar a:hover,.navbar a.on{color:#fff;border-bottom-color:var(--gold)}
  .navbar a.donate{color:var(--gold2)}
  .hero{position:relative;text-align:center;padding:54px 20px;background:radial-gradient(ellipse 90% 80% at 50% 0%,rgba(47,123,255,.14),transparent 60%),radial-gradient(ellipse 70% 70% at 50% 120%,rgba(233,184,58,.12),transparent 60%),#08080d;border-bottom:1px solid var(--line)}
  .hero .king{font-size:2.6rem}
  .hero .kicker{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dk);display:inline-block;padding:5px 13px;border-radius:20px}
  .hero h1{font-size:2.6rem;font-weight:800;line-height:1.05;letter-spacing:-.5px;margin-top:14px}
  .hero h1 .g{background:var(--goldgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p{font-size:1.05rem;margin:14px auto 24px;max-width:600px;color:#c6c3d8}
  .hero .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .hero .herologo{max-width:430px;width:88%;margin:18px auto 10px;background:#000;border-radius:26px;padding:10px;box-shadow:0 24px 64px rgba(0,0,0,.6),inset 0 0 0 1px rgba(233,184,58,.3)}
  .hero .herologo img{width:100%;display:block;border-radius:18px}
  /* ---- Shirt shop + cart ---- */
  .shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
  .prod{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .15s,border-color .15s}
  .prod:hover{transform:translateY(-3px);border-color:var(--gold-dk)}
  .prod .pv{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:background .2s}
  .prod .pv img{max-width:72%;max-height:78%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
  .prod .bd{padding:12px 14px 14px}
  .prod h3{font-size:.95rem;margin-bottom:2px}
  .prod .pr{color:var(--gold2);font-weight:800;font-size:1.05rem}
  .prod .dots{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
  .prod .dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);cursor:pointer}
  .prod .dot.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(233,184,58,.35)}
  .prod .row2{display:flex;gap:6px;margin-bottom:8px}
  .prod select,.prod input{background:#0e0e16;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:.8rem;font-family:inherit}
  .prod .qty{width:56px}
  .cartbtn{position:fixed;bottom:18px;left:18px;z-index:60;display:flex;align-items:center;gap:8px;background:#101018;border:2px solid var(--gold);color:var(--gold2);font-weight:800;font-size:.88rem;padding:12px 18px;border-radius:30px;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.55);font-family:var(--sans)}
  .cartbtn .n{background:var(--gold);color:#1a1205;border-radius:50%;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.75rem}
  .cartdrawer{position:fixed;top:0;right:-420px;width:min(400px,100vw);height:100vh;background:#0e0e16;border-left:1px solid var(--gold-dk);z-index:80;transition:right .25s;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.6)}
  .cartdrawer.open{right:0}
  .cartdrawer .hd{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
  .cartdrawer .items{flex:1;overflow-y:auto;padding:12px 18px}
  .citem{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}
  .citem .cv{width:54px;height:54px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
  .citem .cv img{max-width:80%;max-height:80%}
  .citem .inf{flex:1;font-size:.8rem;line-height:1.4}
  .citem .rm{border:none;background:#2a0f12;color:#ff9b9b;border-radius:6px;width:26px;height:26px;cursor:pointer}
  .cartdrawer .ft{padding:14px 18px;border-top:1px solid var(--line)}
  .cartdrawer .ft input{width:100%;margin-bottom:6px;background:#16161f;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 11px;font-size:.85rem;font-family:inherit}
  .cartveil{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:75;display:none}.cartveil.show{display:block}
  .fly-grid{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start;margin-bottom:34px}
  .fly-stage{background:radial-gradient(circle at 50% 40%,#1a1a28,#0b0b12);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:center;position:sticky;top:12px}
  #flyCanvas{position:relative;width:440px;max-width:100%;aspect-ratio:8.5/11;border-radius:6px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.6);background:#111}
  #flyCanvas.empty::after{content:'Pick a background, add your pictures & words →';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:rgba(255,255,255,.45);font-size:.85rem;padding:30px;pointer-events:none}
  .fly-tools{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8a6b1e transparent}
  .fly-tools::-webkit-scrollbar{width:8px}.fly-tools::-webkit-scrollbar-thumb{background:#8a6b1e;border-radius:4px}
  .bgsw{display:flex;gap:8px;flex-wrap:wrap}.bgsw .b{width:44px;height:57px;border-radius:6px;border:2px solid var(--line);cursor:pointer}.bgsw .b.on{border-color:var(--gold)}
  @media(max-width:860px){.fly-grid{display:block}.fly-stage{position:sticky;top:8px;z-index:5;margin-bottom:14px}#flyCanvas{width:300px}.fly-tools{position:static;max-height:none;overflow:visible}}
  .flyform{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:840px;margin:0 auto}
  .flyform .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .flyform .full{grid-column:1/-1}
  .flyform label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:5px}
  .flyform input,.flyform select,.flyform textarea{width:100%;background:#0c0c14;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.9rem}
  .flyform input:focus,.flyform select:focus,.flyform textarea:focus{outline:2px solid var(--gold-dk);outline-offset:-1px}
  .flyform .req{color:var(--gold2)}
  @media(max-width:640px){.flyform .fgrid{grid-template-columns:1fr}}
  .btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:9px;padding:13px 24px;font-family:inherit;font-size:1rem;font-weight:800;cursor:pointer;text-decoration:none}
  .btn-gold{background:var(--goldgrad);color:#1a1205}.btn-blue{background:var(--blue);color:#fff}
  .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
  .btn-sm{padding:9px 15px;font-size:.85rem;border-radius:8px}.btn-xs{padding:6px 10px;font-size:.76rem;border-radius:7px;font-weight:700}
  section{padding:46px 20px}
  .sec-head{text-align:center;margin-bottom:28px}
  .sec-head .eye{font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--blue2)}
  .sec-head h2{font-size:1.9rem;font-weight:800;margin-top:4px}
  .sec-head p{color:var(--muted);margin-top:6px;max-width:620px;margin-left:auto;margin-right:auto}
  .alt{background:var(--bg2)}
  .cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
  .cat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;text-align:center;transition:transform .15s,border-color .15s;cursor:pointer}
  .cat:hover{transform:translateY(-4px);border-color:var(--gold)}
  .cat .ic{width:66px;height:66px;border-radius:16px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:2rem;border:1px solid var(--line);background:#0e0e16}
  .cat h3{font-size:1.1rem;font-weight:800}.cat p{font-size:.84rem;color:var(--muted);margin:6px 0 14px}
  @font-face{font-family:'Freshman';src:url('/fonts/freshman.ttf') format('truetype');font-display:swap}
  @font-face{font-family:'Bebas Neue';src:url('/fonts/bebasneue.otf') format('opentype');font-display:swap}
  @font-face{font-family:'Archivo Black';src:url('/fonts/archivoblack.ttf') format('truetype');font-display:swap}
  @font-face{font-family:'Lobster';src:url('/fonts/lobster.otf') format('opentype');font-display:swap}
  @font-face{font-family:'Cloister Black';src:url('/fonts/cloisterblack.ttf') format('truetype');font-display:swap}
  .studio-grid{display:grid;grid-template-columns:200px 1fr 300px;gap:18px;align-items:start}
  .studio-grid>.panel:first-child{position:sticky;top:12px}
  .studio-grid>.panel:last-child{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8a6b1e transparent}
  .studio-grid>.panel:last-child::-webkit-scrollbar{width:8px}
  .studio-grid>.panel:last-child::-webkit-scrollbar-thumb{background:#8a6b1e;border-radius:4px}
  .studio-grid>.panel:last-child::-webkit-scrollbar-track{background:transparent}
  .panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}
  .panel h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:2px 0 10px}.panel h4.mt{margin-top:16px}
  .views{display:flex;gap:8px}
  .viewbtn{flex:1;padding:10px;border:2px solid var(--line);background:#0e0e16;border-radius:10px;font-family:inherit;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--muted)}
  .viewbtn.on{border-color:var(--gold);color:var(--gold2);background:#161207}
  .layers{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto}
  .layer{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:.8rem;cursor:pointer;background:#0e0e16}
  .layer.sel{border-color:var(--gold);background:#161207}.layer .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .layer .lb{border:none;background:#2a2a3a;color:#fff;border-radius:5px;width:22px;height:22px;cursor:pointer}.layers .empty{font-size:.78rem;color:var(--muted);text-align:center;padding:10px}
  .stage{background:radial-gradient(circle at 50% 40%,#1a1a28,#0b0b12);border:1px solid var(--line);border-radius:16px;padding:16px;min-height:520px;display:flex;align-items:center;justify-content:center;position:sticky;top:12px}
  .shirt-wrap{position:relative;width:440px;max-width:100%}.shirt-wrap svg{width:100%;display:block;filter:drop-shadow(0 8px 22px rgba(0,0,0,.5))}
  .printarea{position:absolute;left:31%;top:27%;width:38%;height:44%;border:1.5px dashed rgba(233,184,58,.5);border-radius:6px;overflow:hidden}
  .printarea.empty::after{content:'Add your design →';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.72rem;color:rgba(230,220,255,.5);padding:6px}
  .ditem{position:absolute;cursor:grab;user-select:none;touch-action:none}.ditem.sel{outline:none}
  .ditem img{display:block;width:100%;pointer-events:none}.ditem.text{font-weight:800;white-space:nowrap;line-height:1}
  .swatches{display:flex;gap:8px;flex-wrap:wrap}.sw{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid #0e0e16;box-shadow:0 0 0 1px var(--line)}.sw.on{box-shadow:0 0 0 2px var(--gold)}
  .opts{display:flex;gap:8px;flex-wrap:wrap}.opts select,.opts input[type=number]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;background:#0e0e16;color:var(--ink)}
  .tool{width:100%;text-align:left;border:1px solid var(--line);background:#0e0e16;color:var(--ink);border-radius:10px;padding:11px 12px;font-family:inherit;font-weight:700;font-size:.86rem;cursor:pointer;margin-bottom:8px;display:flex;align-items:center;gap:9px}.tool:hover{border-color:var(--gold)}
  .gallery{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
  .gitem{width:46px;height:46px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;cursor:pointer;background:#0e0e16}.gitem:hover{border-color:var(--gold)}
  .textrow{display:flex;gap:6px;margin-bottom:8px}.textrow input[type=text]{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;min-width:0;background:#0e0e16;color:var(--ink)}
  .selbox{display:block;border:1px solid var(--gold-dk);background:#161207;border-radius:12px;padding:12px;margin-top:6px}.selbox.show{display:block}
  .selbox .row{display:flex;align-items:center;gap:8px;font-size:.78rem;margin-bottom:8px}.selbox .row label{width:52px;color:var(--muted)}.selbox input[type=range]{flex:1}.selbox .acts{display:flex;gap:6px;flex-wrap:wrap}
  .quote{background:linear-gradient(120deg,#161207,#0e1830);border:1px solid var(--gold-dk);border-radius:12px;padding:14px;text-align:center;margin-top:14px}.quote .big{font-size:1.5rem;font-weight:800;color:var(--gold2)}
  .pics-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
  .pics-grid>div:first-child{position:sticky;top:12px}
  .frame{background:#111;border:16px solid;border-image:var(--goldgrad) 1;box-shadow:0 14px 34px rgba(0,0,0,.6);max-width:480px;margin:0 auto;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:26px}
  .pcard{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .15s,border-color .15s}
  .pcard:hover{transform:translateY(-3px);border-color:var(--gold-dk)}
  .pcard.on{border-color:var(--gold)}
  .pcard .im{aspect-ratio:4/5;width:100%;object-fit:cover;cursor:pointer;display:block}
  .pcard .bd{padding:10px 12px 12px}
  .pcard .nm{font-weight:800;font-size:.85rem;margin-bottom:2px}
  .pcard .pr{color:var(--gold2);font-weight:800;font-size:1rem}
  .pcard .row2{display:flex;gap:6px;margin:8px 0}
  .pcard select,.pcard input{background:#0e0e16;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:.78rem;font-family:inherit}
  .pcard .qty{width:52px}
  @media(max-width:860px){.pics-grid>div:first-child{position:static}}
  .frame .mat{background:#fff;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .frame .mat img{width:100%;height:100%;object-fit:cover}.frame .ph{font-size:.9rem;color:#8a8a9a;text-align:center;padding:20px}
  .picpick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .picpick .p{aspect-ratio:4/5;border-radius:8px;cursor:pointer;border:2px solid transparent;display:flex;align-items:flex-end;padding:8px;color:#fff;font-size:.72rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5)}
  .picpick .p:hover,.picpick .p.on{border-color:var(--gold)}
  .about{background:linear-gradient(135deg,#0e1830,#101018);border:1px solid var(--line);border-radius:18px;padding:34px}
  .about .eye{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
  .about h2{font-size:1.7rem;font-weight:800;margin-top:6px}.about p{color:#c6c3d8;margin-top:12px;max-width:680px}
  .donate{background:linear-gradient(135deg,#161207,#0e1830);border:1px solid var(--gold-dk);border-radius:18px;padding:34px;text-align:center}
  .donate h2{font-size:1.9rem;font-weight:800}.donate p{color:#c6c3d8;margin:10px auto 18px;max-width:560px}
  .amts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
  .amt{background:#0e0e16;border:2px solid var(--line);color:var(--ink);padding:12px 20px;border-radius:12px;font-weight:800;font-size:1.05rem;cursor:pointer}.amt.on{border-color:var(--gold);color:var(--gold2)}
  footer{background:#050508;border-top:1px solid var(--line);color:#7d7a92;padding:28px 20px;text-align:center;font-size:.82rem}
  /* deter casual image saving (art & posters are also watermarked server-side) */
  img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
  .appbtn{position:fixed;bottom:18px;right:18px;z-index:60;display:flex;align-items:center;gap:8px;background:var(--goldgrad);color:#1a1205;font-weight:800;font-size:.88rem;padding:12px 18px;border:none;border-radius:30px;cursor:pointer;box-shadow:0 6px 24px rgba(233,184,58,.45);font-family:var(--sans)}
  .appbtn:hover{transform:translateY(-2px)}
  @media(max-width:860px){
    .pics-grid{grid-template-columns:1fr}
    .studio-grid{display:block}
    .studio-grid .panel{margin-bottom:14px}
    .stage{position:sticky;top:8px;z-index:5;min-height:320px;margin-bottom:14px}
    .shirt-wrap{width:270px}
    .studio-grid>.panel:first-child{position:static}
    .studio-grid>.panel:last-child{position:static;max-height:none;overflow:visible}
    .hero h1{font-size:2rem}.top .tag{display:none}
  }
