/* ── Reset & Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;font-size:clamp(.938rem,1vw+,.8125rem+1rem);line-height:1.6;color:var(--text);background:var(--bg)}
h1,h2,h3,h4,h5,h6{font-family:'Sora',system-ui,sans-serif;line-height:1.2;font-weight:700}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%;height:auto}

/* ── Custom Properties ── */
:root{
  --text:#0f172a;
  --muted:#64748b;
  --primary:#1d4ed8;
  --surface:#ffffff;
  --secondary:#2563eb;
  --bg:#f8fafc;
  --border:#e2e8f0;
  --radius:10px;
  --container:1200px;
  --space-section:clamp(4rem,10vw,8rem);
  --space-xs:.5rem;
  --space-sm:1rem;
  --space-md:2rem;
  --space-lg:4rem;
}

/* ── Utilities ── */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}
.grid-2,.grid-3,.grid-4{display:grid;gap:1.5rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ── Section ── */
.section{padding:var(--space-section) 0}

/* ── Eyebrow ── */
.eyebrow{font-family:'Sora',sans-serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);margin-bottom:.5rem}

/* ── Hero ── */
.hero{padding:clamp(5rem,14vw,10rem) 0;text-align:center;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.25rem,6vw,4.5rem);margin-bottom:1rem;color:var(--text)}
.hero p{font-size:clamp(1.063rem,2vw,1.375rem);color:var(--muted);max-width:640px;margin:0 auto 2rem}

/* ── Cards ── */
.cards{display:grid;gap:1.5rem}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.cards--3,.cards--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards--2,.cards--3,.cards--4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem);transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card h3{font-size:1.125rem;margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.938rem}

/* ── Stat ── */
.stat{text-align:center;padding:var(--space-md)}
.stat .number{font-family:'Sora',sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:var(--secondary)}
.stat .label{color:var(--muted);margin-top:.25rem}

/* ── Testimonial ── */
.testimonial{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem);position:relative}
.testimonial blockquote{font-size:1.063rem;color:var(--text);margin-bottom:1rem;font-style:italic}
.testimonial cite{color:var(--muted);font-size:.875rem;font-style:normal}

/* ── CTA ── */
.cta{text-align:center;padding:clamp(4rem,10vw,7rem) 0}
.cta h2{font-size:clamp(1.75rem,4vw,3rem);margin-bottom:1rem}
.cta p{color:var(--muted);max-width:560px;margin:0 auto 2rem}

/* ── Buttons ── */
.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;border-radius:var(--radius);font-family:'Sora',sans-serif;font-size:.938rem;font-weight:600;cursor:pointer;border:none;transition:background .2s,transform .15s,color .2s}
.btn{background:var(--secondary);color:#fff}
.btn:hover{background:#1d4ed8;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--secondary);border:1px solid var(--border)}
.btn-ghost:hover{background:rgba(37,99,235,.06);border-color:var(--secondary)}

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,250,252,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.75rem 0}
.site-header .container{display:flex;align-items:center;gap:1rem}
.site-logo img{height:38px;width:auto}
.site-nav{margin-inline:auto;display:flex;gap:clamp(.75rem,2vw,2rem)}
.site-nav a{font-size:.938rem;color:var(--muted);transition:color .2s;padding:.25rem 0;position:relative}
.site-nav a:hover,.site-nav a.is-active{color:var(--text)}
.site-nav a.is-active::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--secondary);border-radius:2px}
.header-cta{margin-inline-start:auto}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text)}
.hamburger span,.hamburger span::before,.hamburger span::after{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .3s}
.hamburger span::before,.hamburger span::after{content:'';position:absolute;left:0}
.hamburger span::before{top:-7px}
.hamburger span::after{top:7px}
.hamburger.is-open span{background:transparent}
.hamburger.is-open span::before{top:0;transform:rotate(45deg)}
.hamburger.is-open span::after{top:0;transform:rotate(-45deg)}
.hamburger.is-open span{background:currentColor}

@media(max-width:768px){
  .hamburger{display:block}
  .site-nav{position:fixed;top:61px;left:0;right:0;bottom:0;background:rgba(11,15,26,.97);flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transform:translateX(100%);transition:transform .3s ease;backdrop-filter:blur(16px)}
  .site-nav.is-open{transform:translateX(0)}
  .header-cta{display:none}
}

/* ── Ark Islands (light styling, not redefining separate sheet) ── */
.ark-courses,.ark-island{border:1px solid rgba(148,163,184,.1);border-radius:var(--radius);overflow:hidden}
.ark-courses .ark-card{border-radius:var(--radius)}

/* ── Footer ── */
.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:clamp(3rem,8vw,5rem) 0 0}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:2rem;margin-bottom:3rem}
@media(max-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
 .footer-brand p{color:var(--muted);font-size:.938rem;margin-top:.75rem;max-width:280px}
.footer-col h4{font-family:'Sora',sans-serif;font-size:.813rem;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary);margin-bottom:1rem}
.footer-col ul li{margin-bottom:.5rem}
.footer-col ul a{color:var(--muted);font-size:.938rem;transition:color .2s}
.footer-col ul a:hover{color:var(--text)}
.footer-bottom{border-top:1px solid rgba(148,163,184,.1);padding:1.5rem 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.footer-bottom p{color:var(--muted);font-size:.813rem}
.footer-built{color:var(--muted);font-size:.813rem}
