/* common.css — Shared base styles for FR/EN main site pages */
/* Extracted from inline CSS — Session G [2026-03-09] */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --ceremonial-snow:#FAF9F6;--silica-sand:#F5F1E8;--parchment:#F0EDE4;
  --lac-leman:#E3F2FD;--glacier-ice:#B3E0FF;--deep-water:#64B5F6;--abyss:#1E3A5F;--abyss-deep:#0D1B2A;
  --bamboo-leaf:#E8F5E9;--sacred-mint:#C8E6C9;--forest-depth:#3D8B40;
  --silk-flame:#FFEBEE;--ember:#EF9A9A;
  --aqueous-gold:#E6D8A7;--sandalwood:#D9CCB4;--freshwater-pearl:#F0E6D2;
  --tahiti-pearl:#263238;
  --text-70:rgba(38,50,56,0.7);--text-50:rgba(38,50,56,0.6);--text-30:rgba(38,50,56,0.3);
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;scroll-padding-top:70px;font-size:16px;background:var(--ceremonial-snow)}
body{font-family:var(--sans);color:var(--text-70);background:var(--ceremonial-snow);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-weight:300}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--lac-leman)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--sacred-mint),var(--glacier-ice));border-radius:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sr-only:focus{position:fixed!important;top:0;left:0;width:auto;height:auto;clip:auto;overflow:visible;z-index:9999}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

/* Skip link (a11y) - hidden until focused */
.skip-link{position:absolute;top:-100px;left:0;z-index:9999;padding:0.75rem 1.25rem;background:var(--abyss);color:var(--aqueous-gold);font-size:0.8rem;text-decoration:none;border:1px solid rgba(230,216,167,0.3)}
.skip-link:focus{top:0}

/* Lang-switch (shared by all pages with dark header backgrounds) */
.lang-switch{display:flex;align-items:center;gap:0.4rem;font-size:0.68rem;color:rgba(227,242,253,0.7);letter-spacing:0.1em;z-index:110;white-space:nowrap}
.lang-switch a{color:inherit;text-decoration:none;padding:0.6rem 0.75rem;min-height:44px;display:inline-flex;align-items:center;transition:color 0.3s}
.lang-switch a.active{color:var(--aqueous-gold);border:1px solid rgba(230,216,167,0.3)}
.lang-switch a:hover{color:var(--glacier-ice)}

/* RTL : letter-spacing 0 to preserve Arabic ligatures */
[lang="ar"] .nav-links a,[lang="ar"] .lang-switch a,[lang="ar"] .section-eyebrow,[lang="ar"] .cred-line,[lang="ar"] .eyebrow{letter-spacing:0}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
html.js-loaded .reveal{opacity:0;transform:translateY(28px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease)}
html.js-loaded .reveal.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html.js-loaded .reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}
