/* xvi — site styles. Black & gold, restrained. */
:root{
  --bg:#060607; --bg2:#0b0b0d; --panel:#0f0f12; --ink:#ede6d6; --mute:rgba(237,230,214,.64); --faint:rgba(237,230,214,.38);
  --gold:#c8a55a; --gold2:#e8d39c; --gold3:#8a6d32; --line:rgba(200,165,90,.22); --line2:rgba(237,230,214,.08);
  --f:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif; --f-ar:'IBM Plex Sans Arabic','Montserrat',system-ui,sans-serif;
  --f-zh:'Montserrat','PingFang SC','Hiragino Sans GB','Noto Sans SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif;
  --wrap:1240px; --pad:clamp(20px,5vw,64px); --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%} 
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-weight:300;font-size:16px;line-height:1.7;letter-spacing:.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[lang=ar] body{font-family:var(--f-ar);line-height:1.9;letter-spacing:0} html[lang=zh-CN] body{font-family:var(--f-zh);letter-spacing:.02em}
a{color:inherit} img,svg{display:block;max-width:100%} button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--gold);color:#000}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;top:-60px;inset-inline-start:12px;background:var(--gold);color:#000;padding:8px 14px;z-index:200}.skip:focus{top:12px}
:focus-visible{outline:1px solid var(--gold2);outline-offset:3px}

/* type */
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin:0 0 22px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
html[lang=ar] .eyebrow{letter-spacing:.04em;font-size:13px} html[lang=zh-CN] .eyebrow{letter-spacing:.2em}
h1,h2,h3,h4{font-weight:300;margin:0;line-height:1.15;letter-spacing:-.01em}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{line-height:1.45;letter-spacing:0}
.h2{font-size:clamp(30px,4.4vw,56px)} .h3{font-size:clamp(20px,2vw,26px);font-weight:400}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--mute);max-width:760px;margin:22px 0 0}
.gold{color:var(--gold)} .mute{color:var(--mute)} .small{font-size:13px;color:var(--faint)}
p{margin:0 0 1em} b,strong{font-weight:500;color:var(--ink)}
.note-draft{display:inline-block;font-size:11px;letter-spacing:.06em;border:1px dashed var(--gold3);color:var(--gold);padding:1px 8px;margin-inline:4px;border-radius:2px;vertical-align:middle}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border:1px solid var(--gold);background:transparent;color:var(--gold2);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .5s var(--ease),color .5s var(--ease);position:relative;overflow:hidden}
html[lang=ar] .btn{letter-spacing:0;font-size:15px} html[lang=zh-CN] .btn{letter-spacing:.1em}
.btn.solid{background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold3));color:#0a0805;border-color:transparent}
.btn:hover{background:var(--gold);color:#000} .btn.solid:hover{filter:brightness(1.08)}
.btn.ghost{border-color:var(--line);color:var(--ink)} .btn.ghost:hover{border-color:var(--gold);background:transparent;color:var(--gold2)}
.btn .arr{transition:transform .5s var(--ease)} .btn:hover .arr{transform:translateX(4px)} [dir=rtl] .btn .arr{transform:scaleX(-1)} [dir=rtl] .btn:hover .arr{transform:scaleX(-1) translateX(4px)}
.link{color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--line)} .link:hover{border-color:var(--gold)}

/* intro */
#intro{position:fixed;inset:0;z-index:100;background:#000;display:grid;place-items:center;transition:opacity 1s var(--ease),visibility 1s}
#intro.done{opacity:0;visibility:hidden}
#intro .mark{width:min(46vw,280px)} #intro .mark path{stroke:url(#g);stroke-width:2.2;fill:none;stroke-dasharray:120;stroke-dashoffset:120;animation:draw 1.6s var(--ease) forwards}
#intro .mark path:nth-child(2){animation-delay:.25s} #intro .mark path:nth-child(3){animation-delay:.5s} #intro .mark path:nth-child(4){animation-delay:.6s}
#intro .rule{height:1px;width:0;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px auto 18px;animation:rule 1.2s 1.1s var(--ease) forwards}
#intro .word{font-size:11px;letter-spacing:.6em;color:var(--gold);text-align:center;opacity:0;animation:fade 1s 1.5s forwards;padding-inline-start:.6em}
#intro .skipi{position:absolute;bottom:28px;inset-inline-end:28px;background:none;border:0;color:var(--faint);font-size:11px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer}
@keyframes draw{to{stroke-dashoffset:0}} @keyframes rule{to{width:min(60vw,360px)}} @keyframes fade{to{opacity:1}}

