:root{
  --bg:#f6f1e8; --surface:#fffaf2; --surface-2:#efe7da; --ink:#2a1f2d; --muted:#6c6070;
  --plum:#5b2a5e; --plum-2:#7a3d7d; --gold:#b8862b; --line:#ddd2c2; --ok:#3f6b46;
  --radius:14px; --shadow:0 1px 2px rgba(42,31,45,.06),0 8px 28px rgba(42,31,45,.08);
  --font-display:'Zodiak',Georgia,serif; --font-body:'Satoshi',system-ui,sans-serif;
  --text-sm:clamp(.85rem,.82rem + .15vw,.92rem); --text-base:clamp(1rem,.96rem + .2vw,1.075rem);
  --text-lg:clamp(1.15rem,1.05rem + .4vw,1.3rem); --text-xl:clamp(1.5rem,1.3rem + .9vw,2rem);
  --text-2xl:clamp(2rem,1.6rem + 1.8vw,3rem); --text-hero:clamp(2.5rem,1.8rem + 3.4vw,4.4rem);
}
[data-theme=dark]{
  --bg:#1b161d; --surface:#241e27; --surface-2:#2c2530; --ink:#f1e9df; --muted:#b4a8b6;
  --plum:#d9a3dc; --plum-2:#e6bde8; --gold:#d8aa52; --line:#3b3240; --shadow:0 8px 28px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--surface);padding:.5rem 1rem;z-index:99}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-.01em}
h1{font-size:var(--text-hero)} h2{font-size:var(--text-2xl)} h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700;letter-spacing:0}
.eyebrow{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:700;margin-bottom:.6rem}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.4rem;border-radius:999px;font:700 var(--text-sm)/1 var(--font-body);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .2s,color .2s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--plum);color:#fff}
[data-theme=dark] .btn-primary{color:#1b161d}
.btn-primary:hover{background:var(--plum-2)}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--plum)}
.btn-block{width:100%}
:focus-visible{outline:2.5px solid var(--gold);outline-offset:3px}

.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:1.5rem;height:68px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--plum)}
.logo{width:38px;height:38px}
.brand-text{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--ink);white-space:nowrap}
.brand-text em{color:var(--gold);font-style:italic}
.brand-text span{color:var(--muted);font-size:.95rem}
.nav{margin-left:auto;display:flex;gap:1.4rem;align-items:center;font-size:var(--text-sm);font-weight:500}
.nav a{text-decoration:none}.nav a:hover{color:var(--plum)}
.nav-cta{white-space:nowrap;display:inline-flex;gap:.4rem;align-items:center;padding:.45rem .9rem;border:1.5px solid var(--line);border-radius:999px}
.count{background:var(--plum);color:var(--bg);border-radius:999px;min-width:1.4rem;height:1.4rem;display:inline-grid;place-items:center;font-size:.75rem;font-weight:700}
.theme{background:none;border:0;color:var(--ink);cursor:pointer;padding:.4rem;border-radius:50%}

.hero{padding:clamp(2.5rem,6vw,5.5rem) 0 clamp(2rem,5vw,4rem)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{max-width:13ch}
.lede{font-size:var(--text-lg);color:var(--muted);margin:1.4rem 0 2rem;max-width:44ch}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-art{position:relative}
.hero-art img{border-radius:22px;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;width:100%;height:auto;box-shadow:var(--shadow);outline:1.5px dashed var(--gold);outline-offset:10px}
.hero-art figcaption{position:absolute;left:-1rem;bottom:1.5rem;background:var(--surface);padding:.6rem 1rem;border-radius:999px;font-size:var(--text-sm);font-weight:500;box-shadow:var(--shadow);display:flex;align-items:center;gap:.5rem}
.stitch-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--gold)}

.section{padding:clamp(3rem,7vw,6rem) 0}
.section.alt{background:var(--surface-2)}
.section-head{max-width:640px;margin-bottom:2.5rem}
.section-head .muted{margin-top:.8rem}

