/* ════════════════════════════════════════════════════
   Bostraion · core stylesheet
   Shared across Doctrine, House, Bosra, Journal, Provenance, FAQ.
   ════════════════════════════════════════════════════ */
:root{
  --ink:#080705; --basalt:#11100D; --basalt-50:#1A1714; --basalt-100:#2A2520; --basalt-200:#15110D; --basalt-300:#0D0C0A;
  --parchment-50:#FFFAF0; --parchment-100:#F7EFDD; --parchment:#EFE7D6; --parchment-300:#D8C9A8; --parchment-aged:#A79C89;
  --gold-50:#E8D29A; --gold-100:#D4B670; --gold:#C8A04D; --gold-300:#A88436; --gold-antique:#8F7035;
  --seal:#5B1E18; --seal-50:#7A2E26; --green:#7eb37a;
  --page-light:#F4ECDB; --ink-light:#15110D; --ink-light-2:#3a3128; --hairline-light:rgba(21,17,13,.08); --hairline-light-strong:rgba(21,17,13,.18);
  --hairline:rgba(239,231,214,.10); --hairline-strong:rgba(239,231,214,.22);
  --serif:"Cormorant Garamond",Cormorant,"EB Garamond",Garamond,Georgia,serif;
  --sans:"Inter","Inter Variable",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --mono:"JetBrains Mono","IBM Plex Mono",Menlo,Consolas,monospace;
  --arabic-sans:"IBM Plex Sans Arabic","Noto Sans Arabic",sans-serif;
  --arabic-serif:"Amiri","IBM Plex Sans Arabic",Georgia,serif;
  --pad:clamp(20px,4vw,56px); --col:1100px; --col-narrow:760px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ink);color:var(--parchment-50)}
body{font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;
  background:radial-gradient(ellipse 70% 50% at 50% 0%, rgba(200,160,77,.06), transparent 60%),
  linear-gradient(180deg,#0a0907 0%,#11100d 55%,#0d0c0a 100%)}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--ink)}
img{max-width:100%;display:block}

/* TOP BAR */
.topbar{position:sticky;top:0;z-index:60;background:linear-gradient(180deg,rgba(8,7,5,.86),rgba(8,7,5,.74));backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);border-bottom:1px solid var(--hairline);box-shadow:0 1px 0 rgba(200,160,77,.06),0 10px 30px -22px rgba(0,0,0,.7);height:70px;display:flex;align-items:center}
.topbar-inner{max-width:var(--col);margin:0 auto;width:100%;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:18px}
.tb-brand{display:flex;align-items:center;gap:13px}
.tb-mark{width:35px;height:35px;color:var(--gold-50);flex-shrink:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .3s}
.tb-brand:hover .tb-mark{transform:rotate(-3deg) scale(1.04);color:var(--gold)}
.tb-wordwrap{display:flex;flex-direction:column;line-height:1;gap:5px}
.tb-name{font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;letter-spacing:.005em;color:var(--parchment-50)}
.tb-name::after{content:".";color:var(--gold)}
.tb-tagline{font-family:var(--mono);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-antique)}
.tb-actions{display:flex;align-items:center;gap:14px}
.tb-back{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-300);padding:9px 14px;border-radius:999px;border:1px solid transparent;transition:color .2s,background .2s,border-color .2s}
.tb-back:hover{color:var(--gold-50);background:rgba(247,239,221,.04);border-color:var(--hairline)}
.lang-switch{display:inline-flex;align-items:center;background:rgba(247,239,221,.04);border:1px solid var(--hairline);border-radius:999px;padding:3px;gap:2px}
.lang-switch button{background:transparent;border:none;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-aged);padding:6px 12px;border-radius:999px;transition:color .2s,background .2s}
.lang-switch button[data-set-lang="ar"]{font-family:var(--arabic-serif);letter-spacing:0;text-transform:none;font-weight:600;font-size:15px;padding:4px 10px;line-height:1}
.lang-switch button:hover{color:var(--parchment-100)}
.lang-switch button.active{background:var(--gold);color:var(--ink)}

