/* ============================================================================
   Lanka Academy — shared stylesheet
   Naval Architecture meets Apple Storefront. Deep ocean ground, signal-blue
   accent, foam-white text, Inter, liquid-glass surfaces.
   Used by every page except the Home scroll-hero (which inlines its own).
   ============================================================================ */
:root{
  --ink-900:#0a0e1a; --ink-800:#0f1424; --ink-700:#151b2e;
  --sea-900:#0b1e4e; --sea-700:#1a3a8f; --sea-500:#2b5fd9; --sea-300:#7fa8ff;
  --foam-100:#f2f6ff; --foam-50:#ffffff;

  --mist-400:rgba(255,255,255,0.08); --mist-600:rgba(255,255,255,0.14);
  --glass-tint:rgba(20,30,60,0.55); --glass-tint-hi:rgba(30,50,100,0.65);

  --text-bright:rgba(242,246,255,0.90); --text-muted:rgba(242,246,255,0.70); --text-faint:rgba(242,246,255,0.50);

  --shadow-glass:0 1px 0 rgba(255,255,255,0.08) inset,0 0 0 1px rgba(255,255,255,0.06),0 20px 60px -20px rgba(0,0,0,0.6);
  --shadow-card:0 4px 24px -4px rgba(0,0,0,0.4),0 1px 0 rgba(255,255,255,0.06) inset;
  --focus-ring:#7fa8ff;

  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:28px; --r-pill:999px;

  --fs-display:clamp(2.75rem,6vw,5rem);
  --fs-h1:clamp(2rem,4vw,3.25rem);
  --fs-h2:clamp(1.5rem,2.5vw,2.25rem);
  --fs-h3:clamp(1.125rem,1.6vw,1.5rem);
  --fs-body:clamp(1rem,1.1vw,1.0625rem);
  --fs-small:0.875rem; --fs-caption:0.75rem;

  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;
  --sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;

  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --dur-micro:150ms;--dur-std:250ms;--dur-large:450ms;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:var(--fs-body);font-weight:400;line-height:1.55;color:var(--foam-100);
  background:var(--ink-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4{font-weight:600;line-height:1.14;letter-spacing:-0.011em;color:var(--foam-50);}
a{color:var(--sea-300);text-decoration:none;transition:color var(--dur-micro) var(--ease-out);}
a:hover{color:var(--foam-50);}
img,svg{display:block;max-width:100%;}
::selection{background:rgba(43,95,217,0.4);color:#fff;}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-sm);}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;top:-100%;left:var(--sp-4);z-index:10000;padding:var(--sp-3) var(--sp-6);background:var(--sea-500);color:var(--foam-50);font-weight:600;border-radius:var(--r-md);transition:top var(--dur-micro) var(--ease-out);}
.skip-link:focus{top:var(--sp-4);}

/* ─── BUTTONS ─── */
.btn-primary,.btn-glass{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);
  padding:14px 28px;border-radius:var(--r-pill);font:600 var(--fs-body)/1 "Inter",sans-serif;
  cursor:pointer;text-decoration:none;white-space:nowrap;border:1px solid transparent;
  transition:background var(--dur-std) var(--ease-out),transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-std) var(--ease-out),border-color var(--dur-std) var(--ease-out);
}
.btn-primary{color:var(--foam-50);background:var(--sea-500);border-color:rgba(127,168,255,0.3);}
.btn-primary:hover{background:var(--sea-700);box-shadow:0 8px 32px -8px rgba(43,95,217,0.6);color:var(--foam-50);}
.btn-primary:active{transform:scale(0.98);}
.btn-primary[disabled]{opacity:0.6;cursor:default;}
.btn-glass{color:var(--foam-100);background:var(--glass-tint);border-color:var(--mist-400);font-weight:500;
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);}
.btn-glass:hover{background:var(--glass-tint-hi);border-color:var(--mist-600);color:var(--foam-50);}
.btn-glass:active{transform:scale(0.98);}

