/* ============================================================
   MAGUVA — "THE DRAPE"
   Deep maroon silk · zari gold · warm cream. Nothing else.
   Type floor: body ≥16px, labels ≥13px, everything else ≥14px.
   ============================================================ */
@font-face{font-family:'Fraunces';src:url('../../assets/fonts/Fraunces-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../../assets/fonts/Fraunces-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../../assets/fonts/Fraunces-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../../assets/fonts/Fraunces-500Italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../../assets/fonts/Fraunces-600Italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:'Archivo';src:url('../../assets/fonts/Archivo-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('../../assets/fonts/Archivo-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('../../assets/fonts/Archivo-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  --maroon:#4A0E12;
  --maroon-2:#5C1218;
  --maroon-deep:#2E080B;
  --gold:#C9A227;
  --gold-2:#D4AF37;
  --gold-soft:#E7CE8B;
  --cream:#F7EFE3;
  --cream-2:#F0E2CB;
  --ink:#38100F;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Archivo',Helvetica,Arial,sans-serif;
  --pad:clamp(22px,6vw,96px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
html,body{background:var(--maroon-deep)}
body{
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  color:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}
::selection{background:var(--gold);color:var(--maroon-deep)}

/* ---------- loader ---------- */
#loader{
  position:fixed;inset:0;z-index:200;background:var(--maroon-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  animation:loaderKill .6s ease 3.4s forwards;
}
#loader.done{opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}
@keyframes loaderKill{to{opacity:0;visibility:hidden}}
.loader-mark{font-family:var(--serif);font-weight:600;font-size:clamp(44px,9vw,84px);letter-spacing:.14em;color:var(--cream)}
.loader-thread{width:min(300px,60vw);height:2px;background:rgba(201,162,39,.25);overflow:hidden}
.loader-thread span{display:block;height:100%;width:40%;background:var(--gold-2);animation:threadRun 1.1s ease-in-out infinite}
@keyframes threadRun{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
.loader-sub{font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft)}

/* ---------- header ---------- */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px var(--pad);
  transition:background .4s ease,padding .4s ease,box-shadow .4s ease;
}
.site-head.header--solid{
  background:rgba(46,8,11,.92);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  padding-top:11px;padding-bottom:11px;
  box-shadow:0 1px 0 rgba(201,162,39,.45);
}
.head-mark{font-family:var(--serif);font-weight:700;font-size:27px;letter-spacing:.16em;color:var(--cream);text-decoration:none}
.head-right{display:flex;align-items:center;gap:20px}
.head-status{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:500;color:var(--cream)}
.head-call{
  font-size:15px;font-weight:600;letter-spacing:.04em;text-decoration:none;
  color:var(--maroon-deep);background:var(--gold-2);
  padding:11px 20px;border-radius:999px;transition:background .25s ease,transform .25s ease;
}
.head-call:hover{background:var(--gold-soft)}
.status-dot{width:10px;height:10px;border-radius:50%;background:#8a8a8a;flex:none;display:inline-block}
.status-dot.is-open{background:#57C46A;box-shadow:0 0 0 4px rgba(87,196,106,.22)}
.status-dot.is-closed{background:#D96C4F;box-shadow:0 0 0 4px rgba(217,108,79,.2)}

/* ---------- zari thread ---------- */
#zariThread{position:absolute;top:0;left:0;z-index:6;pointer-events:none;overflow:visible}
#zariTrack{stroke:rgba(212,175,55,.20);stroke-width:1.5}
#zariPath{stroke:var(--gold-2);stroke-width:2.5;stroke-linecap:round}
#zariDot{fill:var(--gold-2);filter:drop-shadow(0 0 6px rgba(212,175,55,.9))}
#smooth-content{position:relative}

/* ---------- shared ---------- */
.eyebrow{
  font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:18px;
}
.eyebrow-dark{color:#9A7414}
.section-head{max-width:880px;padding:0 var(--pad);margin:0 auto;text-align:left}
.section-head h2,.story-core h2{
  font-family:var(--serif);font-weight:600;line-height:1.02;letter-spacing:-.01em;
  font-size:clamp(46px,6.6vw,92px);
}
.section-lede{font-size:19px;line-height:1.6;margin-top:22px;max-width:620px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:56px;
  padding:14px 30px;border-radius:999px;font-size:17px;font-weight:600;letter-spacing:.02em;
  text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease;
}
.btn-gold{background:var(--gold-2);color:var(--maroon-deep)}
.btn-gold:hover{background:var(--gold-soft)}
.btn-ghost{border:2px solid rgba(247,239,227,.75);color:var(--cream)}
.btn-ghost:hover{border-color:var(--gold-2);color:var(--gold-soft)}
.btn-maroon{background:var(--maroon);color:var(--cream)}
.btn-maroon:hover{background:var(--maroon-2)}
.btn-outline{border:2px solid var(--maroon);color:var(--maroon)}
.btn-outline:hover{background:var(--maroon);color:var(--cream)}
.dia{width:8px;height:8px;background:var(--gold-2);transform:rotate(45deg);flex:none;display:inline-block}

/* zari border strip — the saree's edge on maroon sections */
.zari-edge{position:relative}
.zari-edge::before{
  content:"";position:absolute;top:0;left:0;right:0;height:12px;z-index:3;
  background:
    linear-gradient(var(--gold-2),var(--gold-2)) top/100% 3px no-repeat,
    repeating-linear-gradient(45deg,rgba(212,175,55,.55) 0 2px,transparent 2px 11px) center/100% 5px no-repeat,
    linear-gradient(var(--gold-2),var(--gold-2)) bottom/100% 2px no-repeat;
  opacity:.85;
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;background:var(--maroon-deep);overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0}
.hero-slide.is-active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hero-slide:nth-child(2) img{object-position:center 30%}
.hero-slide:nth-child(3) img{object-position:center 50%}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(46,8,11,.55) 0%,rgba(46,8,11,.06) 30%,rgba(46,8,11,.10) 55%,rgba(46,8,11,.88) 100%),
    linear-gradient(96deg,rgba(46,8,11,.72) 0%,rgba(46,8,11,.18) 55%,rgba(46,8,11,0) 80%);
}
.hero-core{position:relative;z-index:2;margin-top:auto;padding:120px var(--pad) 34px;max-width:1200px}
.hero-eyebrow{
  font-size:15px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);
  display:flex;align-items:center;gap:14px;margin-bottom:10px;
}
.hero-eyebrow::before{content:"";width:52px;height:2px;background:var(--gold-2)}
.hero-mark{
  font-family:var(--serif);font-weight:600;line-height:.94;letter-spacing:.015em;
  font-size:clamp(78px,15.5vw,236px);color:var(--cream);
  text-shadow:0 6px 44px rgba(46,8,11,.55);
}
.hero-since{
  font-family:var(--serif);font-weight:500;font-size:clamp(24px,3.4vw,40px);line-height:1.25;
  color:var(--cream);margin-top:14px;max-width:640px;
}
.hero-since em{color:var(--gold-2);font-style:italic;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.proofbar{
  position:relative;z-index:2;margin-top:44px;
  border-top:2px solid var(--gold);
  background:rgba(46,8,11,.78);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;gap:14px 26px;flex-wrap:wrap;
  padding:18px var(--pad);
  font-size:16px;color:var(--cream);
}
.proofbar span{display:inline-flex;align-items:center;gap:8px}
.proofbar strong{color:var(--gold-2);font-weight:600}

/* ---------- collections ---------- */
.collections{background:var(--cream);color:var(--ink);padding:120px 0 40px}
.chapter{
  display:grid;grid-template-columns:1.25fr 1fr;gap:0;
  max-width:1560px;margin:110px auto 0;padding:0 var(--pad);align-items:stretch;
}
.chapter-media{position:relative;overflow:hidden;min-height:560px}
.chapter-media img{width:100%;height:118%;object-fit:cover;position:absolute;left:0;top:-9%}
.chapter-num{
  position:absolute;left:22px;bottom:14px;z-index:2;
  font-family:var(--serif);font-weight:700;font-size:clamp(70px,8vw,120px);line-height:1;
  color:var(--gold-2);text-shadow:0 4px 26px rgba(46,8,11,.6);
}
.chapter-panel{
  background:var(--maroon);color:var(--cream);
  padding:clamp(30px,4.4vw,64px);
  display:flex;flex-direction:column;justify-content:center;
  border-top:10px solid var(--gold);
}
.chapter:nth-of-type(even) .chapter-panel{background:var(--maroon-2)}
.chapter-panel h3{font-family:var(--serif);font-weight:600;font-size:clamp(38px,4.6vw,66px);line-height:1.04;margin-bottom:20px}
.chapter-line{font-size:19px;line-height:1.62;color:#F3E7D3}
.chapter-list{list-style:none;margin-top:28px;border-top:1px solid rgba(212,175,55,.4)}
.chapter-list li{
  font-size:16px;font-weight:500;letter-spacing:.02em;padding:13px 2px;
  border-bottom:1px solid rgba(212,175,55,.4);
  display:flex;align-items:center;gap:12px;
}
.chapter-list li::before{content:"";width:7px;height:7px;background:var(--gold-2);transform:rotate(45deg);flex:none}
.chapter-flip .chapter-media{order:2}
.chapter-flip .chapter-panel{order:1}

/* ---------- story ---------- */
.story{background:var(--maroon);display:grid;grid-template-columns:1fr 1.1fr;min-height:92vh}
.story-media{position:relative;overflow:hidden;min-height:480px}
.story-media img{width:100%;height:118%;object-fit:cover;position:absolute;left:0;top:-9%}
.story-core{padding:clamp(60px,8vw,120px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.story-text{font-size:19px;line-height:1.7;color:#F3E7D3;margin-top:26px;max-width:600px}
.story-text em{font-family:var(--serif);font-style:italic;color:var(--gold-soft)}
.story-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px;border-top:1px solid rgba(212,175,55,.45);padding-top:32px}
.stat strong{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.4vw,46px);color:var(--gold-2);line-height:1.1}
.stat span{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);opacity:.85}

/* ---------- why ---------- */
.why{background:var(--cream);color:var(--ink);padding:120px 0}
.why-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:26px;
  max-width:1360px;margin:64px auto 0;padding:0 var(--pad);
}
.why-card{
  background:#FFFDF8;border:1px solid var(--cream-2);border-top:8px solid var(--gold);
  padding:clamp(28px,3.6vw,48px);position:relative;
}
.why-num{font-family:var(--serif);font-weight:700;font-size:52px;color:var(--gold);opacity:.5;line-height:1}
.why-card h3{font-family:var(--serif);font-weight:600;font-size:clamp(27px,2.8vw,36px);line-height:1.15;margin:14px 0 14px;color:var(--maroon)}
.why-card blockquote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:20px;line-height:1.5;color:#5A2A22}

/* ---------- reviews ---------- */
.reviews{
  background:var(--maroon-deep);padding:120px 0;position:relative;overflow:hidden;
}
.reviews::before{
  content:"";position:absolute;inset:0;opacity:.10;
  background:url('../../assets/images/kalamkari.jpg') center/cover no-repeat;
}
.reviews .section-head,.reviews .review-grid{position:relative;z-index:1}
.section-lede-light{color:#EFE0C6}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1360px;margin:64px auto 0;padding:0 var(--pad)}
.review-card{
  background:rgba(92,18,24,.72);border:1px solid rgba(212,175,55,.4);
  padding:clamp(28px,3.6vw,48px);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
.review-card blockquote{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(23px,2.5vw,32px);line-height:1.42;color:var(--cream);
}
.review-card figcaption{margin-top:22px;font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}

/* ---------- visit ---------- */
.visit{background:var(--cream);color:var(--ink);padding:120px 0 130px}
.visit-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;max-width:1360px;margin:64px auto 0;padding:0 var(--pad)}
.visit-find,.visit-hours{padding:clamp(30px,4vw,56px)}
.visit-find{background:#FFFDF8;border:1px solid var(--cream-2);border-top:8px solid var(--gold)}
.visit-find h3,.visit-hours h3{font-family:var(--serif);font-weight:600;font-size:clamp(29px,3vw,40px);margin-bottom:22px}
.visit-find h3{color:var(--maroon)}
.visit-address{font-style:normal;font-size:20px;line-height:1.6;font-weight:500}
.visit-landmark{margin-top:16px;font-size:17px;color:#6B4438}
.visit-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.visit-hours{background:var(--maroon);color:var(--cream)}
.hours-days{font-size:15px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.hours-time{font-family:var(--serif);font-weight:600;font-size:clamp(36px,4.4vw,58px);line-height:1.1;margin:12px 0 20px}
.hours-status{display:flex;align-items:center;gap:10px;font-size:17px}
.hours-status strong{font-weight:600}
.hours-note{margin-top:18px;font-size:16px;color:#EFE0C6;line-height:1.6}

/* ---------- footer ---------- */
.foot{background:var(--maroon-deep);padding:90px var(--pad) 46px;overflow:hidden;border-top:3px solid var(--gold)}
.foot-mark{
  font-family:var(--serif);font-weight:700;line-height:.9;letter-spacing:.02em;
  font-size:clamp(84px,18.5vw,300px);color:var(--gold-2);text-align:center;white-space:nowrap;
}
.foot-row{
  display:flex;flex-wrap:wrap;gap:10px 44px;justify-content:center;text-align:center;
  margin-top:44px;padding-top:30px;border-top:1px solid rgba(212,175,55,.35);
}
.foot-line{font-size:16px;color:var(--cream)}
.foot-line a{color:var(--gold-2);text-decoration:none;font-weight:600}
.foot-small{margin-top:26px;text-align:center;font-size:14px;color:rgba(247,239,227,.62);line-height:1.6}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .chapter{grid-template-columns:1fr;margin-top:84px}
  .chapter-media{min-height:420px;order:0 !important}
  .chapter-panel{order:1 !important}
  .story{grid-template-columns:1fr}
  .story-media{min-height:380px}
}
@media (max-width:760px){
  body{font-size:16px}
  .head-status{display:none}
  .head-call{padding:10px 16px;font-size:14px}
  .head-mark{font-size:23px}
  .hero-core{padding-top:104px}
  .proofbar{font-size:15px;padding-top:15px;padding-bottom:15px;gap:10px 18px}
  .proofbar .dia{display:none}
  .chapter-media{min-height:340px}
  .chapter-num{font-size:64px}
  .why-grid,.review-grid,.visit-grid{grid-template-columns:1fr}
  .story-stats{grid-template-columns:1fr 1fr}
  .collections,.why,.reviews,.visit{padding-top:84px;padding-bottom:84px}
  .visit{padding-bottom:96px}
  .chapter-line,.story-text{font-size:18px}
  .section-lede{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  .loader-thread span{animation:none}
  #loader{animation-delay:.4s}
}