/* header */
header.top{position:fixed;inset-inline:0;top:0;z-index:50;transition:background .6s,border-color .6s,transform .6s var(--ease);border-bottom:1px solid transparent}
header.top.scrolled{background:rgba(6,6,7,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line2)}
header.top .wrap{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none} .brand svg{width:44px;height:auto}
.brand span{font-size:11px;letter-spacing:.42em;color:var(--mute)}
nav.main{display:flex;gap:26px;margin-inline-start:auto} nav.main a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--mute);transition:color .3s}
html[lang=ar] nav.main a{letter-spacing:0;font-size:14px} nav.main a:hover,nav.main a.on{color:var(--gold2)}
.langs{display:flex;border:1px solid var(--line);border-radius:2px} .langs button{background:none;border:0;padding:6px 10px;font-size:12px;cursor:pointer;color:var(--mute)} .langs button[aria-pressed=true]{color:#000;background:var(--gold)}
.top .btn{padding:10px 18px;font-size:11px}
.burger{display:none;background:none;border:1px solid var(--line);width:42px;height:38px;cursor:pointer;color:var(--gold)}
@media (max-width:1080px){nav.main{display:none;position:fixed;inset:76px 0 auto 0;flex-direction:column;gap:0;background:rgba(6,6,7,.97);border-bottom:1px solid var(--line);padding:10px var(--pad) 24px}
  nav.main.open{display:flex} nav.main a{padding:14px 0;border-bottom:1px solid var(--line2);font-size:14px} .burger{display:block;margin-inline-start:auto} .top .btn.hide-m{display:none}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.9}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 50% 38%,rgba(200,165,90,.12),transparent 70%),linear-gradient(180deg,transparent 60%,var(--bg))}
.hero .wrap{width:100%}
.hero h1{font-size:clamp(40px,7.4vw,108px);font-weight:200;letter-spacing:-.02em;line-height:1.02}
html[lang=ar] .hero h1{font-weight:300;line-height:1.3;font-size:clamp(40px,7vw,96px)}
.hero h1 .w{display:inline-block;opacity:0;transform:translateY(.4em);filter:blur(8px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease),filter 1.2s var(--ease)}
.hero.on h1 .w{opacity:1;transform:none;filter:none}
.hero h1 .w.g{background:linear-gradient(100deg,var(--gold2),var(--gold) 50%,var(--gold3));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{font-size:clamp(15px,1.6vw,20px);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:28px;opacity:0;transition:opacity 1.4s 1s}
html[lang=ar] .hero .sub{letter-spacing:.04em;font-size:clamp(18px,2vw,24px)} html[lang=zh-CN] .hero .sub{letter-spacing:.24em}
.hero .sig{display:block;font-size:11px;letter-spacing:.42em;color:var(--faint);margin-top:12px;text-transform:uppercase;direction:ltr}
html[dir=rtl] .hero .sig{text-align:right}
.hero.on .sub{opacity:1}
.hero .intro{max-width:640px;color:var(--mute);margin-top:30px;font-size:17px;opacity:0;transition:opacity 1.4s 1.4s} .hero.on .intro{opacity:1}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;opacity:0;transition:opacity 1.4s 1.7s} .hero.on .ctas{opacity:1}
.scrollcue{position:absolute;bottom:26px;inset-inline-start:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.4em;color:var(--faint);text-transform:uppercase;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:10px}
[dir=rtl] .scrollcue{transform:translateX(50%)}
.scrollcue::after{content:"";width:1px;height:42px;background:linear-gradient(var(--gold),transparent);animation:cue 2.4s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* sections */
section.s{padding-block:clamp(96px,13vw,170px);position:relative;border-top:1px solid var(--line2)}
.s-head{max-width:860px;margin-bottom:clamp(48px,6vw,80px)}
.grid{display:grid;gap:1px;background:var(--line2);border:1px solid var(--line2)} .grid>*{background:var(--bg)}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}} @media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{padding:clamp(26px,3vw,44px);transition:background .6s var(--ease)} .card:hover{background:var(--bg2)}
.card .n{font-size:12px;color:var(--gold);letter-spacing:.2em;margin-bottom:22px;display:block;font-variant-numeric:tabular-nums}
.card h3{font-size:20px;font-weight:400;margin-bottom:12px} .card p{color:var(--mute);font-size:15px;margin:0}
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)} [data-reveal].in{opacity:1;transform:none}

