:root{--ink:#23231f;--gold:#b47c20;--goldlight:#fff6e6;--line:#e5e3de;--paper:#fdfcf9;--muted:#6e6b65}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fcfaf6;font:15px/1.48 Arial,Helvetica,sans-serif}a{color:inherit}.site-header{background:#202320;color:#fff;padding:17px max(20px,calc((100vw - 1470px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.brand{text-decoration:none;font-size:19px;letter-spacing:1px;font-weight:800}.crown{color:#d3a154}.site-header nav{display:flex;gap:21px;flex-wrap:wrap}.site-header nav a{font-size:13px;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.page-container{max-width:1460px;margin:auto;padding:29px 25px 65px}.breadcrumbs{font-size:13px;color:#77726a;margin-bottom:22px}.breadcrumbs span{margin:0 4px}.product-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:34px;align-items:start}.gallery-column{position:sticky;top:14px;min-width:0}.gallery-wrap{display:grid;grid-template-columns:84px minmax(0,1fr);gap:13px;align-items:start}.view-rail{display:flex;flex-direction:column;gap:10px}.view-button{border:1px solid #dedbd6;border-radius:11px;background:#fff;cursor:pointer;display:flex;align-items:center;flex-direction:column;padding:5px;min-height:118px;justify-content:center;gap:0;color:#292823;font-size:11px;font-weight:700}.view-button.is-active{border:2px solid var(--gold);box-shadow:0 0 0 2px #b47c2024}.view-button:focus-visible,.placement-tile:focus-visible,.swatch:focus-visible{outline:3px solid #296dc2;outline-offset:2px}.view-img{height:83px;width:69px;object-fit:contain}.gallery-main{background:#fff;border:1px solid #e8e7e4;border-radius:17px;padding:11px 11px 14px;min-width:0}.photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.photo-panel{min-width:0;text-align:center;padding:2px 3px 9px;border:2px solid transparent;border-radius:10px;transition:border-color .2s}.photo-panel.is-focused{border-color:#e1c597}.photo-box{position:relative;width:100%;aspect-ratio:500/590;background:#fff;overflow:hidden}.main-shirt{display:block;width:100%;height:100%;object-fit:contain}.photo-panel strong{font-size:14px;display:block}.photo-panel small{display:block;color:var(--muted);font-size:11px;margin-top:2px;min-height:30px}.gallery-status{font-size:12px;margin-top:4px;text-align:center;color:#81715d}.preview-note{font-size:12px;color:#75716a;margin:12px 0 20px}.print-mark{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;overflow:hidden;color:#f8f8f1;line-height:1.05;text-align:center;text-shadow:0 1px 2px #0008}.print-mark img{object-fit:contain;width:100%;height:100%}.sample-logo{display:flex;flex-direction:column;align-items:center;color:#f4e8c4;font-size:clamp(6px,.9vw,16px);font-weight:800}.sample-logo small{font-size:60%;color:#e1b765;margin:0}.print-mark.chest-mark{left:65%;top:30%;width:17%;height:11%}.print-mark.full-mark{left:50%;top:42%;width:35%;height:26%}.print-mark.back-mark{left:50%;top:34%;width:23%;height:17%}.print-mark.back-mark.upper-back-mark{top:29%;width:16%;height:12%}.print-mark.sleeve-mark{width:15%;height:11%;font-size:10px}.print-mark.left-mark{left:19%;top:34%;transform:translate(-50%,-50%) rotate(-12deg)}.print-mark.right-mark{left:82%;top:34%;transform:translate(-50%,-50%) rotate(12deg)}.print-mark.is-hidden{display:none}.simple-info{background:#fff;border:1px solid #ece9e3;border-radius:13px;display:grid;grid-template-columns:repeat(3,1fr);padding:16px 6px;gap:5px}.simple-info div{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:0 5px}.simple-info span{font-size:20px;color:var(--gold)}.simple-info strong{font-size:12px}.simple-info small{font-size:11px;color:#777}.details-column{min-width:0}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:#9c7b4f;margin:4px 0 9px}h1{font:normal clamp(31px,3vw,46px)/1.12 Georgia,serif;letter-spacing:-.3px;margin:0 0 7px}.hero-price{font-size:15px;color:#8c662c;margin:12px 0 5px}.hero-price b{font-size:31px;color:#b07a25}.description{font-size:14px;color:#6b6862;margin:0 0 23px}.section-title{display:flex;align-items:center;gap:9px;margin:23px 0 12px}.section-title h2{margin:0;font-size:18px}.num{width:25px;height:25px;background:#272923;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}.size-field label,.form-grid label,.details-column label{font-weight:700;font-size:13px}.size-field label{display:block;margin-bottom:7px}select,input:not([type=checkbox]),textarea{font:inherit;border:1px solid #ccc6bc;border-radius:9px;padding:12px;background:#fff;color:#222;width:100%;min-height:44px}select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b47c20;outline-offset:2px}.color-field{margin:15px 0}.field-label{font-size:13px;font-weight:700;display:block;margin-bottom:9px}.swatch-grid{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid #c7c7c7;cursor:pointer;background:var(--c)}.swatch.selected{outline:3px solid var(--gold);outline-offset:3px}.field-note{font-size:12px;color:#665f53;display:block;margin-top:9px}.section-helper{color:#77726b;font-size:12px;margin:-5px 0 12px}.placement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.placement-tile{border:1px solid #dedbd5;background:#fff;border-radius:9px;padding:7px 3px 9px;cursor:pointer;min-width:0;display:flex;align-items:center;flex-direction:column;min-height:133px;position:relative}.placement-tile.selected{border:2px solid var(--gold);background:#fffbf4;box-shadow:0 2px 7px #bd8c3833}.placement-tile.selected:after{content:'✓';position:absolute;top:4px;right:4px;background:var(--gold);color:#fff;border-radius:50%;font-size:10px;width:15px;height:15px}.tile-shot{height:71px;width:100%;position:relative;display:flex;justify-content:center}.tile-shot img{width:71px;height:71px;object-fit:contain}.tile-mark{position:absolute;z-index:1;color:#e9c479;font-weight:800;font-size:7px;letter-spacing:-.4px;text-shadow:0 1px 1px black}.tile-mark.smallmark{top:25%;left:58%}.tile-mark.bigmark{top:43%;left:41%;font-size:11px}.tile-mark.backtile{top:26%;left:40%;font-size:10px}.tile-mark.lefttile{top:33%;left:12%}.tile-mark.righttile{top:33%;left:73%}.placement-tile b{font-size:10px;line-height:1.1;text-align:center;min-height:26px;margin:5px 0 1px}.placement-tile small{font-size:10px;color:#777}.placement-tile em{font-style:normal;font-weight:800;font-size:11px;color:#a36b1c;margin-top:4px}.upload-stack{display:grid;gap:8px}.upload-field{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.upload-field label{display:block;margin:0 0 7px}.upload-field input[type=file]{padding:8px;font-size:12px;background:#fff;min-height:0}.upload-field small{display:block;font-size:11px;color:#777;margin-top:5px}.upload-field.is-hidden{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.details-column label[for=email],.details-column label[for=instructions]{display:block;margin:8px 0 6px}.rights-row{display:flex;align-items:flex-start;gap:9px;margin-top:15px;cursor:pointer}.rights-row input{margin:3px 0 0;width:18px;height:18px;flex-shrink:0}.rights-row span{font-weight:normal;font-size:12px}.summary{border:1px solid #ebddc4;background:#fffbf4;border-radius:12px;padding:17px;margin-top:18px}.summary-top{font-weight:800;font-size:11px;letter-spacing:.09em;color:#a87524;padding-bottom:7px}.summary-row{display:flex;justify-content:space-between;gap:13px;font-size:13px;margin:8px 0}.summary-row b{white-space:nowrap}.summary-total{border-top:1px solid #e3d5bb;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:800;font-size:20px;padding-top:12px;margin-top:12px}.summary-total b{color:#a97725;font-size:28px}.bulk-note,.disclaimer{font-size:11px;color:#756d60;margin:7px 0}.cta{border:0;border-radius:9px;background:#242821;color:#fff;font-weight:800;width:100%;font-size:16px;padding:15px 18px;margin-top:14px;cursor:pointer}.cta:hover{background:#383e33}.quote-note{font-size:11px;color:#777;text-align:center;margin:7px 0 0}footer{border-top:1px solid #e1dcd5;padding:27px 20px;text-align:center;font-size:12px;color:#777}.visually-hidden{position:absolute!important;overflow:hidden;height:1px;width:1px;clip:rect(0 0 0 0);white-space:nowrap}button:hover{filter:brightness(.98)}
@media(max-width:1100px){.product-grid{grid-template-columns:1fr;gap:22px}.gallery-column{position:static}.gallery-wrap{max-width:900px;margin:auto}.simple-info{max-width:900px;margin:auto}.details-column{max-width:900px;margin:auto;width:100%}}
@media(max-width:620px){.page-container{padding:15px 10px 40px}.site-header{padding:15px 12px}.brand{font-size:16px}.site-header nav{gap:11px}.site-header nav a{font-size:11px}.gallery-wrap{grid-template-columns:51px minmax(0,1fr);gap:5px}.view-rail{gap:5px}.view-button{padding:2px;min-height:77px;font-size:9px}.view-img{height:52px;width:44px}.gallery-main{padding:5px 1px 9px}.photo-panel{padding:2px 1px 6px}.photo-panel strong{font-size:11px}.photo-panel small{font-size:9px;min-height:25px}.gallery-status{font-size:10px}.simple-info{gap:2px}.simple-info strong{font-size:10px}.simple-info small{font-size:9px}.placement-grid{gap:4px}.placement-tile{padding:5px 1px 6px;min-height:119px}.placement-tile b{font-size:9px}.placement-tile small{font-size:9px}.placement-tile em{font-size:9px}.tile-shot{height:56px}.tile-shot img{height:56px;width:56px}.tile-mark{font-size:6px}.section-title h2{font-size:16px}.form-grid{grid-template-columns:1fr}.summary-total{font-size:16px}.summary-total b{font-size:23px}h1{font-size:32px}}

/* Obvious preview focus without adding unwanted print charges. */
.photo-panel.is-muted{opacity:1}.photo-panel.is-focused{box-shadow:0 1px 12px #b47c2020}.gallery-status{color:#845a21;font-weight:700}
.photo-box{border-radius:12px;background:linear-gradient(180deg,#ffffff 0%,#faf9f6 100%)}
.main-shirt{display:block;width:100%;height:100%;object-fit:contain;object-position:center 48%;transform:scale(1.04);filter:drop-shadow(0 16px 18px rgba(0,0,0,.12));transition:transform .2s ease,filter .2s ease}
.photo-panel strong{margin-top:6px}
.photo-panel[data-focused-view="left"] .main-shirt{transform:scale(1.14);transform-origin:13% 31%}.photo-panel[data-focused-view="right"] .main-shirt{transform:scale(1.14);transform-origin:87% 31%}

/* Keep T-shirt back logo positions consistent with the hoodie print choices. */
.back-size-control{margin:10px 0 3px;padding:13px 15px;background:#fffbf4;border:1px solid #ebddc4;border-radius:10px}
.back-size-control.is-hidden{display:none}
.back-size-control label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}
.back-size-control select{max-width:420px}
.back-size-control small{display:block;color:#756d60;font-size:11px;margin-top:7px}
.tile-mark.backtile.upper-back-tile{top:20%;left:41%;font-size:7px}

/* Scale sample artwork to the back-print footprint, rather than using the small chest-logo font. */
.print-mark.back-mark .sample-logo{font-size:clamp(12px,1.65vw,23px)}
.print-mark.back-mark.upper-back-mark .sample-logo{font-size:clamp(9px,1.1vw,15px)}

/* Print placement clarity and accurate scale on the new 700 × 820 garment mockups. */
.placement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.placement-tile{min-height:141px;padding:10px 7px 11px}
.placement-tile b{font-size:12px;line-height:1.25;min-height:0;margin:7px 0 3px}
.placement-tile small{font-size:11px}
.placement-tile em{font-size:12px;margin-top:3px}
.tile-shot{height:82px;width:88px;max-width:100%;flex-shrink:0}
.tile-shot img{height:82px;width:88px;object-fit:contain}
.tile-mark{font-size:8px}
.tile-mark.smallmark{top:29%;left:62%;font-size:7px}
.tile-mark.bigmark{top:40%;left:43%;font-size:12px}
.tile-mark.backtile.upper-back-tile{top:30%;left:45%;font-size:9px}
.tile-mark.backtile.full-back-tile{top:41%;left:42%;font-size:12px}
/* Left/right sleeve names describe the WEARER'S left/right. */
.tile-mark.lefttile{top:36%;left:78%;font-size:8px}
.tile-mark.righttile{top:36%;left:15%;font-size:8px}
.back-choice-hint{font-size:12px;color:#6e6a61;margin:9px 0 18px}
.photo-box{aspect-ratio:700/820}
.main-shirt{transform:none;filter:drop-shadow(0 9px 12px rgba(0,0,0,.08))}
.photo-panel[data-focused-view="left"] .main-shirt,
.photo-panel[data-focused-view="right"] .main-shirt{transform:none}
/* Typical 4, 6 and 10 inch print areas relative to a ~20-inch adult shirt body. */
.print-mark.chest-mark{left:61%;top:30%;width:12%;height:10%}
.print-mark.full-mark{left:50%;top:40%;width:30%;height:25%}
.print-mark.back-mark{left:50%;top:39%;width:30%;height:31%}
.print-mark.back-mark.upper-back-mark{left:50%;top:29%;width:17%;height:15%}
.print-mark.sleeve-mark{width:12%;height:9%}
.print-mark.left-mark{left:81%;top:33%;transform:translate(-50%,-50%) rotate(12deg)}
.print-mark.right-mark{left:19%;top:33%;transform:translate(-50%,-50%) rotate(-12deg)}
.print-mark.chest-mark .sample-logo{font-size:clamp(8px,.8vw,13px)}
.print-mark.full-mark .sample-logo{font-size:clamp(13px,1.5vw,23px)}
.print-mark.back-mark .sample-logo{font-size:clamp(13px,1.4vw,22px)}
.print-mark.back-mark.upper-back-mark .sample-logo{font-size:clamp(10px,1vw,15px)}
@media (max-width:620px){
 .placement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .placement-tile{min-height:130px;padding:8px 5px 9px}
 .placement-tile b{font-size:11px}
 .placement-tile small,.placement-tile em{font-size:11px}
 .tile-shot,.tile-shot img{width:79px;height:76px}
 .photo-panel strong{margin-top:3px}
}

/* Square placeholder symbol instead of the JKR sample logo. */
.sample-logo.sample-square{display:block;width:100%;height:100%;background:rgba(233,196,121,.92);border:2px solid rgba(255,244,208,.95);border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.28)}
.print-mark.sleeve-mark .sample-square{border-width:1.5px;border-radius:2px}
.tile-mark.square-tile{display:block;background:#e9c479;border:1px solid #fff0bc;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.42);color:transparent;text-shadow:none;letter-spacing:0;font-size:0}
.tile-mark.smallmark.square-tile{width:10px;height:10px}
.tile-mark.bigmark.square-tile{width:19px;height:19px}
.tile-mark.backtile.upper-back-tile.square-tile{width:14px;height:14px}
.tile-mark.backtile.full-back-tile.square-tile{width:19px;height:19px}
.tile-mark.lefttile.square-tile,.tile-mark.righttile.square-tile{width:10px;height:10px}
/* Slightly refine print positions on the realistic mockup. */
.print-mark.chest-mark{left:61%;top:28.5%;width:10.5%;height:9.2%}
.print-mark.full-mark{left:50%;top:39.5%;width:28%;height:24%}
.print-mark.back-mark{left:50%;top:40%;width:29%;height:29%}
.print-mark.back-mark.upper-back-mark{left:50%;top:25.5%;width:15%;height:13%}
.print-mark.sleeve-mark{width:10%;height:8%}
.print-mark.left-mark{left:82%;top:31.5%;transform:translate(-50%,-50%) rotate(12deg)}
.print-mark.right-mark{left:18%;top:31.5%;transform:translate(-50%,-50%) rotate(-12deg)}
.tile-mark.smallmark{top:27%;left:61%}
.tile-mark.bigmark{top:39%;left:43%}
.tile-mark.backtile.upper-back-tile{top:24%;left:47%}
.tile-mark.backtile.full-back-tile{top:40%;left:43%}
.tile-mark.lefttile{top:33%;left:80%}
.tile-mark.righttile{top:33%;left:18%}
/* JKR review: unobtrusive print placement guides instead of solid blocks. */
.sample-logo.sample-square{background:rgba(255,255,255,.055);border:1.5px dashed rgba(202,159,81,.95);border-radius:3px;box-shadow:none;position:relative}
.sample-logo.sample-square::after{content:'LOGO';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#d5ad65;font:700 clamp(6px,.65vw,11px)/1 Arial,sans-serif;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.tile-mark.square-tile{background:rgba(255,255,255,.08);border:1px dashed #d4a85e;border-radius:1px;box-shadow:none}
