/* ════════════════════════════════════════════════════════
   HOUSE OF BUNKAR — Design System v6
   True Quiet Luxury Edition
   "Restraint is the only real luxury."
   No shimmer. No glow. No gradient text. Just craft.
════════════════════════════════════════════════════════ */

/* ── KEYFRAMES (entrance + one functional loop only) ─── */
@keyframes charUp     { from{transform:translateY(105%);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes slideUp    { from{transform:translateY(16px);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes lineGrow   { to{width:160px} }
@keyframes widen      { to{width:160px} }
@keyframes scrollLeft { to{transform:translateX(-50%)} }
@keyframes pulse      { 0%,100%{opacity:.35;transform:scaleY(1)} 50%{opacity:.85;transform:scaleY(.68)} }
@keyframes menuLinkIn { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* ── DESIGN TOKENS ──────────────────────────────────── */
:root{
  /* Ink & Paper — the only real palette */
  --ink:        #0B0906;
  --ink-soft:   #15110C;
  --ivory:      #F6F1E6;
  --parchment:  #E9DFC9;
  --cream:      #DFD2B6;
  --paper:      #F1EBDC;

  /* Brass — a single muted metal accent, never a gradient */
  --brass:       #8C7148;
  --brass-deep:  #5E4A2C;
  --brass-soft:  #B49A6E;
  --brass-pale:  #D8C7A2;
  --brass-10:    rgba(140,113,72,.1);
  --brass-18:    rgba(140,113,72,.18);
  --brass-30:    rgba(140,113,72,.3);

  /* Hairlines */
  --line-on-light: rgba(11,9,6,.12);
  --line-on-dark:  rgba(246,241,230,.12);

  --ff-display: 'Cormorant Garamond','Palatino Linotype',Georgia,serif;
  --ff-body:    'Jost','Futura',system-ui,sans-serif;

  --ease-lux: cubic-bezier(.25,.1,.25,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur-fast: .3s;
  --dur-mid:  .6s;
  --dur-slow: 1s;

  --section-pad: clamp(7rem,13vw,13rem);
}

/* ── GLOBAL RESET ───────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:var(--ink);color:var(--ivory);font-family:var(--ff-body);font-weight:400;overflow-x:hidden;cursor:none}
body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font-family:inherit;cursor:none;border:none;background:none}
ul{list-style:none}
::selection{background:var(--brass);color:var(--ivory)}

/* ── SKIP LINK (a11y) ────────────────────────────────── */
.skip-link{
  position:absolute;left:-999px;top:0;z-index:99999;
  background:var(--ink);color:var(--ivory);border:1px solid var(--brass);
  padding:1rem 2rem;font-family:var(--ff-body);font-weight:500;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
}
.skip-link:focus{left:1rem;top:1rem}

/* ── FOCUS-VISIBLE (a11y) ─────────────────────────────── */
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:1.5px solid var(--brass);
  outline-offset:4px;
}

/* ── FILM GRAIN — texture, not decoration ────────────── */
body::after{
  content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23g)' opacity='1'/%3E%3C/svg%3E");
  background-size:200px;opacity:.03;mix-blend-mode:overlay;
}

/* ── CUSTOM SCROLLBAR — quiet ─────────────────────────── */
html{scrollbar-width:thin;scrollbar-color:var(--brass) var(--ink)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--brass);border-radius:0}
::-webkit-scrollbar-thumb:hover{background:var(--brass-soft)}

/* ── CURSOR — minimal, no glow ────────────────────────── */
#cursor-dot{
  position:fixed;top:0;left:0;width:6px;height:6px;
  background:var(--brass-soft);border-radius:50%;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .25s var(--ease-out),height .25s var(--ease-out),opacity .3s;
  will-change:transform;
}
#cursor-ring{
  position:fixed;top:0;left:0;width:34px;height:34px;
  border:1px solid rgba(140,113,72,.4);border-radius:50%;
  pointer-events:none;z-index:9998;transform:translate(-50%,-50%);
  transition:width .45s var(--ease-out),height .45s var(--ease-out),opacity .3s;
  will-change:transform;
}
.cursor-active #cursor-dot{width:4px;height:4px;opacity:.6}
.cursor-active #cursor-ring{width:48px;height:48px;opacity:.5}

/* ── PROGRESS BAR — a thin line, not a beam ───────────── */
#progress-bar{
  position:fixed;top:0;left:0;height:2px;background:var(--brass);
  z-index:9000;width:0%;
}

/* ══════════════════════════════════════════════════════
   LOADER — calm
══════════════════════════════════════════════════════ */
#loader{
  position:fixed;inset:0;background:var(--ink);z-index:8900;
  display:grid;place-items:center;
  transition:opacity 1.1s var(--ease-lux),visibility 1.1s;
}
#loader.gone{opacity:0;visibility:hidden;pointer-events:none}
.ldr-wrap{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}
.ldr-crest{margin-bottom:1.8rem;opacity:0;animation:slideUp .8s 0s var(--ease-out) forwards}
.ldr-eyebrow{
  font-family:var(--ff-body);font-weight:400;font-size:.52rem;letter-spacing:.65em;
  text-transform:uppercase;color:var(--brass-soft);opacity:0;margin-bottom:3.2rem;
  animation:slideUp .8s .2s var(--ease-out) forwards;
}
.ldr-word{display:flex;overflow:hidden;line-height:1}
.ldr-word + .ldr-word{margin-top:.08em}
.ldr-char{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(2.1rem,5.5vw,4.4rem);
  color:var(--ivory);letter-spacing:.2em;display:inline-block;
  transform:translateY(100%);opacity:0;
  animation:charUp .7s var(--ease-out) forwards;
}
.ldr-divider{
  width:0;height:1px;background:var(--brass);
  margin:2.8rem 0 1.6rem;animation:widen 1.3s 1.4s var(--ease-lux) forwards;
}
.ldr-sub{
  font-family:var(--ff-body);font-weight:400;font-size:.5rem;letter-spacing:.55em;text-transform:uppercase;
  color:var(--brass-soft);opacity:0;animation:slideUp .8s 1.6s var(--ease-out) forwards;
}
.ldr-pct{
  font-family:var(--ff-display);font-weight:500;font-size:.95rem;letter-spacing:.15em;margin-top:1.6rem;opacity:0;
  color:var(--brass-soft);
  animation:slideUp .6s 1.8s var(--ease-out) forwards;
}

/* ══════════════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:700;padding:2.4rem 5%;
  display:flex;align-items:center;justify-content:space-between;
  transition:padding var(--dur-mid) var(--ease-lux),background var(--dur-mid) var(--ease-lux),
             border-color var(--dur-mid),backdrop-filter var(--dur-mid);
  border-bottom:1px solid transparent;
}
nav.scrolled{
  background:rgba(11,9,6,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  padding:1.3rem 5%;border-color:var(--line-on-dark);
}
.nav-logo{
  font-family:var(--ff-display);font-weight:500;font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ivory);position:relative;z-index:2;
  display:flex;align-items:center;gap:.6rem;
}
.nav-crest{flex-shrink:0;opacity:.92}
.nav-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:3.4rem;align-items:center}
.nav-center a{
  font-family:var(--ff-body);font-weight:400;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(246,241,230,.6);transition:color var(--dur-fast);position:relative;
}
.nav-center a::after{
  content:'';position:absolute;bottom:-5px;left:0;right:0;height:1px;background:var(--brass);
  transform:scaleX(0);transform-origin:center;transition:transform .4s var(--ease-lux);
}
.nav-center a:hover{color:var(--ivory)}
.nav-center a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:2rem}
.nav-shop{
  font-family:var(--ff-body);font-weight:500;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--ivory);background:transparent;border:1px solid var(--brass-soft);
  padding:.78rem 1.9rem;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);
}
.nav-shop:hover{background:var(--brass-soft);color:var(--ink);border-color:var(--brass-soft)}
.nav-shop:active{transform:scale(.98)}

/* ── HAMBURGER → X ────────────────────────────────────── */
.nav-ham{
  display:none;flex-direction:column;justify-content:center;gap:6px;
  padding:10px;position:relative;z-index:10001;width:44px;height:44px;
}
.nav-ham span{
  display:block;width:21px;height:1px;margin:0 auto;background:var(--ivory);
  transition:transform .35s var(--ease-lux),opacity .3s var(--ease-lux);
  transform-origin:center;
}
.nav-ham.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-ham.active span:nth-child(2){opacity:0}
.nav-ham.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ══════════════════════════════════════════════════════
   MOBILE MENU OVERLAY — calm, full-screen
