/* Layout: header bar, single centred column (980px for tools, 68ch for reading), footer; mirrors for Arabic */
:root{
  --bg:#f3f4f6; --surface:#ffffff; --fg:#1b1d24; --muted:#5d6170; --line:#dfe1e7;
  --accent:#7a1f3d; --accent-soft:#f6e9ee; --gold:#b8860b; --good:#1f6b4a; --warn:#9a5b00;
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --num:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[lang="ar"]{
  --display:"Noto Kufi Arabic","IBM Plex Sans Arabic",Tahoma,sans-serif;
  --body:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#13141a; --surface:#1c1e26; --fg:#eceef3; --muted:#a3a7b5; --line:#30333f;
  --accent:#e07a9c; --accent-soft:#3a2230; --gold:#e5b25c; --good:#6fcf9f; --warn:#e5b25c; color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 var(--body)}
a{color:var(--accent);text-underline-offset:3px}
img{max-width:100%}
.gutter{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:980px;margin:0 auto}

/* Header */
.site-head{background:var(--surface);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font:700 1.05rem var(--display);color:var(--fg);text-decoration:none}
.brand svg{flex:none}
.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav a{font-weight:600;font-size:.92rem;color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:8px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--fg);background:var(--bg)}
.nav a.lang{color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:5px 14px}
.nav a.lang[lang="ar"]{font-family:"IBM Plex Sans Arabic",Tahoma,sans-serif}
.nav a.lang[lang="en"]{font-family:"IBM Plex Sans",system-ui,sans-serif}

main{padding-block:32px 56px}
main .wrap{display:grid;gap:32px}

/* Hero (home) */
.hero h1{font:800 clamp(2rem,5vw,3rem)/1.12 var(--display);margin:0 0 10px;text-wrap:balance;letter-spacing:-.01em}
:root[lang="ar"] .hero h1{letter-spacing:0;line-height:1.35}
.hero h1 span{color:var(--accent)}
.hero p{margin:0;color:var(--muted);max-width:62ch}

/* Calculator */
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{font:600 .95rem var(--body);padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}
.tab[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.tab:focus-visible,input:focus-visible,.seg button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.calc{display:grid;gap:18px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
@media (max-width:760px){.grid{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:18px;min-width:0}
label,.lbl{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.hint{font-weight:400;color:var(--muted);font-size:.83rem}
input{font:500 1rem var(--mono);padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--fg);width:100%;min-width:0}
.money{display:flex;align-items:stretch}
.money span{font:500 .9rem var(--body);padding:11px 12px;border:1px solid var(--line);border-inline-end:0;border-start-start-radius:9px;border-end-start-radius:9px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.money input{border-radius:0;border-start-end-radius:9px;border-end-end-radius:9px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:420px){.row2{grid-template-columns:1fr}}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.seg button{font:600 .92rem var(--body);padding:10px;border:0;background:var(--bg);color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent)}
.eyebrow{font:600 .75rem var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}
:root[lang="ar"] .eyebrow{letter-spacing:0;font-size:.85rem}
.total{font:800 clamp(2.2rem,6vw,3.2rem)/1.1 var(--num);margin:4px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.total small{font:500 1rem var(--body);color:var(--muted);margin-inline-start:8px}
.status{display:inline-flex;align-items:center;font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:999px;width:max-content;max-width:100%}
.status.ok{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}
.status.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
dl{margin:0;display:grid}
dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px dashed var(--line)}
dt{color:var(--muted)} dd{margin:0;font:500 .95rem var(--body);text-align:end;font-variant-numeric:tabular-nums}
.formula{font:500 .85rem var(--mono);background:var(--bg);border-radius:9px;padding:12px;color:var(--muted);overflow-x:auto;white-space:pre-wrap;text-align:left}

/* Rules strip (home) */
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:760px){.rules{grid-template-columns:1fr}}
.rules article{border-top:3px solid var(--line);padding-top:12px;min-width:0}
.rules article.on{border-color:var(--accent)}
.rules h3{font:600 1.15rem var(--display);margin:0 0 6px}
.rules ul{margin:0;padding-inline-start:18px;color:var(--muted);font-size:.92rem;display:grid;gap:4px}

/* Section headings and guide cards */
.section-title{font:700 1.5rem/1.3 var(--display);margin:0}
.guide-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;list-style:none;padding:0;margin:0}
.guide-list a{display:grid;gap:6px;height:100%;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--fg)}
.guide-list a:hover{border-color:var(--accent)}
.guide-list .tag{font:600 .72rem var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
:root[lang="ar"] .guide-list .tag{letter-spacing:0;font-size:.8rem}
.guide-list strong{font:600 1.08rem/1.35 var(--display)}
.guide-list span.sum{color:var(--muted);font-size:.9rem}

/* Articles */
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--muted)}
.article{max-width:70ch;display:grid;gap:4px}
.article h1{font:800 clamp(1.8rem,4.4vw,2.6rem)/1.15 var(--display);margin:6px 0 8px;text-wrap:balance}
:root[lang="ar"] .article h1{line-height:1.4}
.article .lead{font-size:1.15rem;color:var(--fg);margin:0 0 6px}
.article .meta{font-size:.85rem;color:var(--muted);margin:0 0 12px}
.article h2{font:700 1.35rem/1.3 var(--display);margin:28px 0 4px;text-wrap:balance}
.article p,.article ul,.article ol{margin:8px 0}
.article li{margin:4px 0}
.answer{background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:10px;padding:14px 18px;margin:8px 0 4px}
.answer p{margin:0}
.table-wrap{overflow-x:auto;margin:10px 0;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.93rem;font-variant-numeric:tabular-nums}
th,td{padding:10px 14px;text-align:start;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-weight:600;color:var(--muted);background:var(--bg)}
tr:last-child td{border-bottom:0}
.note{font-size:.88rem;color:var(--muted)}
.calc-intro{font:700 1.35rem/1.3 var(--display);margin:0}

/* Plain pages */
.page{max-width:70ch}
.page h1{font:800 clamp(1.8rem,4.4vw,2.4rem)/1.2 var(--display);margin:0 0 12px}
.page h2{font:700 1.2rem var(--display);margin:24px 0 4px}
.email{font:600 1.1rem var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:inline-block;user-select:all;direction:ltr}

/* Footer */
.site-foot{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.86rem}
.site-foot .wrap{display:grid;gap:12px;padding-block:28px}
.site-foot nav{display:flex;gap:18px;flex-wrap:wrap}
.site-foot nav a{color:var(--fg);text-decoration:none;font-weight:600}
.site-foot p{margin:0;max-width:80ch}
