/* MarbleArc demo — brand layer over the store-demo shell (31 Oct 2026, Ben). Loaded after store.css and before each
   page's own rules. Warm neutrals, accent #f05a28, black buttons, cream footer, typographic wordmark. Mobile-first:
   everything below is written for 375px and widened at 700 / 834 / 1000px. Dark theme stays available via the toggle. */
:root{
  --tz-accent:#f05a28;--tz-accent-dark:#d64a1b;--tz-ink:#16171a;--tz-ink-2:#4e4b48;--tz-mute:#8a847c;
  --tz-cream:#f6f1ea;--tz-sand:#efe6da;--tz-paper:#fbf8f3;--tz-line:#e6ded3;
  --tz-head:"Outfit",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --tz-body:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --tz-ann-h:34px;
  --accent:#f05a28;--accent-hover:#d64a1b;--accent-deep:#b93f14;--accent-tint:#fdeee7;--accent-ink:#d64a1b;
  --bar-bg:rgba(251,248,243,.86);--sheet-bg:#fbf8f3;--hairline:#e6ded3;--ink:#16171a;--ink-dim:#7a746c;
}
html{scroll-padding-top:calc(var(--bar-h) + var(--tz-ann-h) + 12px)}
body{font-family:var(--tz-body);background:#fff;color:var(--tz-ink);overflow-x:clip}
h1,h2,h3,h4,.ct-head h1,.ct-h2,.pd h1,.c2-head h1,.bg h1,.cf h1,.ip h1,.ip h2,.gn-big a,.gn-chip-title,.gn-bag-title,.gn-searchbar input{font-family:var(--tz-head)}
img{max-width:100%}

/* ── announcement bar above the fixed nav ─────────────────────────────────────────────────────── */
.tz-ann{position:fixed;top:0;left:0;right:0;height:var(--tz-ann-h);z-index:10001;background:var(--tz-ink);color:#fff;display:flex;align-items:center;justify-content:center;padding:0 16px;font-size:12px;letter-spacing:.02em}
.tz-ann p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tz-ann b{color:#ffb79a;font-weight:600}
.tz-ann a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.gn{top:var(--tz-ann-h)}
.gn-curtain{top:var(--tz-ann-h)}
main{padding-top:calc(var(--bar-h) + var(--tz-ann-h))}
body .ip-toc{top:calc(var(--bar-h) + var(--tz-ann-h))}
@media (min-width:834px){
  body .pd>.pd-art{top:calc(var(--bar-h) + var(--tz-ann-h) + 24px)}
  body .cf-form,body .cf-ok{top:calc(var(--bar-h) + var(--tz-ann-h) + 24px)}
}
@media (min-width:901px){body .co-sum{top:calc(var(--bar-h,48px) + var(--tz-ann-h) + 24px)}}

/* ── nav ─────────────────────────────────────────────────────────────────────────────────────── */
.gn-link{font-size:13px;font-weight:500;letter-spacing:0}
.tz-wordmark{font-family:var(--tz-head);font-weight:800;font-size:22px;letter-spacing:-.045em;color:var(--tz-ink);line-height:1;display:inline-flex;align-items:baseline}
.tz-wordmark::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--tz-accent);margin-left:2px}
.tz-wordmark-lg{font-size:30px;margin-bottom:14px}
.gn-chip-fill,.ct-chip.on,.c2-chip.on,.rs-fbadge{background:var(--tz-ink);border-color:var(--tz-ink)}

/* ── buttons, type, layout helpers ───────────────────────────────────────────────────────────── */
.tz-btn{display:inline-flex;align-items:center;gap:8px;background:var(--tz-ink);color:#fff;border-radius:999px;padding:13px 22px;font-size:14px;font-weight:600;text-decoration:none;line-height:1;transition:background .2s,transform .2s}
.tz-btn:hover{background:#000;transform:translateY(-1px)}
.tz-btn-ghost{background:transparent;color:var(--tz-ink);border:1.5px solid var(--tz-ink)}
.pd-buy,.gn-bagbtn{background:var(--tz-ink)}.pd-buy:hover,.gn-bagbtn:hover{background:#000}
.pd-buy.is-added{background:var(--tz-accent)}
.tz-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tz-accent);margin:0 0 10px}
.tz-wrap{max-width:1180px;margin:0 auto;padding-left:16px;padding-right:16px}
@media (min-width:834px){.tz-wrap{padding-left:28px;padding-right:28px}}
.tz-sec{padding-top:44px;padding-bottom:4px}
@media (min-width:834px){.tz-sec{padding-top:72px;padding-bottom:8px}}
.tz-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.tz-sec-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:0}
.tz-sec-head a{font-size:14px;font-weight:600;color:var(--tz-ink);white-space:nowrap;border-bottom:1.5px solid var(--tz-accent);padding-bottom:2px}
.tz-img{display:block;width:100%;height:100%;object-fit:cover}
.tz-lead{font-size:19px;line-height:1.5;color:var(--tz-ink)}
.ct-band{background:var(--tz-cream)}
.ct-card,.c2-card{border-radius:14px}
.ct-head h1,.pd h1{letter-spacing:-.03em}

/* ── split hero ──────────────────────────────────────────────────────────────────────────────── */
.tz-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--tz-cream);padding:4px}
.tz-hero-half{aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:var(--tz-sand)}
.tz-hero-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:min(86vw,460px);background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px 22px 20px;border-radius:18px;text-align:center;box-shadow:0 20px 60px rgba(60,40,20,.18)}
.tz-hero-card .tz-eyebrow{margin-bottom:8px}
.tz-hero-card h1{font-size:clamp(28px,6vw,64px);font-weight:800;letter-spacing:-.04em;line-height:.98;margin:0 0 14px}
@media (min-width:834px){
  .tz-hero{gap:8px;padding:8px}
  .tz-hero-half{aspect-ratio:auto;height:min(84vh,860px)}
  .tz-hero-card{padding:36px 44px 34px;border-radius:24px}
}