══════════════════════════════════════════════════════ */
#mobileMenu{
  position:fixed;inset:0;z-index:9500;background:var(--ink);
  opacity:0;visibility:hidden;transition:opacity .45s var(--ease-lux),visibility .45s;
  display:flex;align-items:center;justify-content:center;
}
#mobileMenu.open{opacity:1;visibility:visible}
.mob-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 8%;position:relative}
.mob-close{
  position:absolute;top:2.1rem;right:6%;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-on-dark);border-radius:50%;
  transition:border-color .3s;
}
.mob-close:hover{border-color:var(--brass)}
.mob-close span{position:absolute;width:16px;height:1px;background:var(--ivory)}
.mob-close span:nth-child(1){transform:rotate(45deg)}
.mob-close span:nth-child(2){transform:rotate(-45deg)}
.mob-links{display:flex;flex-direction:column;gap:.3rem;margin-bottom:3.2rem}
.mob-link{
  font-family:var(--ff-display);font-weight:500;font-style:italic;
  font-size:clamp(2.4rem,8vw,3.8rem);line-height:1.22;
  color:var(--ivory);letter-spacing:-.005em;
  transition:color .35s,transform .35s var(--ease-lux);
  opacity:0;transform:translateY(22px);
}
#mobileMenu.open .mob-link{animation:menuLinkIn .55s var(--ease-out) forwards}
.mob-link:hover{color:var(--brass-soft);transform:translateX(10px)}
.mob-shop{
  font-family:var(--ff-body);font-weight:500;font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ink);background:var(--brass-soft);padding:1rem 2.4rem;display:inline-block;margin-top:.4rem;
  opacity:0;transform:translateY(18px);transition:background .3s;
}
#mobileMenu.open .mob-shop{animation:menuLinkIn .55s .4s var(--ease-out) forwards}
.mob-shop:hover{background:var(--brass-pale)}
.mob-foot{
  position:absolute;bottom:2.4rem;left:8%;right:8%;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  border-top:1px solid var(--line-on-dark);padding-top:1.4rem;
}
.mob-tagline{font-family:var(--ff-body);font-weight:400;font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(140,113,72,.7)}

/* ══════════════════════════════════════════════════════
   BACK TO TOP — quiet
══════════════════════════════════════════════════════ */
#backToTop{
  position:fixed;bottom:2.4rem;right:2.4rem;z-index:600;
  width:48px;height:48px;border-radius:50%;
  background:var(--ink);border:1px solid var(--brass-30);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(16px);visibility:hidden;
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),visibility .35s,border-color .3s,background .3s;
}
#backToTop.show{opacity:1;transform:translateY(0);visibility:visible}
#backToTop:hover{border-color:var(--brass);background:var(--ink-soft)}
#backToTop::before{content:'';width:8px;height:8px;border-top:1px solid var(--brass-soft);border-right:1px solid var(--brass-soft);transform:rotate(-45deg) translate(1px,1px)}

/* ══════════════════════════════════════════════════════
   HERO — the one moment of scale
══════════════════════════════════════════════════════ */
#hero{
  min-height:100vh;background:var(--ink);position:relative;display:flex;align-items:flex-end;
  overflow:hidden;padding-bottom:clamp(4rem,8vw,7rem);
}
.hero-atmo{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 55% at 68% 22%,rgba(140,113,72,.08) 0%,transparent 60%);
  pointer-events:none;
}
.hero-grid{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-grid-h{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 8%,rgba(140,113,72,.07) 42%,rgba(140,113,72,.07) 58%,transparent 92%)}
.hero-grid-v{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 8%,rgba(140,113,72,.05) 42%,rgba(140,113,72,.05) 58%,transparent 92%)}
.hero-diagonal{position:absolute;top:-10%;right:28%;bottom:-10%;width:1px;background:linear-gradient(180deg,transparent,rgba(140,113,72,.3) 30%,rgba(140,113,72,.3) 70%,transparent);pointer-events:none}
.hero-side-label{
  position:absolute;left:2.4rem;top:50%;transform:translateY(-50%) rotate(-90deg);
  font-family:var(--ff-body);font-weight:400;font-size:.46rem;letter-spacing:.6em;text-transform:uppercase;
  color:rgba(140,113,72,.5);white-space:nowrap;opacity:0;animation:slideUp 1s 2.7s var(--ease-out) forwards;
}
.hero-ghost{
  position:absolute;right:-4%;top:50%;transform:translateY(-50%);
  font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(11rem,34vw,36rem);
  -webkit-text-stroke:1px rgba(140,113,72,.14);color:transparent;
  line-height:.85;letter-spacing:-.03em;pointer-events:none;user-select:none;white-space:nowrap;
}
.hero-content{position:relative;z-index:2;width:100%;padding:0 5% 0 7%}
.hero-eyebrow{
  font-family:var(--ff-body);font-weight:400;font-size:.56rem;letter-spacing:.55em;text-transform:uppercase;
  color:var(--brass-soft);display:flex;align-items:center;gap:1.4rem;margin-bottom:clamp(2.4rem,5vw,4.2rem);
  opacity:0;animation:slideUp 1s 1.9s var(--ease-out) forwards;
}
.hero-eyebrow::before{content:'';display:block;width:38px;height:1px;flex-shrink:0;background:var(--brass)}
.hero-line-wrap{overflow:hidden}
.hero-h1-a{
  display:block;font-family:var(--ff-display);font-weight:500;font-size:clamp(4.6rem,14vw,15rem);
  line-height:.9;letter-spacing:-.025em;color:var(--ivory);
  transform:translateY(105%);opacity:0;animation:charUp 1.05s 2.1s var(--ease-out) forwards;
}
.hero-h1-b{
  display:block;font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:clamp(4.6rem,14vw,15rem);
  line-height:.9;letter-spacing:-.025em;color:var(--brass-soft);
  transform:translateY(105%);opacity:0;animation:charUp 1.05s 2.25s var(--ease-out) forwards;
  margin-bottom:clamp(2.4rem,5vw,4.2rem);
}
.hero-foot{
  display:grid;grid-template-columns:1fr 1fr;gap:4%;padding-top:clamp(2rem,4vw,3rem);margin-top:clamp(2rem,4vw,3rem);
  border-top:1px solid var(--line-on-dark);opacity:0;animation:slideUp 1s 2.55s var(--ease-out) forwards;
  align-items:flex-end;
}
.hero-desc{
  font-family:var(--ff-body);font-weight:400;font-size:clamp(.85rem,1.25vw,.98rem);line-height:1.95;
  color:rgba(246,241,230,.62);letter-spacing:.02em;max-width:410px;
}
.hero-actions{display:flex;align-items:center;gap:2.4rem;justify-content:flex-end;flex-wrap:wrap}
.hero-scroll{position:absolute;right:5%;bottom:3.4rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:slideUp 1s 3s var(--ease-out) forwards;cursor:none}
.hero-scroll span{font-family:var(--ff-body);font-weight:400;font-size:.44rem;letter-spacing:.45em;text-transform:uppercase;color:rgba(140,113,72,.55);writing-mode:vertical-rl}
.hero-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--brass),transparent);animation:pulse 2.6s ease-in-out infinite}

/* ── BUTTONS — solid, tactile, no shine ──────────────── */
.btn-primary{
  font-family:var(--ff-body);font-weight:500;font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--ivory);background:var(--brass-deep);
  padding:1.1rem 2.9rem;display:inline-block;
  transition:background .3s var(--ease-out),transform .25s var(--ease-out);
  border:1px solid var(--brass-deep);
}
.btn-primary:hover{background:var(--brass);border-color:var(--brass);transform:translateY(-2px)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{
  font-family:var(--ff-body);font-weight:400;font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--brass-soft);display:inline-flex;align-items:center;gap:.85rem;
  transition:gap .35s var(--ease-lux),color .3s;
}
.btn-ghost:hover{gap:1.4rem;color:var(--brass-pale)}
.btn-ghost-line{display:inline-block;width:32px;height:1px;background:var(--brass);position:relative;transition:width .35s var(--ease-lux)}
.btn-ghost:hover .btn-ghost-line{width:46px}
.btn-ghost-line::after{content:'';position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--brass-soft);border-right:1px solid var(--brass-soft);transform:rotate(45deg)}

