/* =========================================================
   ANTRA — botanical perfume & ritual skincare
   Aesthetic: midnight apothecary, antique gold, divine feminine
   ========================================================= */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&family=Dancing+Script:wght@500;600;700&display=swap');

/* ---------- Tokens ---------- */
:root{
  /* ===== NIGHT (default) ===== */
  --bg:        #0c0a0f;
  --bg-2:      #110d14;
  --panel:     #17121d;
  --panel-2:   #1d1722;
  --line:      rgba(201,168,106,.20);
  --line-soft: rgba(236,230,223,.10);

  --gold:      #c9a86a;
  --gold-br:   #e6cf97;
  --gold-deep: #9a7d44;

  --ink:       #ece6df;
  --muted:     #a89f93;
  --muted-2:   #888076;   /* clears AA on the near-black footer even under the grain veil */

  --wine:      #3a1320;

  --accent:    #c9a86a;          /* overridden per-product */
  --accent-ink: color-mix(in srgb, var(--accent) 78%, #ffffff);   /* brightened so saturated reds clear AA on dark */

  /* component surfaces (themeable) */
  --header-bg:  rgba(10,8,12,.86);
  --nav-bg:     rgba(10,8,12,.97);
  --footer-bg:  #08060a;
  --tag-bg:     rgba(10,8,12,.6);
  --input-bg:   rgba(0,0,0,.3);
  --card-shadow: 0 24px 60px -28px rgba(0,0,0,.85);

  --maxw:      1240px;
  --ease:      cubic-bezier(.22,.61,.36,1);
  --serif:     'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:      'Jost', 'Helvetica Neue', Arial, sans-serif;
}

/* ===== DAY ===== soft warm cream, charcoal ink, deepened gold ===== */
:root[data-theme="day"]{
  --bg:        #ffffff;
  --bg-2:      #faf7f2;
  --panel:     #ffffff;
  --panel-2:   #f6f1ea;
  --line:      rgba(150,118,60,.30);
  --line-soft: rgba(60,42,26,.13);

  --gold:      #9c7836;
  --gold-br:   #876226;
  --gold-deep: #b6913f;

  --ink:       #2c2433;
  --muted:     #6d6253;
  --muted-2:   #675d4e;   /* dark enough to clear AA on the cream footer even under the grain veil */

  --wine:      #f3dde1;

  --accent-ink: color-mix(in srgb, var(--accent) 54%, #1a1008);

  --header-bg:  rgba(250,245,238,.9);
  --nav-bg:     rgba(250,245,238,.98);
  --footer-bg:  #efe6d7;
  --tag-bg:     rgba(255,253,250,.78);
  --input-bg:   rgba(40,28,12,.05);
  --card-shadow: 0 22px 48px -30px rgba(78,54,28,.5);
}

/* Per-element accent-ink: re-derive on the containers that set their OWN --accent
   (cards, archetypes, oracle result) so eyebrows/labels take the goddess's colour,
   not the root gold. A nested var() inside --accent-ink bakes at its declaring element,
   so it must be re-declared where the local --accent lives. */
.card, .archetype, .or-result{ --accent-ink: color-mix(in srgb, var(--accent) 78%, #ffffff); }
:root[data-theme="day"] .card,
:root[data-theme="day"] .archetype,
:root[data-theme="day"] .or-result{ --accent-ink: color-mix(in srgb, var(--accent) 54%, #1a1008); }

/* Smooth theme cross-fade */
body, .site-header, .strip, .card, .arch-media, .ritual-card, .moon-card,
.contents-list .ci, .site-footer, .newsletter input, .theme-toggle, .nav,
.btn, .card-body, .pd-main, .split-media{
  transition: background-color .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
}

/* Cinematic photo sections stay on a dark canvas in BOTH themes,
   so light text stays readable over the moody imagery. */
.hero, .page-hero, .philosophy{
  --ink:#f4eee5; --muted:#d3cabd; --gold:#cda85f; --gold-br:#ecd49b;
  --accent-ink: color-mix(in srgb, var(--accent) 82%, #ffffff);
  color:var(--ink);   /* re-resolve so headings (which inherit color) stay light over the dark imagery */
}

/* Day-mode legibility overrides — small caption/label text needs the deeper gold
   on cream (kept day-only so the night look is unchanged). */
:root[data-theme="day"] .eyebrow,
:root[data-theme="day"] .prose .chapter-eyebrow,
:root[data-theme="day"] .foot-col h4{ color:var(--gold-br); }
/* …but the product & archetype eyebrows must keep the per-product accent, not gold */
:root[data-theme="day"] .arch-body .eyebrow,
:root[data-theme="day"] .pd-info .eyebrow{ color:var(--accent-ink); }
:root[data-theme="day"] .btn-wa{ color:#1f7a47; border-color:#2e8b57; }
:root[data-theme="day"] .clean-list.no .mark{ color:#a8433f; }
/* idle ghost-button labels need the deeper gold on cream (hover/solid keep their own colours) */
:root[data-theme="day"] .btn:not(.solid):not(.btn-wa):not(:hover){ color:var(--gold-br); }

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-weight:300; font-size:17px; line-height:1.7;
  letter-spacing:.01em; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:500; line-height:1.08; margin:0; letter-spacing:.005em; }
p{ margin:0 0 1em; }
::selection{ background:var(--gold); color:#1a1208; }

/* =========================================================
   ATMOSPHERE — grain veil · gold light-pools · focus · scroll progress
   ========================================================= */
/* film-grain veil — static fixed layer, no blend-mode (cheap to composite) */
body::after{
  content:""; position:fixed; inset:0; z-index:90; pointer-events:none;
  opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:170px 170px;
}
:root[data-theme="day"] body::after{ opacity:.022; }
@media print{ body::after{ display:none; } }

/* soft radial gold light-pools behind the long section stack */
.intro, .goddess{ position:relative; isolation:isolate; }
.intro::before, .goddess::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(58% 48% at var(--glow-x,30%) 14%, color-mix(in srgb, var(--gold) 13%, transparent), transparent 70%);
}
.goddess::before{ --glow-x:76%; }
.intro > .wrap, .goddess > .wrap, .goddess .archetype{ position:relative; z-index:1; }
:root[data-theme="day"] .intro::before,
:root[data-theme="day"] .goddess::before{ opacity:.55; }

/* unified gold focus-visible ring (per-accent) */
:where(a,button,summary,input,.theme-toggle,.pd-thumbs button):focus-visible{
  outline:2px solid var(--accent-ink); outline-offset:3px; border-radius:2px;
}
.card:has(.card-link:focus-visible){
  border-color:var(--accent); box-shadow:var(--card-shadow);
  outline:2px solid var(--accent-ink); outline-offset:2px;
}
body:has(.hero) .site-header:not(.scrolled) :focus-visible,
body:has(.page-hero) .site-header:not(.scrolled) :focus-visible{ outline-color:var(--hdr-gold); }

/* slim scroll-progress bar (in header; fed by one rAF in site.js) */
.scroll-progress{ position:absolute; left:0; right:0; bottom:0; height:2px; pointer-events:none; }
.scroll-progress > i{ display:block; height:100%; width:100%; transform-origin:left center; transform:scaleX(0); background:linear-gradient(90deg, var(--accent,var(--gold)), var(--gold-br)); will-change:transform; }

/* ---------- Layout helpers ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(20px,5vw,56px); }
.section{ padding-block:clamp(64px,9vw,124px); position:relative; }
.center{ text-align:center; }
.eyebrow{
  font-family:var(--sans); font-weight:400; font-size:.74rem; letter-spacing:.34em;
  text-transform:uppercase; color:var(--gold); margin:0 0 1.1rem;
}
.eyebrow::before{ content:"✦"; margin-right:.7em; opacity:.7; }
.display{ font-size:clamp(2.3rem,5.4vw,4.1rem); }
.h2{ font-size:clamp(2rem,4vw,3.1rem); }
.lead{ font-size:1.18rem; color:var(--muted); max-width:62ch; }
.muted{ color:var(--muted); }
.divider{ width:54px; height:1px; background:var(--gold); opacity:.6; margin:1.4rem auto; }
.divider.left{ margin-inline:0; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6em; justify-content:center;
  font-family:var(--sans); font-weight:400; font-size:.78rem; letter-spacing:.2em;
  text-transform:uppercase; padding:.95em 1.9em; border-radius:2px;
  border:1px solid var(--gold); color:var(--gold); background:transparent;
  transition:.45s var(--ease); position:relative; overflow:hidden;
}
.btn::after{ content:""; position:absolute; inset:0; background:var(--gold); transform:translateY(101%); transition:.45s var(--ease); z-index:-1; }
.btn:hover{ color:#160f06; }
.btn:hover::after{ transform:translateY(0); }
.btn.solid{ background:var(--gold); color:#160f06; }
.btn.solid::after{ background:var(--gold-br); }
.btn.solid:hover{ color:#160f06; }
.btn.block{ width:100%; }
.btn.lg{ padding:1.1em 2.4em; }
.btn-wa{ border-color:#3fae6e; color:#7ce0a3; }
.btn-wa::after{ background:#3fae6e; }
.btn-wa:hover{ color:#06210f; }
.btn-text{ color:var(--gold); border-bottom:1px solid transparent; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; padding-bottom:2px; transition:.3s; }
.btn-text:hover{ border-color:var(--gold); }
.btn-text .arr{ transition:transform .35s var(--ease); display:inline-block; }
.btn-text:hover .arr{ transform:translateX(5px); }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px clamp(20px,5vw,56px);
  transition:background .5s var(--ease), padding .5s var(--ease), box-shadow .5s var(--ease), border-color .5s;
  border-bottom:1px solid transparent;
  --hdr-text:var(--ink); --hdr-gold:var(--gold);   /* themed by default (pages without a dark hero, e.g. product) */
}
/* Pages whose top is a cinematic dark hero → light header controls until scrolled */
body:has(.hero) .site-header:not(.scrolled),
body:has(.page-hero) .site-header:not(.scrolled){ --hdr-text:#f0e9df; --hdr-gold:#e6cf97; }
.site-header.scrolled{
  background:var(--header-bg); backdrop-filter:blur(14px);
  padding:14px clamp(20px,5vw,56px); border-bottom-color:var(--line);
  --hdr-text:var(--ink); --hdr-gold:var(--gold);
}
.header-right{ display:flex; align-items:center; gap:clamp(14px,2vw,28px); }
.brand-mark{ font-family:var(--serif); font-weight:500; font-size:1.7rem; letter-spacing:.42em; color:var(--hdr-text); padding-left:.42em; }
.brand-mark b{ font-weight:500; }
.nav{ display:flex; align-items:center; gap:clamp(18px,2.4vw,38px); }
.nav a{
  font-family:var(--sans); font-weight:300; font-size:.8rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--hdr-text); opacity:.82; position:relative; padding:.3em 0;
  transition:opacity .3s, color .3s;
}
.nav a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--hdr-gold); transition:width .35s var(--ease); }
.nav a:hover{ opacity:1; color:var(--hdr-gold); }
.nav a:hover::after, .nav a.active::after{ width:100%; }
.nav a.active{ color:var(--hdr-gold); opacity:1; }
.nav-cta{ border:1px solid var(--line); padding:.55em 1.2em !important; border-radius:2px; }
.nav-cta:hover{ border-color:var(--hdr-gold); }
.theme-toggle{
  flex:none; width:38px; height:38px; border-radius:50%; background:transparent;
  border:1px solid var(--line); color:var(--hdr-text); display:inline-flex;
  align-items:center; justify-content:center; transition:.4s var(--ease);
}
.theme-toggle:hover{ border-color:var(--hdr-gold); color:var(--hdr-gold); transform:rotate(18deg); }
.theme-toggle svg{ width:18px; height:18px; display:block; }
.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:6px; z-index:120; }
.burger span{ width:24px; height:1.5px; background:var(--hdr-text); transition:.35s var(--ease); }
.burger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* =========================================================
   HERO
   ========================================================= */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; isolation:isolate; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:-2; overflow:hidden; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; animation:kenburns 26s ease-in-out infinite alternate; transform-origin:62% 38%; will-change:transform; }
@keyframes kenburns{ from{ transform:scale(1.06) translate3d(0,0,0); } to{ transform:scale(1.12) translate3d(-1.4%,-1.2%,0); } }
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(95% 70% at 22% 62%, color-mix(in srgb,var(--accent) 14%,transparent) 0%, transparent 48%),
    linear-gradient(105deg, rgba(8,6,10,.82) 0%, rgba(8,6,10,.34) 46%, rgba(8,6,10,.12) 100%),
    radial-gradient(120% 90% at 70% 18%, transparent 0%, rgba(8,6,10,.92) 100%);
}
.hero-inner{ max-width:760px; padding-block:120px; }
.hero h1{ font-size:clamp(2.9rem,7.4vw,6rem); font-weight:400; line-height:1; letter-spacing:.01em; }
.hero h1 em{
  font-style:italic; color:var(--gold-br);   /* fallback if background-clip unsupported */
  background:linear-gradient(100deg, var(--gold-br) 30%, #fff7e6 50%, var(--gold-br) 70%);
  background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:sheen 2.4s var(--ease) .5s 1 both;
}
@keyframes sheen{ from{ background-position:140% 0; } to{ background-position:-40% 0; } }
.hero .lead{ margin-top:1.6rem; font-size:clamp(1.05rem,1.8vw,1.32rem); color:#d8d0c6; }
.hero-actions{ margin-top:2.4rem; display:flex; gap:16px; flex-wrap:wrap; }
.scroll-cue{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%);
  font-family:var(--sans); font-size:.66rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--muted); display:flex; flex-direction:column; align-items:center; gap:10px;
}
.scroll-cue .line{ width:14px; height:14px; border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(45deg); animation:cue 2s var(--ease) infinite; }
@keyframes cue{ 0%,100%{ transform:translateY(-3px) rotate(45deg); opacity:.35; } 50%{ transform:translateY(3px) rotate(45deg); opacity:1; } }

/* ---------- Marquee strip ---------- */
.strip{ border-block:1px solid var(--line); background:var(--bg-2); overflow:hidden; }
.strip-track{ display:flex; gap:2.6rem; white-space:nowrap; padding-block:16px; width:max-content; animation:marq 40s linear infinite; }
.strip span{ font-family:var(--sans); font-weight:400; font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink); opacity:.85; display:inline-flex; align-items:center; gap:2.6rem; }
.strip span::after{ content:"✦"; color:var(--gold); opacity:.9; }
@keyframes marq{ to{ transform:translateX(-50%); } }

/* =========================================================
   INTRO / ABOUT teaser
   ========================================================= */
.intro{ background:linear-gradient(180deg,var(--bg),var(--bg-2)); }
.intro .wrap{ max-width:880px; text-align:center; }
.intro p.big{ font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.25rem); line-height:1.4; color:var(--ink); font-weight:400; }
.intro p.big .gold{ color:var(--gold-br); font-style:italic; }

