@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/anton-latin-ext-767e9249.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/anton-latin-8c9e8219.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/archivo-black-latin-ext-4bad5f83.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/archivo-black-latin-36b2c420.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow-condensed-latin-ext-52b6c390.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow-condensed-latin-2a84ba04.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/bebas-neue-latin-ext-7b03e2b3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/bebas-neue-latin-f68f7fa9.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Black Ops One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/black-ops-one-latin-ext-326e32d1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Black Ops One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/black-ops-one-latin-e187aefa.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/cinzel-latin-ext-4b19e9ff.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/cinzel-latin-9210b6f9.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Kanit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/kanit-latin-ext-3c424e9e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Kanit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/kanit-latin-77c453e6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/oswald-latin-ext-c583b010.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/oswald-latin-e414b32c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/rajdhani-latin-ext-1cbc6be2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/rajdhani-latin-9b0c0773.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Teko';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/teko-latin-ext-e71ed2e6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Teko';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/teko-latin-03778316.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Artwork controls are loaded only on the design-studio page. */
.art-panel{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:14px;min-width:0}
.art-panel-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.art-panel-head h2{font:800 clamp(1.7rem,3vw,2.25rem)/1 var(--f-display);text-transform:uppercase;margin:4px 0 0}.art-panel-head .mono{color:var(--gold);font-size:.72rem}.art-private{border:1px solid var(--line);border-radius:99px;padding:6px 9px;color:var(--muted);font-size:.72rem;white-space:nowrap}
.art-upload{display:grid;gap:5px;padding:18px;border:1px dashed var(--gold);border-radius:10px;background:rgba(226,178,82,.045);cursor:pointer}.art-upload:hover,.art-upload:focus-within{background:rgba(226,178,82,.1)}.art-upload strong{font-size:1rem}.art-upload span{color:var(--muted);font-size:.8rem}.art-upload input{width:100%;font-size:.82rem;color:var(--fg);margin-top:7px}.art-upload input::file-selector-button{background:var(--gold);color:var(--ink);border:0;border-radius:6px;padding:8px 11px;font-weight:700;margin-right:10px;cursor:pointer}
.art-library{border:1px solid var(--line);border-radius:10px;padding:14px;background:rgba(255,255,255,.025)}.art-library .mono{color:var(--gold);font-size:.72rem}.art-library p{margin:5px 0 12px}.art-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.art-library-grid button{display:grid;justify-items:center;gap:7px;padding:10px 6px;background:var(--ink);color:var(--fg);border:1px solid var(--line);border-radius:8px;font-size:.72rem;font-weight:700;cursor:pointer}.art-library-grid button:hover,.art-library-grid button:focus-visible{border-color:var(--gold)}.art-library-grid img{width:48px;height:48px;object-fit:contain}.art-library-grid span{text-align:center}.art-tools label[hidden]{display:none}.art-tools input[type=color]{width:100%;height:36px;background:var(--ink);border:1px solid var(--line);border-radius:6px}
.art-list{display:grid;gap:7px}.art-layer{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:8px 10px;background:var(--ink);border:1px solid var(--line);border-radius:8px;color:var(--fg);cursor:pointer}.art-layer[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.art-layer img{width:38px;height:38px;object-fit:contain;background:#f1ece6;border-radius:4px}.art-layer span{min-width:0;flex:1}.art-layer strong,.art-layer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.art-layer small{color:var(--muted);font-size:.72rem;margin-top:3px}.art-layer b{font-size:.7rem;color:var(--gold);font-weight:600}
.art-tools{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:13px;background:rgba(255,255,255,.025)}.art-tools[hidden],.art-glove-proof[hidden]{display:none}.art-tools label{display:grid;gap:5px;color:var(--muted);font-size:.8rem}.art-tools select{width:100%;background:var(--ink);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:8px}.art-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.art-sliders input{width:100%;accent-color:var(--gold)}.art-actions{display:flex;flex-wrap:wrap;align-items:end;gap:7px}.art-actions button{min-height:36px;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--fg);padding:7px 10px;font:600 .78rem var(--f-body);cursor:pointer}.art-actions button:hover,.art-actions button:focus-visible{border-color:var(--gold)}.art-actions button:disabled{opacity:.4;cursor:default}.art-colours{min-width:68px}.art-glove-proof{border:1px solid var(--line);border-radius:8px;padding:12px}.art-glove-proof>.mono{color:var(--gold);font-size:.72rem}.art-glove-proof>div{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.art-glove-proof img{width:84px;height:84px;object-fit:contain;background:#eee9e0;border:1px solid var(--line);border-radius:6px;padding:6px}
#flat-svg image[data-art-index]{cursor:grab;touch-action:none}#flat-svg image[data-art-index]:active{cursor:grabbing}#flat-svg .art-selected{outline:2px dashed var(--gold);outline-offset:3px}
.st-model[hidden]{display:none}.st-model-canvas{height:min(58vw,540px);min-height:350px;position:relative;overflow:hidden;border-radius:12px;background:#ece8e1}.st-model-canvas canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.st-model-canvas canvas:active{cursor:grabbing}.st-model-status{position:absolute;left:14px;bottom:12px;padding:6px 9px;border-radius:5px;background:rgba(12,14,18,.82);color:#fff;font-size:.7rem;pointer-events:none}.st-model .small{margin:10px 0 0;line-height:1.5}.st-layout-toggle{margin-top:12px;background:var(--gold);color:var(--ink);border:0;border-radius:6px;padding:9px 13px;font-weight:800;cursor:pointer}.st-layout-toggle:hover,.st-layout-toggle:focus-visible{filter:brightness(1.12)}#st-show-model[hidden]{display:none}
@media(max-width:620px){.art-panel-head{display:block}.art-private{display:inline-block;margin-top:10px}.art-sliders{grid-template-columns:1fr}.art-actions button{flex:1 1 auto}.art-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Audited studio: compact preview and comfortable controls on phones. */
#studio [hidden]{display:none!important}.st-preview-label{font-size:.8rem;margin:0 0 10px;color:var(--fg)}.st-view{position:sticky;top:84px}.st-controls label.st-curve-label{display:flex;align-items:center;gap:10px;grid-column:1/-1}.st-curve-label input{width:22px;height:22px;min-height:22px;margin:0}.st-quote-sticky{display:none}.st-controls textarea{max-width:100%;resize:vertical}.st-view .stage>p{font-size:.8rem}.st-view .st-flat{background:#20262c}.st-model-hint{font-size:.8rem}
@media(max-width:900px){.st-grid{display:block}.st-view{top:68px;z-index:12;padding:8px 0;background:var(--ink);border-bottom:1px solid var(--line);margin-bottom:16px}.st-view .stage-canvas{height:210px;aspect-ratio:auto}.st-view .st-model-canvas{height:210px;min-height:210px}.st-view .st-flat{padding:6px}.st-view .st-flat svg{height:210px;width:100%}.st-view .stage{gap:4px}.st-view .stage>p,.st-view .st-flat>p,.st-view #st-model-credit,.st-view #st-model-hint{display:none}.st-view .st-layout-toggle{margin-top:6px;padding:7px 12px}.st-preview-label{margin-bottom:5px}.st-controls .sw{width:44px;height:44px;flex:0 0 44px}.st-controls .sw-custom{width:44px;height:44px;flex:0 0 44px}.st-controls .sw-row{gap:8px}.st-quote-sticky{display:flex;position:sticky;bottom:76px;z-index:13;width:100%;margin-top:16px;box-shadow:0 -8px 24px #0006}.st-controls{padding-bottom:20px}.st-design-actions{gap:10px}}

@media(max-width:900px){#st-quote-sticky{display:none;position:fixed;left:16px;right:16px;width:calc(100% - 32px);bottom:76px;margin:0}.is-studio-visible #st-quote-sticky{display:flex}}
/* Keep focused studio controls clear of the fixed header and compact preview. */
:root:has(#studio){scroll-behavior:auto}#studio .st-tabs button,#st-product-choice{scroll-margin-top:100px}#studio .st-controls input,#studio .st-controls select,#studio .st-controls textarea,#studio .st-controls button{scroll-margin-top:100px}@media(max-width:900px){#studio .st-controls input,#studio .st-controls select,#studio .st-controls textarea,#studio .st-controls button{scroll-margin-top:385px}}

/* One phone action bar while the studio is visible; roomy artwork-layout control. */
@media(max-width:900px){body:has(#studio.is-studio-visible) #mob-cta{display:none!important}#studio.is-studio-visible #st-quote-sticky{bottom:16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}#studio .st-layout-toggle{min-height:44px}}
