:root{
--paper:#F1E8D3;
--paper-2:#E4D6B4;
--ink:#152238;
--ink-2:#0A1220;
--stamp:#9A2B22;
--brass:#AD8A4E;
--muted:#6E6552;
--muted-dark:#8D93A6;
--divider:#D2C29A;
}
html{scroll-behavior:smooth;}
body{background:var(--paper); font-family:'Cairo', sans-serif; color:var(--ink); overflow-x:hidden;}
.font-display{font-family:'Reem Kufi', sans-serif;}
.font-mono{font-family:'IBM Plex Mono', monospace;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
.sr-only.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal;background:var(--stamp);color:var(--paper);padding:0.5rem 1rem;z-index:50;}
.fade-in{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.19,1,.22,1), transform .9s cubic-bezier(.19,1,.22,1);}
.fade-in.is-visible{opacity:1;transform:translateY(0);}
.stagger-1{transition-delay:.05s;} .stagger-2{transition-delay:.15s;} .stagger-3{transition-delay:.25s;} .stagger-4{transition-delay:.35s;}
.hairline{border-color:var(--divider);}
.lift{transition:transform .45s cubic-bezier(.19,1,.22,1), border-color .45s ease, box-shadow .45s ease;}
.lift:hover{transform:translateY(-6px);}
.btn{border-radius:0.375rem; display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; transition:transform .35s cubic-bezier(.19,1,.22,1), background-color .35s ease, box-shadow .35s ease;}
.btn:hover{transform:translateY(-3px);}
.btn:focus-visible{outline:2px solid var(--stamp);outline-offset:2px;}
.frame{position:relative;border:1px solid var(--brass);}
.frame::before{content:"";position:absolute;inset:9px;border:1px solid var(--brass);pointer-events:none; z-index:10; border-radius:inherit;}
.hide-scrollbar::-webkit-scrollbar{display:none;}
.hide-scrollbar{-ms-overflow-style:none; scrollbar-width:none;}

/* Seal / emblem panel */
.seal-panel{
  background-image:
    radial-gradient(circle at 1px 1px, rgba(21,34,56,0.07) 1px, transparent 1.6px);
  background-size:16px 16px;
}
.seal-wrap{ transform:rotate(-5deg); filter:drop-shadow(0 10px 24px rgba(154,43,34,0.18)); }
.eyebrow::before{content:"§"; margin-left:.4em; color:var(--stamp); font-weight:700;}
[dir="rtl"] .eyebrow::before{ margin-left:0; margin-right:.4em; }

.plaque{
  border:1px solid var(--brass);
  background:linear-gradient(180deg, rgba(173,138,78,0.14), rgba(173,138,78,0.03));
}

@media (prefers-reduced-motion: reduce){
.fade-in{opacity:1;transform:none;transition:none;}
.lift:hover, .btn:hover{transform:none;}
html{scroll-behavior:auto;}
}