/* ==========================================================================
   MANIKARNIKA: Design System
   Black + Silver + Garnet. Restraint over persuasion.
   ========================================================================== */

:root{
  --black:        #0a0a0a;
  --black-deep:   #050505;
  --black-soft:   #121212;
  --silver-lt:    #eee9e2;
  --silver:       #bfb9ae;
  --silver-dk:    #7d766c;
  --red:          #7e1729;
  --red-bright:   #b5223a;
  --line:         rgba(191,185,174,0.16);
  --text-dim:     rgba(238,233,226,0.62);
  --text-faint:   rgba(238,233,226,0.38);

  --font-display: 'Cinzel', serif;
  --font-body:    'Jost', sans-serif;

  --ease: cubic-bezier(.22,.61,.36,1);
  --dur-slow: 900ms;
  --dur-med: 550ms;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--black);
  color:var(--silver-lt);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }

ul{ margin:0; padding:0; list-style:none; }

button{ font-family:inherit; background:none; border:none; color:inherit; cursor:pointer; }

::selection{ background:var(--red); color:var(--silver-lt); }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

/* Eyebrow / labels */
.eyebrow{
  display:inline-block;
  font-family:var(--font-body);
  font-size:0.72rem;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--red-bright);
  margin-bottom:1.1rem;
}

.section-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 4rem;
  padding:0 1.5rem;
}
.section-heading h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.7rem,4vw,2.6rem);
  letter-spacing:0.02em;
  margin:0 0 1rem;
  color:var(--silver-lt);
}
.section-sub{
  color:var(--text-dim);
  font-size:0.98rem;
  max-width:520px;
  margin:0 auto;
}

/* Reveal-on-scroll */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ==========================================================================
   PRELOADER
   ========================================================================== */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background:var(--black-deep);
  display:flex; align-items:center; justify-content:center;
  transition:opacity 700ms var(--ease), visibility 700ms var(--ease);
}
#preloader.hide{ opacity:0; visibility:hidden; pointer-events:none; }
.preloader-inner{ text-align:center; }
.preloader-logo{
  width:min(280px,60vw);
  height:auto;
  margin:0 auto 1.4rem;
  animation:preloaderFade 1400ms var(--ease) both;
  position:relative;
}
.preloader-tag{
  font-size:0.7rem;
  letter-spacing:0.34em;
  text-transform:uppercase;
  color:var(--text-faint);
  animation:preloaderFade 1400ms var(--ease) 200ms both;
}
@keyframes preloaderFade{
  from{ opacity:0; transform:translateY(10px); filter:brightness(0.6); }
  to{ opacity:1; transform:translateY(0); filter:brightness(1); }
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 1.6rem;
  background:linear-gradient(to bottom, rgba(5,5,5,0.75), transparent);
  transition:background 400ms var(--ease), padding 400ms var(--ease), backdrop-filter 400ms;
}
.site-header.scrolled{
  background:rgba(8,8,8,0.86);
  backdrop-filter:blur(10px);
  padding:0.85rem 1.6rem;
  border-bottom:1px solid var(--line);
}
.header-logo{ height:38px; width:auto; transition:height 400ms var(--ease); }
.site-header.scrolled .header-logo{ height:30px; }
.header-logo-link{ display:flex; }

.hamburger{
  width:44px; height:44px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.hamburger span{
  display:block; width:22px; height:1px; background:var(--silver-lt);
  transition:transform 300ms var(--ease), opacity 300ms var(--ease);
}

.header-enquire{
  font-size:0.72rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--silver);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:border-color 300ms var(--ease), color 300ms var(--ease);
}
.header-enquire:hover{ color:var(--silver-lt); border-color:var(--red-bright); }

/* ==========================================================================
   NAV OVERLAY
   ========================================================================== */