/* identity */
.vm{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);margin-block:70px}
.vm h3{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:500} html[lang=ar] .vm h3{letter-spacing:0;font-size:15px}
.vm p{font-size:clamp(19px,1.9vw,25px);line-height:1.55;font-weight:300}
@media (max-width:760px){.vm{grid-template-columns:1fr}}
.about-body p{color:var(--mute);font-size:17px;max-width:820px}
.loc{display:inline-flex;gap:10px;align-items:center;margin-top:12px;font-size:13px;letter-spacing:.14em;color:var(--gold)}

/* analyser */
.an-shell{border:1px solid var(--line);background:linear-gradient(180deg,rgba(200,165,90,.05),transparent 40%),var(--panel);padding:clamp(22px,3.4vw,48px);position:relative}
.an-shell::before{content:"";position:absolute;inset:-1px;border:1px solid transparent;background:linear-gradient(120deg,var(--gold),transparent 30%,transparent 70%,var(--gold3)) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.6}
.field{margin-bottom:22px} .field label,.flabel{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:500}
html[lang=ar] .field label,html[lang=ar] .flabel{letter-spacing:0;font-size:14px}
.help{font-size:13px;color:var(--faint);margin-top:8px;line-height:1.6}
textarea,input[type=text],input[type=email],select{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line);padding:16px 18px;font-size:16px;font-weight:300;border-radius:0;transition:border-color .4s}
textarea{min-height:112px;resize:vertical;font-size:clamp(16px,1.6vw,19px)} textarea:focus,input:focus,select:focus{outline:none;border-color:var(--gold)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
[dir=rtl] select{background-position:20px 50%,25px 50%}
select option{background:#111}
.tip{width:18px;height:18px;border-radius:50%;border:1px solid var(--gold3);background:none;color:var(--gold);font-size:11px;line-height:1;cursor:help;position:relative;padding:0;flex:none}
.tip:hover::after,.tip:focus::after{content:attr(data-tip);position:absolute;bottom:150%;inset-inline-start:-10px;width:min(300px,70vw);background:#141416;border:1px solid var(--line);padding:12px 14px;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:0;line-height:1.6;z-index:20;text-align:start;font-weight:300}
.counter{font-size:12px;color:var(--faint);text-align:end;margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px} .chip{border:1px solid var(--line2);background:none;padding:8px 14px;font-size:13px;color:var(--mute);cursor:pointer;transition:all .3s;border-radius:40px}
.chip:hover,.chip.on{border-color:var(--gold);color:var(--gold2)}
.opts{border-top:1px solid var(--line2);margin-top:12px;padding-top:12px} .opts summary{cursor:pointer;font-size:13px;color:var(--gold2);list-style:none;padding:8px 0} .opts summary::before{content:"+ "} .opts[open] summary::before{content:"− "}
.opts .row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:14px} @media (max-width:640px){.opts .row{grid-template-columns:1fr}}
.an-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px}
.privacy-line{font-size:13px;color:var(--faint);margin-top:18px;display:flex;gap:10px;align-items:flex-start;line-height:1.6} .privacy-line svg{flex:none;margin-top:3px}
.err{color:#e7a37a;font-size:14px;margin-top:10px;min-height:1px}
.warn{border-inline-start:2px solid #e7a37a;padding:10px 16px;color:#f0c3a7;font-size:14px;margin:0 0 24px;background:rgba(231,163,122,.06)}

/* loading */
.loading{margin-top:40px;display:none} .loading.on{display:block}
.loading li{list-style:none;display:flex;gap:14px;align-items:center;color:var(--faint);padding:8px 0;font-size:15px;opacity:0;transform:translateY(8px);transition:all .6s var(--ease)}
.loading li.show{opacity:1;transform:none} .loading li.done{color:var(--ink)}
.loading li i{width:14px;height:14px;border:1px solid var(--gold3);border-radius:50%;flex:none;position:relative}
.loading li.show:not(.done) i{border-top-color:var(--gold);animation:spin 1s linear infinite} .loading li.done i{background:var(--gold);border-color:var(--gold)}
@keyframes spin{to{transform:rotate(360deg)}} .loading ul{padding:0;margin:0}

/* report */
#report{margin-top:56px;display:none} #report.on{display:block}
.rep-head{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:10px}
.rep-head .label{font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase} html[lang=ar] .rep-head .label{letter-spacing:0;font-size:13px}
.rep-head h2{font-size:clamp(26px,3.6vw,44px);margin:14px 0 10px} .rep-head .meta{font-size:13px;color:var(--faint)}
.rsec{padding:38px 0;border-bottom:1px solid var(--line2);opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)} .rsec.in{opacity:1;transform:none}
.rsec>h3{font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:22px;display:flex;gap:14px;align-items:baseline}
html[lang=ar] .rsec>h3{letter-spacing:0;font-size:17px}
.rsec>h3 .k{font-variant-numeric:tabular-nums;color:var(--gold3)}
.rsec p,.rsec li{color:var(--mute);font-size:16px} .rsec ul{padding-inline-start:20px;margin:0} .rsec li{margin-bottom:10px} .rsec li::marker{color:var(--gold)}
.summary{font-size:clamp(18px,1.8vw,23px)!important;color:var(--ink)!important;line-height:1.6;font-weight:300}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px} @media (max-width:760px){.cols{grid-template-columns:1fr}}
.sub-h{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);margin:24px 0 12px;font-weight:500} html[lang=ar] .sub-h{letter-spacing:0;font-size:15px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2);margin-top:8px}
.stat{background:var(--bg);padding:24px} .stat .v{font-size:clamp(24px,2.6vw,34px);font-weight:200;color:var(--gold2);line-height:1.15;font-variant-numeric:tabular-nums}
.stat .l{font-size:13.5px;color:var(--mute);margin-top:10px;line-height:1.55} .stat .src{font-size:11px;margin-top:10px}
sup.src a,.stat .src a{color:var(--gold);text-decoration:none} sup.src a:hover{text-decoration:underline}
.ba{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line2)} .ba>div{padding:16px 18px;border-bottom:1px solid var(--line2);font-size:14.5px;color:var(--mute)}
.ba .hd{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)} .ba>div:nth-child(odd){border-inline-end:1px solid var(--line2)} .ba .aft{color:var(--ink)}
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2)} @media (max-width:860px){.phases{grid-template-columns:1fr 1fr}} @media (max-width:520px){.phases{grid-template-columns:1fr}}
.phase{background:var(--bg);padding:24px} .phase .d{font-size:11px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase} .phase h4{font-size:19px;font-weight:400;margin:10px 0}
.phase p{font-size:14px!important;margin:0 0 10px} .phase .cp{font-size:12.5px!important;color:var(--gold2)!important;border-top:1px solid var(--line2);padding-top:10px}
.disc{font-size:12.5px;color:var(--faint);border:1px solid var(--line2);padding:16px 18px;margin-top:22px;line-height:1.65}
.disc.sector{border-color:var(--gold3);color:var(--gold2)}
.nextbox{background:linear-gradient(135deg,rgba(200,165,90,.12),transparent 60%);border:1px solid var(--line);padding:clamp(24px,3vw,40px)}
.nextbox .acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}