/* =========================================================
   SECTION HEADING block
   ========================================================= */
.sec-head{ max-width:680px; margin-bottom:clamp(40px,5vw,68px); }
.sec-head.center{ margin-inline:auto; }

/* =========================================================
   PRODUCT GRID / CARDS
   ========================================================= */
.grid{ display:grid; gap:clamp(20px,2.4vw,34px); }
.grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.grid.cols-4{ grid-template-columns:repeat(4,1fr); }
.grid.cols-2{ grid-template-columns:repeat(2,1fr); }

.card{ position:relative; display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line-soft); border-radius:3px; overflow:hidden; transition:.5s var(--ease); }
.card::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; z-index:4; pointer-events:none; background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 40%,transparent)); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.card:hover::before{ transform:scaleX(1); }
.card:hover{ border-color:var(--accent); transform:translateY(-4px);
  box-shadow:var(--card-shadow), 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent), 0 18px 50px -30px color-mix(in srgb,var(--accent) 55%,transparent); }
.card-media{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--bg-2); }
.card-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease), opacity .5s; }
.card:hover .card-media img{ transform:scale(1.06); }
.card-media::before{ content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(115deg, transparent 30%, color-mix(in srgb,var(--gold-br) 20%,transparent) 48%, transparent 66%);
  transform:translateX(-120%); transition:transform .9s var(--ease); }