.nav-overlay{
  position:fixed; inset:0; z-index:900;
  background:var(--black-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2.4rem;
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity 500ms var(--ease), visibility 500ms var(--ease), transform 500ms var(--ease);
}
.nav-overlay.open{ opacity:1; visibility:visible; transform:translateY(0); }

.nav-close{
  position:absolute; top:1.5rem; right:1.6rem;
  font-size:2rem; line-height:1; color:var(--silver);
  width:44px; height:44px;
}
.nav-links{ text-align:center; }
.nav-links li + li{ margin-top:1.4rem; }
.nav-link{
  font-family:var(--font-display);
  font-size:clamp(1.4rem,4vw,2.1rem);
  letter-spacing:0.03em;
  color:var(--silver-lt);
  position:relative;
  padding-bottom:4px;
}
.nav-link::after{
  content:''; position:absolute; left:50%; bottom:0; width:0; height:1px;
  background:var(--red-bright); transition:width 350ms var(--ease), left 350ms var(--ease);
}
.nav-link:hover::after{ width:100%; left:0; }

.nav-devanagari{
  font-family:var(--font-display);
  font-size:1rem;
  letter-spacing:0.1em;
  color:var(--silver-dk);
}

.nav-socials{ display:flex; gap:1.6rem; }
.nav-socials a{ color:var(--silver-dk); transition:color 300ms var(--ease); }
.nav-socials a:hover{ color:var(--red-bright); }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 30%;
  filter:brightness(0.55) saturate(0.9);
  transform:scale(1.08);
  animation:heroZoom 12s var(--ease) forwards;
}
@keyframes heroZoom{ to{ transform:scale(1); } }
.hero-scrim{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at center, rgba(10,10,10,0.15) 0%, rgba(10,10,10,0.65) 70%, rgba(5,5,5,0.92) 100%),
    linear-gradient(to top, rgba(5,5,5,0.9), transparent 40%);
}
.hero-content{
  position:relative; z-index:2;
  text-align:center;
  padding:0 1.5rem;
  display:flex; flex-direction:column; align-items:center;
}
.hero-logo{
  width:min(300px,64vw);
  height:auto;
  margin-bottom:1.6rem;
  opacity:0;
  animation:heroIn 1200ms var(--ease) 300ms forwards;
}
.hero-line{
  font-family:var(--font-display);
  font-size:clamp(1.3rem,3.6vw,2rem);
  letter-spacing:0.02em;
  margin:0 0 0.8rem;
  opacity:0;
  animation:heroIn 1200ms var(--ease) 600ms forwards;
}
.hero-sub{
  font-size:0.92rem;
  letter-spacing:0.03em;
  color:var(--text-dim);
  max-width:400px;
  margin:0 0 2.2rem;
  opacity:0;
  animation:heroIn 1200ms var(--ease) 800ms forwards;
}
@keyframes heroIn{
  from{ opacity:0; transform:translateY(16px); }
  to{ opacity:1; transform:translateY(0); }
}

.btn-ghost, .btn-solid{
  display:inline-block;
  font-size:0.74rem;
  letter-spacing:0.24em;
  text-transform:uppercase;
  padding:1rem 2.2rem;
  border:1px solid var(--silver-dk);
  color:var(--silver-lt);
  transition:border-color 350ms var(--ease), background 350ms var(--ease), color 350ms var(--ease);
  opacity:0;
  animation:heroIn 1200ms var(--ease) 1000ms forwards;
}
.btn-ghost:hover{ border-color:var(--red-bright); background:rgba(181,34,58,0.08); }

.btn-solid{
  background:var(--red);
  border-color:var(--red);
  animation:none; opacity:1;
}
.btn-solid:hover{ background:var(--red-bright); border-color:var(--red-bright); }

.scroll-cue{
  position:absolute; bottom:2.4rem; left:50%; transform:translateX(-50%);
  width:1px; height:52px; background:var(--line);
  z-index:2;
  overflow:hidden;
}
.scroll-cue span{
  position:absolute; top:-100%; left:0; width:100%; height:100%;
  background:var(--red-bright);
  animation:scrollDrop 2400ms ease-in-out infinite;
}
@keyframes scrollDrop{
  0%{ top:-100%; }
  60%{ top:100%; }
  100%{ top:100%; }
}

/* ==========================================================================
   STORY SECTION
   ========================================================================== */
.story{
  padding:8rem 0 6rem;
  position:relative;
}
.lang-toggle{
  margin-top:1.2rem;
  font-size:0.7rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--silver-dk);
  border-bottom:1px solid var(--silver-dk);
  padding-bottom:3px;
  transition:color 300ms var(--ease), border-color 300ms var(--ease);
}
.lang-toggle:hover, .lang-toggle[aria-pressed="true"]{ color:var(--red-bright); border-color:var(--red-bright); }

.story-beat{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:0;
  max-width:1200px;
  margin:0 auto 3rem;
  position:relative;
}
.story-beat--reverse .story-media{ order:2; }
.story-beat--reverse .story-text{ order:1; }

.story-media{
  overflow:hidden;
  aspect-ratio:4/5;
  position:relative;
}
.story-media img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(0.15) brightness(0.8);
  transition:transform 900ms var(--ease), filter 900ms var(--ease);
}
.story-beat:hover .story-media img{ transform:scale(1.04); filter:grayscale(0) brightness(0.88); }