.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.card-media{position:relative;background:#111}
.card-media img{aspect-ratio:1/1;object-fit:cover;width:100%;cursor:zoom-in}
.thumbs{display:flex;gap:.45rem;padding:.7rem 1rem 0}
.thumbs button{border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;cursor:pointer;width:52px;height:52px;background:none}
.thumbs button[aria-pressed=true]{border-color:var(--plum)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.card-body{padding:1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.card-title{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.price{font-family:var(--font-display);font-size:1.5rem;color:var(--plum);white-space:nowrap}
.card p{font-size:var(--text-sm);color:var(--muted)}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--ink);padding:.2rem .55rem;border-radius:6px}
.opts{display:grid;gap:.7rem;margin-top:auto}
.opt-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.3rem}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip{border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:.3rem .7rem;font:500 .82rem var(--font-body);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}
.chip[aria-pressed=true]{border-color:var(--plum);background:color-mix(in srgb,var(--plum) 12%,transparent)}
.sw{width:.8rem;height:.8rem;border-radius:50%;border:1px solid rgba(0,0,0,.25)}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px}
.stepper button{background:none;border:0;color:var(--ink);width:2rem;height:2rem;font-size:1.1rem;cursor:pointer}
.stepper span{min-width:2rem;text-align:center;font-weight:700}
.check{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem}
.check input{margin-top:.25rem;accent-color:var(--plum)}
.size-note{margin-top:2rem;padding:1rem 1.2rem;border-left:3px solid var(--gold);background:var(--surface);border-radius:0 10px 10px 0;max-width:720px}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gallery figure{background:var(--surface);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;cursor:zoom-in}
.gallery figcaption{font-size:.82rem;padding:.6rem .8rem;color:var(--muted)}
.quote-card{margin-top:2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;background:var(--surface);border:1.5px dashed var(--gold);border-radius:var(--radius);padding:1.4rem 1.6rem}
.quote-card h3{margin-bottom:.3rem}

.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.steps li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.steps .num{font-family:var(--font-display);font-size:2.4rem;color:var(--gold);line-height:1}
.steps h3{margin:.6rem 0 .4rem}
.steps p{color:var(--muted);font-size:var(--text-sm)}

.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.cart{margin-top:1.5rem;display:grid;gap:.7rem}
.cart-empty{color:var(--muted);padding:1.5rem;border:1.5px dashed var(--line);border-radius:var(--radius)}
.line{display:flex;gap:.9rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.7rem}
.line img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.line .meta{flex:1;font-size:.88rem}.line .meta strong{display:block;font-size:.95rem}
.line .lp{font-weight:700}
.line button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.2rem}
.total{display:flex;justify-content:space-between;padding:.8rem .2rem;font-weight:700;border-top:1px solid var(--line);margin-top:.3rem}
.total small{display:block;font-weight:400;color:var(--muted)}
.order-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:grid;gap:1rem;box-shadow:var(--shadow)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:grid;gap:.35rem;font-size:.85rem;font-weight:700}
input,select,textarea{font:400 var(--text-base) var(--font-body);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.65rem .8rem;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--plum);outline:none}
.file input{padding:.5rem}
.form-msg{font-size:.9rem;min-height:1.2em}
.form-msg.err{color:#b23b3b}.form-msg.ok{color:var(--ok)}
[data-theme=dark] .form-msg.ok{color:#8fc79a}
.fine{font-size:.78rem;color:var(--muted)}

.site-footer{padding:2.5rem 0;border-top:1px solid var(--line)}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:center}
.footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:var(--text-sm);min-width:0}.footer-links a{overflow-wrap:anywhere}

.lightbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh}
.lightbox::backdrop{background:rgba(15,10,16,.85)}
.lightbox img{max-height:82vh;max-width:92vw;border-radius:12px}
.lightbox p{color:#f1e9df;text-align:center;padding:.6rem;font-size:.9rem}
.lb-close{position:absolute;top:.4rem;right:.4rem;background:rgba(0,0,0,.55);color:#fff;border:0;width:2.4rem;height:2.4rem;border-radius:50%;font-size:1.4rem;cursor:pointer}
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,150%);background:var(--ink);color:var(--bg);padding:.7rem 1.2rem;border-radius:999px;font-size:.9rem;font-weight:500;transition:transform .3s,opacity .3s;opacity:0;pointer-events:none;z-index:50}
.toast.show{transform:translate(-50%,0);opacity:1}