.card:hover .card-media::before{ transform:translateX(120%); }
.card-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(8,6,10,.65)); opacity:0; transition:.5s; }
.card:hover .card-media::after{ opacity:1; }
.card-tag{
  position:absolute; top:14px; left:14px; z-index:2;
  font-family:var(--sans); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink); background:var(--tag-bg); border:1px solid var(--line);
  padding:.4em .7em; border-radius:2px; backdrop-filter:blur(6px);
}
.card-tag.accent{ color:var(--accent-ink); border-color:color-mix(in srgb,var(--accent) 55%,transparent); }
.card-body{ padding:22px 22px 26px; display:flex; flex-direction:column; flex:1; border-top:1px solid var(--line-soft); }
.card-eyebrow{ font-family:var(--sans); font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:.7rem; }
.card h3{ font-size:1.5rem; margin-bottom:.5rem; }
.card .desc{ font-size:.95rem; color:var(--muted); margin-bottom:1.3rem; flex:1; }
.card-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--line-soft); }
.price{ font-family:var(--serif); font-size:1.5rem; color:var(--ink); letter-spacing:.01em; }
.price small{ font-family:var(--sans); font-size:.7rem; letter-spacing:.1em; color:var(--muted-2); margin-left:.4em; }
.card .view{ font-family:var(--sans); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-ink); display:inline-flex; align-items:center; gap:.4em; padding:.45em .9em; border:1px solid transparent; border-radius:2px; transition:border-color .35s, background-color .35s; }
.card:hover .view{ border-color:color-mix(in srgb,var(--accent) 45%,transparent); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.card .view .arr{ transition:transform .35s var(--ease); }
.card:hover .view .arr{ transform:translateX(5px); }
.card-link{ position:absolute; inset:0; z-index:3; }

/* =========================================================
   GODDESS ARCHETYPES (alternating feature rows)
   ========================================================= */
.goddess{ background:var(--bg-2); }
.archetype{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(28px,5vw,80px); padding-block:clamp(40px,6vw,80px); border-bottom:1px solid var(--line-soft); }
.archetype:last-child{ border-bottom:0; }
.archetype.flip .arch-media{ order:2; }
.arch-media{ position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:3px; border:1px solid var(--line-soft); }
.arch-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.archetype:hover .arch-media img{ transform:scale(1.05); }
.arch-media .num{ position:absolute; top:18px; left:20px; font-family:var(--serif); font-size:3.4rem; color:rgba(236,230,223,.16); line-height:1; }
.arch-body .eyebrow{ color:var(--accent-ink); }
.arch-body h3{ font-size:clamp(2rem,3.6vw,2.9rem); margin-bottom:.5rem; }
.arch-body h3 .accent{ color:var(--accent-ink); }
.arch-body .notes-line{ font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold-br); margin-bottom:1rem; }
.arch-body .quote{ font-family:var(--serif); font-style:italic; font-size:1.15rem; color:var(--ink); border-left:2px solid var(--accent); padding-left:1.1em; margin:1.4rem 0; }
.arch-actions{ display:flex; align-items:center; gap:22px; margin-top:1.6rem; flex-wrap:wrap; }