.story-text{ padding:3rem 4.5rem; }
.beat-index{
  display:block;
  font-family:var(--font-display);
  font-size:0.85rem;
  color:var(--red-bright);
  letter-spacing:0.2em;
  margin-bottom:0.8rem;
}
.beat-title{
  font-family:var(--font-display);
  font-size:clamp(1.4rem,3vw,2rem);
  font-weight:500;
  margin:0 0 1.1rem;
  color:var(--silver-lt);
}
.beat-copy{
  color:var(--text-dim);
  font-size:1rem;
  max-width:420px;
}
.beat-copy[lang="hi"]{ font-size:1.05rem; line-height:1.9; }

.story-closing{
  text-align:center;
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(1.2rem,2.6vw,1.6rem);
  color:var(--silver);
  max-width:600px;
  margin:5rem auto 0;
  padding:0 1.5rem;
  position:relative;
}
.story-closing::before{
  content:'';
  display:block;
  width:6px; height:6px; border-radius:50%;
  background:var(--red-bright);
  box-shadow:0 0 14px 3px rgba(181,34,58,0.6);
  margin:0 auto 2rem;
}

/* ==========================================================================
   COLLECTION
   ========================================================================== */
.collection{ padding:6rem 0 7rem; }
.collection-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  max-width:1400px;
  margin:0 auto;
  padding:0 1px;
}
.piece{ background:var(--black); position:relative; }
.piece-frame{
  aspect-ratio:3/4;
  overflow:hidden;
  position:relative;
}
.piece-frame img{
  width:100%; height:100%; object-fit:cover;
  filter:brightness(0.82);
  transition:transform 800ms var(--ease), filter 800ms var(--ease);
}
.piece:hover .piece-frame img{ transform:scale(1.06); filter:brightness(0.95); }
.piece-frame::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(5,5,5,0.85), transparent 55%);
  opacity:0.7;
  transition:opacity 500ms var(--ease);
}
.piece:hover .piece-frame::after{ opacity:0.4; }
.piece-info{
  position:absolute; left:0; right:0; bottom:0;
  padding:1.3rem 1.4rem;
  text-align:left;
}
.piece-info h3{
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:500;
  margin:0 0 0.3rem;
  letter-spacing:0.02em;
}
.piece-info p{
  font-size:0.72rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--silver-dk);
  margin:0 0 0.7rem;
}
.piece-buy{ display:flex; gap:0.5rem; flex-wrap:wrap; }
.mini-badge{
  display:inline-flex; align-items:center; gap:0.3rem;
  padding:0.32rem 0.6rem;
  border-radius:3px;
  font-size:0.6rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:#fff;
  transition:opacity 300ms var(--ease), transform 300ms var(--ease);
}
.mini-badge:hover{ opacity:0.82; transform:translateY(-1px); }
.mini-badge--amazon{ background:#131921; }
.mini-badge--amazon svg{ color:#ff9900; }
.mini-badge--flipkart{ background:#2874f0; }
.mini-badge--flipkart svg{ color:#ffe500; }

/* ==========================================================================
   MARKETPLACES ("Also Available On")
   ========================================================================== */
.marketplaces{ padding:5rem 1.5rem 6rem; }
.marketplace-cards{
  display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem;
  max-width:900px; margin:0 auto;
}
.marketplace-card{
  flex:1 1 320px; max-width:400px;
  display:flex; flex-direction:column; align-items:center; gap:1rem;
  padding:2.6rem 2rem;
  border:1px solid var(--line);
  text-align:center;
  transition:transform 400ms var(--ease), border-color 400ms var(--ease);
}
.marketplace-card:hover{ transform:translateY(-5px); border-color:var(--silver-dk); }
.marketplace-logo{
  font-family:var(--font-body);
  font-weight:500;
  font-size:1.6rem;
  letter-spacing:0.01em;
}
.marketplace-card--amazon .marketplace-logo{
  color:var(--silver-lt);
  font-style:italic;
  text-transform:lowercase;
  border-bottom:2px solid #ff9900;
  padding-bottom:2px;
}
.marketplace-card--flipkart .marketplace-logo{
  color:#5b9bff;
  font-weight:600;
}
.fk-star{ color:#ffe500; font-size:0.9rem; margin-left:0.2rem; }
.marketplace-tagline{ font-size:0.85rem; color:var(--text-dim); max-width:280px; }
.marketplace-cta{
  font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--silver); border-bottom:1px solid var(--silver-dk); padding-bottom:2px;
  transition:color 300ms var(--ease), border-color 300ms var(--ease);
}
.marketplace-card:hover .marketplace-cta{ color:var(--red-bright); border-color:var(--red-bright); }

/* ==========================================================================
   CRAFTSMANSHIP
   ========================================================================== */
.craft{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:80vh;
}
.craft-media{ overflow:hidden; }
.craft-media img{
  width:100%; height:100%; object-fit:cover;
  filter:brightness(0.75);
}
.craft-content{
  display:flex; flex-direction:column; justify-content:center;
  padding:4rem 5rem;
}
.craft-content h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.6rem,3.4vw,2.3rem);
  margin:0 0 2rem;
}
.craft-list li{
  position:relative;
  padding-left:1.6rem;
  margin-bottom:1.1rem;
  color:var(--text-dim);
  font-size:0.96rem;
}
.craft-list li::before{
  content:'';
  position:absolute; left:0; top:0.55em;
  width:7px; height:1px; background:var(--red-bright);
}

/* ==========================================================================
   FOUNDER NOTE
   ========================================================================== */
.founder{
  padding:7rem 1.5rem;
  background:var(--black-soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.founder-inner{ max-width:720px; margin:0 auto; text-align:center; }
.founder-photo{
  width:104px; height:104px;
  border-radius:50%;
  object-fit:cover;
  margin:0 auto 1.6rem;
  border:1px solid var(--silver-dk);
  box-shadow:0 0 0 6px rgba(191,185,174,0.06), 0 12px 30px rgba(0,0,0,0.55);
}
.founder blockquote{
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(1.15rem,2.6vw,1.5rem);
  line-height:1.7;
  color:var(--silver-lt);
  margin:0 0 2rem;
}
.founder-name{
  font-size:0.82rem;
  letter-spacing:0.08em;
  color:var(--silver);
}
.founder-name span{
  display:block;
  font-size:0.7rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--text-faint);
  margin-top:0.3rem;
}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact{ padding:7rem 0 8rem; }
.contact-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  padding:0 1.5rem;
  align-items:start;
}
.contact-copy h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.6rem,3.4vw,2.2rem);
  margin:0 0 1rem;
}
.contact-copy .section-sub{ margin:0 0 2rem; text-align:left; }
.contact-email{
  display:inline-block;
  font-family:var(--font-display);
  font-size:1.2rem;
  color:var(--red-bright);
  border-bottom:1px solid var(--red-bright);
  padding-bottom:4px;
  margin-bottom:1.4rem;
}
.contact-note{ font-size:0.85rem; color:var(--text-faint); }

