*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100%}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
html[dir=rtl] body{font-family:var(--font-ar)}
html[dir=rtl]{--font-display:'Cairo','Bricolage Grotesque',sans-serif}
img,svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em;font-weight:700}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:0;line-height:1.3}
h1{font-size:clamp(2.1rem,5.2vw,3.9rem)} h2{font-size:clamp(1.55rem,3.2vw,2.3rem)} h3{font-size:1.25rem} h4{font-size:1.05rem}
p{margin:0}
a{color:var(--brand-text);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px}
.container{width:100%;max-width:1240px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)} .ink2{color:var(--ink-2)} .small{font-size:.875rem} .xs{font-size:.78rem}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap} .between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:14px} .stack-s{display:flex;flex-direction:column;gap:8px} .stack-l{display:flex;flex-direction:column;gap:28px}
.grow{flex:1;min-width:0}
.grid{display:grid;gap:20px} .g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr))}
.section{padding-block:clamp(40px,7vw,84px)}
.section-tight{padding-block:clamp(24px,4vw,44px)}
.band-blush{background:var(--surface-2)}
.band-deep{background:linear-gradient(160deg,var(--hero-bg),var(--hero-bg-2));color:var(--on-hero)}
.band-deep h2,.band-deep h3{color:var(--on-hero)}
.band-deep p{color:var(--on-hero-2)}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--brand-text)}
.band-deep .eyebrow{color:var(--rose)}
html[dir=rtl] .eyebrow{letter-spacing:0}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-block:6px 14px;margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px));scrollbar-width:thin}
.rail>*{scroll-snap-align:start;flex:0 0 auto}
hr{border:0;border-top:1px solid var(--line);margin:0}
table{border-collapse:collapse;width:100%}
th{font-size:.78rem;text-align:start;color:var(--muted);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.93rem}
tr:last-child td{border-bottom:0}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.num{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