/* =========================================================
   PHILOSOPHY band
   ========================================================= */
.philosophy{ position:relative; isolation:isolate; text-align:center; }
.philosophy .bg{ position:absolute; inset:0; z-index:-2; }
.philosophy .bg img{ width:100%; height:100%; object-fit:cover; }
.philosophy .bg::after{ content:""; position:absolute; inset:0; background:rgba(8,6,10,.82); }
.philosophy .wrap{ max-width:840px; }
.philosophy blockquote{ font-family:var(--serif); font-size:clamp(1.7rem,3.6vw,2.7rem); line-height:1.4; font-style:italic; color:var(--ink); margin:0; }
.philosophy blockquote .gold{ color:var(--gold-br); }
.philosophy cite{ display:block; margin-top:1.6rem; font-family:var(--sans); font-style:normal; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); }

/* =========================================================
   SPLIT feature (image + text) — gifting, story teaser
   ========================================================= */
.split{ display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:clamp(28px,5vw,76px); }
.split.flip .split-media{ order:2; }
.split-media{ position:relative; aspect-ratio:5/6; overflow:hidden; border-radius:3px; border:1px solid var(--line-soft); }
.split-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.split:hover .split-media img{ transform:scale(1.04); }
.split-body h2{ margin-bottom:1rem; }
.gift-list{ list-style:none; padding:0; margin:1.6rem 0; display:grid; gap:1.1rem; }
.gift-list li{ padding-left:1.6em; position:relative; color:var(--muted); }
.gift-list li::before{ content:"✦"; position:absolute; left:0; color:var(--gold); }
.gift-list b{ color:var(--ink); font-weight:400; font-family:var(--serif); font-size:1.18rem; display:block; margin-bottom:.1rem; }

/* =========================================================
   TRANSPARENCY band
   ========================================================= */
