:root{
  --pearl:#FCFBF8; --veil:#F3F0EA; --line:#E2DACB; --stone:#6E6860;
  --ink:#231F20; --gold:#B99154; --gold-deep:#8E6B34; --gold-pale:#E9DCC4;
  --display:"Marcellus","Cormorant Garamond",Georgia,serif;
  --body:"Jost","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.24,1);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px);background:var(--pearl)}
body{margin:0;background:var(--pearl);color:var(--ink);font-family:var(--body);font-weight:300;font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;margin:0;letter-spacing:.01em}
p{margin:0 0 1em}
::selection{background:var(--gold-pale)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .5s var(--ease),box-shadow .5s var(--ease)}
.top.solid{background:rgba(252,251,248,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink)}
.brand svg{height:34px;width:auto}
.brand{opacity:0;transform:translateY(-8px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.top.solid .brand,.top.always .brand{opacity:1;transform:none}
.brand .t{display:none}
nav.main{display:flex;gap:30px}
nav.main a{font-size:.88rem;letter-spacing:.06em;text-decoration:none;color:var(--stone);position:relative;padding:6px 0;transition:color .3s}
nav.main a::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
nav.main a:hover,nav.main a.on{color:var(--ink)}
nav.main a:hover::after,nav.main a.on::after{transform:scaleX(1);transform-origin:left}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1px;background:var(--ink);transition:transform .4s var(--ease),opacity .3s}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:26px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-size:.92rem;letter-spacing:.05em;padding:15px 30px;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid var(--ink);position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease)}
.btn.solid{background:var(--ink);color:var(--pearl)}
.btn.solid::before{background:var(--gold)}
.btn.solid:hover{border-color:var(--gold)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost::before{background:var(--ink)}
.btn.ghost:hover{color:var(--pearl)}
.btn:hover::before{transform:translateY(0)}
.btn svg{width:18px;height:18px;flex:none}

/* ---------- hero ---------- */
.hero{min-height:100vh;min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;padding:104px 0 110px;background:radial-gradient(120% 80% at 50% 0%,#fff 0%,var(--pearl) 55%,var(--veil) 100%)}
.hero .glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none}
.hero .g1{width:520px;height:520px;background:radial-gradient(circle,#F1E3C7 0%,transparent 70%);top:-120px;left:-140px;animation:float1 18s ease-in-out infinite}
.hero .g2{width:620px;height:620px;background:radial-gradient(circle,#EFE6D6 0%,transparent 70%);bottom:-260px;right:-160px;animation:float2 22s ease-in-out infinite}
@keyframes float1{50%{transform:translate(80px,60px) scale(1.08)}}
@keyframes float2{50%{transform:translate(-70px,-50px) scale(1.1)}}
.hero .curve{position:absolute;left:0;right:0;bottom:0;width:100%;height:30%;pointer-events:none;opacity:.85}
.curve path{fill:none;stroke-linecap:round}
.curve .c1{stroke:url(#goldStroke);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 4.2s 1.6s var(--ease) forwards}
.curve .c2{stroke:var(--line);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 5s 1.9s var(--ease) forwards}
.curve .area{fill:url(#goldFill);stroke:none;opacity:0;animation:fadeIn 2s 3.6s ease forwards}
.curve .grid line{stroke:var(--line);stroke-width:.6;stroke-dasharray:2 6;opacity:0;animation:fadeIn 1.6s 1.2s ease forwards}
.curve .spark{fill:var(--gold);opacity:0;animation:fadeIn .6s 5.6s ease forwards, pulse 2.8s 6.2s ease-in-out infinite}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}
@keyframes pulse{50%{r:7;opacity:.45}}
.hero-inner{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero .mark{width:min(440px,78vw);height:auto;margin-bottom:26px}
.mark path{stroke-width:2.4;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0}
.mark .k{stroke:var(--ink);fill:var(--ink)}
.mark .g{stroke:var(--gold);fill:var(--gold)}
.mark.play path{animation:draw 1.8s var(--ease) forwards, fillIn 1s var(--ease) forwards;animation-delay:calc(var(--i) * 45ms), calc(1.1s + var(--i) * 30ms)}
.mark.play path.t{animation-delay:calc(1.4s + var(--i) * 20ms), calc(2.1s + var(--i) * 15ms)}
.mark.play path.tri{animation:drop 1.1s 2.2s var(--ease) both;stroke-dashoffset:0;fill-opacity:1}
.mark.play path.rule{animation:widen 1.2s 1.9s var(--ease) both;stroke-dashoffset:0;fill-opacity:1;transform-box:fill-box;transform-origin:center}
@keyframes fillIn{to{fill-opacity:1;stroke-opacity:0}}
@keyframes drop{0%{transform:translateY(-120px);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
@keyframes widen{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.5rem);max-width:20ch;color:var(--ink)}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.hero h1 .w>span{display:inline-block;transform:translateY(110%);animation:rise 1.1s var(--ease) forwards;animation-delay:calc(2.4s + var(--i) * 90ms)}
@keyframes rise{to{transform:none}}
.hero .lede{max-width:56ch;color:var(--stone);margin:20px auto 10px;font-size:1.12rem;opacity:0;animation:fadeUp 1.2s 3.2s var(--ease) forwards}
.hero .who{max-width:56ch;color:var(--stone);font-size:.98rem;opacity:0;animation:fadeUp 1.2s 3.4s var(--ease) forwards}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:30px;opacity:0;animation:fadeUp 1.2s 3.6s var(--ease) forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.scrollcue{position:absolute;bottom:28px;left:50%;width:1px;height:56px;background:linear-gradient(var(--line),transparent);overflow:hidden;opacity:0;animation:fadeIn 1s 4.2s forwards}
.scrollcue::after{content:"";position:absolute;left:0;width:1px;height:18px;background:var(--gold);animation:cue 2.4s 4.4s ease-in-out infinite}
@keyframes cue{from{top:-18px}to{top:56px}}

/* ---------- marquee ---------- */
.ticker{border-block:1px solid var(--line);background:#fff;overflow:hidden;padding:20px 0}
.ticker .track{display:flex;width:max-content;animation:slide 48s linear infinite}
.ticker:hover .track{animation-play-state:paused}
.ticker span{font-family:var(--display);font-size:1.35rem;color:var(--ink);padding:0 28px;display:inline-flex;align-items:center;gap:56px;white-space:nowrap}
.ticker span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{position:relative}
.block{padding:clamp(88px,12vw,150px) 0}
.block.alt{background:var(--veil)}
.head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:clamp(48px,7vw,80px)}
.head h2{font-size:clamp(2rem,4.4vw,3.3rem)}
.head p{color:var(--stone);max-width:52ch;margin:0}
.kicker{display:flex;align-items:center;gap:14px;color:var(--gold-deep);font-size:.92rem;letter-spacing:.04em;margin-bottom:20px}
.kicker::before{content:"";width:38px;height:1px;background:var(--gold)}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.rule-draw{height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.rule-draw.in{transform:scaleX(1)}

/* home pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.pillar{padding-block:44px;padding-inline:0 36px;border-inline-end:1px solid var(--line);position:relative}
.pillar+.pillar{padding-inline-start:36px}
.pillar:last-child{border-inline-end:0}
.pillar svg{width:46px;height:46px;margin-bottom:26px;stroke:var(--gold);fill:none;stroke-width:1.2}
.pillar svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease) .3s}
.pillar.in svg *{stroke-dashoffset:0}
.pillar h3{font-size:1.6rem;margin-bottom:14px}
.pillar p{color:var(--stone);margin:0 0 18px}
.pillar a{font-size:.92rem;color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold-pale);padding-bottom:3px;transition:border-color .3s}
.pillar a:hover{border-color:var(--gold)}

/* channels band */
.channels{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,90px);align-items:center}
.channels h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:22px}
.channels p{color:var(--stone)}
.chan-list{display:grid;gap:14px}
.chan{display:flex;align-items:center;gap:20px;padding:22px 26px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:border-color .4s,transform .5s var(--ease),box-shadow .5s var(--ease)}
.chan:hover{border-color:var(--gold);transform:translateX(6px);box-shadow:0 18px 40px -24px rgba(142,107,52,.45)}
.chan .ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--veil);color:var(--gold-deep);flex:none;transition:background .4s,color .4s}
.chan:hover .ic{background:var(--gold);color:#fff}
.chan .ic svg{width:22px;height:22px}
.chan b{display:block;font-weight:500;font-size:1rem}
.chan small{color:var(--stone);font-size:.9rem;line-height:1.5;display:block}
.chan .arrow{margin-inline-start:auto;width:18px;height:18px;color:var(--gold);transition:transform .4s var(--ease)}
.chan:hover .arrow{transform:translate(3px,-3px)}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,7vw,110px);align-items:start}
.about .quote{font-family:var(--display);font-size:clamp(4rem,10vw,8rem);line-height:.9;color:var(--gold);position:sticky;top:120px}
.about .quote small{display:block;font-family:var(--body);font-size:1rem;color:var(--stone);margin-top:22px;line-height:1.6;max-width:30ch}
.about h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:28px}
.about p{color:#3b3634;max-width:60ch}
.about .belief{font-family:var(--display);font-size:1.45rem;line-height:1.45;color:var(--ink);border-inline-start:1px solid var(--gold);padding-inline-start:24px;margin:34px 0 0}

/* approach */
.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.4fr);gap:24px 40px;padding:38px 0;border-bottom:1px solid var(--line);align-items:baseline;position:relative}
.step::before{content:"";position:absolute;inset-inline-start:0;bottom:-1px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s}
.step.in::before{transform:scaleX(1)}
.step .n{font-family:var(--display);font-size:3.2rem;line-height:1;color:var(--gold)}
.step h3{font-size:1.65rem}
.step p{color:var(--stone);margin:0;max-width:52ch}
.expect{margin-top:60px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:34px 40px;background:#fff;border:1px solid var(--line);border-radius:24px}
.expect svg{width:54px;height:54px;color:var(--gold)}
.expect h3{font-size:1.5rem;margin-bottom:6px}
.expect p{margin:0;color:var(--stone)}

/* why gold moved */
.titles{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);margin-bottom:70px}
.titles a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--display);font-size:1.35rem;line-height:1.35;transition:color .35s,padding .5s var(--ease)}
.titles a:nth-child(odd){border-inline-end:1px solid var(--line);padding-inline-end:32px}
.titles a:nth-child(even){padding-inline-start:32px}
.titles a:hover{color:var(--gold-deep)}
.titles a:nth-child(odd):hover{padding-inline-start:12px}
.titles a:nth-child(even):hover{padding-inline-start:44px}
.titles small{font-family:var(--body);font-size:.8rem;color:var(--stone);white-space:nowrap;letter-spacing:.04em}
.article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:clamp(30px,6vw,80px)}
.article aside .tag{display:inline-block;font-size:.82rem;letter-spacing:.05em;color:var(--gold-deep);background:var(--veil);padding:7px 14px;border-radius:999px;margin-bottom:22px}
.article aside h3{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:22px}
.article aside dl{margin:28px 0 0;font-size:.9rem;color:var(--stone);display:grid;gap:10px}
.article aside dt{color:var(--ink);font-weight:500}
.article aside dd{margin:0 0 8px}
.article .body{font-size:1.08rem;line-height:1.85;color:#38332f;max-width:64ch}
.article .body p:first-child::first-letter{font-family:var(--display);float:left;font-size:4.2rem;line-height:.8;padding:8px 12px 0 0;color:var(--gold)}
.article .more{max-height:0;overflow:hidden;transition:max-height 1s var(--ease)}
.article.open .more{max-height:1200px}
.article .qs{list-style:none;padding:0;margin:26px 0;display:grid;gap:10px}
.article .qs li{display:flex;gap:14px;align-items:baseline;font-family:var(--display);font-size:1.2rem;color:var(--ink)}
.article .qs li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;transform:translateY(-3px)}
.takeaway{border-top:1px solid var(--gold-pale);padding-top:22px;margin-top:10px}
.takeaway b{font-weight:500;color:var(--gold-deep)}
.readmore{margin-top:18px;background:none;border:0;padding:0;font:inherit;font-size:.95rem;color:var(--gold-deep);cursor:pointer;display:inline-flex;gap:10px;align-items:center}
.readmore svg{width:16px;height:16px;transition:transform .5s var(--ease)}
.article.open .readmore svg{transform:rotate(180deg)}

/* learn */
.topics{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.topic{grid-column:span 2;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px 32px;position:relative;overflow:hidden;transition:border-color .45s,transform .6s var(--ease)}
.topic:nth-child(4),.topic:nth-child(5){grid-column:span 3}
.topic::after{content:"";position:absolute;inset:auto -40% -60% auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,var(--gold-pale),transparent 70%);opacity:0;transition:opacity .6s,transform .8s var(--ease);transform:scale(.6)}
.topic:hover{border-color:var(--gold);transform:translateY(-4px)}
.topic:hover::after{opacity:.9;transform:scale(1)}
.topic svg{width:40px;height:40px;stroke:var(--gold);fill:none;stroke-width:1.2;margin-bottom:22px;position:relative}
.topic h3{font-size:1.5rem;margin-bottom:12px;position:relative}
.topic p{color:var(--stone);margin:0;position:relative;font-size:1rem}
.center{text-align:center;margin-top:50px}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(36px,7vw,100px)}
.faq h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:20px}
.faq .intro p{color:var(--stone)}
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 0;font-family:var(--display);font-size:1.4rem;line-height:1.35;transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--gold-deep)}
.qa .pm{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);position:relative;flex:none;transition:border-color .3s,background .4s}
.qa .pm::before,.qa .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .45s var(--ease),background .3s}
.qa .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa details[open] .pm{background:var(--gold);border-color:var(--gold)}
.qa details[open] .pm::before,.qa details[open] .pm::after{background:#fff}
.qa details[open] .pm::after{transform:translate(-50%,-50%) rotate(0deg)}
.qa .ans{overflow:hidden;height:0;transition:height .55s var(--ease)}
.qa .ans p{color:var(--stone);margin:0;padding:0;padding-inline-end:50px;padding-bottom:28px;max-width:60ch}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(36px,7vw,100px)}
.contact h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:22px}
.contact .intro p{color:var(--stone)}
.socials{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.socials a{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);background:#fff;transition:background .4s,color .4s,border-color .4s,transform .5s var(--ease)}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-4px)}
.socials svg{width:20px;height:20px}
form.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(28px,5vw,52px);display:grid;gap:22px}
.field{position:relative}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:1rem;font-weight:300;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:24px 0 10px;border-radius:0;transition:border-color .4s;appearance:none}
.field textarea{resize:vertical;min-height:120px}
.field label{position:absolute;inset-inline-start:0;top:24px;color:var(--stone);pointer-events:none;transition:transform .4s var(--ease),color .3s,font-size .4s;transform-origin:left}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-22px) scale(.82);color:var(--gold-deep)}
.field .line{position:absolute;inset-inline-start:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transition:transform .6s var(--ease)}
.field input:focus~.line,.field textarea:focus~.line{transform:scaleX(1)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.note{font-size:.88rem;color:var(--stone);margin:0;display:flex;gap:12px;align-items:flex-start;line-height:1.55}
.note svg{width:18px;height:18px;color:var(--gold);flex:none;margin-top:2px}
.err{color:#9a3b2e;font-size:.9rem;margin:0;min-height:1.4em}

/* footer */
footer{background:var(--ink);color:#CFC8BD;padding:90px 0 40px}
footer .grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.1)}
footer .mark-f{height:auto;width:200px}
footer .mark-f .k{fill:#F5F1EA}
footer .mark-f .g{fill:var(--gold)}
footer h4{font-family:var(--display);font-weight:400;color:#fff;font-size:1.15rem;margin:0 0 18px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
footer ul a{text-decoration:none;font-size:.95rem;transition:color .3s}
footer ul a:hover{color:var(--gold)}
.disc{padding:36px 0 0;display:grid;gap:14px;font-size:.86rem;line-height:1.7;color:#A49D92;max-width:90ch}
.disc b{color:#E4DED4;font-weight:500}
.copy{margin-top:30px;font-size:.82rem;color:#7E776D;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* floating whatsapp */
.fab{position:fixed;inset-inline-end:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -14px rgba(35,31,32,.6);transform:scale(0);animation:pop .7s 4.6s var(--ease) forwards;transition:background .4s}
.fab:hover{background:var(--gold)}
.fab svg{width:26px;height:26px}
.fab::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:ring 2.8s 5.4s ease-out infinite;opacity:0}
@keyframes pop{to{transform:scale(1)}}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}

/* responsive */
@media (max-width:980px){
  nav.main{position:fixed;inset:0;top:0;background:rgba(252,251,248,.98);flex-direction:column;align-items:center;justify-content:center;gap:26px;opacity:0;pointer-events:none;transition:opacity .45s var(--ease);padding-top:env(safe-area-inset-top,0px)}
  nav.main a{font-family:var(--display);font-size:1.8rem;color:var(--ink);letter-spacing:0;transform:translateY(16px);transition:transform .6s var(--ease),color .3s}
  nav.main.open{opacity:1;pointer-events:auto}
  nav.main.open a{transform:none}
  .burger{display:block;z-index:60}
  .head,.channels,.about,.faq,.contact,.article{grid-template-columns:1fr}
  .about .quote{position:static}
  .pillars{grid-template-columns:1fr}
  .pillar,.pillar+.pillar{padding:36px 0;border-inline-end:0;border-bottom:1px solid var(--line)}
  .step{grid-template-columns:70px 1fr}
  .step p{grid-column:2}
  .step .n{font-size:2.4rem}
  .titles{grid-template-columns:1fr}
  .titles a:nth-child(odd){border-inline-end:0;padding-inline-end:4px}
  .titles a:nth-child(even){padding-inline-start:4px}
  .titles a:nth-child(even):hover{padding-inline-start:12px}
  .topics{grid-template-columns:1fr}
  .topic,.topic:nth-child(4),.topic:nth-child(5){grid-column:auto}
  footer .grid{grid-template-columns:1fr 1fr}
  footer .grid>div:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  .two{grid-template-columns:1fr}
  .expect{grid-template-columns:1fr;padding:28px}
  .hero .ctas .btn{width:100%}
  .qa summary{font-size:1.2rem}
  .qa .ans p{padding-inline-end:0}
  footer .grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* ---------- language switch ---------- */
.tools{display:flex;align-items:center;gap:8px}
.lang{font-size:.88rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 16px;background:rgba(255,255,255,.6);transition:border-color .35s,background .35s,color .35s;z-index:60;position:relative}
.lang:hover{border-color:var(--gold);background:var(--gold);color:#fff}
html[lang="en"] .lang{font-family:"Zain",Tahoma,sans-serif;font-size:1rem;letter-spacing:0}
html[lang="ar"] .lang{font-family:"Jost","Helvetica Neue",Arial,sans-serif}
.brand img{height:34px;width:auto;display:block}

/* ---------- article list on home ---------- */
.titles small{display:inline-flex;align-items:center;gap:8px}
.featured{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(30px,6vw,80px);background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(32px,6vw,64px);text-decoration:none;color:inherit;transition:border-color .45s,box-shadow .6s var(--ease),transform .6s var(--ease)}
.featured:hover{border-color:var(--gold);box-shadow:0 30px 60px -40px rgba(142,107,52,.5);transform:translateY(-4px)}
.featured .tag{display:inline-block;font-size:.82rem;color:var(--gold-deep);background:var(--veil);padding:7px 14px;border-radius:999px;margin-bottom:22px}
.featured h3{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:16px}
.featured .meta{font-size:.9rem;color:var(--stone)}
.featured p{color:#3b3634;font-size:1.08rem;line-height:1.85;max-width:62ch}
.featured .go{display:inline-flex;align-items:center;gap:10px;color:var(--gold-deep);font-size:.95rem;margin-top:8px}
.featured .go svg{width:16px;height:16px;transition:transform .4s var(--ease)}
.featured:hover .go svg{transform:translateX(4px)}

/* ---------- article page ---------- */
.art-hero{padding:150px 0 70px;background:radial-gradient(120% 90% at 50% 0%,#fff 0%,var(--pearl) 60%,var(--veil) 100%);position:relative;overflow:hidden}
.art-hero .glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;width:520px;height:520px;background:radial-gradient(circle,#F1E3C7 0%,transparent 70%);top:-160px;inset-inline-end:-120px;animation:float1 18s ease-in-out infinite}
.crumbs{font-size:.88rem;color:var(--stone);margin-bottom:28px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.crumbs a{text-decoration:none;color:var(--gold-deep)}
.crumbs a:hover{text-decoration:underline}
.art-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);max-width:20ch;margin-bottom:24px}
.art-hero .dek{font-size:1.2rem;color:var(--stone);max-width:58ch;margin:0}
.art-hero .line-in{height:1px;background:var(--gold);width:120px;margin-top:40px;transform-origin:left;animation:widen 1.4s .4s var(--ease) both}
.art-hero .h-in{opacity:0;animation:fadeUp 1.1s var(--ease) forwards;animation-delay:var(--d,0s)}
.art-wrap{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:clamp(36px,7vw,100px);padding:70px 0 clamp(80px,10vw,130px)}
.facts{position:sticky;top:110px;align-self:start;font-size:.92rem;color:var(--stone);border-top:1px solid var(--gold);padding-top:22px}
.facts dl{margin:0;display:grid;gap:4px}
.facts dt{color:var(--ink);font-weight:500;margin-top:14px}
.facts dt:first-child{margin-top:0}
.facts dd{margin:0;line-height:1.6}
.facts .share{margin-top:28px;display:flex;gap:10px}
.facts .share a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#fff;color:var(--ink);transition:background .35s,color .35s,border-color .35s}
.facts .share a:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.facts .share svg{width:17px;height:17px}
.prose{font-size:1.12rem;line-height:1.9;color:#332e2b;max-width:68ch}
.prose>p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:4.4rem;line-height:.8;padding:8px 12px 0 0;color:var(--gold)}
.prose h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin:2.2em 0 .7em;color:var(--ink)}
.prose p{margin:0 0 1.2em}
.prose ul.qs{list-style:none;padding:0;margin:1.4em 0 1.8em;display:grid;gap:12px}
.prose ul.qs li{display:flex;gap:14px;align-items:baseline;font-family:var(--display);font-size:1.25rem;color:var(--ink);line-height:1.5}
.prose ul.qs li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;transform:translateY(-3px)}
.prose blockquote{margin:2em 0;padding:26px 30px;background:#fff;border:1px solid var(--line);border-inline-start:2px solid var(--gold);border-radius:4px 18px 18px 4px;font-family:var(--display);font-size:1.3rem;line-height:1.55;color:var(--ink)}
.prose .takeaway{border-top:1px solid var(--gold-pale);padding-top:24px;margin-top:2em}
.prose .takeaway b{font-weight:500;color:var(--gold-deep)}
.sources{margin-top:3em;padding:28px 30px;background:var(--veil);border-radius:20px;font-size:.95rem}
.sources h3{font-size:1.25rem;margin-bottom:12px}
.sources ul{margin:0;padding-inline-start:20px;display:grid;gap:6px;color:var(--stone)}
.sources a{color:var(--gold-deep)}
.sources p{color:var(--stone);margin:12px 0 0;font-size:.88rem}
.disclose{margin-top:22px;font-size:.88rem;color:var(--stone);line-height:1.65;border-top:1px solid var(--line);padding-top:20px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:60px}
.pn a{display:block;padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;transition:border-color .4s,transform .5s var(--ease)}
.pn a:hover{border-color:var(--gold);transform:translateY(-3px)}
.pn small{display:block;color:var(--gold-deep);font-size:.85rem;margin-bottom:6px}
.pn b{font-family:var(--display);font-weight:400;font-size:1.25rem;line-height:1.35;display:block}
.pn .next{text-align:end}
.follow{margin-top:50px;padding:36px 40px;border-radius:24px;background:var(--ink);color:#E9E3D9;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.follow h3{color:#fff;font-size:1.5rem;margin-bottom:6px}
.follow p{margin:0;color:#BDB5A9;font-size:.98rem}
.follow .btn{border-color:var(--gold);background:var(--gold);color:#fff}
.follow .btn::before{background:#fff}
.follow .btn:hover{color:var(--ink)}
.progress{position:fixed;top:0;inset-inline:0;height:2px;z-index:70;pointer-events:none}
.progress span{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
@media (max-width:980px){
  .featured,.art-wrap{grid-template-columns:1fr}
  .facts{position:static}
  .pn{grid-template-columns:1fr}
}

/* ---------- 404 ---------- */
.nf{min-height:100vh;display:grid;place-items:center;text-align:center;padding:120px 24px}
.nf h1{font-size:clamp(3rem,10vw,7rem);color:var(--gold)}
.nf p{color:var(--stone);margin:16px 0 30px}

/* ---------- Arabic / RTL ---------- */
html[lang="ar"]{--display:"Zain","Noto Kufi Arabic",Tahoma,sans-serif;--body:"Zain","Noto Sans Arabic",Tahoma,sans-serif}
html[lang="ar"] body{line-height:1.85;font-size:1.2rem}
html[lang="ar"] body *{letter-spacing:0!important}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{line-height:1.35;font-weight:800}
html[lang="ar"] .hero h1{font-size:clamp(2.6rem,5.4vw,4.3rem)}
html[lang="ar"] .lede{font-size:1.3rem}
html[lang="ar"] .btn,html[lang="ar"] nav.main a{font-size:1.05rem}
html[lang="ar"] .kicker,html[lang="ar"] .tag,html[lang="ar"] .titles small{font-size:1rem}
html[lang="ar"] .ticker span,html[lang="ar"] .qa summary,html[lang="ar"] .titles a,html[lang="ar"] .pn b{font-weight:700}
html[lang="ar"] .prose{line-height:1.95;font-size:1.25rem}
html[dir="rtl"] nav.main a::after{transform-origin:left}
html[dir="rtl"] nav.main a:hover::after,html[dir="rtl"] nav.main a.on::after{transform-origin:right}
html[dir="rtl"] .step::before,html[dir="rtl"] .art-hero .line-in,html[dir="rtl"] .progress span{transform-origin:right}
html[dir="rtl"] .field label{transform-origin:right}
html[dir="rtl"] .chan:hover{transform:translateX(-6px)}
html[dir="rtl"] .chan .arrow,html[dir="rtl"] .featured .go svg{transform:scaleX(-1)}
html[dir="rtl"] .chan:hover .arrow{transform:scaleX(-1) translate(3px,-3px)}
html[dir="rtl"] .featured:hover .go svg{transform:scaleX(-1) translateX(4px)}
html[dir="rtl"] .prose>p:first-of-type::first-letter{float:none;font-size:inherit;padding:0;color:inherit;font-family:inherit;line-height:inherit}
html[dir="rtl"] .prose blockquote{border-radius:18px 4px 4px 18px}
html[dir="rtl"] .ticker .track{animation-name:slideRtl}
@keyframes slideRtl{to{transform:translateX(50%)}}

/* ---------- photography ---------- */
.ph{position:relative;overflow:hidden;margin:0;border-radius:24px;background:var(--veil);clip-path:inset(0 0 100% 0 round 24px);transition:clip-path 1.5s var(--ease);transition-delay:var(--d,0s)}
.ph.in{clip-path:inset(0 0 0 0 round 24px)}
.ph .px{position:absolute;inset:-8% 0;will-change:transform}
.ph img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.2);transition:transform 2.6s var(--ease);transition-delay:var(--d,0s)}
.ph.in img{transform:scale(1.02)}
.ph.arch{border-radius:999px 999px 24px 24px;clip-path:inset(0 0 100% 0 round 999px 999px 24px 24px)}
.ph.arch.in{clip-path:inset(0 0 0 0 round 999px 999px 24px 24px)}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(35,31,32,.18));pointer-events:none}
.ph.wide{aspect-ratio:21/8;margin-bottom:clamp(40px,6vw,70px)}
.ph.tall{aspect-ratio:4/5}
.ph.square{aspect-ratio:1}
.ph-cap{position:absolute;inset-inline-start:22px;bottom:18px;z-index:2;color:#fff;font-size:.85rem;opacity:.9}

/* hero with photo */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,6vw,96px);align-items:center;text-align:start;position:relative;width:min(1180px,100% - 48px);margin-inline:auto}
.hero-grid .hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.hero-grid .mark{width:min(380px,80vw);margin-bottom:30px}
.hero-grid h1{max-width:15ch}
.hero-grid .lede,.hero-grid .who{margin-inline:0}
.hero-grid .ctas{justify-content:flex-start}
.hero-media{position:relative;justify-self:end;width:min(440px,100%)}
.hero-media .arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden;clip-path:inset(100% 0 0 0 round 999px 999px 28px 28px);animation:unveil 1.7s .9s var(--ease) forwards;box-shadow:0 50px 90px -50px rgba(142,107,52,.55)}
.hero-media .kb{position:absolute;inset:0;animation:drift 26s 3s ease-in-out infinite alternate}
.hero-media .arch img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.35);animation:settle 2.8s .9s var(--ease) forwards}
.hero-media .frame{position:absolute;inset:0;border:1px solid var(--gold);border-radius:999px 999px 28px 28px;transform:translate(18px,18px);opacity:0;animation:frameIn 1.6s 2.2s var(--ease) forwards;pointer-events:none}
html[dir="rtl"] .hero-media .frame{transform:translate(-18px,18px)}
.hero-media .chip{position:absolute;width:40%;aspect-ratio:1;border-radius:50%;overflow:hidden;bottom:-5%;inset-inline-start:-16%;border:6px solid var(--pearl);box-shadow:0 30px 50px -30px rgba(35,31,32,.5);opacity:0;animation:chipIn 1.3s 2.6s var(--ease) forwards}
.hero-media .chip img{width:100%;height:100%;object-fit:cover;display:block}
.hero-media .badge{position:absolute;top:12%;inset-inline-end:-8%;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:.85rem;display:flex;align-items:center;gap:10px;opacity:0;animation:fadeUp 1.1s 3.1s var(--ease) forwards;box-shadow:0 18px 40px -26px rgba(35,31,32,.45)}
.hero-media .badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);animation:blink 2.4s 4s ease-in-out infinite}
@keyframes unveil{to{clip-path:inset(0 0 0 0 round 999px 999px 28px 28px)}}
@keyframes settle{to{transform:scale(1.04)}}
@keyframes drift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-2%,-2%)}}
@keyframes frameIn{from{opacity:0;transform:translate(0,0)}to{opacity:1}}
@keyframes chipIn{from{opacity:0;transform:translateY(30px) scale(.85)}to{opacity:1;transform:none}}
@keyframes blink{50%{opacity:.35}}