/* ─── NAV ─── */
.nav-bar{
  position:fixed;top:16px;left:50%;transform:translateX(-50%);
  width:calc(100% - 32px);max-width:1120px;z-index:1000;padding:12px 20px;
  display:flex;align-items:center;gap:var(--sp-6);
  background:linear-gradient(135deg,rgba(30,50,110,0.42),rgba(15,25,60,0.5) 50%,rgba(20,40,90,0.42));
  -webkit-backdrop-filter:blur(40px) saturate(200%) brightness(1.08);backdrop-filter:blur(40px) saturate(200%) brightness(1.08);
  border:1px solid rgba(127,168,255,0.18);
  box-shadow:0 1px 0 rgba(255,255,255,0.18) inset,0 -1px 0 rgba(0,0,0,0.25) inset,0 0 0 1px rgba(43,95,217,0.12),0 8px 32px -8px rgba(0,0,0,0.55),0 0 60px -20px rgba(43,95,217,0.18);
  border-radius:var(--r-xl);
  transition:padding var(--dur-std) var(--ease-out),background var(--dur-std) var(--ease-out);
}
.nav-bar.scrolled{padding:8px 16px;background:linear-gradient(135deg,rgba(10,18,45,0.72),rgba(8,14,35,0.78) 50%,rgba(10,18,45,0.72));}
.nav-logo{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0;}
.nav-logo img{height:34px;width:auto;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.12;}
.nav-logo-text .brand{font-size:0.95rem;font-weight:700;color:var(--foam-50);letter-spacing:-0.01em;}
.nav-logo-text .tagline{font-size:0.6rem;font-weight:500;color:var(--sea-300);letter-spacing:0.08em;text-transform:uppercase;padding-top:3px;}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none;margin-inline-start:auto;}
.nav-links>li{position:relative;}
.nav-links a,.nav-trigger{display:flex;align-items:center;gap:4px;padding:8px 14px;font-size:var(--fs-small);font-weight:500;color:rgba(242,246,255,0.78);border-radius:var(--r-sm);min-height:40px;background:none;border:none;cursor:pointer;font-family:inherit;white-space:nowrap;transition:color var(--dur-micro),background var(--dur-micro);}
.nav-links a:hover,.nav-links a.active,.nav-trigger:hover,.nav-trigger[aria-expanded="true"]{color:var(--foam-50);background:var(--mist-400);}
.nav-trigger svg{transition:transform var(--dur-std) var(--ease-out);}
.nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}
.nav-dropdown-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:210px;padding:var(--sp-2);
  background:var(--glass-tint);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
  border:1px solid var(--mist-400);box-shadow:var(--shadow-glass);border-radius:var(--r-md);opacity:0;pointer-events:none;
  transition:opacity var(--dur-std) var(--ease-out),transform var(--dur-std) var(--ease-out);z-index:100;}
.nav-dropdown-panel.open{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-dropdown-panel a{display:flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:var(--r-sm);font-size:var(--fs-small);}
.nav-cta{margin-inline-start:var(--sp-2);flex-shrink:0;}
.nav-mobile-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;background:none;border:none;color:var(--foam-100);cursor:pointer;border-radius:var(--r-sm);margin-inline-start:auto;}
.nav-mobile-btn:hover{background:var(--mist-400);}
@media(max-width:860px){.nav-links,.nav-cta{display:none;}.nav-mobile-btn{display:flex;}}

/* mobile drawer */
.nav-drawer{position:fixed;inset:0;z-index:1100;pointer-events:none;}
.nav-drawer-backdrop{position:absolute;inset:0;background:rgba(10,14,26,0.7);opacity:0;transition:opacity var(--dur-large) var(--ease-out);}
.nav-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);
  background:rgba(10,14,26,0.78);backdrop-filter:blur(40px) saturate(200%) brightness(1.08);-webkit-backdrop-filter:blur(40px) saturate(200%) brightness(1.08);
  border-left:1px solid rgba(127,168,255,0.18);box-shadow:-2px 0 48px rgba(43,95,217,0.18);
  padding:var(--sp-6);transform:translateX(100%);transition:transform var(--dur-large) var(--ease-out);
  overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-1);}