.clean{ background:var(--bg-2); }
.clean-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,4vw,60px); align-items:start; }
.clean-col h3{ font-size:1.7rem; margin-bottom:1.2rem; }
.clean-list{ list-style:none; padding:0; margin:0; display:grid; gap:.85rem; }
.clean-list li{ display:flex; gap:.8em; align-items:flex-start; color:var(--muted); font-size:.98rem; }
.clean-list .mark{ flex:none; width:1.4em; }
.clean-list.no .mark{ color:#b9605f; }
.clean-list.yes .mark{ color:var(--gold); }

/* =========================================================
   NEWSLETTER / CTA
   ========================================================= */
.cta-band{ text-align:center; background:radial-gradient(120% 140% at 50% 0%, var(--wine), var(--bg) 62%); border-top:1px solid var(--line); }
.cta-band .wrap{ max-width:680px; }
.newsletter{ display:flex; gap:10px; margin-top:2rem; max-width:480px; margin-inline:auto; }
.newsletter input{
  flex:1; background:var(--input-bg); border:1px solid var(--line); color:var(--ink);
  padding:.95em 1.2em; font-family:var(--sans); font-size:.9rem; border-radius:2px; letter-spacing:.04em;
}
.newsletter input:focus{ outline:none; border-color:var(--gold); }
.newsletter input::placeholder{ color:var(--muted-2); }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--footer-bg); border-top:1px solid var(--line); padding-block:clamp(54px,7vw,84px) 30px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.foot-brand .brand-mark{ padding-left:0; font-size:1.9rem; display:inline-block; margin-bottom:1rem; }
.foot-brand p{ color:var(--muted); font-size:.92rem; max-width:34ch; }
.foot-col h4{ font-family:var(--sans); font-weight:400; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.foot-col a, .foot-col p{ display:block; color:var(--muted); font-size:.92rem; margin-bottom:.7rem; transition:color .3s; }
.foot-col a:hover{ color:var(--gold-br); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; margin-top:clamp(40px,5vw,64px); padding-top:24px; border-top:1px solid var(--line-soft); color:var(--muted-2); font-size:.78rem; letter-spacing:.04em; }
.foot-bottom .socials{ display:flex; gap:18px; }
.foot-bottom a:hover{ color:var(--gold); }

/* =========================================================
   PAGE HERO (interior pages)
   ========================================================= */
.page-hero{ position:relative; padding-block:clamp(150px,18vw,230px) clamp(50px,7vw,90px); isolation:isolate; text-align:center; }
.page-hero .bg{ position:absolute; inset:0; z-index:-2; }
.page-hero .bg img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.page-hero .bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,6,10,.74) 0%,rgba(8,6,10,.5) 50%,rgba(8,6,10,.66) 100%); }
.page-hero h1, .page-hero .lead, .page-hero .crumb{ text-shadow:0 1px 22px rgba(8,6,10,.5); }
.page-hero h1{ font-size:clamp(2.6rem,6vw,4.6rem); font-weight:400; }
.page-hero .lead{ margin:1.3rem auto 0; }
.crumb{ font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:1rem; }
.crumb a{ position:relative; }
.crumb a::after{ content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--gold-br); transition:width .35s var(--ease); }
.crumb a:hover{ color:var(--gold); }
.crumb a:hover::after{ width:100%; }

/* =========================================================
   STORY (about) flowing prose
   ========================================================= */
.prose{ max-width:760px; margin-inline:auto; }
.prose h2{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin:2.6em 0 .6em; }
.prose .chapter-eyebrow{ font-family:var(--sans); font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:.4rem; }
.prose p{ color:var(--muted); font-size:1.1rem; }
.prose p strong{ color:var(--ink); font-weight:400; }
.pull{ font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.4; color:var(--gold-br); text-align:center; margin:2.4em 0; }

/* =========================================================
   COLLECTION INTRO row (shop page)
   ========================================================= */
.coll-intro{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:clamp(32px,4vw,52px); padding-bottom:22px; border-bottom:1px solid var(--line); }
.coll-intro h2{ font-size:clamp(1.9rem,4vw,3rem); }
.coll-intro p{ color:var(--muted); max-width:46ch; margin:0; }

/* =========================================================
   THE ANTRA ORACLE — "Find your goddess"
   ========================================================= */
.oracle{ background:var(--bg-2); position:relative; isolation:isolate; }
.oracle::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(60% 50% at 50% 8%, color-mix(in srgb,var(--gold) 12%,transparent), transparent 72%); }
:root[data-theme="day"] .oracle::before{ opacity:.55; }
.oracle > .wrap{ position:relative; z-index:1; }
.oracle-stage{ max-width:760px; margin-inline:auto; min-height:clamp(310px,42vw,390px); display:flex; flex-direction:column; justify-content:center; }
.oracle-stage.is-leaving{ opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .22s var(--ease), transform .22s var(--ease); }
.oracle-stage.is-entering{ opacity:0; transform:translateY(10px); }
.oracle-stage.is-entering.in{ opacity:1; transform:none; transition:opacity .5s var(--ease), transform .5s var(--ease); }