/* ══════════════════════════════════════════════════════
   DOUBLE MARQUEE — ink, not gold
══════════════════════════════════════════════════════ */
.marquee-wrap{background:var(--ink-soft);overflow:hidden;border-top:1px solid var(--line-on-dark);border-bottom:1px solid var(--line-on-dark)}
.marquee-rail{overflow:hidden;white-space:nowrap}
.marquee-rail + .marquee-rail{border-top:1px solid rgba(140,113,72,.08)}
.marquee-inner{display:inline-flex;padding:.78rem 0;animation:scrollLeft 30s linear infinite}
.marquee-inner.reverse{animation-direction:reverse}
.marquee-inner .item{font-family:var(--ff-body);font-weight:400;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(246,241,230,.45);padding:0 2.7rem}
.marquee-inner .sep{padding:0;font-size:.35rem;color:var(--brass-soft);opacity:.6}

/* ══════════════════════════════════════════════════════
   BRAND STATEMENT
══════════════════════════════════════════════════════ */
#statement{background:var(--ink);overflow:hidden;position:relative;padding:clamp(5rem,10vw,9rem) 0}
.statement-bg-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;overflow:hidden}
.statement-bg-text span{
  font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(9rem,26vw,28rem);
  -webkit-text-stroke:1px rgba(140,113,72,.1);color:transparent;letter-spacing:-.03em;white-space:nowrap;
}
.statement-inner{position:relative;z-index:2;max-width:1300px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:1fr 2fr;gap:8%;align-items:center}
.statement-num{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(7rem,16vw,18rem);
  color:transparent;-webkit-text-stroke:1px rgba(140,113,72,.22);line-height:1;letter-spacing:-.04em;
}
.statement-tag{font-family:var(--ff-body);font-weight:400;font-size:.52rem;letter-spacing:.55em;text-transform:uppercase;color:var(--brass-soft);display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.statement-tag::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.statement-headline{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(1.5rem,3vw,2.8rem);line-height:1.32;
  color:var(--ivory);margin-bottom:1.8rem;letter-spacing:.005em;
}
.statement-headline em{font-style:italic;color:var(--brass-soft)}
.statement-body{
  font-family:var(--ff-body);font-weight:400;font-size:.86rem;line-height:2.05;letter-spacing:.02em;
  color:rgba(246,241,230,.58);border-left:1px solid var(--brass-30);padding-left:2rem;
}

/* ══════════════════════════════════════════════════════
   PHILOSOPHY
══════════════════════════════════════════════════════ */
#philosophy{background:var(--paper);padding:var(--section-pad) 0;position:relative;overflow:hidden}
.phi-bg-char{position:absolute;right:-3%;top:50%;transform:translateY(-50%);font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(18rem,50vw,52rem);-webkit-text-stroke:1px rgba(140,113,72,.06);color:transparent;line-height:.85;pointer-events:none;user-select:none;letter-spacing:-.04em}
.phi-inner{max-width:1300px;margin:0 auto;padding:0 5%}
.phi-top{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;padding-bottom:5.5rem;border-bottom:1px solid var(--line-on-light);margin-bottom:5.5rem;position:relative;z-index:1}
.phi-chapter{
  font-family:var(--ff-display);font-weight:600;font-size:clamp(5.5rem,13vw,13rem);
  color:transparent;-webkit-text-stroke:1px rgba(140,113,72,.16);line-height:1;letter-spacing:-.03em;margin-bottom:-1.4rem;
}
.phi-label{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.46em;text-transform:uppercase;color:var(--brass-deep);display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.phi-label::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.phi-h{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.6rem,5.2vw,4.9rem);line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
.phi-h em{font-style:italic;color:var(--brass-deep)}
.phi-pull{font-family:var(--ff-display);font-style:italic;font-weight:500;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.6;color:rgba(11,9,6,.62);margin-top:2.2rem}
.phi-body{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5%;margin-bottom:5.5rem;position:relative;z-index:1}
.phi-body-p{font-family:var(--ff-body);font-weight:400;font-size:.86rem;line-height:2;color:rgba(11,9,6,.6);letter-spacing:.015em}
.phi-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-on-light);position:relative;z-index:1}
.phi-stat{padding:3.2rem 2.8rem 3.2rem 0;border-right:1px solid var(--line-on-light);transition:border-color .4s;position:relative}
.phi-stat::before{content:'';position:absolute;top:-1px;left:0;width:0;height:1px;background:var(--brass);transition:width .45s var(--ease-lux)}
.phi-stat:hover::before{width:100%}
.phi-stat:last-child{border-right:none}
.phi-stat-num{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.8rem,5.5vw,5rem);color:var(--brass-deep);line-height:1;letter-spacing:-.02em;margin-bottom:.45rem}
.phi-stat-num .sfx{font-style:italic;font-size:.6em;margin-left:.05em}
.phi-stat-label{font-family:var(--ff-body);font-weight:400;font-size:.52rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(11,9,6,.5)}