.contact-form{ display:flex; flex-direction:column; gap:1.3rem; }
.contact-form label{
  font-size:0.7rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--silver-dk);
  margin-bottom:0.5rem;
  display:block;
}
.contact-form input, .contact-form textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line);
  color:var(--silver-lt);
  font-family:var(--font-body);
  font-size:0.95rem;
  padding:0.6rem 0.1rem;
  transition:border-color 300ms var(--ease);
}
.contact-form input:focus, .contact-form textarea:focus{
  outline:none; border-color:var(--red-bright);
}
.contact-form textarea{ resize:vertical; }
.form-response{
  font-size:0.8rem; color:var(--silver); min-height:1.2em; margin:0;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{
  background:var(--black-deep);
  border-top:1px solid var(--line);
  padding:5rem 1.5rem 2rem;
}
.footer-top{
  text-align:center;
  max-width:480px;
  margin:0 auto 4rem;
}
.footer-logo{ width:160px; height:auto; margin:0 auto 1rem; }
.footer-tag{
  font-size:0.68rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--text-faint);
  margin-bottom:2.4rem;
}
.newsletter label{
  display:block;
  font-family:var(--font-display);
  font-size:1rem;
  margin-bottom:1rem;
  color:var(--silver);
}
.newsletter-row{
  display:flex;
  border-bottom:1px solid var(--silver-dk);
  max-width:360px;
  margin:0 auto;
}
.newsletter-row input{
  flex:1; background:transparent; border:none; color:var(--silver-lt);
  font-family:var(--font-body); font-size:0.9rem; padding:0.7rem 0.2rem;
}
.newsletter-row input:focus{ outline:none; }
.newsletter-row button{
  font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--red-bright); padding:0.7rem 0.5rem; white-space:nowrap;
}

.footer-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:900px;
  margin:0 auto 3.5rem;
  gap:2.5rem;
  border-top:1px solid var(--line);
  padding-top:3rem;
}
.footer-col h4{
  font-size:0.7rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--silver-dk);
  margin:0 0 1.1rem;
}
.footer-col a{
  display:block;
  font-size:0.88rem;
  color:var(--text-dim);
  margin-bottom:0.7rem;
  transition:color 300ms var(--ease);
}
.footer-col a:hover{ color:var(--red-bright); }
.footer-socials{ display:flex; gap:1.1rem; margin-top:1rem; }
.footer-socials a{ color:var(--silver-dk); margin:0; }
.footer-socials a:hover{ color:var(--red-bright); }