/* section layouts with photos */
.channels .ph{margin-top:34px;max-width:360px}
.about .side .ph{margin-top:36px;max-width:340px}
.about .side{position:sticky;top:110px;align-self:start}
.about .side .quote{position:static}
.topics .ph{grid-column:span 2;min-height:260px}
.approach{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:start}
.approach .media{position:sticky;top:110px}
.approach .step{grid-template-columns:72px minmax(0,1fr)}
.approach .step p{grid-column:2}
.approach .step .n{font-size:2.6rem}
.faq .intro .ph,.contact .intro .ph{margin-top:36px;max-width:360px}
.featured{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);padding:0;overflow:hidden}
.featured .fimg{position:relative;min-height:320px;overflow:hidden}
.featured .fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s var(--ease)}
.featured:hover .fimg img{transform:scale(1.1)}
.featured .ftext{padding:clamp(30px,5vw,56px)}
.art-cover{margin-top:50px;aspect-ratio:21/9;border-radius:28px;overflow:hidden;position:relative;clip-path:inset(0 0 100% 0 round 28px);animation:coverIn 1.6s .5s var(--ease) forwards}
.art-cover img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.2);animation:settle 2.6s .5s var(--ease) forwards}
@keyframes coverIn{to{clip-path:inset(0 0 0 0 round 28px)}}
.credits{font-size:.78rem;color:#7E776D;margin-top:14px;line-height:1.6}
.credits a{color:#A49D92}
.titles a .thumb{width:54px;height:54px;border-radius:50%;overflow:hidden;flex:none;order:-1;border:1px solid var(--line)}
.titles a .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.titles a:hover .thumb img{transform:scale(1.15)}
.titles a .tt{flex:1}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;text-align:start}
  .hero-media{justify-self:center;width:min(340px,82%);margin-top:20px}
  .hero-media .badge{inset-inline-end:-4%}
  .about .side{position:static}
  .approach{grid-template-columns:1fr}
  .approach .media{position:static;order:-1}
  .topics .ph{grid-column:auto}
  .featured{grid-template-columns:1fr}
  .featured .fimg{min-height:240px}
  .ph.wide{aspect-ratio:16/9}
}
@media (prefers-reduced-motion:reduce){
  .ph{clip-path:none!important}
  .ph img,.hero-media .arch img{transform:none!important}
  .hero-media .arch{clip-path:none!important}
}
.topics .topic:nth-child(4),.topics .topic:nth-child(5){grid-column:span 2}
.hero-media .arch,.featured .fimg,.titles a .thumb,.art-cover{background:var(--veil)}
@media (max-width:980px){.topics .topic:nth-child(4),.topics .topic:nth-child(5){grid-column:auto}}