/* ── shop by categories mosaic: 1 large + 2 stacked + 1 tall ─────────────────────────────────── */
.tz-cats{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"big big" "acc foot" "sweat sweat";gap:10px}
.tz-cat{position:relative;display:block;overflow:hidden;border-radius:14px;background:var(--tz-sand)}
.tz-cat-big{grid-area:big;aspect-ratio:4/3}.tz-cat-acc{grid-area:acc;aspect-ratio:1}.tz-cat-foot{grid-area:foot;aspect-ratio:1}.tz-cat-sweat{grid-area:sweat;aspect-ratio:16/9}
.tz-cat .tz-img{transition:transform .7s cubic-bezier(.32,.08,.24,1)}
.tz-cat:hover .tz-img{transform:scale(1.04)}
.tz-cat-label{position:absolute;left:12px;bottom:12px;background:#fff;color:var(--tz-ink);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.12);text-transform:lowercase}
@media (min-width:834px){
  .tz-cats{grid-template-columns:1.25fr 1fr .85fr;grid-template-rows:1fr 1fr;grid-template-areas:"big acc sweat" "big foot sweat";gap:14px;height:640px}
  .tz-cat{aspect-ratio:auto;border-radius:18px}
  .tz-cat-label{left:18px;bottom:18px;padding:11px 18px;font-size:14px}
}

/* ── product cards ───────────────────────────────────────────────────────────────────────────── */
.tz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
@media (min-width:700px){.tz-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}}
@media (min-width:1000px){.tz-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tz-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tz-card{min-width:0}
.tz-card-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:var(--tz-sand)}
.tz-card-img{position:absolute;inset:0;transition:opacity .4s,transform .7s cubic-bezier(.32,.08,.24,1)}
.tz-card-alt{opacity:0}
.tz-card:hover .tz-card-alt{opacity:1}
.tz-card:hover .tz-card-img{transform:scale(1.03)}
.tz-badge{position:absolute;top:10px;left:10px;background:#fff;color:var(--tz-ink);font-size:11px;font-weight:700;letter-spacing:.05em;border-radius:999px;padding:6px 10px;text-transform:uppercase;line-height:1}
.tz-badge-sale{background:var(--tz-accent);color:#fff}
.tz-card-body{padding:11px 2px 0}
.tz-card-body h3{font-family:var(--tz-body);font-size:14px;font-weight:600;margin:0 0 4px;letter-spacing:-.005em;line-height:1.3}
.tz-card-body h3 a{color:var(--tz-ink)}
.tz-price{font-size:14px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.tz-price b{font-weight:600}.tz-price s{color:var(--tz-mute);font-size:13px}.tz-price.is-sale b{color:var(--tz-accent-dark)}
.tz-swatches{display:inline-flex;gap:7px;margin-top:9px}
.tz-sw{display:block;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--tz-line);cursor:pointer}
.tz-sw.on{box-shadow:0 0 0 1.5px var(--tz-ink)}
.tz-swatches-pd{margin:12px 0 0}.tz-swatches-pd .tz-sw{width:22px;height:22px}
.tz-quick{display:block;box-sizing:border-box;width:100%;margin-top:10px;border:1.5px solid var(--tz-line);background:#fff;color:var(--tz-ink);border-radius:999px;padding:10px 12px;font:inherit;font-size:13px;font-weight:600;text-align:center;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.tz-quick:hover{background:var(--tz-ink);border-color:var(--tz-ink);color:#fff}
.tz-quick.is-added{background:var(--tz-accent);border-color:var(--tz-accent);color:#fff}
.tz-quick-partner{border-style:dashed}
.tz-was{display:flex;gap:10px;align-items:baseline;margin-top:14px;font-size:15px}
.tz-was s{color:var(--tz-mute)}.tz-was b{background:var(--tz-accent);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:4px 9px;line-height:1}
.tz-was + .pd-price{margin-top:4px}

/* ── lookbook banner + hotspots ──────────────────────────────────────────────────────────────── */
.tz-look-stage{position:relative;overflow:hidden;border-radius:16px;background:#dff0f2;aspect-ratio:4/5;isolation:isolate}
@media (min-width:700px){.tz-look-stage{aspect-ratio:21/9;border-radius:22px}}
.tz-look-bg{position:absolute;inset:0;z-index:0}
.tz-look-copy{position:absolute;left:14px;top:14px;right:14px;z-index:2;max-width:400px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:16px}
.tz-look-copy h2{font-size:clamp(26px,4.4vw,54px);font-weight:800;letter-spacing:-.035em;line-height:.98;margin:0 0 14px;color:var(--tz-ink)}
@media (min-width:700px){.tz-look-copy{left:40px;top:50%;right:auto;transform:translateY(-50%);padding:28px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}}
.tz-look-pin{position:absolute;z-index:1;margin:0;border-radius:10px;overflow:hidden;box-shadow:0 18px 44px rgba(20,40,50,.28);background:#fff;padding:5px;transform:rotate(-4deg)}
.tz-look-pin .tz-img{border-radius:6px;aspect-ratio:4/5}
.tz-look-pin-1{width:27%;right:28%;top:10%}
.tz-look-pin-2{width:23%;right:5%;top:28%;transform:rotate(3deg)}
@media (max-width:699px){
  .tz-look-pin-1{width:42%;right:8%;top:auto;bottom:24%}
  .tz-look-pin-2{width:36%;right:54%;top:auto;bottom:5%}
}
.tz-hot{position:absolute;left:var(--x);top:var(--y);z-index:3;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:transparent;border:0;padding:0;cursor:pointer}
.tz-hot span{display:block;width:16px;height:16px;margin:10px;border-radius:50%;background:var(--tz-accent);border:2px solid #fff;box-shadow:0 0 0 4px rgba(240,90,40,.35);animation:tzPulse 2.2s infinite}
@keyframes tzPulse{0%{box-shadow:0 0 0 4px rgba(240,90,40,.35)}70%{box-shadow:0 0 0 14px rgba(240,90,40,0)}100%{box-shadow:0 0 0 4px rgba(240,90,40,0)}}
@media (prefers-reduced-motion:reduce){.tz-hot span{animation:none}}
.tz-hot[aria-expanded="true"] span{background:var(--tz-ink);animation:none;box-shadow:0 0 0 4px rgba(0,0,0,.18)}
.tz-hot-card{position:absolute;z-index:4;left:var(--x);top:var(--y);transform:translate(-18px,24px);width:252px;background:#fff;color:var(--tz-ink);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.22);padding:10px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;text-align:left}
.tz-hot-card.is-right{transform:translate(calc(-100% + 18px),24px)}
.tz-hot-card[hidden]{display:none}
.tz-hot-img{width:72px;height:90px;object-fit:cover;border-radius:8px;display:block}
.tz-hot-card b{display:block;font-size:13px;font-weight:600;line-height:1.3}
.tz-hot-card b a{color:var(--tz-ink)}
.tz-hot-card .tz-price{font-size:13px;margin-top:3px}
.tz-hot-card .tz-hot-go,.tz-hot-card button{display:inline-block;margin-top:7px;font:inherit;font-size:12px;font-weight:700;color:var(--tz-accent-dark);background:none;border:0;padding:0;cursor:pointer}
.tz-hot-card button.is-added{color:#1d6b3a}
@media (max-width:699px){.tz-hot-card,.tz-hot-card.is-right{position:fixed;left:16px;right:16px;top:auto;bottom:16px;transform:none;width:auto;z-index:10002}}
.tz-look-hint{font-size:13px;color:var(--tz-mute);margin:12px 2px 0}
.tz-look-page{padding-top:16px}

/* ── journal ─────────────────────────────────────────────────────────────────────────────────── */
.tz-journal{display:grid;gap:26px}
@media (min-width:700px){.tz-journal{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.tz-post-media{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:12px;background:var(--tz-sand)}
.tz-post-media .tz-img{transition:transform .7s cubic-bezier(.32,.08,.24,1)}
.tz-post:hover .tz-post-media .tz-img{transform:scale(1.03)}
.tz-post time{display:block;font-size:11px;color:var(--tz-mute);margin:12px 0 6px;letter-spacing:.06em;text-transform:uppercase}
.tz-post h3{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;line-height:1.25}
.tz-post h3 a{color:var(--tz-ink)}
.tz-post p{font-size:14px;line-height:1.55;color:var(--tz-ink-2);margin:0}
.tz-journal-index .tz-post h3{font-size:22px}
.tz-page-head{padding-top:34px}
.tz-page-head h1{font-size:clamp(32px,5vw,56px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:0 0 12px}
.tz-page-head p{font-size:17px;line-height:1.5;color:var(--tz-ink-2);max-width:40em;margin:0}
.tz-article{padding-top:30px;padding-bottom:40px;max-width:1024px}
.tz-article-head h1{font-size:clamp(30px,5vw,54px);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:0 0 12px;max-width:16em}
.tz-article-meta{font-size:13px;color:var(--tz-mute);margin:0 0 24px}
.tz-article-hero{margin:0 0 30px;aspect-ratio:3/2;overflow:hidden;border-radius:16px;background:var(--tz-sand)}
.tz-article-body{max-width:680px}
.tz-article-body p{font-size:17px;line-height:1.65;color:var(--tz-ink-2);margin:0 0 20px}
.tz-article-body p.tz-lead{font-size:21px;color:var(--tz-ink);line-height:1.45}
.tz-article-shop{margin-top:44px;padding-top:34px;border-top:1px solid var(--tz-line)}
.tz-article-shop h2{font-size:24px;letter-spacing:-.02em;margin:0 0 18px}
.tz-article-nav{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:1px solid var(--tz-line);font-size:14px;font-weight:600}
.tz-article-nav a{color:var(--tz-ink)}

/* ── manifesto + about ───────────────────────────────────────────────────────────────────────── */
.tz-manifesto{background:var(--tz-cream);margin-top:56px;padding:56px 0 60px;text-align:center}
.tz-manifesto h2{font-size:clamp(26px,4vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:0 auto 14px;max-width:14em}
.tz-manifesto p{font-size:16px;line-height:1.6;color:var(--tz-ink-2);max-width:40em;margin:0 auto}
.tz-manifesto p a{color:var(--tz-ink);font-weight:600;border-bottom:1.5px solid var(--tz-accent)}
.tz-about{display:grid;gap:30px;padding-top:30px;padding-bottom:60px}
@media (min-width:834px){.tz-about{grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}}
.tz-about-copy h1{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:0 0 16px}
.tz-about-copy h2{font-size:22px;letter-spacing:-.02em;margin:34px 0 10px}
.tz-about-copy p{font-size:16px;line-height:1.65;color:var(--tz-ink-2);margin:0 0 14px}
.tz-about-copy p.tz-lead{font-size:20px;color:var(--tz-ink);line-height:1.45}
.tz-about-copy a{color:var(--tz-accent-dark)}
.tz-about-address{font-style:normal;font-size:15px;line-height:1.7;background:var(--tz-cream);border-radius:14px;padding:18px 20px;margin:0 0 14px;color:var(--tz-ink-2)}
.tz-about-address b{color:var(--tz-ink)}
.tz-about-demo{font-size:13px;color:var(--tz-mute);border-top:1px solid var(--tz-line);padding-top:14px;margin-top:30px}
.tz-about-media{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (min-width:834px){.tz-about-media{grid-template-columns:1fr;position:sticky;top:calc(var(--bar-h) + var(--tz-ann-h) + 24px)}}
.tz-about-media figure{margin:0;overflow:hidden;border-radius:14px;background:var(--tz-sand);aspect-ratio:4/5}
.tz-about-media figure:last-child{aspect-ratio:3/2}

/* ── cream footer ────────────────────────────────────────────────────────────────────────────── */
.tz-foot{background:var(--tz-cream);border-top:1px solid var(--tz-line);margin-top:44px;color:var(--tz-ink)}
.tz-manifesto + .tz-foot,main:has(.tz-manifesto) + .tz-foot{margin-top:0}
.tz-foot-grid{max-width:1180px;margin:0 auto;padding:44px 16px 24px;display:grid;gap:28px 20px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.tz-foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1.6fr;gap:32px;padding:64px 28px 36px}}
.tz-foot-brand{grid-column:1/-1}
.tz-foot-nl{grid-column:1/-1}
@media (min-width:900px){.tz-foot-brand,.tz-foot-nl{grid-column:auto}}
.tz-foot-brand p,.tz-foot address{font-style:normal;font-size:14px;line-height:1.65;color:var(--tz-ink-2);margin:0 0 12px}
.tz-foot address a,.tz-foot-social a{color:var(--tz-ink-2)}
.tz-foot h4{font-family:var(--tz-head);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;color:var(--tz-ink)}
.tz-foot ul{list-style:none;margin:0;padding:0}
.tz-foot li{margin:0 0 9px}
.tz-foot li a{font-size:14px;color:var(--tz-ink-2)}
.tz-foot li a:hover,.tz-foot address a:hover,.tz-foot-social a:hover{color:var(--tz-accent-dark)}
.tz-foot-nl p{font-size:14px;line-height:1.6;color:var(--tz-ink-2);margin:0}
.tz-nl{display:flex;gap:8px;margin-top:14px;position:relative}
.tz-nl input[type=email]{flex:1;min-width:0;font:inherit;font-size:14px;padding:12px 16px;border:1.5px solid var(--tz-line);border-radius:999px;background:#fff;color:var(--tz-ink)}
.tz-nl input[type=email]:focus{outline:none;border-color:var(--tz-ink)}
.tz-nl button{font:inherit;font-size:14px;font-weight:600;background:var(--tz-ink);color:#fff;border:0;border-radius:999px;padding:12px 18px;cursor:pointer;white-space:nowrap}
.tz-nl button:hover{background:#000}
.tz-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tz-nl-ok{color:#1d6b3a;font-size:13px;margin:10px 0 0}.tz-nl-err{color:#a33a2a;font-size:13px;margin:10px 0 0}
.tz-foot-bar{border-top:1px solid var(--tz-line)}
.tz-foot-bar>div{max-width:1180px;margin:0 auto;padding:16px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;font-size:12px;color:var(--tz-mute)}
@media (min-width:900px){.tz-foot-bar>div{padding:18px 28px}}
.tz-foot-bar p{margin:0}
.tz-foot-bar a{color:var(--tz-ink-2)}
.tz-pay{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.tz-pay li{display:block}.tz-pay svg{width:38px;height:24px;display:block}

/* ── dark theme (the toggle stays; light is the default for MarbleArc) ─────────────────────────── */
html[data-theme="dark"]{--tz-cream:#0f0f11;--tz-sand:#1a1a1d;--tz-paper:#111;--tz-line:#2a2a2e;--tz-ink:#f3f3f5;--tz-ink-2:#b5b2ad;--tz-mute:#8a8782;--bar-bg:rgba(20,20,22,.85);--sheet-bg:#141416}
html[data-theme="dark"] body{background:#000}
html[data-theme="dark"] .tz-wordmark{color:#f3f3f5}
html[data-theme="dark"] .tz-hero-card,html[data-theme="dark"] .tz-cat-label,html[data-theme="dark"] .tz-badge:not(.tz-badge-sale),html[data-theme="dark"] .tz-quick,html[data-theme="dark"] .tz-hot-card,html[data-theme="dark"] .tz-nl input[type=email]{background:#1c1c20;color:var(--tz-ink)}
@media (max-width:699px){html[data-theme="dark"] .tz-look-copy{background:rgba(20,20,22,.9)}}
html[data-theme="dark"] .tz-btn,html[data-theme="dark"] .tz-nl button,html[data-theme="dark"] .tz-quick:hover{background:#f3f3f5;color:#111;border-color:#f3f3f5}
html[data-theme="dark"] .tz-ann{background:#f3f3f5;color:#111}
html[data-theme="dark"] .tz-ann a{color:#111}html[data-theme="dark"] .tz-ann b{color:var(--tz-accent-dark)}
html[data-theme="dark"] .tz-foot,html[data-theme="dark"] .tz-manifesto,html[data-theme="dark"] .tz-about-address{background:#0f0f11}
html[data-theme="dark"] .tz-hero{background:#0c0c0e}
html[data-theme="dark"] .tz-sw{border-color:#1c1c20}

/* ── white default (31 Oct 2026, Ben: "Change the default to white bg"): page, nav sheet and bands are white; the cream stays
   on the footer band only. Cards on the boxed category layout get a hairline so they still read on white. ─────────── */
:root{--bar-bg:rgba(255,255,255,.86);--sheet-bg:#ffffff}
.tz-hero{background:#fff}
.ct-band{background:#fff}
.ct-card{border:1px solid var(--tz-line)}
.tz-manifesto{background:#fff;border-top:1px solid var(--tz-line)}
html[data-theme="dark"] .tz-manifesto{background:#0f0f11;border-top-color:#2a2a2e}

/* ── full-width home (31 Oct 2026, Ben: "make the home page full width"): <main class="tz-home"> lifts the 1180px cap; sections
   run edge to edge with 16px gutters on phones and 24px from 834px. Headings and intros keep their own measure. ───── */
.tz-home .tz-wrap{max-width:none;padding-left:16px;padding-right:16px}
.tz-home .tz-hero{padding:8px 16px 0;gap:8px}
.tz-home .tz-hero-video,.tz-home .tz-hero-half .tz-img{object-position:50% 22%}
@media (min-width:834px){
  .tz-home .tz-wrap{padding-left:24px;padding-right:24px}
  .tz-home .tz-hero{padding:12px 24px 0;gap:12px}
  .tz-home .tz-hero-half{height:min(84vh,920px)}
  .tz-home .tz-cats{height:clamp(560px,42vw,820px)}
  .tz-home .tz-look-pin{max-width:440px}
}
@media (min-width:1500px){.tz-home .tz-sec-head h2{font-size:42px}}

/* ── full-width product page (31 Oct 2026, Ben: "Make product pages full width"): <main class="tz-product"> lifts the 1024px
   cap on the crumb, the two-column block, Details and the USP strip; the buy column keeps a readable width of its own. ── */
.tz-product .rs-crumb,.tz-product .pd,.tz-product .pd-long,.tz-product .ct-why{max-width:none;padding-left:16px;padding-right:16px}
.tz-product .pd{padding-top:24px}
@media (min-width:834px){
  .tz-product .rs-crumb,.tz-product .pd,.tz-product .pd-long,.tz-product .ct-why{padding-left:24px;padding-right:24px}
  .tz-product .pd{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;padding-top:40px}
  .tz-product .pd>div:last-child{max-width:600px}
  .tz-product .pd-art.has-img{aspect-ratio:4/5;max-height:min(900px,calc(100vh - 140px))}
  .tz-product .pd-long .pd-desc{max-width:760px}
}
@media (min-width:1500px){.tz-product .pd{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:72px}}

/* ── 4-column category grid (31 Oct 2026, Ben: "make the cats a 4 col"): the essentials framed grid is 3-up in store.css;
   MarbleArc shows 4 from 1100px, 3 between 834 and 1099px, and the template's 2 on phones. A lead card spans two of the four. ── */
@media (min-width:834px) and (max-width:1099px){.c2-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.c2-grid{grid-template-columns:repeat(4,1fr)}.c2-lead{grid-column:span 2}.c2-card{padding:36px 22px 38px;min-height:430px}}
@media (min-width:1500px){.c2-card{padding:44px 28px 46px;min-height:470px}}

/* ── square corners on all imagery (31 Oct 2026, Ben: "don't round picture edges"): every container that holds a photo, a
   video or a placeholder block loses its radius; buttons, pills, inputs and the hero text card keep theirs. ──────────── */
.tz-hero-half,.tz-hero-video,.tz-cat,.tz-card-media,.tz-look-stage,.tz-look-pin,.tz-look-pin .tz-img,.tz-post-media,.tz-article-hero,
.tz-about-media figure,.tz-hot-img,.tz-img,.rs-img,.pd-art,.pd-art.has-img,.ct-card,.c2-card,.ct-art,.c2-art,.gn-card-img{border-radius:0}
@media (min-width:700px){.tz-look-stage{border-radius:0}}
@media (min-width:834px){.tz-cat,.tz-hero-half{border-radius:0}}

/* ── page gutter (31 Oct 2026, Ben: "Add a little page margin to left and right side"): one variable; the nav bar, every
   full-width section, the framed category grid, the product page blocks and the footer align to the same inner edge.
   16px on phones, 24px from 834px, 40px from 1024px. Still full width: no max-width caps. ─────────────────────────── */
:root{--tz-gutter:16px}
@media (min-width:834px){:root{--tz-gutter:24px}}
@media (min-width:1024px){:root{--tz-gutter:40px}}
.gn-content{max-width:none;padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}
.tz-wrap,.tz-home .tz-wrap{max-width:none;padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}
.tz-home .tz-hero{padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}
.rs-crumb,.tz-product .rs-crumb{max-width:none;padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}
.c2-head,.c2-chiprow,.c2-toolbar,.c2-count,.rs-facets.c2-facets{max-width:none;padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}
.c2-gridwrap{border-top:0;padding:0 var(--tz-gutter)}
.c2-grid{width:100%;border-top:1px solid var(--frame);border-left:1px solid var(--frame)}
.tz-product .pd,.tz-product .pd-long,.tz-product .ct-why,.ct-why,.ct-head,.ct-section,.rs-facets-acc,.rs-facets{max-width:none;padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}
.tz-article{max-width:none}
.tz-foot-grid,.tz-foot-bar>div{max-width:none;padding-left:var(--tz-gutter);padding-right:var(--tz-gutter)}

/* ── department landing page (31 Oct 2026, Ben: "Build a landing page like this … link up content area"): landing.php,
   content from the marblearc-<dept>-* Collections. Square corners, the shared gutter, white page. ─────────────────────── */
.tz-land-hero{position:relative;padding:8px var(--tz-gutter) 0}
.tz-land-hero-media{aspect-ratio:4/5;overflow:hidden;background:var(--tz-sand)}
.tz-land-hero-media .tz-img{object-position:50% 25%}
.tz-land-hero-card{position:absolute;left:calc(var(--tz-gutter) + 14px);right:calc(var(--tz-gutter) + 14px);bottom:22px;background:rgba(255,255,255,.94);padding:20px;max-width:540px}
.tz-land-hero-card h1{font-size:clamp(30px,5.5vw,62px);font-weight:800;letter-spacing:-.035em;line-height:.98;margin:0 0 10px}
.tz-land-hero-copy{font-size:15px;line-height:1.5;color:var(--tz-ink-2);margin:0 0 16px}
@media (min-width:834px){.tz-land-hero{padding-top:12px}.tz-land-hero-media{aspect-ratio:21/9;max-height:min(76vh,820px)}.tz-land-hero-card{left:calc(var(--tz-gutter) + 40px);right:auto;bottom:40px;padding:32px 36px}}
.tz-land-tiles{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--tz-gutter));padding:0 var(--tz-gutter) 6px;scrollbar-width:none}
.tz-land-tiles::-webkit-scrollbar{display:none}
.tz-land-tile{flex:0 0 66%;scroll-snap-align:start;color:var(--tz-ink)}
.tz-land-tile-media{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--tz-sand)}
.tz-land-tile-media .tz-img{transition:transform .7s cubic-bezier(.32,.08,.24,1)}
.tz-land-tile:hover .tz-img{transform:scale(1.04)}
.tz-land-tile-label{display:block;margin-top:10px;font-size:15px;font-weight:600}
@media (min-width:700px){.tz-land-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:visible;margin:0;padding:0}.tz-land-tile{flex:none}}
@media (min-width:1000px){.tz-land-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
.tz-land-promos{display:grid;gap:24px}
@media (min-width:834px){.tz-land-promos{grid-template-columns:1fr 1fr;gap:24px}}
.tz-land-promo{display:grid;background:var(--tz-cream)}
.tz-land-promo-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tz-sand)}
.tz-land-promo-body{padding:22px 20px 26px}
.tz-land-promo-body h2{font-size:clamp(22px,2.4vw,32px);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:0 0 10px}
.tz-land-promo-body p{font-size:15px;line-height:1.55;color:var(--tz-ink-2);margin:0 0 16px;max-width:38em}
@media (min-width:1200px){.tz-land-promo{grid-template-columns:1.1fr 1fr;align-items:stretch;overflow:hidden}.tz-land-promo.is-flipped .tz-land-promo-media{order:2}.tz-land-promo-media{aspect-ratio:auto;height:100%;min-height:380px;min-width:0}.tz-land-promo-body{padding:28px 32px;align-self:center}}   /* aspect-ratio + height:100% made the media wider than its column (24px overflow at 1920); it now fills the row height instead */
.tz-land-chips{display:flex;flex-wrap:wrap;gap:10px}
.tz-land-usps-wrap{background:var(--tz-cream);margin-top:56px;padding:34px 0}
.tz-land-usps{list-style:none;margin:0;padding:0;display:grid;gap:22px}
@media (min-width:834px){.tz-land-usps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.tz-land-usps li{display:flex;gap:14px;align-items:flex-start}
.tz-land-usps svg{width:36px;height:36px;flex:none;fill:none;stroke:var(--tz-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tz-land-usps b{display:block;font-size:15px;font-weight:600;margin-bottom:3px}
.tz-land-usps span{font-size:14px;line-height:1.5;color:var(--tz-ink-2)}
main.tz-land + .tz-foot{margin-top:0}
html[data-theme="dark"] .tz-land-hero-card{background:rgba(20,20,22,.92)}
html[data-theme="dark"] .tz-land-promo,html[data-theme="dark"] .tz-land-usps-wrap{background:#0f0f11}

/* ── page margin = mosaic gap (31 Oct 2026, Ben: "side borders now too much, just make them same size as the gap between the
   masonry border"): one variable for the gap between tiles/cards and the page's side margin, at every breakpoint. ───── */
:root{--tz-gap:12px;--tz-gutter:var(--tz-gap)}
@media (min-width:834px){:root{--tz-gap:16px}}
@media (min-width:1024px){:root{--tz-gap:20px}}
.tz-cats,.tz-home .tz-cats{gap:var(--tz-gap)}
.tz-hero,.tz-home .tz-hero{gap:var(--tz-gap)}
.tz-grid{column-gap:var(--tz-gap)}
.tz-journal,.tz-land-tiles,.tz-land-promos{column-gap:var(--tz-gap)}
@media (min-width:700px){.tz-land-tiles{gap:var(--tz-gap)}}


/* ── MarbleArc 31 Oct 2026: product page (department-store PDP) ─────────────────────────────────────────── */
.tz-pdp{padding-left:var(--tz-gutter);padding-right:var(--tz-gutter);padding-bottom:48px}
.tz-pdp>.rs-crumb{padding-left:0;padding-right:0;padding-bottom:14px}
/* breadcrumb breathing room above the product image (31 Oct 2026, Ben: "breadcrumb sits a bit tightly to main image") */
@media (min-width:834px){.tz-pdp>.rs-crumb{padding-bottom:20px}}
.tz-pdp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px var(--tz-gap);align-items:start}
@media(min-width:900px){.tz-pdp-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}
  .tz-pdp-buy{position:sticky;top:calc(var(--tz-ann-h,0px) + 58px);align-self:start}}
@media(min-width:1280px){.tz-pdp-grid{grid-template-columns:minmax(0,1.45fr) 440px;column-gap:56px}}
.tz-pdp-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tz-gap)}
.tz-pdp-tile{margin:0;background:#f3eee7;aspect-ratio:4/5;overflow:hidden}.tz-pdp-tile.is-lead{grid-column:1/-1}
@media(min-width:900px){.tz-pdp-tile.is-lead{aspect-ratio:1/1}}
.tz-pdp-tile img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;display:block}
.tz-pdp-info{max-width:720px;padding-top:28px}
.tz-pdp-code{font-size:12px;color:var(--ink-dim,#6b6b72);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.tz-pdp-info h2{font-family:Outfit,Inter,sans-serif;font-size:20px;margin:18px 0 8px;font-weight:600}
.tz-pdp-about{font-size:16px;line-height:1.6;max-width:62ch;margin:0 0 22px}
.tz-acc{border-top:1px solid #e6e0d8}.tz-acc:last-of-type{border-bottom:1px solid #e6e0d8}
.tz-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-weight:600;font-size:15px}
.tz-acc summary::-webkit-details-marker{display:none}.tz-acc summary::after{content:"+";font-size:22px;font-weight:300;line-height:1}.tz-acc[open] summary::after{content:"\2212"}
.tz-acc-body{padding:0 0 18px;font-size:14px;line-height:1.65}
.tz-pdp-brand{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim,#6b6b72);margin:0 0 6px}
.tz-pdp-buy h1{font-family:Outfit,Inter,sans-serif;font-size:26px;line-height:1.15;letter-spacing:-.01em;margin:0 0 10px;font-weight:600}
.tz-pdp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.tz-pdp-now{font-size:22px;font-weight:600}.tz-pdp-now.is-sale{color:#c8102e}.tz-pdp-was{color:var(--ink-dim,#6b6b72);font-size:15px}
.tz-pdp-pct{font-size:12px;font-weight:600;color:#c8102e;border:1px solid currentColor;padding:2px 6px}
.tz-pdp-promo{display:flex;align-items:center;gap:10px;background:#fbeae4;border-left:3px solid #c8102e;padding:10px 12px;font-size:13px;margin:0 0 20px;color:#111}
.tz-pdp-promo-tag{background:#c8102e;color:#fff;font-weight:700;font-size:11px;padding:3px 6px;letter-spacing:.04em}
.tz-pdp-info-btn{margin-left:auto;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;background:none;font-size:11px;font-weight:700;cursor:help;color:inherit}
.tz-pdp-row{margin:0 0 20px}
.tz-pdp-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;font-weight:600;margin:0 0 10px}
.tz-pdp-label b{font-weight:500;color:var(--ink-dim,#6b6b72);margin-left:6px}
.tz-pdp-guide{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:inherit}
.tz-pdp-swatches{display:flex;gap:12px;flex-wrap:wrap;padding:4px 2px}
.tz-pdp-sw{width:30px;height:30px;border-radius:50%;border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);cursor:pointer;position:relative;padding:0}
.tz-pdp-sw.on::after{content:"";position:absolute;inset:-5px;border:1.5px solid currentColor;border-radius:50%}
.tz-pdp-sw:focus-visible{outline:2px solid var(--accent,#f05a28);outline-offset:6px}
.tz-pdp-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.tz-pdp-size{height:44px;border:1px solid #cfc8bf;background:#fff;font:inherit;font-size:14px;cursor:pointer;color:#111;border-radius:0}
.tz-pdp-size:hover{border-color:#111}.tz-pdp-size.on{background:#111;color:#fff;border-color:#111}
.tz-pdp-size[disabled]{color:#b5ada3;background:repeating-linear-gradient(135deg,#fff 0 6px,#f1ece5 6px 7px);cursor:not-allowed}
.tz-pdp-get{border:1px solid #e6e0d8;padding:14px 16px;margin:0 0 18px}.tz-pdp-get .tz-pdp-label{margin-bottom:10px}
.tz-pdp-get ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.tz-pdp-get li{display:flex;gap:12px;align-items:flex-start;font-size:13px}
.tz-pdp-get svg{width:26px;height:26px;flex:0 0 26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.tz-pdp-get b{display:block;font-weight:600}.tz-pdp-get em{font-style:normal;color:var(--ink-dim,#6b6b72)}.tz-pdp-get[data-unselected="1"] em{color:#8a7461}
.tz-pdp-cta{display:grid;grid-template-columns:76px minmax(0,1fr) 52px;gap:10px;align-items:stretch;margin:0 0 10px}
.tz-pdp-cta-partner{grid-template-columns:minmax(0,1fr) 52px}
.tz-pdp-qty{height:52px;border:1px solid #cfc8bf;background:#fff;font:inherit;padding:0 10px;border-radius:0;color:#111}
.tz-pdp .pd-buy.tz-pdp-add{height:52px;min-height:52px;background:#111;color:#fff;border:0;font:inherit;font-weight:600;font-size:15px;letter-spacing:.02em;cursor:pointer;border-radius:0;display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0}
.tz-pdp-add.is-waiting{opacity:.55}
.tz-pdp-hint{font-size:12px;color:#8a7461;margin:0 0 12px}.tz-pdp-hint.is-nudge{color:#c8102e}
.tz-pdp-links{font-size:13px;margin:0 0 20px}.tz-pdp-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.tz-pdp-sibs div{display:flex;gap:8px}.tz-pdp-sibs a{display:block;width:56px;aspect-ratio:4/5;background:#f3eee7;overflow:hidden;border:1px solid transparent}.tz-pdp-sibs a:hover{border-color:#111}.tz-pdp-sibs img{width:100%;height:100%;object-fit:cover}
.tz-pdp-promise{list-style:none;margin:0;padding:14px 16px;background:#f6f1ea;font-size:13px;display:grid;gap:6px;color:#111}
.tz-pdp-promise li::before{content:"\2713";margin-right:8px;color:var(--accent,#f05a28);font-weight:700}
.tz-pdp .tz-sec{padding-left:0;padding-right:0}
.tz-pdp-look-grid{display:grid;gap:var(--tz-gap);grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.tz-pdp-look-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.tz-pdp-look-img{margin:0;aspect-ratio:4/5;background:#f3eee7;overflow:hidden}.tz-pdp-look-img img{width:100%;height:100%;object-fit:cover}
.tz-pdp-look-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tz-gap);align-content:start}
.tz-rail{display:flex;gap:var(--tz-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.tz-rail::-webkit-scrollbar{display:none}
.tz-rail-item{flex:0 0 calc(50% - var(--tz-gap)/2);scroll-snap-align:start;min-width:0}
@media(min-width:834px){.tz-rail-item{flex-basis:calc(25% - var(--tz-gap)*3/4)}}
.tz-rail-nav{display:flex;gap:6px}.tz-rail-btn{width:40px;height:40px;border:1px solid #cfc8bf;background:#fff;cursor:pointer;font-size:16px;color:#111;border-radius:0}
.tz-rail-dots{display:flex;gap:6px;justify-content:center;margin-top:12px}.tz-rail-dots i{width:6px;height:6px;background:#d8d0c5;display:block}.tz-rail-dots i.on{background:#111}
/* hearts: cards (top-right of the photo) and the buy column */
.tz-card{position:relative}
.tz-heart{width:52px;height:52px;border:1px solid #cfc8bf;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:0;color:#111}
.tz-heart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.tz-heart.on svg{fill:#c8102e;stroke:#c8102e}.tz-heart.pop svg{animation:tz-pop .35s ease}
@keyframes tz-pop{30%{transform:scale(1.35)}}
.tz-heart-card{position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;background:rgba(255,255,255,.9);z-index:2;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.tz-heart-card svg{width:18px;height:18px}
.tz-heart:focus-visible{outline:2px solid var(--accent,#f05a28);outline-offset:2px}
.gn-wish svg{fill:none;stroke:currentColor;stroke-width:1.4;overflow:visible}   /* the heart's path touches its 16px viewBox, so half the stroke was clipped at both sides (31 Oct 2026, Ben: "slight crop on either side of love icon") */
/* wishlist count (31 Oct 2026, Ben: "the circle in basket icon needs to move over"): anchor the badge to the heart like
   #gnBagBtn does in store.css (it was positioning against the whole nav bar, so it sat clipped at the far right next to
   the bag), and let the hidden attribute win so an empty wishlist shows no "0". */
.gn-wish{position:relative}
.gn-wish .gn-bagcount{display:inline-block}
.gn-wish .gn-bagcount[hidden]{display:none}
/* size guide sheet */
.tz-sg{border:0;padding:0;max-width:720px;width:min(100vw - 32px,720px);background:#fff;color:#111;border-radius:0}
.tz-sg::backdrop{background:rgba(20,16,12,.5)}
.tz-sg-in{padding:28px}.tz-sg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tz-sg-head h2{font-family:Outfit,Inter,sans-serif;font-size:22px;margin:0;font-weight:600}
.tz-sg-close{width:40px;height:40px;border:1px solid #cfc8bf;background:#fff;font-size:22px;cursor:pointer;color:#111;border-radius:0}
.tz-sg-scroll{overflow-x:auto}.tz-sg table{width:100%;border-collapse:collapse;font-size:14px;min-width:460px}.tz-sg th,.tz-sg td{padding:10px 8px;border-bottom:1px solid #e6e0d8;text-align:left;white-space:nowrap}
.tz-sg th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b6b72;font-weight:600}.tz-sg td:first-child{font-weight:600}
.tz-sg-how{margin-top:18px;font-size:14px;line-height:1.6}.tz-sg-how h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.tz-sg-how p{margin:0}
.tz-sg-key{margin:18px 0 0;font-size:11px;color:#8a7461}.tz-sg-key code{font-size:11px}
@media(max-width:699px){.tz-sg{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}.tz-sg-in{padding:20px 16px}}
/* wishlist page */
.tz-wish{padding-left:var(--tz-gutter);padding-right:var(--tz-gutter);padding-bottom:48px}.tz-wish .tz-sec-head{padding:18px 0 14px}.tz-wish-sub{color:var(--ink-dim,#6b6b72);font-size:14px;margin:0}
.tz-wish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px var(--tz-gap)}
@media(min-width:834px){.tz-wish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tz-wish-item{position:relative;min-width:0}.tz-wish-remove{margin-top:8px;background:none;border:0;padding:0;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--ink-dim,#6b6b72)}
.tz-wish-empty{padding:60px 0;text-align:center}.tz-wish-empty p{margin:0 0 16px}

/* ── MarbleArc 31 Oct 2026: mega menu (chrome.js style "mega", data from Content → Collections menu-<dept>) ────── */
.gn.mega .gn-panelhost{max-width:none;padding:26px var(--tz-gutter) 30px}
.gn-mega{display:grid;grid-template-columns:210px minmax(0,1fr) 190px 280px;gap:36px;position:relative;align-items:start}
@media(max-width:1279px){.gn-mega{grid-template-columns:190px minmax(0,1fr) 170px;gap:28px}.gn-mega-camp{display:none}}
.gn-mega h3{font-family:Outfit,Inter,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-weight:600;color:inherit}
.gn-mega-feats{display:grid;gap:14px;padding-top:2px}
.gn-mega-feat,.gn-mega-badge{display:flex;align-items:center;gap:12px;color:inherit;font-size:14px;font-weight:500;text-decoration:none;line-height:1.25}
.gn-mega-round{width:56px;height:56px;border-radius:50%;overflow:hidden;background:#efe6da;flex:0 0 56px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.gn-mega-round img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block;transition:transform .45s}
.gn-mega-feat:hover img,.gn-mega-badge:hover img{transform:scale(1.08)}
.gn-mega-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gn-mega-group ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.gn-mega-group a{font-size:14px;color:inherit;text-decoration:none;opacity:.86}.gn-mega-group a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.gn-mega-badges{display:grid;gap:12px}.gn-mega-badge .gn-mega-round{width:46px;height:46px;flex-basis:46px}
.gn-mega-camp{position:relative;display:block;aspect-ratio:3/4;max-height:420px;overflow:hidden;background:#efe6da;justify-self:end;width:100%}
.gn-mega-camp img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.gn-mega-camp-label{position:absolute;left:16px;bottom:16px;right:16px;color:#fff;font-family:Outfit,Inter,sans-serif;font-weight:600;font-size:20px;line-height:1.15;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.gn-mega-close{position:absolute;top:-6px;right:0;width:36px;height:36px;border:1px solid rgba(127,127,127,.4);background:rgba(255,255,255,.9);font-size:20px;line-height:1;cursor:pointer;color:#111;border-radius:0}
.gn-mega-close:focus-visible{outline:2px solid var(--accent,#f05a28)}
.gn-m-feats{display:flex;gap:14px;overflow-x:auto;padding:4px 0 16px;scrollbar-width:none;margin-bottom:6px}.gn-m-feats::-webkit-scrollbar{display:none}
.gn-m-feats a{flex:0 0 auto;width:84px;text-align:center;font-size:12px;line-height:1.2;color:inherit;text-decoration:none}
.gn-m-feats img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 12%;display:block;margin:0 auto 6px;background:#efe6da}
html[data-theme="dark"] .tz-pdp-size,html[data-theme="dark"] .tz-heart,html[data-theme="dark"] .tz-rail-btn,html[data-theme="dark"] .tz-pdp-qty,html[data-theme="dark"] .tz-sg,html[data-theme="dark"] .tz-sg-close,html[data-theme="dark"] .gn-mega-close{background:#1c1c1e;color:#fff;border-color:#444}
html[data-theme="dark"] .tz-pdp .pd-buy.tz-pdp-add,html[data-theme="dark"] .tz-pdp-size.on{background:#fff;color:#111}
html[data-theme="dark"] .tz-pdp-promise{background:#1c1c1e;color:#fff}

.gn.mega .gn-panel{max-width:none;width:100%}
.gn-mega-groups{grid-template-columns:repeat(3,minmax(110px,1fr))}
.c2-card{position:relative}.c2-card .tz-heart-card{top:10px;right:10px}
.c2-card .tz-swatches{display:flex;gap:6px;margin-top:8px}

.gn-panel-mega{display:block}
.gn-mega{width:100%;max-width:1480px;margin:0 auto}
.gn-mega-groups{grid-template-columns:repeat(3,minmax(120px,1fr));gap:28px}
@media(min-width:1600px){.gn-mega{grid-template-columns:230px minmax(0,1fr) 210px 320px;gap:48px}}

/* category grid spacing (31 Oct 2026, Ben: "Add same spacing between products as on the top level"): the hairline
   frame grid on category pages becomes an open grid with the home page's gaps (.tz-grid: 22px 12px on phones, 30px 20px
   from 700px, column gap from --tz-gap), and the cards lose their frame lines. ───────────────────────────────────────── */
.c2-grid{border:0;gap:22px 12px}
.c2-card,.c2-card.has-photo,html[data-theme="dark"] .c2-card{border:0}
@media (min-width:700px){.c2-grid{gap:30px 20px}}
.c2-grid{column-gap:var(--tz-gap)}