/* ══════════════════════════════════════════════════════
   HERITAGE
══════════════════════════════════════════════════════ */
#heritage{background:var(--ink);padding:var(--section-pad) 0;position:relative;overflow:hidden}
.her-bg-word{position:absolute;left:-4%;top:50%;transform:translateY(-50%);font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(9rem,28vw,32rem);-webkit-text-stroke:1px rgba(140,113,72,.07);color:transparent;line-height:.85;white-space:nowrap;pointer-events:none;user-select:none;letter-spacing:-.02em}
.her-inner{max-width:1300px;margin:0 auto;padding:0 5%;position:relative;z-index:2}
.her-header{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:clamp(4.5rem,8vw,7.5rem)}
.her-label{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.46em;text-transform:uppercase;color:var(--brass-soft);display:flex;align-items:center;gap:1rem;margin-bottom:1.8rem}
.her-label::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.her-h{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.8rem,6.2vw,6.4rem);line-height:1.02;letter-spacing:-.02em;color:var(--ivory)}
.her-h em{font-style:italic;color:var(--brass-soft)}
.her-intro{font-family:var(--ff-body);font-weight:400;font-size:.88rem;line-height:2.05;color:rgba(246,241,230,.56);letter-spacing:.018em;border-left:1px solid var(--brass-30);padding-left:2.2rem}
.her-pillars{display:flex;flex-direction:column}
.her-pillar{border-top:1px solid var(--line-on-dark);display:grid;grid-template-columns:clamp(3.6rem,5.5vw,6.8rem) 1fr;gap:2.2rem;padding:2.5rem 0;align-items:start;cursor:none;transition:border-color .35s}
.her-pillar:last-child{border-bottom:1px solid var(--line-on-dark)}
.her-pillar.open,.her-pillar:hover{border-color:var(--brass-30)}
.her-p-num{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.2rem,4vw,4rem);color:rgba(140,113,72,.28);line-height:1;transition:color .4s}
.her-pillar:hover .her-p-num,.her-pillar.open .her-p-num{color:var(--brass-soft)}
.her-p-title{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.05rem,1.6vw,1.5rem);color:var(--ivory);margin-bottom:.55rem;transition:color .35s}
.her-pillar:hover .her-p-title,.her-pillar.open .her-p-title{color:var(--brass-pale)}
.her-p-body{font-family:var(--ff-body);font-weight:400;font-size:.82rem;line-height:1.95;color:rgba(246,241,230,.48);letter-spacing:.012em;max-height:0;overflow:hidden;transition:max-height .5s var(--ease-lux),opacity .4s;opacity:0}
.her-pillar.open .her-p-body{max-height:10rem;opacity:1}
.her-mosaic{position:relative;padding-top:1.8rem}
.her-img-main{width:72%;aspect-ratio:2/3;background:url('../images/stitch-illustration.svg') center 38%/62% no-repeat,linear-gradient(160deg,#5C4630 0%,#2B1E10 100%);position:relative;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.5)}
.her-img-main::before{content:'';position:absolute;inset:0;background-image:url('../images/pattern-jali.svg');background-size:90px 90px;opacity:.14;mix-blend-mode:overlay;pointer-events:none}
.her-img-main::after{content:'Jodhpur Atelier';position:absolute;bottom:1.8rem;left:1.8rem;font-family:var(--ff-display);font-weight:400;font-style:italic;font-size:.92rem;color:rgba(246,241,230,.42)}
.her-img-sub{position:absolute;bottom:-3.6rem;right:0;width:54%;aspect-ratio:1;background:url('../images/pattern-weave.svg') center/30px no-repeat,linear-gradient(140deg,#73583A 0%,#3C2A18 100%);background-blend-mode:soft-light;border:3px solid var(--ink)}
.her-img-tag{position:absolute;top:4.6rem;left:-4.2rem;background:var(--brass-deep);padding:.8rem 1.2rem;transform:rotate(-90deg) translateX(-100%);transform-origin:top left;white-space:nowrap}
.her-img-tag span{font-family:var(--ff-body);font-weight:500;font-size:.46rem;letter-spacing:.42em;text-transform:uppercase;color:var(--ivory)}
.her-year{position:absolute;top:0;right:0;font-family:var(--ff-display);font-weight:500;font-size:clamp(3.6rem,7vw,6.2rem);color:rgba(246,241,230,.05);line-height:1;pointer-events:none}
.her-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%}

/* ══════════════════════════════════════════════════════
   COLLECTIONS
══════════════════════════════════════════════════════ */
#collections{background:var(--parchment);padding:var(--section-pad) 0;overflow:hidden;position:relative}
.col-header{max-width:1300px;margin:0 auto;padding:0 5%;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.6rem;flex-wrap:wrap;gap:2rem}
.col-label{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.46em;text-transform:uppercase;color:var(--brass-deep);display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem}
.col-label::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.col-h{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.6rem,5.2vw,4.9rem);line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
.col-h em{font-style:italic;color:var(--brass-deep)}
.col-see-all{font-family:var(--ff-body);font-weight:400;font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--brass-deep);display:flex;align-items:center;gap:.85rem;transition:gap .35s var(--ease-lux)}
.col-see-all:hover{gap:1.4rem}
.col-see-line{display:inline-block;width:26px;height:1px;background:var(--brass)}
.col-track{display:flex;gap:1.8rem;padding:0 5% 1.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.col-track::-webkit-scrollbar{display:none}
.col-track.grabbing{cursor:grabbing}
.col-card{flex:0 0 clamp(280px,36vw,470px);scroll-snap-align:start;cursor:none;perspective:1200px}
.col-card-img{position:relative;aspect-ratio:3/4;overflow:hidden;margin-bottom:1.4rem;transform-style:preserve-3d;will-change:transform;transition:transform .25s var(--ease-out),box-shadow .35s var(--ease-lux);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.col-card:hover .col-card-img{box-shadow:0 16px 48px rgba(0,0,0,.28)}
.col-card-fill{position:absolute;inset:0;transition:transform .8s var(--ease-lux)}
.col-card:hover .col-card-fill{transform:scale(1.05)}
.col-cc1{background:url('../images/bag-marwar.svg') center 42%/46% no-repeat,linear-gradient(155deg,#6B4F33 0%,#2B1B0C 100%)}
.col-cc2{background:url('../images/bag-desert.svg') center 42%/50% no-repeat,linear-gradient(155deg,#9E8259 0%,#5C4128 100%)}
.col-cc3{background:url('../images/bag-caravan.svg') center 42%/56% no-repeat,linear-gradient(155deg,#4F3A24 0%,#221308 100%)}
.col-cc4{background:url('../images/bag-midnight.svg') center 42%/36% no-repeat,linear-gradient(155deg,#82643F 0%,#3A220E 100%)}
.col-cc5{background:url('../images/bag-sandstone.svg') center 42%/46% no-repeat,linear-gradient(155deg,#92724A 0%,#48280F 100%)}
.col-card-num{position:absolute;bottom:-1.3rem;right:1.3rem;font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(5rem,12vw,10rem);-webkit-text-stroke:1px rgba(246,241,230,.12);color:transparent;line-height:1;pointer-events:none}
.col-card-info{border-top:1px solid var(--line-on-light);padding-top:1.4rem}
.col-card-cat{font-family:var(--ff-body);font-weight:500;font-size:.5rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:.4rem}
.col-card-name{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.2rem,1.9vw,1.65rem);color:var(--ink);margin-bottom:.45rem;transition:color .3s}
.col-card:hover .col-card-name{color:var(--brass-deep)}
.col-card-desc{font-family:var(--ff-body);font-weight:400;font-size:.78rem;line-height:1.82;color:rgba(11,9,6,.55)}
.col-drag-hint{max-width:1300px;margin:0 auto;padding:0 5%;display:flex;align-items:center;gap:1.4rem}
.col-drag-hint span{font-family:var(--ff-body);font-weight:400;font-size:.5rem;letter-spacing:.38em;text-transform:uppercase;color:rgba(11,9,6,.3)}
.col-drag-track{width:150px;height:1px;background:var(--line-on-light);position:relative;overflow:hidden}
.col-drag-thumb{position:absolute;top:0;left:0;height:100%;width:20%;background:var(--brass);transition:width .15s}

/* ══════════════════════════════════════════════════════
   CRAFT PROCESS
══════════════════════════════════════════════════════ */
#craft{background:var(--ivory);padding:var(--section-pad) 0;position:relative;overflow:hidden}
.craft-inner{max-width:1300px;margin:0 auto;padding:0 5%}
.craft-header{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:clamp(4.5rem,8vw,7.5rem)}
.craft-label{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.46em;text-transform:uppercase;color:var(--brass-deep);display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.craft-label::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.craft-h{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.6rem,5.2vw,4.9rem);line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
.craft-h em{font-style:italic;color:var(--brass-deep)}
.craft-h-big{
  font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:clamp(3.6rem,8.2vw,8.6rem);line-height:.92;
  color:transparent;-webkit-text-stroke:1px rgba(11,9,6,.14);letter-spacing:-.02em;margin-top:-.4rem;
}
.craft-pull{font-family:var(--ff-display);font-style:italic;font-weight:500;font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.65;color:rgba(11,9,6,.56)}
.craft-steps{display:grid;grid-template-columns:repeat(4,1fr)}
.craft-step{border-left:1px solid var(--line-on-light);padding:3.2rem 3.2rem 3.2rem;position:relative;transition:border-color .4s}
.craft-step::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-lux)}
.craft-step:hover::before{transform:scaleX(1)}
.craft-step:first-child{border-left:none;padding-left:0}
.craft-step:hover{border-color:var(--brass-30)}
.craft-step-n{font-family:var(--ff-display);font-weight:500;font-size:clamp(3.2rem,5.5vw,5.8rem);color:var(--brass-soft);opacity:.55;line-height:1;margin-bottom:1.8rem;transition:opacity .4s}
.craft-step:hover .craft-step-n{opacity:1}
.craft-step-t{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--ink);margin-bottom:.75rem}
.craft-step-b{font-family:var(--ff-body);font-weight:400;font-size:.82rem;line-height:1.95;color:rgba(11,9,6,.52)}

/* ══════════════════════════════════════════════════════
   ITALIC TEXT STRIP
══════════════════════════════════════════════════════ */
.italic-strip{background:var(--ink-soft);overflow:hidden;padding:clamp(3.2rem,5.5vw,5.5rem) 0;white-space:nowrap;position:relative;border-top:1px solid var(--line-on-dark);border-bottom:1px solid var(--line-on-dark)}
.italic-strip-inner{display:inline-flex;animation:scrollLeft 24s linear infinite}
.italic-strip-inner span{
  font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:clamp(2.2rem,5.5vw,5.2rem);
  -webkit-text-stroke:1px rgba(140,113,72,.4);color:transparent;letter-spacing:.04em;padding:0 3.2rem;white-space:nowrap;
  transition:-webkit-text-stroke-color .35s;
}
.italic-strip-inner span:hover{-webkit-text-stroke-color:rgba(140,113,72,.8)}
.italic-strip-inner .dot{-webkit-text-stroke:none;color:rgba(140,113,72,.35);font-size:.42em;padding:0 1rem;line-height:2.6;font-style:normal}

/* ══════════════════════════════════════════════════════
   GIANT QUOTE — solid ink, not gold
══════════════════════════════════════════════════════ */
#quote{background:var(--ink);padding:clamp(6.5rem,13vw,13rem) 0;position:relative;overflow:hidden}
.quote-bg-mark{position:absolute;left:-1%;top:-22%;font-family:var(--ff-display);font-weight:600;font-size:clamp(22rem,62vw,64rem);color:rgba(140,113,72,.05);line-height:.7;pointer-events:none;user-select:none}
.quote-inner{max-width:1080px;margin:0 auto;padding:0 5%;position:relative;z-index:2}
.quote-attr-top{font-family:var(--ff-body);font-weight:400;font-size:.52rem;letter-spacing:.55em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:2.8rem}
.quote-text{font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:clamp(2rem,5vw,5.4rem);line-height:1.28;letter-spacing:-.005em;color:var(--ivory);margin-bottom:3.6rem}
.quote-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;padding-top:2.6rem;border-top:1px solid var(--line-on-dark)}
.quote-source{font-family:var(--ff-body);font-weight:400;font-size:.52rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(246,241,230,.45)}
.quote-cta{
  font-family:var(--ff-body);font-weight:500;font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--ink);background:var(--brass-soft);padding:.95rem 2.3rem;
  transition:background .3s,transform .25s;
}
.quote-cta:hover{background:var(--brass-pale);transform:translateY(-2px)}

/* ══════════════════════════════════════════════════════
   COUNTERS
══════════════════════════════════════════════════════ */
#counters{background:var(--ink-soft);padding:clamp(5.5rem,9vw,8rem) 0;position:relative;overflow:hidden;border-top:1px solid var(--line-on-dark);border-bottom:1px solid var(--line-on-dark)}
.counters-bg{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(140,113,72,.03) 0,rgba(140,113,72,.03) 1px,transparent 1px,transparent 25%);pointer-events:none}
.counters-inner{max-width:1300px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:2}
.counter-item{padding:0 3.6rem 0 0;border-right:1px solid var(--line-on-dark)}
.counter-item:first-child{padding-left:0}
.counter-item:last-child{border-right:none;padding-right:0}
.counter-label-top{font-family:var(--ff-body);font-weight:400;font-size:.46rem;letter-spacing:.46em;text-transform:uppercase;color:rgba(246,241,230,.32);margin-bottom:1.3rem}
.counter-num{font-family:var(--ff-display);font-weight:500;font-size:clamp(3.2rem,6.5vw,6.8rem);line-height:1;letter-spacing:-.025em;color:var(--brass-soft);margin-bottom:.45rem}
.counter-num .sfx{font-style:italic;font-size:.65em;margin-left:.05em}
.counter-label{font-family:var(--ff-body);font-weight:400;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(246,241,230,.4)}
.counter-divider{display:block;width:24px;height:1px;margin:1.2rem 0;background:var(--brass)}

/* ══════════════════════════════════════════════════════
   JOURNAL
══════════════════════════════════════════════════════ */
#journal{background:var(--ink);padding:var(--section-pad) 0}
.journal-inner{max-width:1300px;margin:0 auto;padding:0 5%}
.journal-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(3.6rem,6vw,5.5rem);flex-wrap:wrap;gap:2rem}
.journal-label{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.46em;text-transform:uppercase;color:var(--brass-soft);display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem}
.journal-label::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.journal-h{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.3rem,4.6vw,4.6rem);color:var(--ivory);line-height:1.08;letter-spacing:-.015em}
.journal-h em{font-style:italic;color:var(--brass-soft)}
.journal-all{font-family:var(--ff-body);font-weight:400;font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--brass-soft);display:flex;align-items:center;gap:.85rem;transition:gap .35s var(--ease-lux)}
.journal-all:hover{gap:1.4rem}
.journal-all-line{display:inline-block;width:26px;height:1px;background:var(--brass)}
.journal-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:2.6rem}
.journal-feature{grid-row:span 2}
.journal-card{cursor:none;perspective:1200px}
.journal-card:hover .journal-img{transform:scale(1.05)}
.journal-img-wrap{overflow:hidden;margin-bottom:1.6rem;position:relative;transform-style:preserve-3d;will-change:transform;transition:transform .25s var(--ease-out),box-shadow .4s var(--ease-lux);box-shadow:0 8px 32px rgba(0,0,0,.3)}
.journal-card:hover .journal-img-wrap{box-shadow:0 16px 50px rgba(0,0,0,.45)}
.journal-feature .journal-img-wrap{aspect-ratio:3/4}
.journal-sm .journal-img-wrap{aspect-ratio:16/9}
.journal-img{width:100%;height:100%;transition:transform .8s var(--ease-lux)}
.jc-1{background:url('../images/paisley-motif.svg') 85% 15%/30% no-repeat,linear-gradient(150deg,#6B4F33 0%,#2B1B0C 100%)}
.jc-2{background:url('../images/stitch-illustration.svg') center 60%/55% no-repeat,linear-gradient(150deg,#9E8259 0%,#5C4128 100%)}
.jc-3{background:url('../images/pattern-weave.svg') center/24px repeat,linear-gradient(150deg,#4F3A24 0%,#221308 100%);background-blend-mode:soft-light,normal}
.journal-cat{font-family:var(--ff-body);font-weight:500;font-size:.5rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:.45rem}
.journal-title{font-family:var(--ff-display);font-weight:500;color:var(--ivory);line-height:1.3;margin-bottom:.65rem;transition:color .3s}
.journal-card:hover .journal-title{color:var(--brass-pale)}
.journal-feature .journal-title{font-size:clamp(1.5rem,2.5vw,2.3rem)}
.journal-sm .journal-title{font-size:clamp(1.05rem,1.6vw,1.4rem)}
.journal-meta{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.2em;color:rgba(246,241,230,.32)}

/* ══════════════════════════════════════════════════════
   NEWSLETTER
══════════════════════════════════════════════════════ */
#newsletter{background:var(--cream);padding:var(--section-pad) 0;position:relative;overflow:hidden}
.nl-ghost{position:absolute;right:-4%;bottom:-8%;font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(11rem,32vw,36rem);-webkit-text-stroke:1px rgba(140,113,72,.08);color:transparent;line-height:.85;pointer-events:none;user-select:none;letter-spacing:-.03em}
.nl-inner{max-width:1300px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;position:relative;z-index:2}
.nl-label{font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.46em;text-transform:uppercase;color:var(--brass-deep);display:flex;align-items:center;gap:1rem;margin-bottom:1.8rem}
.nl-label::before{content:'';display:block;width:22px;height:1px;background:var(--brass)}
.nl-h{font-family:var(--ff-display);font-weight:500;font-size:clamp(2.1rem,4.2vw,3.9rem);line-height:1.12;letter-spacing:-.015em;color:var(--ink);margin-bottom:1.4rem}
.nl-h em{font-style:italic;color:var(--brass-deep)}
.nl-body{font-family:var(--ff-body);font-weight:400;font-size:.86rem;line-height:2;color:rgba(11,9,6,.58)}
.nl-form{display:flex;flex-direction:column;gap:1.1rem}
.nl-input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(11,9,6,.25);padding:1rem 0;font-family:var(--ff-body);font-weight:400;font-size:.88rem;color:var(--ink);letter-spacing:.02em;outline:none;transition:border-color .3s}
.nl-input::placeholder{color:rgba(11,9,6,.32);font-style:italic}
.nl-input:focus{border-color:var(--brass)}
.nl-submit{
  align-self:flex-start;margin-top:.4rem;font-family:var(--ff-body);font-weight:500;font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--ivory);background:var(--brass-deep);padding:1.1rem 2.9rem;cursor:none;transition:background .3s,transform .25s;
}
.nl-submit:hover{background:var(--brass);transform:translateY(-2px)}
.nl-note{font-family:var(--ff-body);font-weight:400;font-size:.62rem;color:rgba(11,9,6,.32)}

/* ══════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════ */
footer{background:var(--ink);padding:clamp(5.5rem,9vw,8rem) 0 clamp(2.4rem,4vw,3.2rem)}
.ft-inner{max-width:1300px;margin:0 auto;padding:0 5%}
.ft-top-band{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem;padding-bottom:3.6rem;border-bottom:1px solid var(--line-on-dark);margin-bottom:4.5rem}
.ft-top-name{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,5rem);color:var(--ivory);display:flex;align-items:center;gap:1.1rem}
.ft-crest{flex-shrink:0;opacity:.85}
.ft-top-name em{font-style:italic;color:var(--brass-soft)}
.ft-top-store{
  font-family:var(--ff-body);font-weight:400;font-size:.54rem;letter-spacing:.34em;text-transform:uppercase;color:var(--brass-soft);
  border:1px solid var(--brass-30);padding:.85rem 2rem;display:flex;align-items:center;gap:1rem;transition:border-color .3s,background .3s;
}
.ft-top-store:hover{border-color:var(--brass);background:var(--brass-10)}
.ft-top-arrow{display:inline-block;width:16px;height:1px;background:var(--brass)}
.ft-top-arrow::after{content:'';position:absolute;width:6px;height:6px;border-top:1px solid var(--brass-soft);border-right:1px solid var(--brass-soft);transform:translate(10px,-3px) rotate(45deg)}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:5%;margin-bottom:4.5rem}
.ft-brand-tag{font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:.98rem;color:var(--brass-soft);margin-bottom:1.1rem;line-height:1.65}
.ft-brand-body{font-family:var(--ff-body);font-weight:400;font-size:.8rem;line-height:2;color:rgba(246,241,230,.38)}
.ft-col-t{font-family:var(--ff-body);font-weight:500;font-size:.52rem;letter-spacing:.38em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:1.8rem}
.ft-links{display:flex;flex-direction:column;gap:.8rem}
.ft-links a{font-family:var(--ff-body);font-weight:400;font-size:.82rem;color:rgba(246,241,230,.38);transition:color .3s}
.ft-links a:hover{color:var(--brass-pale)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.4rem;padding-top:2.6rem;border-top:1px solid var(--line-on-dark)}
.ft-copy{font-family:var(--ff-body);font-weight:400;font-size:.62rem;letter-spacing:.08em;color:rgba(246,241,230,.24)}
.ft-legal{display:flex;gap:2.2rem}
.ft-legal a{font-family:var(--ff-body);font-weight:400;font-size:.6rem;letter-spacing:.14em;color:rgba(246,241,230,.24);transition:color .3s}
.ft-legal a:hover{color:var(--brass-soft)}

/* ══════════════════════════════════════════════════════
   SCROLL REVEAL
══════════════════════════════════════════════════════ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
.reveal.visible{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}
.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}.reveal.d5{transition-delay:.5s}

/* ══════════════════════════════════════════════════════
   REDUCED MOTION
══════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  #cursor-dot,#cursor-ring{display:none!important}
  body{cursor:auto!important}
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════ */
@media(max-width:1200px){
  .phi-body{grid-template-columns:1fr 1fr}
  .phi-stats{grid-template-columns:1fr 1fr}
  .phi-stat{border-right:none;border-bottom:1px solid var(--line-on-light);padding-bottom:2.6rem}
  .phi-stat:nth-last-child(-n+2){border-bottom:none}
  .counters-inner{grid-template-columns:1fr 1fr;gap:2.6rem}
  .counter-item{border-right:none;padding-right:0}
  .ft-grid{grid-template-columns:1fr 1fr;gap:2.6rem}
}
@media(max-width:1024px){
  nav{padding:1.4rem 5%}
  .nav-center,.nav-shop{display:none}
  .nav-ham{display:flex}
  body{cursor:auto}
  #cursor-dot,#cursor-ring{display:none}
  .hero-side-label{display:none}
  .hero-ghost{right:-10%}
  .hero-foot{grid-template-columns:1fr;gap:1.8rem}
  .hero-actions{justify-content:flex-start}
  .statement-inner{grid-template-columns:1fr;gap:2.6rem}
  .statement-num{display:none}
  .phi-top,.her-header,.craft-header,.nl-inner{grid-template-columns:1fr;gap:3.4rem}
  .her-mosaic{display:none}
  .her-layout{grid-template-columns:1fr}
  .journal-grid{grid-template-columns:1fr}
  .journal-feature{grid-row:span 1}
  .journal-feature .journal-img-wrap{aspect-ratio:16/9}
  .craft-steps{grid-template-columns:1fr 1fr;gap:0}
  .craft-step{border-left:1px solid var(--line-on-light)!important;padding:2.2rem 1.8rem}
  .craft-step:first-child,.craft-step:nth-child(3){border-left:none!important;padding-left:0}
  #philosophy,#heritage,#collections,#craft,#journal,#newsletter{padding:7rem 0}
  #backToTop{width:44px;height:44px;bottom:1.6rem;right:1.6rem}
}
@media(max-width:640px){
  .phi-body{grid-template-columns:1fr}
  .phi-stats{grid-template-columns:1fr}
  .phi-stat{border-bottom:1px solid var(--line-on-light)!important;padding-bottom:2.2rem;border-right:none!important}
  .phi-stat:last-child{border-bottom:none!important}
  .craft-steps{grid-template-columns:1fr}
  .craft-step{border:none!important;border-top:1px solid var(--line-on-light)!important;padding:2.2rem 0!important}
  .craft-step:first-child{border-top:none!important}
  .counters-inner{grid-template-columns:1fr;gap:2.2rem}
  .ft-grid{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column;align-items:flex-start}
  .ft-top-band{flex-direction:column;align-items:flex-start}
  .statement-inner{grid-template-columns:1fr}
  .mob-link{font-size:clamp(2rem,10vw,2.8rem)}
  .mob-foot{flex-direction:column;align-items:flex-start;gap:.5rem}
}

/* ══════════════════════════════════════════════════════
   SUBPAGE SYSTEM — Page Hero, Prose, Articles, Utility
   Shared across every interior page (Maison, Heritage,
   Atelier, Journal, Legal, Contact, etc.)
   Same restraint as the homepage: ink, brass, ivory.
   No shimmer. No glow. No gradient text.
══════════════════════════════════════════════════════ */

/* ── NAV CURRENT-PAGE STATE ───────────────────────────── */
.nav-center a[aria-current="page"]{ color:var(--ivory) }
.nav-center a[aria-current="page"]::after{ transform:scaleX(1) }

/* ── PAGE HERO (compact, for every interior page) ─────── */
.page-hero{
  min-height:56vh;background:var(--ink);position:relative;
  display:flex;align-items:flex-end;overflow:hidden;
  padding:clamp(8rem,16vw,11rem) 0 clamp(4rem,7vw,6rem);
}
.page-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 68% 22%,rgba(140,113,72,.08) 0%,transparent 60%);
}
.page-hero-inner{ position:relative;z-index:2;max-width:1300px;margin:0 auto;padding:0 5%;width:100% }
.breadcrumb{
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  font-family:var(--ff-body);font-weight:400;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(246,241,230,.38);margin-bottom:2rem;
}
.breadcrumb a{ color:rgba(246,241,230,.55);transition:color .3s }
.breadcrumb a:hover{ color:var(--brass-soft) }
.breadcrumb .sep{ color:rgba(140,113,72,.4) }
.breadcrumb .current{ color:var(--brass-soft) }
.page-hero-eyebrow{
  font-family:var(--ff-body);font-weight:400;font-size:.56rem;letter-spacing:.55em;text-transform:uppercase;
  color:var(--brass-soft);display:flex;align-items:center;gap:1.4rem;margin-bottom:1.8rem;
}
.page-hero-eyebrow::before{ content:'';display:block;width:36px;height:1px;background:var(--brass) }
.page-hero-title{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(2.8rem,7.5vw,7rem);
  line-height:1;letter-spacing:-.02em;color:var(--ivory);
}
.page-hero-title em{ font-style:italic;color:var(--brass-soft) }
.page-hero-sub{
  font-family:var(--ff-body);font-weight:400;font-size:clamp(.9rem,1.25vw,1.02rem);line-height:1.9;
  color:rgba(246,241,230,.6);max-width:560px;margin-top:1.7rem;letter-spacing:.018em;
}

/* ── GENERIC CONTENT SECTION WRAPPER ──────────────────── */
.content-section{ padding:clamp(5rem,9vw,8rem) 0;position:relative;overflow:hidden }
.content-section.bg-light{ background:var(--paper) }
.content-section.bg-dark{ background:var(--ink) }
.content-section.bg-parchment{ background:var(--parchment) }
.content-narrow{ max-width:740px;margin:0 auto;padding:0 5% }
.content-wide{ max-width:1300px;margin:0 auto;padding:0 5% }

/* ── PROSE TYPOGRAPHY (legal pages, philosophy, articles) ── */
.prose{ font-family:var(--ff-body);font-weight:400;font-size:.93rem;line-height:2;letter-spacing:.012em }
.prose.on-light{ color:rgba(11,9,6,.66) }
.prose.on-dark{ color:rgba(246,241,230,.58) }
.prose h2{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(1.7rem,3vw,2.4rem);
  line-height:1.22;letter-spacing:-.008em;margin:2.8rem 0 1.2rem;
}
.prose.on-light h2{ color:var(--ink) }
.prose.on-dark h2{ color:var(--ivory) }
.prose h2 em{ font-style:italic;color:var(--brass-deep) }
.prose.on-dark h2 em{ color:var(--brass-soft) }
.prose h3{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(1.2rem,1.9vw,1.5rem);
  letter-spacing:.004em;margin:2.2rem 0 .9rem;
}
.prose.on-light h3{ color:var(--brass-deep) }
.prose.on-dark h3{ color:var(--brass-soft) }
.prose p{ margin-bottom:1.45rem }
.prose p:first-of-type{
  font-family:var(--ff-display);font-style:italic;font-weight:500;
  font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.7;
}
.prose.on-light p:first-of-type{ color:rgba(11,9,6,.75) }
.prose.on-dark p:first-of-type{ color:rgba(246,241,230,.75) }
.prose ul,.prose ol{ margin:0 0 1.5rem 1.3rem }
.prose li{ margin-bottom:.65rem;padding-left:.4rem }
.prose ul li::marker{ color:var(--brass) }
.prose ol li::marker{ color:var(--brass);font-family:var(--ff-display);font-style:italic }
.prose strong{ font-weight:600 }
.prose.on-light strong{ color:var(--ink) }
.prose.on-dark strong{ color:var(--ivory) }
.prose a{ color:var(--brass-deep);border-bottom:1px solid var(--brass-30);transition:color .3s,border-color .3s }
.prose.on-dark a{ color:var(--brass-soft) }
.prose a:hover{ color:var(--brass);border-color:var(--brass) }
.prose hr{ border:none;border-top:1px solid var(--line-on-light);margin:2.8rem 0 }
.prose.on-dark hr{ border-top:1px solid var(--line-on-dark) }
.prose .pull-quote{
  font-family:var(--ff-display);font-weight:500;font-style:italic;
  font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.5;
  margin:2.8rem 0;padding-left:2rem;border-left:2px solid var(--brass);position:relative;
}
.prose.on-light .pull-quote{ color:var(--brass-deep) }
.prose.on-dark .pull-quote{ color:var(--brass-soft) }
.prose .updated-date{
  display:inline-block;font-family:var(--ff-body);font-weight:500;font-size:.58rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:2.3rem;
  border:1px solid var(--brass-30);padding:.55rem 1.3rem;
}
.prose.on-dark .updated-date{ color:var(--brass-soft);border-color:var(--brass-30) }

/* ── TOC sidebar (legal pages) ─────────────────────────── */
.legal-layout{ display:grid;grid-template-columns:230px 1fr;gap:6% }
.legal-toc{ position:sticky;top:8rem;align-self:start }
.legal-toc-label{ font-family:var(--ff-body);font-weight:500;font-size:.5rem;letter-spacing:.38em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:1.2rem }
.legal-toc-list{ display:flex;flex-direction:column;gap:.8rem }
.legal-toc-list a{
  font-family:var(--ff-body);font-weight:400;font-size:.75rem;color:rgba(11,9,6,.48);
  letter-spacing:.008em;transition:color .3s,padding-left .3s;border-left:1px solid transparent;padding-left:.75rem;
}
.legal-toc-list a:hover{ color:var(--brass-deep);padding-left:1.05rem;border-color:var(--brass-30) }

/* ── ARTICLE (Journal single-post) ─────────────────────── */
.article-cover{
  width:100%;aspect-ratio:16/7;position:relative;overflow:hidden;margin-bottom:0;
  box-shadow:0 16px 60px rgba(0,0,0,.3);
}
.article-cover-fill{ position:absolute;inset:0 }
.article-meta-row{
  display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;
  font-family:var(--ff-body);font-weight:500;font-size:.57rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--brass-deep);margin-bottom:1.4rem;
}
.article-meta-row .dot{ opacity:.4 }
.article-title{
  font-family:var(--ff-display);font-weight:500;font-size:clamp(2.1rem,4.8vw,3.8rem);
  line-height:1.12;letter-spacing:-.012em;color:var(--ink);margin-bottom:1.4rem;
}
.article-title em{ font-style:italic;color:var(--brass-deep) }
.article-byline{
  display:flex;align-items:center;gap:1rem;padding-bottom:2.4rem;margin-bottom:2.4rem;
  border-bottom:1px solid var(--line-on-light);
}
.article-byline-avatar{
  width:40px;height:40px;border-radius:50%;background:var(--brass-soft);flex-shrink:0;
}
.article-byline-name{ font-family:var(--ff-display);font-weight:500;font-size:.88rem;color:var(--ink) }
.article-byline-role{ font-family:var(--ff-body);font-weight:400;font-size:.66rem;color:rgba(11,9,6,.42);letter-spacing:.02em }
.article-related{ margin-top:4.6rem;padding-top:3.6rem;border-top:1px solid var(--line-on-light) }
.article-related-label{ font-family:var(--ff-body);font-weight:500;font-size:.53rem;letter-spacing:.38em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:2rem }
.article-related-grid{ display:grid;grid-template-columns:repeat(2,1fr);gap:2rem }
.arel-card{ cursor:none }
.arel-img{ aspect-ratio:16/10;overflow:hidden;margin-bottom:.9rem;box-shadow:0 6px 26px rgba(0,0,0,.16) }
.arel-img-fill{ width:100%;height:100%;transition:transform .8s var(--ease-lux) }
.arel-card:hover .arel-img-fill{ transform:scale(1.05) }
.arel-cat{ font-family:var(--ff-body);font-weight:500;font-size:.49rem;letter-spacing:.38em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:.4rem }
.arel-title{ font-family:var(--ff-display);font-weight:500;font-size:1.08rem;color:var(--ink);line-height:1.34;transition:color .3s }
.arel-card:hover .arel-title{ color:var(--brass-deep) }

/* ── JOURNAL INDEX GRID ────────────────────────────────── */
.jidx-filter{ display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:3.6rem }
.jidx-filter button{
  font-family:var(--ff-body);font-weight:500;font-size:.57rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(11,9,6,.48);border:1px solid var(--line-on-light);padding:.68rem 1.5rem;
  transition:all .3s;
}
.jidx-filter button:hover,.jidx-filter button.active{ border-color:var(--brass);color:var(--brass-deep);background:var(--brass-10) }
.jidx-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem }
.jidx-card{ cursor:none }
.jidx-img{ aspect-ratio:4/3;overflow:hidden;margin-bottom:1.4rem;box-shadow:0 8px 32px rgba(0,0,0,.18);transition:box-shadow .4s }
.jidx-card:hover .jidx-img{ box-shadow:0 14px 48px rgba(0,0,0,.26) }
.jidx-img-fill{ width:100%;height:100%;transition:transform .8s var(--ease-lux) }
.jidx-card:hover .jidx-img-fill{ transform:scale(1.05) }
.jidx-cat{ font-family:var(--ff-body);font-weight:500;font-size:.49rem;letter-spacing:.38em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:.5rem }
.jidx-title{ font-family:var(--ff-display);font-weight:500;font-size:1.25rem;color:var(--ink);line-height:1.28;margin-bottom:.55rem;transition:color .3s }
.jidx-card:hover .jidx-title{ color:var(--brass-deep) }
.jidx-meta{ font-family:var(--ff-body);font-weight:400;font-size:.63rem;letter-spacing:.09em;color:rgba(11,9,6,.38) }

/* ── ATELIER PROCESS / ARTISAN PROFILES ────────────────── */
.artisan-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:2.8rem }
.artisan-card{ text-align:center }
.artisan-portrait{
  width:136px;height:136px;border-radius:50%;margin:0 auto 1.7rem;
  background:var(--ink-soft);position:relative;
  border:1px solid var(--brass-30);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.artisan-portrait img{ width:62%;height:62%;object-fit:contain;opacity:.9 }
.artisan-name{ font-family:var(--ff-display);font-weight:500;font-size:1.25rem;color:var(--ivory);margin-bottom:.3rem }
.artisan-role{ font-family:var(--ff-body);font-weight:400;font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:1.1rem }
.artisan-bio{ font-family:var(--ff-body);font-weight:400;font-size:.81rem;line-height:1.9;color:rgba(246,241,230,.46) }

/* ── CONTACT PAGE ───────────────────────────────────────── */
.contact-grid{ display:grid;grid-template-columns:1.1fr .9fr;gap:8% }
.contact-form-card{ background:var(--brass-10);border:1px solid var(--line-on-light);padding:clamp(2.4rem,4vw,3.4rem) }
.cf-row{ display:grid;grid-template-columns:1fr 1fr;gap:1.4rem }
.cf-field{ margin-bottom:1.5rem }
.cf-field label{
  display:block;font-family:var(--ff-body);font-weight:500;font-size:.55rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--brass-deep);margin-bottom:.65rem;
}
.cf-field input,.cf-field select,.cf-field textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(11,9,6,.2);
  padding:.8rem 0;font-family:var(--ff-body);font-weight:400;font-size:.86rem;color:var(--ink);
  outline:none;transition:border-color .35s;resize:vertical;cursor:auto;
}
.cf-field textarea{ cursor:auto;font-family:var(--ff-body) }
.cf-field input::placeholder,.cf-field textarea::placeholder{ color:rgba(11,9,6,.28);font-style:italic }
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{ border-color:var(--brass) }
.cf-submit{
  font-family:var(--ff-body);font-weight:500;font-size:.57rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ivory);background:var(--brass-deep);border:1px solid var(--brass-deep);
  padding:1.05rem 2.8rem;cursor:none;position:relative;margin-top:.4rem;
  transition:background .3s,transform .25s;
}
.cf-submit:hover{ background:var(--brass);border-color:var(--brass);transform:translateY(-2px) }
.contact-info-list{ display:flex;flex-direction:column;gap:2.2rem }
.contact-info-item{ display:flex;gap:1.4rem;align-items:flex-start }
.cii-mark{
  width:44px;height:44px;flex-shrink:0;border:1px solid var(--brass-30);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.cii-mark span{ width:7px;height:7px;border-radius:50%;background:var(--brass) }
.cii-title{ font-family:var(--ff-display);font-weight:500;font-size:1.02rem;color:var(--ink);margin-bottom:.35rem }
.cii-body{ font-family:var(--ff-body);font-weight:400;font-size:.81rem;line-height:1.82;color:rgba(11,9,6,.52) }
.cii-body a{ color:var(--brass-deep);border-bottom:1px solid var(--brass-30) }

/* ── STOCKISTS ─────────────────────────────────────────── */
.stockist-region{ margin-bottom:4.2rem }
.stockist-region-title{
  font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:1.6rem;color:var(--brass-deep);
  margin-bottom:1.9rem;padding-bottom:.95rem;border-bottom:1px solid var(--brass-30);
}
.stockist-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem }
.stockist-card{ padding:1.7rem;border:1px solid var(--line-on-light);transition:border-color .35s,background .35s }
.stockist-card:hover{ border-color:var(--brass-30);background:var(--brass-10) }
.stockist-city{ font-family:var(--ff-body);font-weight:500;font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:.55rem }
.stockist-name{ font-family:var(--ff-display);font-weight:500;font-size:1.15rem;color:var(--ink);margin-bottom:.45rem }
.stockist-addr{ font-family:var(--ff-body);font-weight:400;font-size:.77rem;line-height:1.68;color:rgba(11,9,6,.48) }