@media (max-width:960px){
  .products{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .hero-grid,.order-grid,.steps{grid-template-columns:1fr}
  .hero-art{max-width:420px}
  .nav a:not(.nav-cta){display:none}
  .products{grid-template-columns:1fr}
  .quote-card{flex-direction:column;align-items:flex-start}
  .field-row{grid-template-columns:1fr}
  .hero-art figcaption{left:.8rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.jeans-note{margin-top:.5rem;font-size:.82rem!important;padding:.5rem .7rem;border-radius:8px;background:color-mix(in srgb,var(--gold) 10%,transparent)}
.card .field-row{gap:.6rem}
.card .field-row label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.card .field-row input{padding:.45rem .7rem;font-size:.95rem}
.logo{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 1.5px var(--line)}
.footer-brand img{width:200px;height:auto;border-radius:12px}
.collab{padding:clamp(2.5rem,5vw,4rem) 0;background:var(--plum);color:#fff}
.collab .eyebrow{color:#f0c46a}
.collab .muted{color:rgba(255,255,255,.82);margin-top:.8rem;max-width:58ch}
.collab h2{font-size:var(--text-xl)}
.collab-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.collab-actions{display:flex;gap:.7rem;flex-wrap:wrap;flex-shrink:0}
.collab .btn-primary{background:#fff;color:#3d1b40}
.collab .btn-primary:hover{background:#f6ead8}
.collab .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
[data-theme=dark] .collab{background:#3a2140}
@media (max-width:820px){.collab-inner{flex-direction:column;align-items:flex-start}}
.collab-tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.collab-tags li{font-size:.78rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);color:#fff}
.announce{background:#1f1422;color:#f6ead8;font-size:1rem;text-align:center;padding:.65rem 0;line-height:1.45}
.announce a{color:#f0c46a;font-weight:700;margin-left:.3rem;white-space:nowrap}
@media (max-width:720px){.header-inner{gap:.6rem}.brand-text{font-size:1.1rem}.brand-text span{font-size:.85rem}.logo{width:38px;height:38px}.announce{font-size:.95rem}}
.services{padding:0 0 clamp(1rem,3vw,2rem)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.svc{border-top:2px solid var(--gold);padding:1rem .2rem 0}
.svc h3{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);margin-bottom:.3rem}
.svc p{color:var(--muted);font-size:var(--text-sm)}
.ship-card{margin-top:1.5rem;display:flex;gap:1.2rem;align-items:flex-start;background:var(--surface);border:1.5px dashed var(--gold);border-radius:var(--radius);padding:1.4rem 1.6rem}
.ship-icon{color:var(--plum);flex-shrink:0;margin-top:.1rem}
.ship-card p{color:var(--muted);font-size:var(--text-sm);margin-top:.3rem;max-width:75ch}
.ship-card a,.fine a{color:var(--plum)}
.ship-line{display:flex;justify-content:space-between;padding:.4rem .2rem 0;font-size:.9rem;color:var(--muted)}
.auction-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem}
.ag-item{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden}
.ag-media{position:relative}
.ag-media img{aspect-ratio:4/5;object-fit:cover;width:100%;cursor:zoom-in}
.sold{position:absolute;top:.7rem;left:.7rem;background:#fff;color:#3d1b40;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:6px}
.ag-item figcaption{padding:.7rem .9rem .9rem;display:grid;gap:.15rem;font-size:.88rem;color:#fff}
.ag-lot{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f0c46a}
.ag-tech{font-size:.8rem;color:rgba(255,255,255,.75)}
@media (max-width:820px){.auction-gallery{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr}}
@media (max-width:400px){.site-header .wrap{width:calc(100% - 1.5rem)}.header-inner{gap:.45rem}.logo{width:34px;height:34px}.brand{gap:.4rem}.brand-text{font-size:1.02rem}.brand-text span{font-size:.8rem}.nav-cta{padding:.4rem .65rem;font-size:.82rem}.theme{padding:.3rem}}