/* SHELL + PRIMITIVES */
.wrap{max-width:var(--col);margin:0 auto;padding:clamp(56px,8vw,104px) var(--pad) 120px}
.narrow{max-width:var(--col-narrow);margin:0 auto}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 22px}
.eyebrow .div{margin:0 10px;color:var(--gold-antique);opacity:.6}
.display{font-family:var(--sans);font-weight:800;font-size:clamp(40px,6.4vw,86px);line-height:1.14;letter-spacing:-.038em;color:var(--parchment-50);margin:0;text-wrap:balance}
.display em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold-50);letter-spacing:-.015em}
.lede{margin:64px 0 0;max-width:56ch;font-size:clamp(18px,1.6vw,22px);line-height:1.55;color:var(--parchment-100);text-wrap:balance}
.lede strong{color:var(--parchment-50);font-weight:500}
.pill{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font-size:15px;font-weight:500;transition:transform .15s ease,background .2s,color .2s,border-color .2s;cursor:pointer}
.pill:active{transform:scale(.98)}
.pill-solid{background:var(--gold);color:var(--ink)}
.pill-solid:hover{background:var(--gold-50)}
.pill-ghost{border:1px solid var(--gold-antique);color:var(--gold-50)}
.pill-ghost:hover{background:rgba(200,160,77,.08)}
.link{color:var(--gold-50);font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.link .arr{transition:transform .2s ease;display:inline-block}
.link:hover .arr{transform:translateX(4px)}

/* FOOTER */
footer{border-top:1px solid var(--hairline);background:#050403;padding:40px var(--pad) 28px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--parchment-aged)}
.foot-row{max-width:var(--col);margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.foot-row a{color:var(--parchment-300);transition:color .2s}
.foot-row a:hover{color:var(--gold-50)}

/* i18n + RTL */
.i18n{display:none}
body[data-lang="en"] .i18n.en,body[data-lang="de"] .i18n.de,body[data-lang="ar"] .i18n.ar{display:block}
body[data-lang="en"] span.i18n.en,body[data-lang="de"] span.i18n.de,body[data-lang="ar"] span.i18n.ar{display:inline}
body[data-lang="ar"]{direction:rtl;font-family:var(--arabic-sans);font-size:18px;line-height:1.95;word-spacing:.04em}
body[data-lang="ar"] .display{font-family:var(--arabic-serif);letter-spacing:0;font-weight:700;line-height:1.32;font-size:clamp(38px,5.6vw,74px)}
body[data-lang="ar"] .display em{font-family:var(--arabic-serif);font-style:italic;font-weight:400}
body[data-lang="ar"] .lede{font-family:var(--arabic-sans);line-height:1.95;font-size:clamp(18px,1.5vw,21px)}
body[data-lang="ar"] .eyebrow,body[data-lang="ar"] footer{font-family:var(--arabic-sans);letter-spacing:.02em;text-transform:none;font-weight:500}
body[data-lang="ar"] .link .arr,body[data-lang="ar"] .pill .arr{display:inline-block;transform:scaleX(-1)}
body[data-lang="ar"] .tb-name,body[data-lang="ar"] .tb-tagline,body[data-lang="ar"] .latin{direction:ltr;font-family:var(--sans);unicode-bidi:isolate}

/* ─────────── RESPONSIVE · tablet & phone ─────────── */
@media (max-width:900px){
  .wrap{padding:clamp(40px,7vw,72px) var(--pad) 88px}
  .lede{margin-top:40px}
}
@media (max-width:680px){
  .topbar{height:58px}
  .tb-tagline{display:none}
  .tb-mark{width:32px;height:32px}
  .tb-name{font-size:19px}
  .tb-actions{gap:8px}
  .tb-back{padding:8px 10px;font-size:10px}
  /* bigger tap targets for the language switch on touch */
  .lang-switch button{padding:9px 13px;font-size:12px}
  .lang-switch button[data-set-lang="ar"]{font-size:16px;padding:7px 11px}
  .lede{margin-top:28px;font-size:17px}
  .display{line-height:1.12}
  .foot-row{flex-direction:column;gap:10px;text-align:center}
}
@media (max-width:420px){
  .tb-back span{display:none}            /* keep just the arrow on tiny screens */
  .tb-back::after{content:"\2190"}
  body[data-lang="ar"] .tb-back::after{content:"\2192"}
  .pill{padding:12px 18px;font-size:14px}
}
/* never let a touch target be tiny */
.lang-switch button,.tb-back,.pill,.link{min-height:40px;display:inline-flex;align-items:center}