.footer-trust{
  display:flex; flex-wrap:wrap; justify-content:center; gap:0.7rem 1.6rem;
  max-width:800px; margin:0 auto 3rem;
  padding-top:2.5rem;
  border-top:1px solid var(--line);
}
.footer-trust span{
  font-size:0.66rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--text-faint);
  position:relative;
  padding-left:1rem;
}
.footer-trust span::before{
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:4px; height:4px; border-radius:50%; background:var(--red-bright);
}

.footer-bottom{
  text-align:center;
  font-size:0.72rem;
  color:var(--text-faint);
}

/* ==========================================================================
   LEGAL / POLICY PAGES
   ========================================================================== */
.legal-hero{
  padding:9rem 1.5rem 3rem;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.legal-hero h1{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.8rem,4.5vw,2.6rem);
  margin:0.6rem 0 0;
}
.legal-body{
  max-width:720px;
  margin:0 auto;
  padding:4.5rem 1.6rem 6rem;
}
.legal-body h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:1.25rem;
  margin:2.6rem 0 1rem;
  color:var(--silver-lt);
}
.legal-body h2:first-child{ margin-top:0; }
.legal-body p{
  color:var(--text-dim);
  font-size:0.96rem;
  margin:0 0 1.1rem;
}
.legal-body ul{ margin:0 0 1.1rem; }
.legal-body li{
  position:relative;
  padding-left:1.4rem;
  margin-bottom:0.6rem;
  color:var(--text-dim);
  font-size:0.96rem;
}
.legal-body li::before{
  content:''; position:absolute; left:0; top:0.6em;
  width:6px; height:1px; background:var(--red-bright);
}
.legal-body a{ color:var(--red-bright); border-bottom:1px solid var(--red-bright); }
.back-home{
  display:inline-block;
  margin-top:0.5rem;
  font-size:0.72rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--silver-dk);
  border-bottom:1px solid var(--silver-dk);
  padding-bottom:2px;
}
.back-home:hover{ color:var(--red-bright); border-color:var(--red-bright); }

/* FAQ accordion */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%;
  text-align:left;
  padding:1.3rem 0;
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-display);
  font-size:1.02rem;
  color:var(--silver-lt);
}
.faq-q::after{
  content:'+';
  font-size:1.3rem;
  color:var(--red-bright);
  transition:transform 300ms var(--ease);
  flex-shrink:0;
  margin-left:1rem;
}
.faq-item.open .faq-q::after{ transform:rotate(45deg); }
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height 400ms var(--ease);
}
.faq-a p{ padding-bottom:1.3rem; margin:0; color:var(--text-dim); font-size:0.95rem; }

/* ==========================================================================
   MOBILE BOTTOM TAB BAR
   ========================================================================== */
.bottom-tabs{
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:600;
  background:rgba(8,8,8,0.96);
  backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom);
}
.tab-item{
  flex:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:0.25rem;
  padding:0.65rem 0 0.55rem;
  color:var(--silver-dk);
  transition:color 300ms var(--ease);
}
.tab-item span{
  font-size:0.6rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.tab-item.active{ color:var(--red-bright); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:980px){
  .story-beat{ grid-template-columns:1fr; }
  .story-beat--reverse .story-media{ order:0; }
  .story-beat--reverse .story-text{ order:0; }
  .story-text{ padding:2.4rem 1.6rem 1rem; text-align:center; margin:0 auto; }
  .beat-copy{ margin:0 auto; }
  .story-media{ aspect-ratio:16/10; }

  .collection-grid{ grid-template-columns:repeat(2,1fr); }

  .craft{ grid-template-columns:1fr; }
  .craft-media{ aspect-ratio:16/10; }
  .craft-content{ padding:3rem 1.8rem; }

  .contact-inner{ grid-template-columns:1fr; gap:3rem; }
  .contact-copy .section-sub{ text-align:center; margin-left:auto; margin-right:auto; }
  .contact-copy{ text-align:center; }

  .footer-links{ grid-template-columns:1fr; text-align:center; gap:2.4rem; }
  .footer-socials{ justify-content:center; }
}

@media (max-width:640px){
  .bottom-tabs{ display:flex; }
  body{ padding-bottom:64px; }
  .collection-grid{ grid-template-columns:repeat(2,1fr); }
  .hero-content{ padding:0 1.2rem; }
  .header-enquire{ display:none; }
}

@media (min-width:641px){
  .bottom-tabs{ display:none !important; }
}
