/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ============ TOKENS ============ */
:root{
  --bg:#FFFFFF;
  --bg-alt:#F0F6FF;
  --text:#1A1A2E;
  --muted:#6B7280;
  --accent:#00BFFF;
  --accent-primary:#1A8FE3;
  --accent-hover:#1565C0;
  --border:#E2E8F0;
  --dark:#0D2A6B;
  --dark-soft:#0D2A6B;
  --whatsapp:#25D366;
  --radius:14px;
  --shadow-sm:0 1px 2px rgba(13,42,107,.04),0 2px 6px rgba(13,42,107,.04);
  --shadow-md:0 10px 30px rgba(13,42,107,.08);
  --shadow-lg:0 30px 60px rgba(13,42,107,.12);
  --container:1200px;
  --space:clamp(80px,10vw,140px);
  --display:'Fraunces',Georgia,serif;
  --body:'Plus Jakarta Sans',system-ui,sans-serif;
}

/* ============ BODY ============ */
body{
  font-family:var(--body);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}

/* ============ CONTAINER ============ */
.container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ============ TYPOGRAPHY ============ */
.display{font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:1.05}
h1.display{font-size:clamp(2.4rem,5.6vw,4.6rem)}
h2.display{font-size:clamp(1.9rem,3.8vw,3rem)}
h3.display{font-size:clamp(1.3rem,2vw,1.6rem)}
.eyebrow{
  font-family:var(--body);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  display:inline-flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent)}
.lead{font-size:clamp(1rem,1.15vw,1.15rem);color:var(--muted);max-width:60ch}
.id-text{font-style:italic;color:var(--muted);font-family:var(--display);font-weight:400}

/* ============ SELECTION ============ */
::selection{background:var(--accent);color:#fff}

/* ============ SECTIONS ============ */
section{padding:var(--space) 0}
.section-head{max-width:720px;margin-bottom:56px}
.section-head h2{margin:14px 0 16px}
.section-head p{color:var(--muted);font-size:1.05rem}

/* ============ MISC ============ */
.bilingual-note{display:block;font-size:.82rem;color:var(--muted);font-style:italic;margin-top:4px;font-family:var(--display);font-weight:400}