/* ── BESPOKE ───────────────────────────────────────────── */
.besp-steps{ display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:3.8rem 0 }
.besp-step{ border-left:1px solid var(--line-on-dark);padding:0 2.2rem }
.besp-step:first-child{ border-left:none;padding-left:0 }
.besp-step-n{ font-family:var(--ff-display);font-weight:500;font-size:2.8rem;color:var(--brass-soft);opacity:.55;margin-bottom:1.1rem }
.besp-step-t{ font-family:var(--ff-display);font-weight:500;font-size:1.06rem;color:var(--ivory);margin-bottom:.65rem }
.besp-step-b{ font-family:var(--ff-body);font-weight:400;font-size:.77rem;line-height:1.85;color:rgba(246,241,230,.44) }
.besp-cta-band{
  text-align:center;padding:3.8rem 2.8rem;margin-top:2.8rem;
  background:var(--brass-10);border:1px solid var(--brass-30);
}
.besp-cta-title{ font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:1.7rem;color:var(--brass-soft);margin-bottom:1.4rem }

/* ── PRESS / MEDIA ─────────────────────────────────────── */
.press-grid{ display:grid;grid-template-columns:1fr 1fr;gap:2.3rem }
.press-card{ padding:2.2rem;border:1px solid var(--line-on-light);transition:border-color .35s }
.press-card:hover{ border-color:var(--brass-30) }
.press-card-title{ font-family:var(--ff-display);font-weight:500;font-size:1.25rem;color:var(--ink);margin-bottom:.75rem }
.press-card-body{ font-family:var(--ff-body);font-weight:400;font-size:.83rem;line-height:1.85;color:rgba(11,9,6,.52);margin-bottom:1.1rem }
.press-card-link{ font-family:var(--ff-body);font-weight:500;font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-deep);display:inline-flex;align-items:center;gap:.65rem }
.press-kit-band{ background:var(--ink);padding:3.8rem;text-align:center;margin-top:3.8rem }
.press-kit-title{ font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:1.9rem;color:var(--brass-soft);margin-bottom:.95rem }
.press-kit-body{ font-family:var(--ff-body);font-weight:400;font-size:.84rem;color:rgba(246,241,230,.46);margin-bottom:1.9rem;max-width:470px;margin-left:auto;margin-right:auto;line-height:1.82 }

