@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Parastoo;src:url(/fonts/Parastoo-Bold-FD.woff2) format("woff2");font-weight:700;font-display:swap}

/* tokens: see DESIGN.md */
:root{
  color-scheme:light dark;
  --ink:#14110d;--ink-2:#1d1812;--on-ink:#f4ecdd;--on-ink-muted:#d8ccb6;
  --paper:#f7f2e8;--surface:#fffdf8;--text:#231c13;--muted:#5e5446;--line:#e4d9c4;
  --gold:#b28324;--gold-text:#7a560f;--gold-soft:#e9c97f;--gold-line:rgb(178 131 36/.38);
  --r-btn:10px;--r-card:16px;
  --shadow:0 1px 2px rgb(20 17 13/.06),0 8px 24px rgb(20 17 13/.06);
  --ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --wrap:1180px;--sec:clamp(80px,10vw,120px);
  /* type scale: 14 / 16 / 18 / 22 / 28 / 40 (+ display) */
}
@media (prefers-color-scheme:dark){:root{
  --paper:#211c16;--surface:#2a241c;--text:#efe7d8;--muted:#b9ad98;--line:#3a3128;--gold-text:#dcb35e;--shadow:none;
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--text);font:400 18px/1.85 Vazirmatn,Tahoma,sans-serif;-webkit-text-size-adjust:100%;overflow-x:clip}
img,svg{display:block;max-width:100%}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:rgb(178 131 36/.18)}
@media (pointer:fine){html{overscroll-behavior:none}}
a{color:var(--gold-text)}
.dark a{color:var(--gold-soft)}
:focus-visible{outline:3px solid var(--gold-text);outline-offset:3px;border-radius:6px}
.dark :focus-visible{outline-color:var(--gold-soft);box-shadow:0 0 0 7px var(--ink)}
h1,h2,h3{font-family:Parastoo,Vazirmatn,serif;font-weight:700;margin:0;text-wrap:balance}
h2{font-size:clamp(28px,4vw,40px);line-height:1.35;margin-bottom:16px}
p,dd{margin:0 0 16px;max-width:62ch;text-wrap:pretty}
bdi,[dir=ltr]{overflow-wrap:anywhere}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.dark{background:var(--ink);color:var(--on-ink)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--gold-text);margin-bottom:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.dark .eyebrow{color:var(--gold-soft)}
.sprite{position:absolute;width:0;height:0}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{width:auto;height:auto;clip:auto;top:12px;inset-inline-start:12px;z-index:30;background:var(--surface);color:var(--text);padding:8px 14px}
.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* digit groups separated by spaces would reorder in RTL; keep them left-to-right */
.nowrap{white-space:nowrap;direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums}
/* gold text: bright version for dark panels, deep version for paper (contrast ≥ 3:1 for large text) */
.gold-text{background:linear-gradient(100deg,#f3d68b,#d9a53e 55%,#f0cd7a);-webkit-background-clip:text;background-clip:text;color:transparent}
.paper-gold{background:linear-gradient(100deg,#7a560f,#8a6214 60%,#6d4c0e);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-color-scheme:dark){.paper-gold{background:linear-gradient(100deg,#f3d68b,#d9a53e 55%,#f0cd7a);-webkit-background-clip:text;background-clip:text}}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:var(--r-btn);font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;transition:transform .16s var(--ease-out),background-color .2s ease;overflow:hidden}
.btn:active{transform:scale(.97)}
.btn-primary,.dark .btn-primary{background:linear-gradient(180deg,#c9993a,#a87a1e);color:var(--ink);box-shadow:inset 0 1px 0 rgb(255 241 196/.55),0 6px 20px rgb(178 131 36/.28)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgb(255 248 225/.55) 50%,transparent 70%);transform:translateX(-120%)}
.btn-secondary{border-color:var(--gold);color:var(--text);background:transparent}
.dark .btn-secondary{color:var(--on-ink)}
.dark .btn-primary:focus-visible{box-shadow:0 0 0 7px var(--ink)}
.btn small{font-weight:400;opacity:.8;font-size:14px}
@media (hover:hover) and (pointer:fine){
  /* sheen sweeps forward only; it snaps back instantly when the pointer leaves */
  .btn-primary:hover::after{transform:translateX(120%);transition:transform .7s var(--ease-out)}
  .btn-secondary:hover{background:rgb(178 131 36/.12)}
}

/* header */
.top{position:fixed;inset:0 0 auto 0;z-index:20;border-bottom:1px solid var(--gold-line);transition:background-color .3s ease,border-color .3s ease}
.top.dark{background:rgb(20 17 13/.95)}
.js .top.dark:not(.solid){background:transparent;border-color:transparent}
.top .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--on-ink)!important;text-decoration:none;font-family:Parastoo,serif;font-size:23px}
.brand svg{width:40px;height:40px}
.top .wrap nav{margin-inline-start:auto;display:flex;gap:4px}
.top nav a{color:var(--on-ink);opacity:.82;text-decoration:none;font-size:16px;padding:10px 12px;border-radius:8px;transition:opacity .2s ease}
@media (hover:hover) and (pointer:fine){.top nav a:hover{opacity:1}}
.top .btn{min-height:44px;padding:0 18px}
/* mobile section chips under the header */
.top .chips{display:none}

/* hero */
.hero{position:relative;min-height:clamp(640px,100svh,1000px);display:grid;align-items:center;overflow:hidden;isolation:isolate}
#molten{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:0;transition:opacity 1.2s var(--ease-out)}
#molten.on{opacity:1}
/* darkest where the RTL text column sits (right side), molten gold shows on the left */
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(270deg,rgb(20 17 13/.86) 0%,rgb(20 17 13/.7) 45%,rgb(20 17 13/.2) 80%),
  linear-gradient(180deg,rgb(20 17 13/.6),transparent 28%,transparent 70%,var(--ink))}
.no-webgl .hero{background:radial-gradient(80% 70% at 25% 45%,#5a3f0f,var(--ink) 70%)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-top:120px;padding-bottom:96px;width:100%}
.hero h1{font-size:clamp(56px,8vw,104px);line-height:1.2;margin-bottom:4px;text-shadow:0 2px 24px rgb(20 17 13/.6)}
.hero .tagline{font-family:Parastoo,serif;font-size:clamp(26px,3vw,40px);line-height:1.4;margin:0 0 20px;filter:drop-shadow(0 2px 8px rgb(0 0 0/.5))}
.hero .lead{font-size:clamp(18px,1.6vw,22px);color:var(--on-ink);opacity:.92;margin-bottom:28px;text-shadow:0 1px 12px rgb(20 17 13/.8)}
.hero .btns{display:flex;flex-wrap:wrap;gap:12px}
.hours{display:flex;align-items:center;gap:8px;margin:12px 0 0;min-height:32px;font-size:16px;color:var(--on-ink-muted)}
.hours .ico{width:18px;height:18px;color:var(--gold-soft)}
.trust{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none;font-size:14px}
.trust li{display:flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--gold-line);border-radius:999px;background:rgb(20 17 13/.55)}
.trust .ico{width:18px;height:18px;color:var(--gold-soft)}
.bloom{justify-self:center;width:min(380px,90%);filter:drop-shadow(0 20px 40px rgb(0 0 0/.55))}
.bloom .petal,.bloom .core{transform-box:view-box;transform-origin:200px 200px}
.scroll-cue{position:absolute;bottom:40px;inset-inline-start:50%;translate:50% 0;display:grid;justify-items:center;gap:10px;font-size:14px;color:var(--on-ink-muted)!important;text-decoration:none;min-height:44px}
.scroll-cue i{width:1px;height:42px;background:linear-gradient(var(--gold-soft),transparent);transform-origin:top}

/* hero entrance (first-load moment). h1 never starts invisible, so it stays the LCP element */
.js .hero [data-enter]{opacity:0;transform:translateY(14px);animation:enter .7s var(--ease-out) forwards;animation-delay:calc(var(--d,0) * 60ms + 150ms)}
.js .hero h1[data-enter]{opacity:1;transform:translateY(10px);animation:rise .7s var(--ease-out) .1s forwards}
.js .bloom .petal{opacity:0;transform:rotate(-24deg) scale(.6);animation:enter 1s var(--ease-out) forwards;animation-delay:calc(var(--i) * 50ms + 450ms)}
.js .bloom .core{opacity:0;transform:scale(.7);animation:enter .9s var(--ease-out) .4s forwards}
.js .scroll-cue i{animation:cue 2.4s var(--ease-in-out) 3 forwards}
@keyframes enter{to{opacity:1;transform:none}}
@keyframes rise{to{transform:none}}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* marquee */
.marquee{background:var(--ink);color:var(--gold-soft);border-block:1px solid var(--gold-line);overflow:hidden;padding:18px 0}
.marquee .track{display:flex;width:max-content;gap:48px;padding-inline-end:48px;animation:marq 40s linear infinite}
.marquee:hover .track,.still .marquee .track{animation-play-state:paused}
/* pause-motion control (WCAG 2.2.2): stops the shader, marquee and ingot */
.motion-toggle{position:absolute;bottom:32px;inset-inline-end:24px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--gold-line);background:rgb(20 17 13/.6);color:var(--on-ink);font:inherit;font-size:14px;cursor:pointer}
.motion-toggle .ico{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.motion-toggle:hover{background:rgb(20 17 13/.85)}}
.marquee span{font-family:Parastoo,serif;font-size:28px;white-space:nowrap;display:flex;align-items:center;gap:48px}
.marquee span::after{content:"";width:9px;height:9px;rotate:45deg;background:var(--gold)}
@keyframes marq{to{transform:translateX(50%)}}

/* reveals: short and light */
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(min(var(--i,0),4) * 60ms)}
.js .reveal.in{opacity:1;transform:none}

.sec{padding:var(--sec) 0;position:relative}
/* gold hairline where a paper section meets a dark one */
.sec:not(.dark)+.sec.dark::before,.sec.dark+.sec:not(.dark)::before,.marquee+.sec::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.sec-head{max-width:720px;margin-bottom:48px}
.sec-head p{color:var(--muted);font-size:18px}
.dark .sec-head p{color:var(--on-ink-muted)}

/* panel guide */
.guide{background:radial-gradient(70% 60% at 15% 10%,rgb(178 131 36/.16),transparent 60%),var(--ink)}
.guide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:8px}
.newtab{font-size:15px;color:var(--on-ink-muted)}
.guide-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.gsteps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:g}
.gsteps li{counter-increment:g;position:relative;padding:22px 24px;padding-inline-start:80px;border:1px solid rgb(244 236 221/.12);border-radius:var(--r-card);background:rgb(244 236 221/.03);transition:border-color .2s ease,background-color .2s ease}
.gsteps li::before{content:counter(g,persian);position:absolute;inset-inline-start:22px;top:20px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:Parastoo,serif;font-size:22px;color:var(--gold-soft);border:1px solid var(--gold-line);transition:background-color .2s ease,color .2s ease}
.gsteps li.active{border-color:var(--gold);background:rgb(178 131 36/.08)}
.gsteps li.active::before{background:var(--gold);color:var(--ink)}
.gsteps h3{font-size:22px;line-height:1.5;margin-bottom:4px}
.gsteps p{color:var(--on-ink-muted);margin:0;font-size:16px}
.gsteps .help{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:15px;min-height:44px}
.g{color:#5fd39a}.r{color:#ff8a80}
.tip{margin-top:16px;padding:18px 22px;border:1px dashed var(--gold-line);border-radius:var(--r-card);color:var(--on-ink-muted);font-size:16px}
.tip strong{color:var(--on-ink)}
.phone-wrap{position:sticky;top:120px;display:grid;justify-items:center;gap:14px}
.phone{position:relative;width:280px;height:570px;border-radius:46px;background:#0b0a08;border:1px solid var(--gold-line);box-shadow:0 0 0 8px #1d1812,0 0 0 9px var(--gold-line),0 30px 80px rgb(0 0 0/.5),0 0 60px rgb(178 131 36/.18);overflow:hidden}
.notch{position:absolute;top:10px;inset-inline:0;margin:auto;width:90px;height:24px;border-radius:14px;background:#000;z-index:2}
.scr{position:absolute;inset:0;padding:58px 20px 24px;display:flex;flex-direction:column;gap:12px;background:#f7f2e8;color:#231c13;font-size:13px;opacity:0;transform:scale(.985);transition:opacity .15s ease-out}
.phone[data-step="1"] .s1,.phone[data-step="2"] .s2,.phone[data-step="3"] .s3,.phone[data-step="4"] .s4,.phone[data-step="5"] .s5,.phone[data-step="6"] .s6,.phone[data-step="7"] .s7{opacity:1;transform:none;transition:opacity .28s var(--ease-out) .06s,transform .28s var(--ease-out) .06s}
.ph-logo{width:64px;height:64px;margin:16px auto 0;border-radius:18px;background:#14110d url(/mark.png) center/44px no-repeat}
.ph-t{text-align:center;font-weight:700;font-size:15px}
.ph-s{text-align:center;font-size:12px;color:#5e5446}
.ph-field{height:44px;border-radius:10px;border:1px solid #e0d5c0;background:#fff;color:#6b6152;display:flex;align-items:center;padding:0 12px}
.ph-btn{margin-top:auto;height:46px;border-radius:10px;background:linear-gradient(180deg,#c9993a,#a87a1e);color:#14110d;display:grid;place-items:center;font-weight:700}
.ph-code{display:flex;gap:10px;justify-content:center;direction:ltr}
.ph-code i{width:42px;height:48px;border-radius:10px;border:1.5px solid #b28324;background:#fff}
.ph-card{height:110px;border-radius:16px;background:linear-gradient(135deg,#2c2214,#14110d);box-shadow:inset 0 0 0 1px rgb(233 201 127/.35);color:#e9c97f;display:grid;place-items:center;font-weight:700}
.ph-row{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;background:#fff;border:1px solid #eadfca}
.ph-row span{flex:1;font-weight:700}
.ph-row b{font-size:12px;padding:6px 10px;border-radius:8px;color:#fff}
.ph-row b.g{background:#157a46}.ph-row b.r{background:#c0392b}
.phone-cap{font-size:14px;color:var(--on-ink-muted);text-align:center;max-width:280px}
.safety-dark{margin-top:36px;background:rgb(244 236 221/.04);border:1px solid var(--gold-line);border-inline-start:4px solid var(--gold);border-radius:12px;padding:20px 24px;display:flex;gap:14px}
.safety-dark .ico{color:var(--gold-soft);margin-top:4px}
.safety-dark p{color:var(--on-ink-muted);margin:0}
.safety-dark strong{color:var(--on-ink)}

/* services */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:32px;box-shadow:var(--shadow);overflow:hidden}
.bento .card{min-height:250px;display:flex;flex-direction:column;justify-content:flex-end}
/* faint logo petal watermark */
.bento .card::after{content:"";position:absolute;inset-inline-start:-46px;top:-46px;width:190px;height:190px;background:url(/mark.png) center/contain no-repeat;opacity:.07;pointer-events:none}
.glow::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(360px circle at var(--gx,50%) var(--gy,50%),rgb(178 131 36/.16),transparent 60%)}
@media (hover:hover) and (pointer:fine){.glow:hover::before{opacity:1}}
.bento .card:nth-child(1){grid-column:span 4}
.bento .card:nth-child(2){grid-column:span 2}
.bento .card:nth-child(3){grid-column:span 2}
.bento .card:nth-child(4){grid-column:span 4}
.card .k{font-family:Parastoo,serif;font-size:56px;line-height:1.1;margin-bottom:auto;padding-bottom:24px}
.card h3{font-size:28px;line-height:1.4;margin-bottom:6px}
.card p{color:var(--muted);margin:0}
.card.dark{background:linear-gradient(160deg,#1d1812,#2c2214);border-color:var(--gold-line)}
.card.dark p{color:var(--on-ink-muted)}

/* story + ingot */
.story{background:var(--ink-2);overflow:clip}
.story .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.story-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:56px;padding-inline-start:40px}
.story-steps li{position:relative}
.story-steps li.story-line{position:absolute;inset-block:8px;inset-inline-start:0;width:1px;background:rgb(244 236 221/.14)}
.story-line i{position:absolute;inset:0;background:linear-gradient(var(--gold-soft),var(--gold));transform-origin:top;transform:scaleY(0)}
.story-steps li:not(.story-line)::before{content:"";position:absolute;inset-inline-start:-45px;top:14px;width:11px;height:11px;rotate:45deg;background:var(--ink-2);border:1px solid var(--gold-soft);transition:background-color .22s ease-out,scale .22s var(--ease-out)}
.story-steps li.lit::before{background:var(--gold);scale:1.25}
.story-steps .num{font-size:14px;color:var(--gold-soft);display:block;margin-bottom:2px}
.story-steps h3{font-size:clamp(28px,3vw,40px);line-height:1.4;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.story-steps h3 .ico{width:28px;height:28px;color:var(--gold-soft)}
.story-steps p{color:var(--on-ink-muted);margin:0}
.ingot-col{position:sticky;top:120px;display:grid;gap:12px}
.ingot-stage{height:520px;display:grid;place-items:center;perspective:1200px;touch-action:pan-y;position:relative}
.ingot-stage::before{content:"";position:absolute;width:70%;height:22%;bottom:16%;background:radial-gradient(closest-side,rgb(178 131 36/.45),transparent);filter:blur(18px)}
.ingot-cap{text-align:center;font-size:16px;color:var(--on-ink-muted);margin:0 auto}

/* ingot: a cuboid bar from 6 faces; --w front width, --h height, --d depth */
.ingot{--w:380px;--h:96px;--d:190px;--sheen:50%;position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(28deg)}
.ingot .f{position:absolute;left:0;top:0;width:var(--w);height:var(--h);border-radius:4px}
.ingot .front{transform:translateZ(calc(var(--d) / 2));background:linear-gradient(180deg,#f0d38a,#b28324 45%,#6d4c0e);box-shadow:inset 0 2px 0 #fff1c4,inset 0 -3px 0 rgb(60 40 5/.5)}
.ingot .back{transform:rotateY(180deg) translateZ(calc(var(--d) / 2));background:linear-gradient(180deg,#d9b25a,#8a6214 55%,#4a330a)}
.ingot .left,.ingot .right{width:var(--d);left:calc((var(--w) - var(--d)) / 2);background:linear-gradient(180deg,#e2bf6c,#9a6f18 55%,#553b0b);box-shadow:inset 0 2px 0 rgb(255 241 196/.7),inset 0 -3px 0 rgb(60 40 5/.5)}
.ingot .left{transform:rotateY(-90deg) translateZ(calc(var(--w) / 2))}
.ingot .right{transform:rotateY(90deg) translateZ(calc(var(--w) / 2))}
.ingot .bottom{height:var(--d);top:calc((var(--h) - var(--d)) / 2);transform:rotateX(-90deg) translateZ(calc(var(--h) / 2));background:#2b1f07;box-shadow:0 0 60px 20px rgb(0 0 0/.5)}
.ingot .top{height:var(--d);top:calc((var(--h) - var(--d)) / 2);transform:rotateX(90deg) translateZ(calc(var(--h) / 2));
  background:linear-gradient(115deg,#8f6716,#e9c97f calc(var(--sheen) - 18%),#fff6d8 var(--sheen),#c99a3a calc(var(--sheen) + 16%),#7d5812);
  display:grid;place-items:center;box-shadow:inset 0 0 0 12px rgb(120 84 16/.35),inset 0 0 0 13px rgb(255 241 196/.55),inset 0 0 30px rgb(90 60 10/.45)}
.stamp{direction:rtl;text-align:center;color:#5a3f0c;text-shadow:0 1px 0 rgb(255 246 216/.6),0 -1px 0 rgb(60 40 5/.35);line-height:1.2}
.stamp b{display:block;font-family:Parastoo,serif;font-size:40px}
.stamp small{font-size:16px;font-weight:700;letter-spacing:.1em}

/* visit */
.visit{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
.facts{margin:0;display:grid;gap:22px}
.facts dt{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--muted)}
.facts .ico{color:var(--gold-text)}
.facts dd{margin:0;padding-inline-start:32px;font-size:18px}
.facts dd a{display:inline-block;padding:6px 0;font-weight:700;text-decoration:none;font-size:22px}
.note-small{font-size:15px;color:var(--muted)}
.dark .note-small{color:var(--on-ink-muted)}
.maps{display:grid;gap:12px;align-content:start}
.maps .btn{width:100%}
.maps .alt{display:flex;flex-wrap:wrap;gap:4px 20px;justify-content:center}
.maps .alt a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.pin{width:56px;height:56px;color:var(--gold-soft);margin-bottom:8px;stroke-width:1.2}

/* faq */
.faq{background:radial-gradient(50% 40% at 0% 0%,rgb(178 131 36/.08),transparent 70%),var(--paper);overflow:clip}
.faq::after{content:"";position:absolute;inset-inline-start:-140px;bottom:-140px;width:460px;height:460px;background:url(/mark.png) center/contain no-repeat;opacity:.05;pointer-events:none}
.faq .wrap{position:relative;z-index:1}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 22px;margin-bottom:12px;transition:border-color .2s ease}
.faq details[open]{border-color:var(--gold)}
.faq summary{cursor:pointer;font-weight:700;min-height:56px;display:flex;align-items:center;list-style:none;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";margin-inline-start:auto;width:12px;height:12px;flex:none;border-inline-end:2px solid var(--gold-text);border-bottom:2px solid var(--gold-text);rotate:45deg;transition:rotate .2s var(--ease-out);margin-inline-end:4px}
.faq details[open] summary::after{rotate:225deg}
.faq details p{color:var(--muted);padding-bottom:8px}

.safety-wrap{padding-bottom:var(--sec)}
.safety{border:1px solid var(--line);border-inline-start:4px solid var(--gold);background:var(--surface);border-radius:12px;padding:20px 24px;display:flex;gap:14px}
.safety .ico{color:var(--gold-text);margin-top:4px}
.safety p{margin:0}

/* footer */
footer{padding:72px 0 36px;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
footer::after{content:"";position:absolute;inset-inline-end:-120px;top:-80px;width:420px;height:420px;background:url(/mark.png) center/contain no-repeat;opacity:.05;pointer-events:none}
footer .big{font-family:Parastoo,serif;font-size:clamp(56px,12vw,170px);line-height:1.1;margin:0 0 48px;max-width:none}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
footer .ft{font-family:Parastoo,serif;font-size:22px;margin-bottom:12px;color:var(--gold-soft)}
footer p{color:var(--on-ink-muted);font-size:16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
footer li a{color:var(--on-ink)!important;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px}
footer .ft-note{font-size:14px;margin-top:8px}
.legal{margin-top:40px;border-top:1px solid var(--gold-line);padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.legal p{font-size:14px;margin:0}
.legal strong{color:var(--on-ink)}

/* phone bottom bar (appears once the hero is scrolled past) */
.bar{display:none}

@media (max-width:960px){
  .top .wrap nav{display:none}
  .top .btn{margin-inline-start:auto}
  .top .chips{display:flex;gap:8px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chips a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--gold-line);border-radius:999px;color:var(--on-ink)!important;text-decoration:none;font-size:14px;background:rgb(20 17 13/.6)}
  .hero .wrap{grid-template-columns:1fr;gap:8px;padding-top:150px}
  .bloom{order:-1;width:120px;justify-self:start}
  .story .grid,.visit{grid-template-columns:1fr}
  .ingot-col{position:relative;top:0;order:-1}
  .ingot-stage{height:380px}
  .guide-grid{grid-template-columns:1fr;gap:0}
  .phone-wrap{display:none}
  .bento{grid-template-columns:1fr 1fr}
  .bento .card:nth-child(n){grid-column:span 1}
  .bento .card:nth-child(1),.bento .card:nth-child(4){grid-column:span 2}
  footer .cols{grid-template-columns:1fr}
}
@media (max-width:600px){
  html{scroll-padding-bottom:96px}
  body{font-size:17px;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .wrap{padding:0 16px}
  .hero{min-height:auto}
  .hero .wrap{padding-top:140px;padding-bottom:64px}
  .bloom{display:none}
  .hero h1{font-size:56px}
  .hero .btns .btn{flex:1 1 100%}
  .top .btn{display:none}
  .scroll-cue{display:none}
  .ingot{--w:240px;--h:62px;--d:120px}
  .stamp b{font-size:26px}
  .stamp small{font-size:13px}
  .ingot-stage{height:320px}
  .bento{grid-template-columns:1fr}
  .bento .card:nth-child(n){grid-column:span 1}
  .bento .card{min-height:0}
  .card{padding:24px}
  .card .k{font-size:44px;padding-bottom:12px}
  .gsteps li{padding:18px 18px;padding-inline-start:64px}
  .gsteps li::before{inset-inline-start:14px;top:18px;width:36px;height:36px;font-size:20px}
  .marquee span{font-size:22px}
  .ingot-stage::before{filter:none;opacity:.6}
  .bar{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;position:fixed;inset:auto 0 0 0;z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--gold-line);transform:translateY(110%);visibility:hidden;transition:transform .3s var(--ease-out),visibility 0s linear .3s}
  .past-hero .bar,html:not(.js) .bar{transform:none;visibility:visible;transition:transform .3s var(--ease-out)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .hero [data-enter],.js .bloom .petal,.js .bloom .core{animation:enter .3s ease forwards;transform:none}
  .js .hero h1[data-enter]{animation:none;transform:none}
  .js .scroll-cue i,.marquee .track{animation:none}
  .js .reveal{transform:none;transition:opacity .3s ease}
  .btn-primary::after{display:none}
  .scr,.phone .scr{transition:opacity .2s ease;transform:none}
  .bar{transition:none}
}

/* stagger helpers (classes, not inline styles: CSP-friendly) */
.d0{--d:0}.d1{--d:1;--i:1}.d2{--d:2}.d3{--d:3}.d4{--d:4}.d5{--d:5}
.p1{--i:0}.p2{--i:1}.p3{--i:2}.p4{--i:3}.p5{--i:4}.p6{--i:5}.p7{--i:6}.p8{--i:7}.p9{--i:8}.p10{--i:9}.p11{--i:10}.p12{--i:11}

/* 404 page */
.notfound{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center}
.notfound h1{font-size:40px}
.notfound p{color:var(--on-ink-muted)}
.hero h1 .eyebrow{display:flex;font-family:Vazirmatn,Tahoma,sans-serif;text-shadow:none;line-height:1.6}
.h1-brand{display:block}
