
/* ===== Design Tokens ===== */
:root{
  --bg:#ffffff;
  --ink:#0f1220;
  --muted:#62708a;
  --accent:#22b8a8;
  --accent-2:#f5b700;
  --surface:#ffffff;
  --border:#e8edf5;
  --shadow-sm:0 4px 16px rgba(16,22,35,.06);
  --shadow-md:0 12px 32px rgba(16,22,35,.08);
  --radius:16px;
  --radius-lg:22px;
  --max:1200px;
  --t-fast:180ms cubic-bezier(.2,.8,.2,1);
  --t-slow:700ms cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"PT Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:.9}
.container{max-width:var(--max);margin:0 auto;padding:0 22px}

/* Typography */
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.2;margin:0 0 10px}
h1{font-size:clamp(34px,5.8vw,56px)}
h2{font-size:clamp(26px,4vw,38px)}
h3{font-size:clamp(20px,3vw,26px)}
p.lead{font-size:clamp(18px,2.2vw,20px);color:#2a3350}
.muted{color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;gap:10px;align-items:center}
.brand img{width:40px;height:40px;object-fit:contain}
.brand .name{font-weight:700;letter-spacing:.2px;color:#101623}
.links{display:flex;gap:16px}
.links a{position:relative;padding:8px 10px;border-radius:10px;color:#1a2540}
.links a::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:scaleX(0);transform-origin:center;transition:transform var(--t-fast)}
.links a:hover::after, .links a.active::after{transform:scaleX(1)}

/* Sections */
section{padding:60px 0}
.grid{display:grid;gap:18px}
@media(min-width:820px){
  .grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .grid.cols-2{grid-template-columns:repeat(2,1fr)}
}
.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);overflow:hidden}
/* Shiny tile hover */
.card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;
  background:linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 70%);
  transform:translateX(-140%);transition:transform var(--t-slow);pointer-events:none;mix-blend-mode:overlay}
.card:hover::before{transform:translateX(140%)}
.card:hover{box-shadow:var(--shadow-md)}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero .inner{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.hero .inner{grid-template-columns:1.1fr .9fr}}
.hero .tag{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#f7fbfb;color:#0a433f;font-weight:700}
.hero h1{background:linear-gradient(90deg,#101623, #2c3e7f 35%, #12a3a0 70%, #101623);
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:shineText 7s linear infinite}
@keyframes shineText{0%{background-position:-200% 0}100%{background-position:200% 0}}


/* Buttons (fizzy) */
.btn{--btn-bg:linear-gradient(180deg,var(--accent),#0cc);
  position:relative;display:inline-flex;align-items:center;gap:10px;padding:13px 16px;border-radius:14px;
  background:var(--btn-bg);color:#052b2a;font-weight:800;letter-spacing:.2px;border:0;cursor:pointer;
  box-shadow:0 6px 18px rgba(34,184,168,.35);transition:transform var(--t-fast)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.fizzy{overflow:hidden;isolation:isolate}
.btn.fizzy .bubble{position:absolute;bottom:0;width:8px;height:8px;border-radius:50%;background:#fff;opacity:.6;mix-blend-mode:overlay;filter:blur(.2px);animation:rise .7s ease-out forwards}
@keyframes rise{to{transform:translateY(-130%) scale(.35);opacity:0}}
.pill{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#fff}

/* News list */
.news-item{display:flex;gap:14px}
.news-item .tag{font-size:12px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:#f4f7fb;color:#3a4a6b}

/* Footer (slightly darker) */
footer{padding:40px 0 70px;border-top:1px solid var(--border);background:#eef3fa}
.footer-grid{display:grid;gap:22px}
@media(min-width:820px){.footer-grid{grid-template-columns:1.6fr .8fr .8fr}}
.list-plain{list-style:none;padding:0;margin:8px 0}
.list-plain li{margin:8px 0;color:#39496b}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(14px);transition:all 700ms cubic-bezier(.2,.8,.2,1)}
.reveal.in-view{opacity:1;transform:none}
.nowrap{white-space:nowrap}
.badge{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;background:#fff9e6;border:1px solid #ffe9a6;color:#7c5a00;font-weight:700}