.nav-drawer.open{pointer-events:auto;}
.nav-drawer.open .nav-drawer-backdrop{opacity:1;}
.nav-drawer.open .nav-drawer-panel{transform:translateX(0);}
.nav-drawer-close{align-self:flex-end;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--mist-400);border:none;border-radius:var(--r-sm);color:var(--foam-100);cursor:pointer;margin-bottom:var(--sp-3);}
.nav-drawer a{display:flex;align-items:center;min-height:46px;padding:10px 14px;font-size:1rem;font-weight:500;color:var(--foam-100);border-radius:var(--r-md);}
.nav-drawer a:hover,.nav-drawer a.active{background:rgba(127,168,255,0.12);color:var(--foam-50);}
.nav-drawer-section{font-size:var(--fs-caption);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--sea-300);padding:var(--sp-4) var(--sp-4) var(--sp-1);}

/* ─── LAYOUT ─── */
.content-wrap{max-width:1120px;margin-inline:auto;padding-inline:var(--sp-6);}
.section{padding-block:var(--sp-24);position:relative;}
.section--alt{background:linear-gradient(135deg,var(--ink-800) 0%,var(--sea-900) 100%);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
@media(max-width:880px){.two-col,.grid-2,.grid-3{grid-template-columns:1fr;gap:var(--sp-6);}}

/* ─── PAGE HERO (inner pages) ─── */
.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:var(--sp-16);
  background:linear-gradient(160deg,var(--ink-900),var(--sea-900) 55%,var(--ink-900));background-size:cover;background-position:center;}
.page-hero .content-wrap{position:relative;z-index:2;padding-top:140px;width:100%;}
.breadcrumb{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-small);color:var(--text-faint);margin-bottom:var(--sp-5);flex-wrap:wrap;}
.breadcrumb a{color:var(--text-muted);}
.breadcrumb a:hover{color:var(--foam-50);}
.breadcrumb-sep{color:var(--text-faint);}
.page-hero .hero-headline{font-size:var(--fs-h1);font-weight:700;line-height:1.08;letter-spacing:-0.02em;color:var(--foam-50);margin:var(--sp-3) 0 var(--sp-5);text-wrap:balance;}
.page-hero .hero-sub{font-size:var(--fs-h3);font-weight:400;line-height:1.5;color:var(--text-muted);text-wrap:pretty;}

/* ─── HEADINGS ─── */
.section-label{font-size:var(--fs-caption);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--sea-300);margin-bottom:var(--sp-3);}
.section-title{font-size:var(--fs-h2);font-weight:600;letter-spacing:-0.015em;color:var(--foam-50);margin-bottom:var(--sp-4);text-wrap:balance;}
.section-body{font-size:var(--fs-body);line-height:1.65;color:var(--text-muted);max-width:64ch;}
.center{text-align:center;}
.center .section-title,.center .section-body{margin-inline:auto;}

/* ─── CARDS ─── */
.glass-card{background:var(--glass-tint);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
  border:1px solid var(--mist-400);box-shadow:var(--shadow-glass);border-radius:var(--r-lg);padding:var(--sp-8);
  transition:transform var(--dur-std) var(--ease-out),border-color var(--dur-std),background var(--dur-std),box-shadow var(--dur-std);}
.glass-card:hover{background:var(--glass-tint-hi);border-color:var(--mist-600);transform:translateY(-4px);box-shadow:var(--shadow-glass),0 32px 80px -20px rgba(43,95,217,0.25);}
.card-icon{width:48px;height:48px;border-radius:var(--r-md);background:rgba(43,95,217,0.2);border:1px solid rgba(43,95,217,0.3);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-5);color:var(--sea-300);flex-shrink:0;}
.card-icon--lg{width:64px;height:64px;border-radius:var(--r-lg);}
.card-title{font-size:var(--fs-h3);font-weight:600;color:var(--foam-50);margin-bottom:var(--sp-3);}
.card-body{font-size:var(--fs-body);line-height:1.6;color:var(--text-muted);}
.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:var(--sp-5);font-size:var(--fs-small);font-weight:600;color:var(--sea-300);}

/* course cards */
.course-card{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);}
.course-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 12px;background:rgba(43,95,217,0.15);border:1px solid rgba(43,95,217,0.25);border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:600;color:var(--sea-300);letter-spacing:0.02em;align-self:flex-start;}
.course-duration{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;background:rgba(127,168,255,0.1);border-radius:var(--r-pill);font-size:var(--fs-caption);color:var(--sea-300);}
.course-for{font-size:var(--fs-caption);color:var(--text-faint);}
.course-hook{font-size:var(--fs-small);font-style:italic;color:var(--text-muted);line-height:1.55;}

