:root {
  --ink: #090909;
  --paper: #f1ede3;
  --muted: #aaa49a;
  --gold: #d7ae61;
  --rust: #a9412b;
  --line: rgba(241,237,227,.17);
  --panel: #141414;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
}
a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: var(--gold); color: var(--ink); padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 76px;
  padding: 0 clamp(1.25rem,4vw,4.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(9,9,9,.88);
  backdrop-filter: blur(16px);
}
.wordmark { display: flex; align-items: center; gap: .8rem; text-decoration: none; font-size: .86rem; font-weight: 800; letter-spacing: .17em; }
.mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--gold); color: var(--gold); font-size: .68rem; letter-spacing: .05em; transform: rotate(-3deg); }
nav { display: flex; align-items: center; gap: 2rem; }
nav a { text-decoration: none; font-size: .8rem; text-transform: uppercase; letter-spacing: .13em; color: #cdc8bf; }
nav a:hover, nav a:focus-visible { color: var(--gold); }
.nav-contact { border: 1px solid var(--line); padding: .55rem .8rem; }
.menu-button { display: none; color: var(--paper); border: 1px solid var(--line); background: none; padding: .55rem .75rem; font: inherit; }

.hero {
  position: relative;
  min-height: calc(100svh - 76px);
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
  align-items: center;
  gap: clamp(2rem,6vw,7rem);
  padding: clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,7rem);
  background:
    linear-gradient(90deg, rgba(9,9,9,.98) 0%, rgba(9,9,9,.88) 53%, rgba(9,9,9,.35) 100%),
    radial-gradient(circle at 78% 30%, rgba(169,65,43,.35), transparent 31%);
}
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image: repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(255,255,255,.14) 80px); }
.hero-copy, .hero-portrait { position: relative; z-index: 2; }
.eyebrow { margin: 0 0 1.4rem; color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .22em; }
h1,h2,h3 { margin: 0; line-height: .98; }
h1 { max-width: 770px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(4rem,9vw,8.7rem); font-weight: 400; letter-spacing: -.06em; }
h1 em { color: var(--gold); font-weight: 400; }
.hero-lede { max-width: 650px; margin: 2rem 0 0; color: #cbc6bd; font-size: clamp(1.05rem,1.5vw,1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 2rem 0 2.8rem; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: .8rem 1.15rem; border: 1px solid var(--line); text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: .2s ease; }
.button.primary { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.button:hover { transform: translateY(-2px); border-color: var(--gold); }
.hero-stats { display: flex; gap: clamp(1.5rem,4vw,4rem); padding-top: 1.4rem; border-top: 1px solid var(--line); }
.hero-stats div { display: grid; gap: .1rem; }
.hero-stats strong { font-family: Georgia,serif; font-size: 1.55rem; font-weight: 400; }
.hero-stats span { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.hero-portrait { margin: 0; justify-self: end; width: min(100%,520px); }
.portrait-frame { position: relative; aspect-ratio: 4/5; overflow: hidden; border: 1px solid rgba(215,174,97,.55); background: #222; transform: rotate(1.2deg); }
.portrait-frame::after { content:""; position:absolute; inset:0; box-shadow: inset 0 0 80px rgba(0,0,0,.4); background: linear-gradient(180deg,transparent 55%,rgba(9,9,9,.7)); }
.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:center 35%; filter: grayscale(1) contrast(1.08); }
.hero-portrait figcaption { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.hero-portrait figcaption span { color:var(--muted); }
.frame-code { position:absolute; right:1rem; bottom:1rem; color:#777; font-size:.65rem; letter-spacing:.16em; transform:rotate(-90deg) translateX(100%); transform-origin:right bottom; }

.service-ribbon { padding: 1.1rem clamp(1.25rem,6vw,7rem); display:flex; justify-content:space-between; gap:1.5rem; overflow-x:auto; border-block:1px solid var(--line); background:var(--rust); scrollbar-width:none; }
.service-ribbon span { flex:0 0 auto; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.service-ribbon span:not(:last-child)::after { content:" /"; margin-left:1.5rem; color:rgba(255,255,255,.45); }
.marketing-intro { padding:clamp(5rem,8vw,8rem) clamp(1.25rem,6vw,7rem); border-bottom:1px solid var(--line); }
.marketing-intro > div { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:clamp(2rem,7vw,8rem); }
.marketing-intro h2 { font-family:Georgia,serif; font-size:clamp(3.4rem,7vw,7.2rem); font-weight:400; letter-spacing:-.055em; line-height:.94; }
.marketing-intro > div p { max-width:540px; margin:0 0 .5rem; color:#aaa49a; font-size:1.08rem; }
.text-link { display:inline-flex; gap:.7rem; margin-top:2.5rem; padding-bottom:.35rem; border-bottom:1px solid var(--gold); text-decoration:none; color:var(--gold); font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }

.ventures { padding: clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); }
.section-heading { display:grid; grid-template-columns: 1.15fr .85fr; align-items:end; gap:2rem; margin-bottom:3.5rem; }
.section-heading h2, .about h2, .contact h2 { font-family:Georgia,serif; font-size:clamp(3rem,6vw,6.4rem); font-weight:400; letter-spacing:-.05em; }
.section-heading > p { max-width:520px; justify-self:end; margin:0; color:#aaa49a; font-size:1.05rem; }
.venture-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.venture-card { min-height:560px; padding:1.5rem; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--panel); transition:background .25s ease, transform .25s ease; }
.venture-card:hover { background:#191919; }
.venture-card.featured { background:linear-gradient(150deg,#1a1711,#111); }
.venture-card.dbw { background:linear-gradient(150deg,#142018,#101311); }
.venture-card.panel { background:linear-gradient(150deg,#21150e,#12100f); }
.venture-link { color:inherit; text-decoration:none; }
.venture-link:focus-visible { outline:2px solid var(--gold); outline-offset:-4px; }
.venture-link:hover { transform:translateY(-4px); }
.card-top { display:flex; justify-content:space-between; align-items:center; }
.card-index { color:#777; font-family:Georgia,serif; font-size:1.2rem; }
.status { padding:.35rem .55rem; border:1px solid var(--line); font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; }
.status.live { color:#c6df9d; }
.status.soon { color:var(--gold); }
.status.partner { color:#b8cbe5; }
.card-monogram { margin:auto 0; align-self:flex-end; color:rgba(215,174,97,.17); font-family:Georgia,serif; font-size:clamp(6rem,13vw,12rem); letter-spacing:-.08em; line-height:.8; }
.category { margin:0 0:.8rem; color:var(--gold); font-size:.7rem; font-weight:800; letter-spacing:.18em; }
.card-copy h3 { font-family:Georgia,serif; font-size:clamp(2rem,3.6vw,4rem); font-weight:400; letter-spacing:-.04em; }
.card-copy > p:not(.category) { max-width:620px; color:#b8b2a8; }
.card-copy ul { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.25rem 0 0; padding:0; list-style:none; }
.card-copy li { padding:.35rem .55rem; border:1px solid var(--line); color:#989289; font-size:.72rem; }
.card-link-label { display:inline-flex; gap:.65rem; align-items:center; margin-top:1.5rem; color:var(--gold); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

/* Dirty Bong Water */
.db-page-body { --db-cream:#eee4cf; --db-green:#182319; --db-gold:#c9a45d; background:#0b0e0b; }
.db-header { background:rgba(11,14,11,.9); }
.db-page { overflow:hidden; }
.db-hero { position:relative; min-height:calc(100svh - 76px); display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.78fr); align-items:center; gap:clamp(2rem,6vw,7rem); padding:clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,7rem); background:radial-gradient(circle at 12% 84%,rgba(95,111,55,.2),transparent 30%),linear-gradient(135deg,#0b0e0b 35%,#172018); }
.db-hero::before { content:"DB"; position:absolute; left:-.04em; bottom:-.12em; color:rgba(201,164,93,.045); font-family:Georgia,serif; font-size:clamp(15rem,43vw,42rem); line-height:.75; pointer-events:none; }
.db-hero-copy,.db-product-shot { position:relative; z-index:1; }
.db-hero h1 { max-width:900px; color:var(--db-cream); font-size:clamp(4rem,8.5vw,8.5rem); }
.db-hero h1 em { color:var(--db-gold); }
.db-hero-copy>p:not(.eyebrow):not(.db-signoff) { max-width:680px; margin:2rem 0 0; color:#bdb7aa; font-size:clamp(1.05rem,1.5vw,1.3rem); }
.db-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.db-status-button { border-color:rgba(201,164,93,.55); color:var(--db-gold); cursor:default; }
.db-status-button:not(.ghost) { background:var(--db-gold); color:#10120f; }
.db-status-button:hover { transform:none; }
.db-signoff { margin:2.5rem 0 0; color:var(--db-gold); font-family:Georgia,serif; font-size:1.5rem; font-style:italic; }
.db-product-shot { width:min(100%,560px); justify-self:end; margin:0; }
.db-product-shot img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border:1px solid rgba(201,164,93,.45); box-shadow:0 34px 90px rgba(0,0,0,.48); }
.db-product-shot figcaption { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; color:#8e8c82; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.db-product-shot figcaption strong { color:var(--db-cream); }
.db-ribbon { display:flex; justify-content:space-between; gap:2rem; overflow-x:auto; padding:1rem clamp(1.25rem,6vw,7rem); border-block:1px solid rgba(201,164,93,.2); background:#c9a45d; color:#10120f; scrollbar-width:none; }
.db-ribbon span { flex:0 0 auto; font-size:.75rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.db-ribbon span:not(:last-child)::after { content:" /"; margin-left:2rem; opacity:.5; }
.db-feature { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(3rem,9vw,10rem); align-items:center; padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,7rem); border-bottom:1px solid rgba(238,228,207,.12); }
.db-feature h2,.db-collection h2,.db-wear h2 { font-family:Georgia,serif; font-size:clamp(3.5rem,7vw,7.2rem); font-weight:400; letter-spacing:-.055em; line-height:.92; }
.db-lede { max-width:650px; margin:2rem 0; color:#bdb7aa; font-size:1.1rem; }
.db-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:2.5rem 0 0; background:rgba(238,228,207,.13); border:1px solid rgba(238,228,207,.13); }
.db-specs div { padding:1rem; background:#0f130f; }
.db-specs dt { color:#777a70; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.db-specs dd { margin:.25rem 0 0; color:var(--db-cream); }
.db-label-card { position:relative; min-height:520px; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(1.5rem,4vw,4rem); overflow:hidden; border:1px solid rgba(201,164,93,.6); background:linear-gradient(150deg,#eee4cf,#cfc1a6); color:#172018; box-shadow:18px 20px 0 #172018,19px 21px 0 rgba(201,164,93,.5); }
.db-label-card::before { content:""; position:absolute; inset:1rem; border:1px solid rgba(23,32,24,.34); pointer-events:none; }
.db-monogram { position:absolute; top:.15em; right:.08em; color:rgba(23,32,24,.08); font-family:Georgia,serif; font-size:clamp(10rem,24vw,22rem); line-height:.8; }
.db-label-card p,.db-label-card small { position:relative; margin:0 0 .8rem; font-size:.69rem; font-weight:800; letter-spacing:.18em; }
.db-label-card h3 { position:relative; max-width:500px; font-family:Georgia,serif; font-size:clamp(3rem,6vw,6rem); font-weight:400; letter-spacing:-.05em; }
.db-label-card ul { position:relative; display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 2rem; padding:0; list-style:none; }
.db-label-card li { padding:.35rem .55rem; border:1px solid rgba(23,32,24,.35); font-size:.72rem; }
.db-collection { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); background:#101510; }
.db-scent-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid rgba(238,228,207,.13); border-left:1px solid rgba(238,228,207,.13); }
.db-scent-grid article { min-height:300px; display:flex; flex-direction:column; padding:1.25rem; border-right:1px solid rgba(238,228,207,.13); border-bottom:1px solid rgba(238,228,207,.13); }
.db-scent-grid span { color:#777a70; font-family:Georgia,serif; }
.db-scent-grid h3 { margin:auto 0 1rem; font-family:Georgia,serif; font-size:clamp(1.7rem,2.5vw,2.8rem); font-weight:400; }
.db-scent-grid p { margin:0; color:#8d8f85; font-size:.8rem; }
.db-wear { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(3rem,9vw,10rem); align-items:end; padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,7rem); background:linear-gradient(120deg,#161712,#251d14); }
.db-wear-copy { max-width:580px; }
.db-wear-copy p { margin:0 0 2rem; color:#bdb7aa; font-size:1.1rem; }
.db-back-home { display:flex; justify-content:space-between; align-items:end; gap:2rem; padding:clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,7rem); border-top:1px solid rgba(238,228,207,.12); }
.db-back-home .eyebrow { margin:0; }
.db-back-home a { color:var(--db-gold); font-family:Georgia,serif; font-size:clamp(1.4rem,3vw,2.8rem); text-decoration:none; }

.about { margin:0 clamp(1.25rem,6vw,7rem); padding:clamp(4rem,8vw,8rem) 0; border-top:1px solid var(--line); }
.about-label { display:flex; justify-content:space-between; color:#777; font-size:.68rem; letter-spacing:.17em; }
.about-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,8vw,9rem); align-items:start; margin-top:3.5rem; }
.about h2 { font-size:clamp(3rem,6.7vw,7rem); }
.about-copy { padding-top:.6rem; border-top:3px solid var(--gold); color:#bcb6ac; font-size:1.08rem; }
.about-copy p:first-child { margin-top:1.5rem; }

.contact { padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,7rem); background:var(--paper); color:var(--ink); }
.contact .eyebrow { color:var(--rust); }
.contact h2 { max-width:1000px; }
.contact > p:not(.eyebrow) { max-width:600px; margin:1.5rem 0; color:#4e4b45; font-size:1.05rem; }
.contact-link { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1.25rem 0; border-block:1px solid rgba(0,0,0,.25); text-decoration:none; font-family:Georgia,serif; font-size:clamp(1.25rem,3vw,3rem); }
.contact-link span { color:var(--rust); }
.email-link { display:inline-block; margin-top:1.3rem; color:#555149; text-underline-offset:.25rem; }
.socials { display:grid; grid-template-columns:auto 1fr; gap:.2rem 1rem; margin-top:2rem; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.socials span { color:#777; }

.playlist-page { min-height:calc(100svh - 166px); }
.playlist-hero { min-height:calc(100svh - 76px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); align-items:center; gap:clamp(3rem,8vw,9rem); padding:clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,7rem); background:radial-gradient(circle at 78% 42%,rgba(169,65,43,.3),transparent 29%),linear-gradient(135deg,#090909 35%,#15110e); overflow:hidden; }
.playlist-copy { position:relative; z-index:2; }
.playlist-copy > p:not(.eyebrow) { max-width:660px; margin:2rem 0 0; color:#bdb7ad; font-size:clamp(1.05rem,1.5vw,1.3rem); }
.playlist-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.playlist-art { position:relative; width:min(100%,560px); aspect-ratio:1; justify-self:end; border-radius:50%; background:repeating-radial-gradient(circle at center,#171717 0 3px,#0c0c0c 4px 8px); box-shadow:0 32px 90px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.08); animation:record-spin 28s linear infinite; }
.vinyl-ring { position:absolute; border:1px solid rgba(215,174,97,.22); border-radius:50%; inset:12%; }
.ring-two { inset:24%; }
.ring-three { inset:36%; }
.record-label { position:absolute; inset:34%; display:grid; place-items:center; align-content:center; border-radius:50%; background:var(--rust); color:#fff; text-align:center; line-height:1; box-shadow:0 0 0 4px #0b0b0b; }
.record-label small,.record-label span { font-size:clamp(.5rem,1vw,.75rem); letter-spacing:.18em; }
.record-label strong { margin:.45rem 0; font-family:Georgia,serif; font-size:clamp(2rem,6vw,5rem); font-weight:400; }
.playlist-library { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); border-top:1px solid var(--line); }
.playlist-library .section-heading h2 { font-family:Georgia,serif; font-size:clamp(3rem,6vw,6rem); font-weight:400; letter-spacing:-.05em; }
.music-grid { display:grid; gap:1rem; }
.music-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr); gap:clamp(2rem,6vw,7rem); align-items:center; padding:clamp(1.5rem,4vw,4rem); border:1px solid var(--line); background:linear-gradient(140deg,#17130f,#111); }
.music-card:nth-child(2) { background:linear-gradient(140deg,#131313,#19100e); }
.music-card-copy h3 { margin-top:1rem; font-family:Georgia,serif; font-size:clamp(2.2rem,4.5vw,5rem); font-weight:400; letter-spacing:-.04em; line-height:.98; }
.apple-embed { width:100%; max-width:100%; border-radius:12px; background:#111; }
@keyframes record-spin { to { transform:rotate(360deg); } }

footer { min-height:90px; padding:1.5rem clamp(1.25rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; color:#777; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
footer a { text-decoration:none; color:var(--paper); }

@media (max-width: 900px) {
  .hero { grid-template-columns:1fr; padding-top:4.5rem; }
  .hero-portrait { justify-self:start; width:min(88%,500px); }
  .section-heading, .about-grid, .marketing-intro > div { grid-template-columns:1fr; }
  .playlist-hero { grid-template-columns:1fr; }
  .playlist-art { justify-self:start; width:min(85vw,520px); }
  .music-card { grid-template-columns:1fr; }
  .section-heading > p { justify-self:start; }
  .venture-grid { grid-template-columns:1fr; }
  .venture-card { min-height:500px; }
  .card-monogram { font-size:8rem; }
  .db-hero,.db-feature,.db-wear { grid-template-columns:1fr; }
  .db-product-shot { justify-self:start; width:min(90%,560px); }
  .db-scent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 660px) {
  .site-header { height:66px; }
  .menu-button { display:block; }
  nav { display:none; position:absolute; top:65px; left:0; right:0; padding:1.25rem; flex-direction:column; align-items:stretch; background:#0d0d0d; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  nav a { padding:.6rem 0; }
  .hero { min-height:auto; padding-block:4rem; }
  h1 { font-size:clamp(3.6rem,18vw,6rem); }
  .hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
  .hero-stats span { font-size:.6rem; }
  .service-ribbon { margin:0; }
  .venture-card { min-height:470px; padding:1.15rem; }
  .about-label { gap:1rem; }
  .contact-link { word-break:break-word; }
  .db-hero { padding-block:3.5rem; }
  .db-product-shot { width:100%; }
  .db-specs,.db-scent-grid { grid-template-columns:1fr; }
  .db-scent-grid article { min-height:220px; }
  .db-label-card { min-height:430px; box-shadow:8px 9px 0 #172018,9px 10px 0 rgba(201,164,93,.5); }
  .db-back-home { align-items:flex-start; flex-direction:column; }
  footer { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; animation:none !important; } }

/* DB Collection 01 expansion */
.db-hero-grand { min-height:calc(100svh - 76px); background:radial-gradient(circle at 13% 70%,rgba(81,105,54,.23),transparent 28%),radial-gradient(circle at 88% 20%,rgba(201,164,93,.12),transparent 25%),#090d09; }
.db-hero-grand::after { content:"COLLECTION 01"; position:absolute; top:2rem; right:-1.4rem; color:rgba(238,228,207,.1); font-size:.65rem; font-weight:800; letter-spacing:.55em; writing-mode:vertical-rl; }
.db-outline-button { border-color:rgba(238,228,207,.28); color:var(--db-cream); }
.db-outline-button:hover { color:var(--db-gold); }
.db-product-shot-grand { width:min(100%,620px); }
.db-shot-frame { position:relative; padding:12px; border:1px solid rgba(201,164,93,.42); }
.db-shot-frame::before,.db-shot-frame::after { content:""; position:absolute; width:58px; height:58px; border-color:var(--db-gold); opacity:.75; pointer-events:none; }
.db-shot-frame::before { top:-7px; left:-7px; border-top:1px solid; border-left:1px solid; }
.db-shot-frame::after { right:-7px; bottom:-7px; border-right:1px solid; border-bottom:1px solid; }
.db-product-shot-grand img { aspect-ratio:4/5; }
.db-manifesto { display:grid; grid-template-columns:.4fr 1.2fr .7fr; gap:clamp(2rem,6vw,7rem); align-items:start; padding:clamp(6rem,10vw,11rem) clamp(1.25rem,6vw,7rem); border-bottom:1px solid rgba(238,228,207,.12); background:linear-gradient(150deg,#0a0d0a,#11180f); }
.db-manifesto-line { margin:0; color:var(--db-cream); font-family:Georgia,serif; font-size:clamp(3rem,6vw,7rem); line-height:.9; letter-spacing:-.055em; }
.db-manifesto-line em { color:var(--db-gold); font-weight:400; }
.db-manifesto-copy p { margin:0; color:#aaa99f; font-size:1.08rem; }
.db-label-card { color:#172018; text-decoration:none; transition:transform .3s ease,box-shadow .3s ease; }
.db-label-card:hover { transform:translate(-5px,-5px); box-shadow:24px 26px 0 #172018,25px 27px 0 rgba(201,164,93,.5); }
.db-scent-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.db-scent-card { position:relative; min-height:420px; display:flex; flex-direction:column; padding:1.25rem; overflow:hidden; border-right:1px solid rgba(238,228,207,.13); border-bottom:1px solid rgba(238,228,207,.13); color:var(--db-cream); text-decoration:none; isolation:isolate; transition:transform .25s ease,filter .25s ease; }
.db-scent-card::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.9; transition:transform .45s ease,opacity .3s ease; }
.db-scent-card::after { content:"DB"; position:absolute; right:-.08em; bottom:-.12em; z-index:-1; color:rgba(255,255,255,.045); font-family:Georgia,serif; font-size:9rem; line-height:.8; }
.db-scent-card:hover { transform:translateY(-7px); filter:brightness(1.12); }
.db-scent-card:hover::before { transform:scale(1.04); opacity:1; }
.db-scent-card:focus-visible,.db-product-tile:focus-visible { outline:2px solid var(--db-gold); outline-offset:-4px; }
.db-scent-card.forest::before,.db-product-tile.forest { background:radial-gradient(circle at 70% 18%,rgba(155,170,94,.2),transparent 25%),linear-gradient(145deg,#192718,#0b110c); }
.db-scent-card.pine::before,.db-product-tile.pine { background:radial-gradient(circle at 75% 20%,rgba(218,184,64,.22),transparent 22%),linear-gradient(145deg,#183c22,#0c1810); }
.db-scent-card.coffee::before,.db-product-tile.coffee { background:radial-gradient(circle at 75% 18%,rgba(211,150,90,.25),transparent 24%),linear-gradient(145deg,#422719,#170e0a); }
.db-scent-card.midnight::before,.db-product-tile.midnight { background:radial-gradient(circle at 75% 18%,rgba(128,93,169,.3),transparent 24%),linear-gradient(145deg,#20172b,#090811); }
.db-scent-card.sticky::before,.db-product-tile.sticky { background:radial-gradient(circle at 75% 18%,rgba(228,153,54,.3),transparent 23%),linear-gradient(145deg,#4b2b0f,#17140a); }
.db-scent-no { font-family:Georgia,serif; color:rgba(238,228,207,.55); }
.db-card-status { align-self:flex-end; margin-top:-1.6rem; padding:.25rem .45rem; border:1px solid rgba(238,228,207,.23); font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.db-scent-card h3 { margin:auto 0 1rem; font-family:Georgia,serif; font-size:clamp(1.75rem,2.5vw,2.8rem); font-weight:400; line-height:.96; }
.db-scent-card p { min-height:3.8em; margin:0; color:rgba(238,228,207,.65); font-size:.76rem; }
.db-scent-card b { margin-top:1.4rem; color:var(--db-gold); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }

/* DB shop */
.db-shop-main { overflow:hidden; }
.db-shop-hero { position:relative; min-height:72svh; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:3rem; padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,7rem); background:radial-gradient(circle at 75% 42%,rgba(201,164,93,.17),transparent 25%),linear-gradient(135deg,#090d09,#171d13); }
.db-shop-hero::before { content:"DB"; position:absolute; right:-.08em; top:.05em; color:rgba(201,164,93,.045); font-family:Georgia,serif; font-size:clamp(18rem,45vw,44rem); line-height:.75; }
.db-shop-hero>* { position:relative; z-index:1; }
.db-shop-hero h1 { color:var(--db-cream); }
.db-shop-hero>div { display:flex; gap:2rem; align-items:flex-end; }
.db-shop-hero>div>p { max-width:500px; margin:0; color:#aaa99f; font-size:1.1rem; }
.db-launch-seal { flex:0 0 118px; height:118px; display:grid; place-items:center; border:1px solid var(--db-gold); border-radius:50%; color:var(--db-gold); text-align:center; font-size:.68rem; font-weight:800; letter-spacing:.18em; transform:rotate(8deg); }
.db-shop-intro { display:grid; grid-template-columns:1fr 1.3fr; gap:4rem; align-items:center; padding:2rem clamp(1.25rem,6vw,7rem); border-block:1px solid rgba(238,228,207,.12); }
.db-shop-intro>p { color:#aaa99f; }
.db-shop-intro dl { display:grid; grid-template-columns:repeat(3,1fr); margin:0; }
.db-shop-intro dl div { padding:1rem; border-left:1px solid rgba(238,228,207,.12); }
.db-shop-intro dt { color:#777a70; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.db-shop-intro dd { margin:.2rem 0 0; font-family:Georgia,serif; font-size:1.2rem; }
.db-shop-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.db-product-tile { position:relative; min-height:720px; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(1.5rem,4vw,4rem); overflow:hidden; border-right:1px solid rgba(238,228,207,.13); border-bottom:1px solid rgba(238,228,207,.13); text-decoration:none; transition:filter .3s ease; }
a.db-product-tile:hover { filter:brightness(1.14); }
.db-product-tile>span { color:rgba(238,228,207,.55); font-size:.68rem; font-weight:800; letter-spacing:.18em; }
.db-product-tile>div:last-child p { color:rgba(238,228,207,.66); font-size:.78rem; letter-spacing:.04em; }
.db-product-tile h2 { max-width:620px; margin:.55rem 0 1.5rem; font-family:Georgia,serif; font-size:clamp(3rem,5vw,6rem); font-weight:400; letter-spacing:-.05em; }
.db-product-tile strong { color:var(--db-gold); font-size:.7rem; letter-spacing:.15em; }
.db-jar { position:relative; width:220px; height:265px; display:flex; flex-direction:column; justify-content:center; align-items:center; align-self:center; border-radius:18px 18px 36px 36px; background:linear-gradient(110deg,#080908,#242624 50%,#050605 85%); box-shadow:inset -18px 0 25px rgba(0,0,0,.45),0 35px 50px rgba(0,0,0,.5); }
.db-jar::before { content:""; position:absolute; top:-20px; width:102%; height:35px; border-radius:10px; background:linear-gradient(#242622,#080908); box-shadow:0 4px 6px rgba(0,0,0,.6); }
.db-jar b { color:var(--db-gold); font-family:Georgia,serif; font-size:3.2rem; font-weight:400; }
.db-jar small { width:70%; padding:.8rem 0; border-block:1px solid rgba(201,164,93,.45); color:var(--db-cream); text-align:center; font-size:.64rem; letter-spacing:.16em; }
.db-wear-tile { background:linear-gradient(145deg,#181713,#292015); }
.db-wear-mark { align-self:center; color:rgba(201,164,93,.2); font-family:Georgia,serif; font-size:13rem; line-height:1; }
.db-shop-close { padding:clamp(6rem,11vw,12rem) clamp(1.25rem,6vw,7rem); background:#0a0d0a; text-align:center; }
.db-shop-close h2 { color:var(--db-cream); font-family:Georgia,serif; font-size:clamp(4rem,9vw,9rem); font-weight:400; letter-spacing:-.06em; line-height:.85; }

/* Individual scent worlds */
.scent-page { --scent:#c9a45d; --scent-deep:#11160f; background:var(--scent-deep); }
.forest-theme { --scent:#b5a566; --scent-deep:#0a100a; --scent-mid:#1c2b1b; }
.pine-theme { --scent:#d8be58; --scent-deep:#07130b; --scent-mid:#174426; }
.coffee-theme { --scent:#d59d67; --scent-deep:#160c08; --scent-mid:#4b291b; }
.midnight-theme { --scent:#c79673; --scent-deep:#080710; --scent-mid:#261b38; }
.sticky-theme { --scent:#e0a448; --scent-deep:#160f05; --scent-mid:#4c2c0d; }
.scent-page .eyebrow,.scent-page h1 em,.scent-page .mark { color:var(--scent); }
.scent-page .mark { border-color:var(--scent); }
.scent-hero { position:relative; min-height:calc(100svh - 76px); display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(2rem,8vw,10rem); padding:clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,7rem); overflow:hidden; background:radial-gradient(circle at 24% 50%,var(--scent-mid),transparent 33%),linear-gradient(120deg,var(--scent-deep),#080908); }
.scent-hero::after { content:"01"; position:absolute; right:-.03em; bottom:-.2em; color:rgba(255,255,255,.025); font-family:Georgia,serif; font-size:clamp(18rem,42vw,42rem); line-height:.8; pointer-events:none; }
.pine-theme .scent-hero::after { content:"02"; }.coffee-theme .scent-hero::after { content:"03"; }.midnight-theme .scent-hero::after { content:"04"; }.sticky-theme .scent-hero::after { content:"05"; }
.scent-orbit { position:relative; width:min(31vw,470px); aspect-ratio:1; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--scent) 55%,transparent); border-radius:50%; box-shadow:0 0 100px color-mix(in srgb,var(--scent) 14%,transparent); }
.scent-orbit::before,.scent-orbit::after { content:""; position:absolute; border:1px solid color-mix(in srgb,var(--scent) 25%,transparent); border-radius:50%; }
.scent-orbit::before { inset:10%; }.scent-orbit::after { inset:24%; }
.scent-orbit span { color:var(--scent); font-family:Georgia,serif; font-size:clamp(5rem,10vw,10rem); letter-spacing:-.08em; }
.scent-copy { position:relative; z-index:1; }
.scent-copy h1 { color:var(--db-cream); font-size:clamp(4rem,8vw,8.5rem); }
.scent-copy h1 em { font-weight:400; }
.scent-intro { max-width:740px; margin:2rem 0; color:#c2baaa; font-size:clamp(1.05rem,1.5vw,1.3rem); }
.scent-notes { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2rem; }
.scent-notes span { padding:.45rem .7rem; border:1px solid color-mix(in srgb,var(--scent) 35%,transparent); color:var(--scent); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.scent-status { border-color:var(--scent); background:var(--scent); color:#111; cursor:default; }
.scent-status:hover { transform:none; }
.scent-story { display:grid; grid-template-columns:.35fr 1.2fr .65fr; gap:clamp(2rem,6vw,7rem); align-items:start; padding:clamp(6rem,11vw,12rem) clamp(1.25rem,6vw,7rem); background:linear-gradient(145deg,var(--scent-deep),var(--scent-mid)); }
.scent-story blockquote { margin:0; color:var(--db-cream); font-family:Georgia,serif; font-size:clamp(2.8rem,5.5vw,6rem); line-height:.95; letter-spacing:-.045em; }
.scent-story>p:last-child { margin:0; color:#b6ad9e; font-size:1.07rem; }
.scent-details { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,9rem); align-items:start; padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); background:#0a0b0a; }
.scent-details h2 { color:var(--db-cream); font-family:Georgia,serif; font-size:clamp(3.5rem,7vw,7rem); font-weight:400; letter-spacing:-.05em; }
.scent-details dl { display:grid; grid-template-columns:repeat(2,1fr); margin:0; border-top:1px solid rgba(238,228,207,.14); border-left:1px solid rgba(238,228,207,.14); }
.scent-details dl div { padding:1.2rem; border-right:1px solid rgba(238,228,207,.14); border-bottom:1px solid rgba(238,228,207,.14); }
.scent-details dt { color:#777; font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; }
.scent-details dd { margin:.25rem 0 0; color:var(--db-cream); }
.scent-next { padding:clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,7rem); background:var(--scent-mid); }
.scent-next p { color:rgba(238,228,207,.55); font-size:.68rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.scent-next a { display:flex; justify-content:space-between; gap:2rem; color:var(--db-cream); text-decoration:none; font-family:Georgia,serif; font-size:clamp(3rem,8vw,8rem); line-height:1; letter-spacing:-.055em; }
.scent-next a span { color:var(--scent); }

@media (max-width:1000px) {
  .db-scent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .db-manifesto,.scent-story { grid-template-columns:1fr; }
  .db-manifesto-copy { max-width:650px; }
  .db-shop-hero,.db-shop-intro,.scent-details { grid-template-columns:1fr; }
  .scent-hero { grid-template-columns:1fr; }
  .scent-orbit { width:min(60vw,430px); }
}
@media (max-width:700px) {
  .db-scent-grid,.db-shop-grid { grid-template-columns:1fr; }
  .db-scent-card { min-height:340px; }
  .db-shop-hero>div { align-items:flex-start; flex-direction:column; }
  .db-shop-intro dl { grid-template-columns:1fr; }
  .db-shop-intro dl div { border-left:0; border-top:1px solid rgba(238,228,207,.12); }
  .db-product-tile { min-height:620px; }
  .db-jar { width:185px; height:225px; }
  .scent-orbit { width:min(76vw,390px); }
  .scent-details dl { grid-template-columns:1fr; }
  .scent-next a { flex-direction:column; gap:.6rem; }
}