/* forms */
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px} @media (max-width:640px){.form .row2{grid-template-columns:1fr}}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--mute);margin:12px 0} .check input{accent-color:var(--gold);margin-top:4px;width:16px;height:16px;flex:none}
.included{font-size:13px;color:var(--faint);border-inline-start:1px solid var(--gold3);padding:4px 14px;margin:6px 0 16px}
.ok{border:1px solid var(--gold);padding:22px;color:var(--gold2);display:none} .ok.on{display:block}
.hp{position:absolute;inset-inline-start:-9999px}

/* method */
.timeline{position:relative;margin:10px 0 50px;height:64px} .timeline .bar{position:absolute;top:30px;inset-inline:0;height:1px;background:var(--line)}
.timeline .fill{position:absolute;top:30px;inset-inline-start:0;height:1px;background:linear-gradient(90deg,var(--gold3),var(--gold2));width:0;transition:width 2.4s var(--ease)} [dir=rtl] .timeline .fill{background:linear-gradient(270deg,var(--gold3),var(--gold2))}
.timeline.in .fill{width:100%}
.timeline .tk{position:absolute;top:0;transform:translateX(-50%);text-align:center;font-size:11px;color:var(--faint);letter-spacing:.1em;white-space:nowrap} [dir=rtl] .timeline .tk{transform:translateX(50%)}
.timeline .tk::after{content:"";display:block;width:9px;height:9px;border:1px solid var(--gold);background:var(--bg);transform:rotate(45deg);margin:9px auto 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2)} @media (max-width:960px){.steps{grid-template-columns:1fr 1fr}} @media (max-width:600px){.steps{grid-template-columns:1fr}}
.step{background:var(--bg);padding:30px 26px;cursor:default;transition:background .5s} .step:hover{background:var(--bg2)}
.step .ph{font-size:11px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase} .step h3{font-size:26px;font-weight:300;margin:12px 0 4px} .step .win{font-size:12.5px;color:var(--gold2);margin-bottom:16px}
.step p{color:var(--mute);font-size:14.5px} .step ul{padding-inline-start:18px;margin:0 0 16px;color:var(--mute);font-size:14px} .step li{margin-bottom:6px} .step li::marker{color:var(--gold)}
.step .cp{font-size:13px;color:var(--ink);border-top:1px solid var(--line2);padding-top:14px}
.step0{border:1px solid var(--line2);padding:24px 26px;margin-bottom:1px;display:flex;gap:24px;align-items:baseline;flex-wrap:wrap} .step0 h3{font-size:18px;font-weight:400;color:var(--gold2)} .step0 p{margin:0;color:var(--mute);flex:1;min-width:260px}

