:root{--navy:#0A1633;--blue:#1F4FD8;--red:#D40026;--black:#0D0D0F;--white:#FFFFFF;--slate:#5A6478;--on-navy:#B6C0D4;--line:#E5E9F0;--tap:44px}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-family:Helvetica Neue,Arial,sans-serif;line-height:1.45;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}img{max-width:100%}button,input,textarea{font:inherit}h1{font-size:clamp(1.5rem,4vw,2rem);margin:0 0 1rem}h2{margin-top:0}a{color:var(--blue);text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.site-footer a:focus-visible,.site-header a:focus-visible{outline-color:var(--white)}.site-header{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:1rem max(1.5rem,env(safe-area-inset-right)) 1rem max(1.5rem,env(safe-area-inset-left));background:var(--navy)}.logo,.site-header{display:flex;align-items:center}.logo{gap:.6rem}.logo .tri{width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:12px solid transparent}.tri-red{border-left:12px solid var(--red)}.tri-white{border-left:12px solid var(--white)}.tri-blue{border-left:12px solid var(--blue)}.logo .word{color:var(--white);font-weight:700;letter-spacing:.02em}.logo .word b{color:var(--red)}.site-nav{display:flex;flex-wrap:wrap;gap:0 1.25rem}.site-nav a{color:var(--white);font-size:.95rem;padding:.5rem 0}.site-nav a:hover{text-decoration:underline;text-underline-offset:4px}main{flex:1 0 auto;width:100%}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:1.5rem;gap:1.5rem;max-width:1080px;margin:0 auto;padding:2rem 1.5rem}.cap-card{background:var(--white);min-width:0}.pager{position:relative;overflow:hidden;background:var(--navy);touch-action:pan-y}.pager-track{display:flex;transition:transform .25s ease;will-change:transform}.pager-track img{width:100%;flex:0 0 100%;aspect-ratio:1/1;object-fit:cover;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.pager.single .dots,.pager.single .pager-btn{display:none}.pager-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:rgba(10,22,51,.65);color:var(--white);font-size:1.3rem;line-height:1;cursor:pointer}.pager-prev{left:.5rem}.pager-next{right:.5rem}.info-btn{right:.6rem;width:2rem;height:2rem;border:none;border-radius:50%;font-style:italic;font-family:Georgia,serif;cursor:pointer}.info-btn,.view-chip{position:absolute;top:.6rem;background:rgba(10,22,51,.65);color:var(--white)}.view-chip{left:.6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:999px}.info-overlay{position:absolute;inset:0;background:rgba(10,22,51,.94);color:var(--white);display:none;padding:2.8rem 1.25rem 1.25rem;overflow-y:auto;cursor:pointer}.info-overlay.open{display:block}.dots{position:absolute;bottom:.6rem;left:0;right:0;display:flex;justify-content:center;gap:.35rem;pointer-events:none}.dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45)}.dot.active{background:var(--white)}.card-meta{padding:.9rem .2rem}.card-meta h2{font-size:1.05rem;margin:0 0 .5rem}.card-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.price{color:var(--red)}.buy,.price{font-weight:700}.buy{background:var(--red);color:var(--white);border:1px solid var(--red);min-height:var(--tap);padding:.55rem 1.4rem;font-size:.95rem;cursor:pointer}.buy:hover{background:#b3001f}.buy:disabled{opacity:.5;cursor:not-allowed}.buy.secondary{background:transparent;color:var(--navy);border:1px solid var(--navy)}.buy.secondary:hover{background:#EDF1F8}.card-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.inline{display:inline}.link-button{background:none;border:0;padding:.5rem .25rem;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.narrow{max-width:560px;margin:0 auto;padding:2.5rem 1.5rem}.muted{color:var(--slate)}.small{font-size:.85rem}.empty{color:var(--slate);text-align:center;padding:4rem 0}.faq dt{font-weight:700;margin-top:1.2rem}.faq dd{margin:.3rem 0 0;color:var(--slate)}.stack{gap:.9rem}.stack,.stack label{display:flex;flex-direction:column}.stack label{gap:.3rem;font-size:.9rem}.stack input,.stack textarea{width:100%;min-height:var(--tap);padding:.55rem .7rem;border:1px solid #c7cedb;border-radius:4px;font-size:1rem}.form-card{max-width:420px}.errors{color:var(--red)}.notice{color:#127A38}.flashes{list-style:none;padding:0;margin:0;background:#FFF3F4}.flash,.flashes li{padding:.6rem 1.5rem;color:var(--red)}.flash{background:#FFF3F4}.basket-list{list-style:none;padding:0;margin:0}.basket-list li{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.6rem 0;border-bottom:1px solid #ddd}.basket-name{flex:1 1 8rem;min-width:0}.basket-total{text-align:right}.basket .card-actions{justify-content:flex-end}.admin-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.admin-page.narrow{max-width:560px}.section-title{margin:2rem 0 .8rem}.admin-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-bottom:1.2rem}.admin-head h1{margin:0}.admin-head>div{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center}.button{display:inline-block;background:var(--blue);color:var(--white);padding:.6rem 1rem;border-radius:4px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table td,.admin-table th{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{color:var(--slate);font-weight:600}.admin-table td.actions{white-space:nowrap}.admin-table input{width:100%}.thumb{width:3.2rem;height:3.2rem;object-fit:cover;border-radius:4px}.chip{background:#EDF1F8;color:var(--navy);font-size:.72rem;padding:.15rem .45rem;margin:0 .15rem .15rem 0}.chip,.status{display:inline-block;border-radius:999px}.status{text-transform:capitalize;font-size:.78rem;padding:.15rem .5rem}.status-available{background:#E6F6EC;color:#127A38}.status-sold{background:#F1F1F3;color:var(--slate)}.status-awaiting_address,.status-pending{background:#FFF6E0;color:#8A6400}.status-ready_to_post{background:#E8EFFC;color:var(--blue)}.status-shipped{background:#E6F6EC;color:#127A38}.uploads{border:1px solid var(--line);padding:1rem;display:flex;flex-direction:column;gap:.8rem;min-width:0}.upload-slot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem}.upload-slot input[type=file]{width:auto;max-width:100%;min-height:0;border:0;padding:0}.sale-card{border:1px solid var(--line);border-radius:6px;padding:1rem 1.2rem;margin-bottom:1rem}.sale-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;align-items:baseline}.sale-row+.sale-row{margin-top:.3rem}.sale-details{display:grid;grid-template-columns:auto 1fr;grid-gap:.15rem 1rem;gap:.15rem 1rem;margin:.8rem 0}.sale-details dt{color:var(--slate);font-size:.85rem}.sale-details dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.site-footer{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;padding:1.2rem max(1.5rem,env(safe-area-inset-right)) calc(1.2rem + env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));background:var(--navy);color:var(--on-navy);font-size:.85rem}.site-footer p{margin:0}.site-footer a{color:var(--white);padding:.5rem 0}@media (pointer:coarse){.pager-btn{width:2.75rem;height:2.75rem}.info-btn{width:2.5rem;height:2.5rem}}@media (max-width:720px){.hide-sm{display:none}.admin-table td,.admin-table th{padding:.5rem .35rem}}@media (max-width:600px){.site-header{padding-top:.75rem;padding-bottom:.75rem}.site-nav{width:100%;justify-content:space-between;gap:0 .5rem}.gallery{gap:1.25rem;padding:1rem}.narrow{padding:2rem 1rem}.admin-page{padding:1.25rem 1rem}.sale-card{padding:.9rem}}@media (max-width:480px){.card-row{align-items:stretch}.card-actions{width:100%}.card-actions .buy{flex:1 1;padding-left:.6rem;padding-right:.6rem}.basket .card-actions .buy{flex:1 1}.sale-details{grid-template-columns:1fr;gap:0}.sale-details dt{margin-top:.5rem}.admin-head>div{width:100%}}@media (prefers-reduced-motion:reduce){.pager-track{transition:none}}