:root{
  --black:#0a0a0c;
  --white:#f3f1ea;
  --white-dim:#c9c6bd;
  --gold:#c9a13b;
  --gold-soft:#e9cd8a;
}
/* index.html has its own copy of this reset inline; the six dedicated pages and
   404.html only load this file, theme-*.css and the token files — none of which
   included box-sizing until this fix. Its absence caused real overflow (found via
   a systematic breakpoint sweep: work.html clipped 16px at 320px because .pg-card's
   padding added to its width instead of being contained by it). */
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--black);color:var(--white);font-family:'Inter',sans-serif;overflow-x:hidden;}


  /* ---------- fixed header ---------- */
  .eh-header{position:fixed;top:0;left:0;right:0;z-index:200;padding:16px clamp(16px,4vw,64px);
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease}
  .eh-header.eh-overHero{background:transparent;border-bottom:1px solid transparent}
  .eh-header.eh-solid{background:rgba(10,10,12,.82);backdrop-filter:blur(18px) saturate(120%);
    border-bottom:1px solid rgba(243,241,234,.12)}
  .eh-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--white)}
  .eh-brand img{width:46px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}
  .eh-brandText{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.28em;font-weight:600;white-space:nowrap}
  .eh-nav{display:flex;gap:26px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
  .eh-nav a{color:var(--white);text-decoration:none;opacity:.72;transition:opacity .2s}
  .eh-nav a:hover{opacity:1}
  .eh-right{display:flex;align-items:center;gap:10px}

  /* ---------- language switcher ---------- */
  .eh-lang{position:relative;font-family:'Inter',sans-serif}
  .eh-langBtn{display:flex;align-items:center;gap:7px;border:1px solid rgba(243,241,234,.24);
    background:rgba(0,0,0,.2);color:var(--white);padding:8px 11px;font-size:10px;letter-spacing:.12em;
    text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s}
  .eh-langBtn:hover{border-color:var(--gold);background:rgba(0,0,0,.4)}
  .eh-langBtn svg{width:9px;height:9px;flex:none;transition:transform .25s}
  .eh-lang.open .eh-langBtn svg{transform:rotate(180deg)}
  .eh-langMenu{position:absolute;top:calc(100% + 8px);right:0;min-width:172px;
    background:rgba(12,12,14,.97);backdrop-filter:blur(16px);border:1px solid rgba(243,241,234,.14);
    padding:5px;display:none;flex-direction:column;z-index:210}
  .eh-lang.open .eh-langMenu{display:flex}
  .eh-langMenu button{background:none;border:0;color:var(--white);text-align:left;cursor:pointer;
    padding:10px 12px;font-size:12px;letter-spacing:.02em;transition:background .18s,color .18s}
  .eh-langMenu button:hover{background:rgba(201,161,59,.16)}
  .eh-langMenu button[aria-current="true"]{color:var(--gold-soft)}
  .eh-langMenu button[aria-current="true"]::after{content:"✓";float:right;opacity:.85}

  .eh-menuBtn{display:none;border:1px solid rgba(243,241,234,.24);background:rgba(0,0,0,.2);
    color:var(--white);padding:9px 12px;font-family:'Inter',sans-serif;font-size:10px;
    letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
  .eh-mobileMenu{display:none;position:fixed;inset:0;z-index:190;background:rgba(8,8,10,.98);
    padding:104px 26px 40px;overflow-y:auto}
  .eh-mobileMenu.open{display:block}
  .eh-mobileMenu a{display:block;color:var(--white);text-decoration:none;font-family:'Fraunces',serif;
    font-size:34px;padding:14px 0;border-bottom:1px solid rgba(243,241,234,.1)}

  

  @media(max-width:900px){
    .eh-nav{display:none}
    .eh-menuBtn{display:block}
    .eh-brand img{width:40px;height:30px}
    .eh-brandText{font-size:10px;letter-spacing:.2em}
  }
  @media(max-width:340px){ .eh-brandText{display:none} }

  /* ---------- right-to-left text ---------- */
  html.eagle-rtl .eh-mobileMenu,
  html.eagle-rtl [data-i18n]{direction:rtl;text-align:right}
  html.eagle-rtl .eh-mobileMenu a{font-family:'Noto Kufi Arabic','Fraunces',serif;letter-spacing:0;line-height:1.4;font-size:27px}
  html.eagle-rtl .eh-langMenu button{text-align:right}

/* footer — force the closing-logo flourish visible without GSAP,
   since dedicated pages don't load the animation script that
   normally reveals it on scroll */
.ftr-logo-outro{ opacity:1 !important; transform:none !important; }

  /* =====================================================
     FOOTER — "ftr-" namespace only.
     Reuses root tokens. Brand block reuses the exact same
     wordmark SVG used in the hero's persistent corner mark
     (no new logo). Contact/social are placeholder-safe:
     nothing invented, sections simply omit if no real data.
     ===================================================== */

  .ftr-section{
    position:relative;
    background:#08080a;
    color:var(--white);
    border-top:1px solid rgba(243,241,234,0.08);
    padding:12vh 8vw 5vh;
    overflow:hidden;
  }

  .ftr-top{
    display:flex;
    justify-content:space-between;
    gap:8vw;
    flex-wrap:wrap;
    padding-bottom:8vh;
    border-bottom:1px solid rgba(243,241,234,0.08);
  }

  .ftr-brand{ max-width:320px; }
  .ftr-brand-mark{
    display:flex; align-items:center; gap:12px;
    margin-bottom:14px;
  }
  .ftr-brand-mark svg{ width:26px; height:26px; flex:none; }
  .ftr-brand-name{
    font-family:'Inter',sans-serif;
    font-size:14px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--white);
  }
  .ftr-brand-tagline{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.32em;
    text-transform:uppercase;
    color:var(--gold-soft);
  }

  .ftr-nav{
    display:flex;
    gap:6vw;
    flex-wrap:wrap;
  }
  .ftr-col h4{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:20px;
  }
  .ftr-col ul{ list-style:none; }
  .ftr-col li{ margin-bottom:12px; }
  .ftr-col a{
    font-family:'Inter',sans-serif;
    font-size:14px;
    color:var(--white-dim);
    text-decoration:none;
    transition:color .3s ease;
  }
  .ftr-col a:hover{ color:var(--white); }

  .ftr-middle{
    display:flex;
    justify-content:space-between;
    gap:6vw;
    flex-wrap:wrap;
    padding:6vh 0;
    border-bottom:1px solid rgba(243,241,234,0.08);
  }
  .ftr-contact h4,
  .ftr-newsletter h4{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:16px;
  }
  .ftr-newsletter h4{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:1.3rem;
    text-transform:none;
    letter-spacing:0;
    color:var(--white);
  }
  .ftr-contact-list{ display:flex; flex-direction:column; gap:10px; }
  .ftr-contact-value{
    font-family:'Inter',sans-serif;
    font-size:14px;
    color:var(--white);
    text-decoration:none;
  }
  .ftr-contact-value.is-placeholder{
    color:rgba(243,241,234,0.4);
    font-style:italic;
    border-bottom:1px dashed rgba(243,241,234,0.3);
    padding-bottom:2px;
    width:fit-content;
  }

  .ftr-newsletter-form{
    display:flex;
    gap:0;
    max-width:340px;
    border-bottom:1px solid rgba(243,241,234,0.25);
    transition:border-color .3s ease;
  }
  .ftr-newsletter-form:focus-within{ border-bottom-color:var(--gold-soft); }
  .ftr-newsletter-form input{
    flex:1;
    background:transparent;
    border:none;
    outline:none;
    color:var(--white);
    font-family:'Inter',sans-serif;
    font-size:14px;
    padding:12px 4px;
    min-height:44px;
  }
  .ftr-newsletter-form input::placeholder{ color:rgba(243,241,234,0.32); }
  .ftr-newsletter-form button{
    background:none;
    border:none;
    color:var(--gold-soft);
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    cursor:pointer;
    padding:12px 4px;
    white-space:nowrap;
  }
  .ftr-newsletter-form button:hover{ color:var(--white); }
  .ftr-newsletter-note{
    margin-top:12px;
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:var(--white-dim);
    display:none;
  }
  .ftr-newsletter-note.is-active{ display:block; }

  .ftr-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    padding-top:5vh;
  }
  .ftr-bottom p{
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:rgba(243,241,234,0.45);
  }

  .ftr-logo-outro{
    display:flex;
    justify-content:center;
    padding-top:8vh;
    opacity:0;
    transform:scale(0.94);
  }
  .ftr-logo-outro svg{ width:34px; height:34px; }

  @media (max-width:900px){
    .ftr-top, .ftr-middle{ flex-direction:column; gap:6vh; }
    .ftr-nav{ gap:8vw 12vw; }
  }
  @media (max-width:700px){
    .ftr-nav{ gap:6vh 10vw; width:100%; justify-content:space-between; }
    .ftr-col{ min-width:40%; }
    .ftr-newsletter-form{ max-width:100%; }
    .ftr-newsletter-form input, .ftr-newsletter-form button{ min-height:48px; }
    .ftr-col a{ display:inline-block; padding:4px 0; }
    .ftr-bottom{ flex-direction:column; align-items:flex-start; }
  }

  @media (prefers-reduced-motion: reduce){
    .ftr-logo-outro{ opacity:1 !important; transform:none !important; }
  }