.or-rail{ height:2px; background:var(--line-soft); border-radius:2px; overflow:hidden; max-width:280px; margin:0 auto 2.4rem; }
.or-rail i{ display:block; height:100%; width:33%; background:linear-gradient(90deg,var(--accent,var(--gold)),var(--gold-br)); transition:width .45s var(--ease); }
.or-q{ font-family:var(--serif); font-size:clamp(1.6rem,3.2vw,2.4rem); line-height:1.2; text-align:center; color:var(--ink); margin-bottom:2rem; }
.or-options{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.or-option{ text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:1.15rem 1.3rem; color:var(--ink); transition:.4s var(--ease); }
.or-option:hover{ border-color:var(--gold); transform:translateY(-3px); box-shadow:var(--card-shadow); }
.or-option b{ font-family:var(--serif); font-weight:500; font-size:1.3rem; display:block; margin-bottom:.2rem; }
.or-option span{ font-size:.9rem; color:var(--muted); }

.or-result{ text-align:center; background:color-mix(in srgb,var(--accent) 9%,var(--panel)); border:1px solid color-mix(in srgb,var(--accent) 24%,transparent); border-radius:4px; padding:clamp(28px,4vw,48px); }
.or-result .or-media{ width:clamp(170px,42%,250px); aspect-ratio:4/5; margin:0 auto 1.5rem; border-radius:3px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 40%,transparent); box-shadow:0 20px 50px -28px color-mix(in srgb,var(--accent) 60%,transparent); }
.or-result .or-media img{ width:100%; height:100%; object-fit:cover; }
.or-tag{ font-family:var(--sans); font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:.6rem; }
.or-result h3{ font-size:clamp(2rem,4vw,2.9rem); margin-bottom:.4rem; }
.or-line{ font-family:var(--serif); font-style:italic; font-size:1.25rem; color:var(--gold-br); margin-bottom:.9rem; }
.or-price{ font-family:var(--serif); font-size:1.4rem; color:var(--ink); margin-bottom:1.6rem; }
.or-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.or-again{ background:transparent; }
.or-recall{ text-align:center; }
.or-recall p{ color:var(--muted); font-size:1.05rem; }
.or-recall b{ color:var(--ink); font-weight:400; font-family:var(--serif); font-size:1.2rem; font-style:italic; }
.or-recall-actions{ margin-top:1.6rem; display:flex; gap:24px; justify-content:center; flex-wrap:wrap; }
@media (max-width:560px){ .or-options{ grid-template-columns:1fr; } }

/* =========================================================
   PRODUCT DETAIL
   ========================================================= */
.pd{ padding-top:clamp(120px,14vw,160px); }
.pd-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(30px,4vw,64px); align-items:start; }
.pd-gallery{ position:sticky; top:90px; }
.pd-main{ aspect-ratio:4/5; overflow:hidden; border-radius:3px; border:1px solid var(--line-soft); background:var(--bg-2); }
.pd-main img{ width:100%; height:100%; object-fit:cover; }
.pd-thumbs{ display:flex; gap:12px; margin-top:14px; }
.pd-thumbs button{ flex:1; aspect-ratio:1; border:1px solid var(--line-soft); background:var(--bg-2); border-radius:2px; overflow:hidden; padding:0; opacity:.55; transition:.35s; }
.pd-thumbs button img{ width:100%; height:100%; object-fit:cover; }
.pd-thumbs button.active{ opacity:1; border-color:var(--accent); }
.pd-thumbs button:hover{ opacity:1; }

.pd-info .crumb{ margin-bottom:1.2rem; }
.pd-info .eyebrow{ color:var(--accent-ink); }
.pd-info h1{ font-size:clamp(2.2rem,4.2vw,3.2rem); font-weight:400; margin-bottom:.5rem; }
.pd-type{ font-family:var(--sans); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.pd-price{ font-family:var(--serif); font-size:2rem; color:var(--ink); margin:1.2rem 0 .2rem; }
.pd-price small{ font-family:var(--sans); font-size:.78rem; letter-spacing:.08em; color:var(--muted-2); margin-left:.5em; }
.pd-story{ font-size:1.08rem; color:var(--muted); margin:1.6rem 0; }
.pd-quote{ font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold-br); border-left:2px solid var(--accent); padding-left:1.1em; margin:1.6rem 0; }
.pd-order{ display:grid; gap:12px; margin:1.8rem 0; padding:1.6rem 0; border-block:1px solid var(--line); }
.pd-order .hint{ font-size:.84rem; color:var(--muted-2); text-align:center; margin:.2rem 0 0; }

/* notes pyramid */
.notes{ display:grid; gap:0; margin:1.6rem 0; }
.notes .row{ display:grid; grid-template-columns:120px 1fr; gap:16px; padding:.85rem 0; border-bottom:1px solid var(--line-soft); align-items:baseline; }
.notes .row:last-child{ border-bottom:0; }
.notes .k{ font-family:var(--sans); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent-ink); }
.notes .v{ font-family:var(--serif); font-size:1.18rem; color:var(--ink); }

/* accordion */
.acc{ border-top:1px solid var(--line); margin-top:1.4rem; }
.acc details{ border-bottom:1px solid var(--line-soft); }
.acc summary{ list-style:none; cursor:pointer; padding:1.1rem 0; display:flex; justify-content:space-between; align-items:center; font-family:var(--sans); font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); }
.acc summary::-webkit-details-marker{ display:none; }
.acc summary .ico{ color:var(--accent-ink); transition:transform .35s var(--ease); font-size:1.1rem; }
.acc details[open] summary .ico{ transform:rotate(45deg); }
.acc .acc-body{ padding:0 0 1.4rem; color:var(--muted); font-size:.96rem; }
.acc .acc-body ul{ margin:.4rem 0; padding-left:1.2rem; }
.acc .acc-body li{ margin-bottom:.4rem; }
.acc .acc-body .lbl{ color:var(--accent-ink); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; display:block; margin:.9rem 0 .3rem; }

.bullets{ list-style:none; padding:0; margin:1.4rem 0; display:grid; gap:.7rem; }
.bullets li{ padding-left:1.5em; position:relative; color:var(--muted); }
.bullets li::before{ content:"✦"; position:absolute; left:0; color:var(--accent-ink); }

/* contents list (initiation set) */
.contents-list{ display:grid; gap:14px; margin:1.6rem 0; }
.contents-list .ci{ padding:1rem 1.2rem; border:1px solid var(--line-soft); border-radius:2px; background:var(--panel); }
.contents-list .ci b{ font-family:var(--serif); font-size:1.2rem; font-weight:500; color:var(--ink); }
.contents-list .ci span{ display:block; font-size:.86rem; color:var(--muted); letter-spacing:.04em; margin-top:.2rem; }