/* governance */
.pill{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--line2)} .pill h4{font-size:17px;font-weight:400;min-width:220px;color:var(--ink)} .pill p{margin:0;color:var(--mute);font-size:15px}
@media (max-width:700px){.pill{flex-direction:column;gap:6px}}
.types{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2)} .types>div{background:var(--bg);padding:26px;font-size:14.5px;color:var(--mute)}

/* sectors explorer */
.sx-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.sx-panel{border:1px solid var(--line2);padding:clamp(22px,3vw,40px);min-height:200px}
.sx-panel h3{font-size:clamp(24px,2.6vw,34px);margin-bottom:12px}

/* tools */
.tool{border:1px solid var(--line2);padding:clamp(22px,3vw,40px);background:var(--panel)}
.q{padding:18px 0;border-bottom:1px solid var(--line2)} .q .qt{font-size:15.5px;margin-bottom:12px} .q .qh{font-size:12.5px;color:var(--faint);margin-bottom:10px}
.q .ans{display:flex;flex-wrap:wrap;gap:8px} .q .ans label{border:1px solid var(--line2);padding:8px 14px;font-size:13px;cursor:pointer;color:var(--mute);border-radius:40px;transition:all .3s}
.q .ans input{position:absolute;opacity:0} .q .ans input:checked+span{color:var(--gold2)} .q .ans label:has(input:checked){border-color:var(--gold)}
.score{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px} .ring{width:140px;height:140px;position:relative} .ring svg{transform:rotate(-90deg)} .ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;font-weight:200;color:var(--gold2)}
.range{width:100%;accent-color:var(--gold)} .out{font-size:clamp(26px,3vw,40px);font-weight:200;color:var(--gold2)}