/* ── SITEMAP ───────────────────────────────────────────── */
.sitemap-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:2.8rem }
.sitemap-col-title{ font-family:var(--ff-body);font-weight:500;font-size:.53rem;letter-spacing:.38em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:1.5rem }
.sitemap-list{ display:flex;flex-direction:column;gap:.8rem }
.sitemap-list a{ font-family:var(--ff-body);font-weight:400;font-size:.84rem;color:rgba(11,9,6,.52);transition:color .3s }
.sitemap-list a:hover{ color:var(--brass-deep) }

/* ── 404 ───────────────────────────────────────────────── */
.error-hero{
  min-height:80vh;background:var(--ink);display:flex;align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden;padding:8rem 5%;
}
.error-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(140,113,72,.08) 0%,transparent 60%);
}
.error-code{
  position:relative;z-index:2;
  font-family:var(--ff-display);font-weight:600;font-style:italic;font-size:clamp(7rem,20vw,14rem);
  line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(140,113,72,.4);margin-bottom:1.4rem;
}
.error-msg{ position:relative;z-index:2;font-family:var(--ff-display);font-weight:500;font-style:italic;font-size:clamp(1.25rem,2.3vw,1.9rem);color:var(--ivory);margin-bottom:2.3rem }
.error-sub{ position:relative;z-index:2;font-family:var(--ff-body);font-weight:400;font-size:.88rem;color:rgba(246,241,230,.48);max-width:430px;margin:0 auto 2.8rem;line-height:1.85 }