/* related */
.related{ background:var(--bg-2); }

/* =========================================================
   RITUALS page cards
   ========================================================= */
.ritual-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ritual-card{ background:var(--panel); border:1px solid var(--line-soft); border-radius:3px; padding:34px 30px; transition:.4s var(--ease); }
.ritual-card:hover{ border-color:var(--gold); transform:translateY(-4px); }
.ritual-card .step{ font-family:var(--serif); font-size:2.6rem; color:var(--gold); line-height:1; margin-bottom:.6rem; }
.ritual-card h3{ font-size:1.5rem; margin-bottom:.6rem; }
.ritual-card p{ color:var(--muted); font-size:.96rem; margin:0; }
.moon-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:2rem; }
.moon-card{ text-align:center; padding:28px 18px; border:1px solid var(--line-soft); border-radius:3px; background:var(--panel); }
.moon-card .sym{ font-size:1.8rem; color:var(--gold); }
.moon-card h4{ font-family:var(--serif); font-size:1.3rem; margin:.5rem 0 .4rem; }
.moon-card p{ color:var(--muted); font-size:.86rem; margin:0; }

/* =========================================================
   REVEAL animation
   ========================================================= */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-bg img{ animation:none; transform:scale(1.06); will-change:auto; }
  .hero h1 em{ animation:none; color:var(--gold-br); -webkit-text-fill-color:var(--gold-br); }
  .strip-track{ animation:none; }
  .scroll-cue .line{ animation:none; }
  .card::before{ transition:none; }
  .card:hover{ transform:none; }
  .card:hover .card-media img{ transform:none; }
  .card-media::before{ display:none; }
  .or-rail i{ transition:none; }
  .oracle-stage.is-leaving, .oracle-stage.is-entering{ opacity:1 !important; transform:none !important; transition:none; }
  *{ scroll-behavior:auto; }
}

/* =========================================================
   MOBILE NAV + RESPONSIVE
   ========================================================= */
.nav-backdrop{ display:none; }
@media (max-width:980px){
  .grid.cols-4{ grid-template-columns:repeat(2,1fr); }
  .grid.cols-3{ grid-template-columns:repeat(2,1fr); }
  .clean-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .pd-grid{ grid-template-columns:1fr; }
  .pd-gallery{ position:static; }
  .moon-grid{ grid-template-columns:repeat(2,1fr); }
  .ritual-cards{ grid-template-columns:1fr; }

  .burger{ display:flex; }
  .nav{
    position:fixed; inset:0 0 0 auto; width:min(82vw,360px); flex-direction:column;
    align-items:flex-start; justify-content:center; gap:26px;
    background:var(--nav-bg); backdrop-filter:blur(16px); padding:60px 40px;
    transform:translateX(100%); transition:transform .5s var(--ease); border-left:1px solid var(--line); z-index:110;
  }
  .nav.open{ transform:translateX(0); }
  .nav a{ font-size:1.05rem; color:var(--ink); }   /* themed: panel is over the body, not the hero */
  .nav a::after{ background:var(--gold); }
  .nav a:hover, .nav a.active{ color:var(--gold); }
  .nav-cta{ margin-top:10px; }
  .nav-backdrop.show{ display:block; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:105; }
}
@media (max-width:620px){
  body{ font-size:16px; }
  .grid.cols-4, .grid.cols-3, .grid.cols-2{ grid-template-columns:1fr; }
  .archetype, .archetype.flip{ grid-template-columns:1fr; }
  .archetype.flip .arch-media{ order:0; }
  .split, .split.flip{ grid-template-columns:1fr; }
  .split.flip .split-media{ order:0; }
  .foot-grid{ grid-template-columns:1fr; }
  .moon-grid{ grid-template-columns:1fr 1fr; }
  .newsletter{ flex-direction:column; }
  .hero-actions{ flex-direction:column; }
  .hero-actions .btn{ width:100%; }
  .brand-mark{ font-size:1.4rem; letter-spacing:.34em; }
}

/* =========================================================
   PREMIUM 3D ENHANCEMENTS  (mouse-tilt depth, soft shadows)
   ========================================================= */
.card, .ritual-card, .moon-card, .archetype{
  transform: perspective(1000px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateY(var(--lift,0));
  transform-style: preserve-3d;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  will-change: transform;
  box-shadow: 0 14px 34px -22px rgba(60,42,26,.28);
}
.card:hover, .ritual-card:hover, .moon-card:hover, .archetype:hover{
  --lift: -6px;
  box-shadow: 0 34px 70px -26px rgba(60,42,26,.42), 0 10px 24px -14px rgba(60,42,26,.30);
}
:root[data-theme="night"] .card,
:root[data-theme="night"] .ritual-card,
:root[data-theme="night"] .moon-card,
:root[data-theme="night"] .archetype{ box-shadow: 0 18px 40px -24px rgba(0,0,0,.75); }
:root[data-theme="night"] .card:hover,
:root[data-theme="night"] .ritual-card:hover,
:root[data-theme="night"] .moon-card:hover,
:root[data-theme="night"] .archetype:hover{
  box-shadow: 0 40px 80px -28px rgba(0,0,0,.9), 0 0 40px -18px var(--gold);
}

/* image depth + slow zoom */
.card-media{ overflow:hidden; }
.card-media img{ transition: transform .8s var(--ease); transform: translateZ(0); }
.card:hover .card-media img{ transform: scale(1.07); }

/* lift the text/price forward for real depth */
.card-body{ transform: translateZ(40px); }
.card-media{ transform: translateZ(20px); }

/* gold buttons: soft 3D + press */
.btn.solid, .pay-btn{
  box-shadow: 0 8px 20px -8px rgba(201,168,106,.6), inset 0 1px 0 rgba(255,255,255,.35);
  transition: transform .18s var(--ease), box-shadow .25s var(--ease), filter .2s;
}
.btn.solid:hover, .pay-btn:hover{ transform: translateY(-3px); box-shadow: 0 16px 34px -10px rgba(201,168,106,.7); }
.btn.solid:active, .pay-btn:active{ transform: translateY(0); }

/* hero gentle float */
@keyframes antraFloat{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-10px);} }
.hero-inner{ animation: antraFloat 7s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){ .hero-inner{ animation:none; } .card,.ritual-card,.moon-card,.archetype{ transform:none; } }