/* stat list */
.stat-row{display:flex;align-items:center;gap:var(--sp-5);border-bottom:1px solid var(--mist-400);padding-bottom:var(--sp-5);}
.stat-row:last-child{border-bottom:none;padding-bottom:0;}
.stat-num{font-size:var(--fs-h2);font-weight:700;color:var(--sea-300);min-width:84px;}
.stat-label{font-size:var(--fs-body);color:var(--text-muted);}

/* ─── FAQ ─── */
.faq-item{border-bottom:1px solid var(--mist-400);}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) 0;font-size:var(--fs-body);font-weight:600;color:var(--foam-50);cursor:pointer;list-style:none;min-height:44px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-chevron{flex-shrink:0;color:var(--sea-300);transition:transform var(--dur-std) var(--ease-out);}
.faq-item[open] .faq-chevron{transform:rotate(180deg);}
.faq-body{padding:0 0 var(--sp-5);font-size:var(--fs-body);line-height:1.6;color:var(--text-muted);max-width:64ch;}

/* ─── FORM ─── */
.form-group{display:flex;flex-direction:column;gap:var(--sp-2);}
.form-label{font-size:var(--fs-small);font-weight:500;color:var(--foam-100);}
.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;min-height:44px;border-radius:var(--r-sm);
  background:rgba(10,14,26,0.5);border:1px solid var(--mist-400);color:var(--foam-50);font:inherit;font-size:var(--fs-small);
  transition:border-color var(--dur-micro),box-shadow var(--dur-micro),background var(--dur-micro);}
.form-textarea{resize:vertical;min-height:120px;line-height:1.5;}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%237fa8ff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text-faint);}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--sea-300);box-shadow:0 0 0 3px rgba(127,168,255,0.18);background:rgba(10,14,26,0.7);}
.form-input[aria-invalid="true"],.form-textarea[aria-invalid="true"]{border-color:#ff6b6b;box-shadow:0 0 0 3px rgba(255,107,107,0.16);}
.form-error{font-size:var(--fs-caption);color:#ff8c8c;}
.form-success{padding:var(--sp-6);border-radius:var(--r-md);background:rgba(31,138,91,0.15);border:1px solid rgba(31,138,91,0.4);color:var(--foam-50);line-height:1.6;}

/* ─── MAP ─── */
.map-frame{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--mist-400);box-shadow:var(--shadow-card);background:linear-gradient(135deg,var(--sea-900),var(--ink-800));}
.map-frame iframe{display:block;width:100%;filter:grayscale(0.3) brightness(0.85) contrast(1.05);}

/* ─── CTA BAND ─── */
.cta-band{padding-block:var(--sp-24);background:radial-gradient(120% 140% at 50% 0%,rgba(43,95,217,0.18),transparent 60%);text-align:center;}

/* ─── FOOTER ─── */
.footer{background:var(--ink-800);border-top:1px solid var(--mist-400);padding:var(--sp-16) 0 var(--sp-8);margin-top:var(--sp-8);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:var(--sp-10);margin-bottom:var(--sp-12);}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-8);}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-heading{font-size:var(--fs-small);font-weight:700;color:var(--foam-50);margin-bottom:var(--sp-4);}
.footer p,.footer .muted{font-size:var(--fs-small);color:var(--text-faint);line-height:1.6;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);}
.footer-links a{font-size:var(--fs-small);color:var(--text-muted);}
.footer-links a:hover{color:var(--foam-50);}
.footer-contact-item{display:flex;gap:var(--sp-3);font-size:var(--fs-small);color:var(--text-muted);line-height:1.7;margin-bottom:var(--sp-4);}
.footer-contact-item svg{color:var(--sea-300);flex-shrink:0;margin-top:3px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding-top:var(--sp-6);border-top:1px solid var(--mist-400);}
.footer-copy{font-size:var(--fs-caption);color:var(--text-faint);}
.footer-legal{display:flex;gap:var(--sp-5);}
.footer-legal a{font-size:var(--fs-caption);color:var(--text-faint);}
.footer-legal a:hover{color:var(--foam-50);}

/* ─── REVEAL (scrubbed by site.js) ─── */
.reveal{opacity:0;transform:translateY(28px);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1!important;transform:none!important;}
}