/* ── GENERIC PLACEHOLDER GRADIENTS (extra variety) ────── */
.ph-a{ background:linear-gradient(155deg,#82643F 0%,#2B1B0C 100%) }
.ph-b{ background:linear-gradient(155deg,#9E8259 0%,#5C4128 100%) }
.ph-c{ background:linear-gradient(155deg,#6B4F33 0%,#221308 100%) }
.ph-d{ background:linear-gradient(155deg,#A88A5C 0%,#48280F 100%) }
.ph-e{ background:linear-gradient(155deg,#5C4630 0%,#1A0F06 100%) }
.ph-f{ background:linear-gradient(155deg,#8C7148 0%,#3A220E 100%) }

/* ── SIMPLE FADE-IN UTILITY FOR SUBPAGES ──────────────── */
@keyframes fadeScale{ from{opacity:0;transform:scale(.97)} to{opacity:1;transform:scale(1)} }
.fade-section{ animation:fadeScale .8s var(--ease-out) }

/* ══════════════════════════════════════════════════════
   SUBPAGE RESPONSIVE
══════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .legal-layout{ grid-template-columns:1fr;gap:3rem }
  .legal-toc{ position:static }
  .legal-toc-list{ flex-direction:row;flex-wrap:wrap;gap:1.2rem }
  .artisan-grid{ grid-template-columns:repeat(2,1fr) }
  .jidx-grid{ grid-template-columns:repeat(2,1fr) }
  .stockist-grid{ grid-template-columns:repeat(2,1fr) }
  .press-grid{ grid-template-columns:1fr }
  .besp-steps{ grid-template-columns:repeat(2,1fr);gap:2.4rem }
  .besp-step{ border-left:none;padding-left:0;border-top:1px solid var(--line-on-dark);padding-top:1.8rem }
  .besp-step:nth-child(odd){ padding-right:1.4rem }
  .sitemap-grid{ grid-template-columns:repeat(2,1fr) }
}
@media(max-width:760px){
  .contact-grid{ grid-template-columns:1fr;gap:3.2rem }
  .cf-row{ grid-template-columns:1fr }
  .article-related-grid{ grid-template-columns:1fr }
  .artisan-grid{ grid-template-columns:1fr }
  .jidx-grid{ grid-template-columns:1fr }
  .stockist-grid{ grid-template-columns:1fr }
  .besp-steps{ grid-template-columns:1fr }
  .besp-step{ border-top:none!important;padding-top:0!important }
  .besp-step:not(:first-child){ border-top:1px solid var(--line-on-dark)!important;padding-top:1.8rem!important;margin-top:1.8rem }
  .sitemap-grid{ grid-template-columns:1fr;gap:2.3rem }
  .page-hero{ min-height:50vh }
}