/* faq */
.faq-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:30px} .faq-tools input{max-width:420px}
.faq-cats{display:flex;flex-wrap:wrap;gap:8px}
.faq details{border-bottom:1px solid var(--line2)} .faq summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:clamp(16px,1.5vw,19px)}
.faq summary::-webkit-details-marker{display:none} .faq summary::after{content:"+";color:var(--gold);font-size:22px;line-height:1;transition:transform .4s} .faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{color:var(--mute);padding:0 0 26px;max-width:880px;font-size:15.5px} .faq .cat-h{font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin:44px 0 6px} html[lang=ar] .faq .cat-h{letter-spacing:0;font-size:14px}

/* legal */
.legal details{border:1px solid var(--line2);margin-bottom:12px} .legal summary{cursor:pointer;padding:22px 26px;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.legal summary::-webkit-details-marker{display:none}
.legal .body{padding:0 26px 26px;color:var(--mute);font-size:15px;max-width:900px} .legal h4{color:var(--ink);font-weight:400;font-size:16px;margin:26px 0 8px}
.sources ol{columns:2;column-gap:40px;font-size:12.5px;color:var(--faint);padding-inline-start:28px} .sources li{break-inside:avoid;margin-bottom:8px} .sources a{color:var(--mute);word-break:break-word}
.sources li:target{color:var(--gold2)}
@media (max-width:760px){.sources ol{columns:1}}

/* contact & footer */
.contact{text-align:center} .contact .mail{font-size:clamp(22px,3.4vw,44px);font-weight:200;color:var(--gold2);text-decoration:none;display:inline-block;margin:26px 0;border-bottom:1px solid var(--line)}
footer{border-top:1px solid var(--line2);padding:60px 0 40px;font-size:13px;color:var(--faint)} footer .wrap{display:grid;gap:20px} footer .tag{font-size:12px;letter-spacing:.34em;color:var(--gold);text-transform:uppercase}
footer nav{display:flex;flex-wrap:wrap;gap:20px} footer a{color:var(--mute);text-decoration:none} footer a:hover{color:var(--gold2)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal],.rsec{opacity:1;transform:none} .hero h1 .w{opacity:1;transform:none;filter:none}}

/* print = PDF of the analysis, generated in the browser */
@media print{
  @page{size:A4;margin:16mm 14mm}
  body{background:#fff;color:#111;font-size:11pt} body.printing>*:not(main){display:none!important} body.printing main>*:not(#analyser){display:none!important}
  body.printing #analyser>.wrap>*:not(.an-print){display:none!important} body.printing .an-print>*:not(#report){display:none!important}
  #intro,header.top,.no-print,.nextbox .acts,#leadForm,.loading{display:none!important}
  section.s{padding:0;border:0} #report{display:block!important;margin:0}
  .pdf-cover{display:block!important;border-bottom:1px solid #b8974f;padding-bottom:12mm;margin-bottom:8mm}
  .rsec{opacity:1!important;transform:none!important;padding:6mm 0;break-inside:avoid-page;border-color:#ddd}
  .rsec p,.rsec li,.stat .l,.ba>div,.phase p,.disc{color:#222!important} .summary{color:#111!important}
  .rsec>h3,.rep-head .label,.phase .d,.ba .hd,.sub-h{color:#8a6d32!important} .stat .v{color:#8a6d32!important}
  .stats,.phases,.ba{background:#ddd;border-color:#ddd} .stat,.phase{background:#fff} .rep-head h2{color:#111} .nextbox{background:none;border:1px solid #ccc}
  .pdf-sources{display:block!important;font-size:8.5pt;color:#444} .pdf-sources a{color:#444;text-decoration:none}
  a[href^=http]::after{content:none}
}
.pdf-cover,.pdf-sources{display:none}
@media (max-height:980px){.scrollcue{display:none}}
