/* ============================================================
   DANAYS BAEZ — shared base: tokens, reset, lang toggle, texture
   Brand: Bold & Energetic — black canvas, electric riot-red accent
   ============================================================ */

:root{
  /* ---- Luxury Caribbean ----
     Deep ocean-teal canvas · warm ivory/sand · turquoise sea + brushed gold */
  --bg:        #08191c;          /* deep ocean teal-black */
  --bg-pure:   #04100f;          /* darkest (loader / pure) */
  --ink:       #f4ede0;          /* warm ivory / sand */
  --ink-dim:   rgba(244,237,224,.60);
  --ink-faint: rgba(244,237,224,.34);
  --ink-ghost: rgba(244,237,224,.12);
  --accent:    #23b3a4;          /* Caribbean turquoise — primary / sea */
  --accent-2:  #d3a24c;          /* brushed gold — luxury signature */
  --accent-deep:#0a5c52;         /* deep teal — accent TEXT on light sand (AA) */
  --line:      rgba(244,237,224,.14);
  --maxw:      1680px;
  --ease:      cubic-bezier(.22,1,.36,1);
  --ease-out:  cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Archivo",-apple-system,sans-serif;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;            /* clips horizontal overflow without creating a scroll container */
}

img,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
::selection{ background:var(--accent); color:#04100f; }

/* film-grain texture overlay applied per-page via .grain::after */
.grain::after{
  content:""; position:fixed; inset:0; z-index:9000; pointer-events:none;
  opacity:.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Language toggle (shared) ---------- */
.lang-toggle{
  display:inline-flex; align-items:center; gap:0;
  font-family:"Archivo",sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; user-select:none;
}
.lang-toggle button{
  padding:5px 8px; color:var(--ink-faint); transition:color .3s var(--ease);
  position:relative;
}
.lang-toggle button[aria-pressed="true"]{ color:var(--accent); }
.lang-toggle button:hover{ color:var(--ink); }
.lang-toggle .sep{ color:var(--ink-ghost); padding:0 1px; }

/* reveal-on-load / scroll helper */
[data-reveal]{ opacity:0; transform:translateY(22px); }
.is-in [data-reveal], [data-reveal].is-in{
  opacity:1; transform:none;
  transition:opacity 1s var(--ease-out), transform 1.1s var(--ease-out);
}

/* custom scrollbar */
::-webkit-scrollbar{ width:9px; height:9px; }
::-webkit-scrollbar-track{ background:#04100f; }
::-webkit-scrollbar-thumb{ background:#14373a; border-radius:0; }
::-webkit-scrollbar-thumb:hover{ background:var(--accent); }

/* shared focus ring for a11y */
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