/* =========================================================
   DELUXE — colourful aurora · custom cursor · glass 3D glare
   ========================================================= */
/* base colour moves to <html> so the aurora layer can sit behind content */
html{ background:var(--bg); }
body{ background:transparent; }

/* soft botanical aurora wash (behind everything, gentle drift) */
.antra-aurora{
  position:fixed; inset:-25%; z-index:-1; pointer-events:none; filter:blur(40px);
  background:
    radial-gradient(38% 38% at 18% 20%, rgba(247,183,205,.55), transparent 70%),
    radial-gradient(40% 40% at 82% 22%, rgba(246,214,150,.55), transparent 70%),
    radial-gradient(46% 46% at 72% 82%, rgba(206,183,240,.55), transparent 70%),
    radial-gradient(40% 40% at 22% 80%, rgba(183,230,209,.55), transparent 70%);
  animation: auroraDrift 22s ease-in-out infinite alternate;
}
@keyframes auroraDrift{ 0%{transform:translate3d(0,0,0) scale(1) rotate(0deg);} 100%{transform:translate3d(0,-4%,0) scale(1.12) rotate(4deg);} }
:root[data-theme="night"] .antra-aurora{ opacity:.5; }

/* colourful section headings */
.sec-head .h2, .sec-head h2, .page-hero h1{
  background:linear-gradient(100deg,#c68a2e,#d1477f 42%,#7d4bc6 78%,#2f9e8f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
:root[data-theme="night"] .sec-head .h2, :root[data-theme="night"] .sec-head h2{
  background:linear-gradient(100deg,#e6cf97,#f0a3c4 42%,#c3a3f0 78%,#8fe0cf);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* cards: colourful accent glow on hover (uses each product's --accent) */
.card:hover{
  box-shadow: 0 34px 70px -26px rgba(60,42,26,.42),
              0 10px 24px -14px rgba(60,42,26,.30),
              0 0 46px -6px color-mix(in srgb, var(--accent,#c9a86a) 70%, transparent);
}
:root[data-theme="night"] .card:hover{
  box-shadow: 0 40px 80px -28px rgba(0,0,0,.9),
              0 0 56px -8px color-mix(in srgb, var(--accent,#c9a86a) 85%, transparent);
}

/* glass shine that follows the cursor across the product image */
.card-media{ position:relative; }
.card-media::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgba(255,255,255,.42), transparent 46%);
  opacity:0; transition:opacity .3s var(--ease); mix-blend-mode:soft-light;
}
.card:hover .card-media::after{ opacity:1; }

/* ---- custom product cursor (desktop / fine-pointer only) ---- */
@media (pointer:fine){
  body{ cursor:none; }
  a,button,summary,input,textarea,select,.theme-toggle,.card,.card-link{ cursor:none; }
}
.cursor-dot,.cursor-aura{
  position:fixed; top:0; left:0; z-index:99999; pointer-events:none; border-radius:50%;
  transform:translate(-50%,-50%); will-change:transform;
}
.cursor-dot{
  width:11px; height:11px;
  background:radial-gradient(circle at 34% 30%, #fff, var(--gold) 55%, var(--gold-deep));
  box-shadow:0 0 12px 2px rgba(201,168,106,.7);
  transition:opacity .3s;
}
.cursor-aura{
  width:42px; height:42px; filter:blur(3px);
  transition:width .22s var(--ease), height .22s var(--ease), opacity .3s;
}
.cursor-aura.hover{ width:78px; height:78px; }
@media (pointer:coarse){ .cursor-dot,.cursor-aura{ display:none; } }

/* ---- Antra logo (SVG wordmark) ---- */
.brand-mark .antra-logo{ height:62px; width:auto; display:block; color:#5c7a4a; }
.site-footer .brand-mark .antra-logo{ height:80px; color:#5c7a4a; }
@media (max-width:640px){ .brand-mark .antra-logo{ height:50px; } }
:root[data-theme="night"] .brand-mark .antra-logo{ color:#9db989; }
/* over the dark hero image (header not yet scrolled) → cream so it stays visible */
body:has(.hero) .site-header:not(.scrolled) .brand-mark .antra-logo,
body:has(.page-hero) .site-header:not(.scrolled) .brand-mark .antra-logo{ color:#f4eee5; }
.antra-logo text{ dominant-baseline:auto; }

/* official raster logo (has its own cream background) */
img.antra-logo{ height:70px; width:auto; display:block; border-radius:8px; }
.site-footer img.antra-logo{ height:88px; }
@media (max-width:640px){ img.antra-logo{ height:56px; } }
