/* Modified: 2026-06-02 23:30 */
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --navy: #0d1f3c;
    --navy2: #152d54;
    --navy-dark: #0a1828;
    --navy-deep: #050e1d;
    --navy-surface: #081422;
    --navy-footer: #020912;
    --blue: #1a4b8c;
    --sky: #8dc8f0;
    --ice: #e8f4fd;
    --white-pure: #ffffff;
    --white: #f5f9ff;
    --gold: #e8a020;
    --teal: #1b8faa;
    --rainbow1: #e040a0;
    --rainbow2: #f5a623;
    --rainbow3: #7ed321;
    --rainbow4: #1ab9e8;
    --nav-overlay: rgba(13,31,60,0.85);
    --white-03: rgba(255,255,255,0.03);
    --white-02: rgba(255,255,255,0.02);
    --white-04: rgba(255,255,255,0.04);
    --white-05: rgba(255,255,255,0.05);
    --white-06: rgba(255,255,255,0.06);
    --white-07: rgba(255,255,255,0.07);
    --white-08: rgba(255,255,255,0.08);
    --white-10: rgba(255,255,255,0.1);
    --white-12: rgba(255,255,255,0.12);
    --white-15: rgba(255,255,255,0.15);
    --white-20: rgba(255,255,255,0.2);
    --white-25: rgba(255,255,255,0.25);
    --white-35: rgba(255,255,255,0.35);
    --white-40: rgba(255,255,255,0.4);
    --white-50: rgba(255,255,255,0.5);
    --white-55: rgba(255,255,255,0.55);
    --white-58: rgba(255,255,255,0.58);
    --white-60: rgba(255,255,255,0.6);
    --white-65: rgba(255,255,255,0.65);
    --white-68: rgba(255,255,255,0.68);
    --white-70: rgba(255,255,255,0.7);
    --white-72: rgba(255,255,255,0.72);
    --white-90: rgba(255,255,255,0.9);
    --white-92: rgba(255,255,255,0.92);
    --teal-06: rgba(27,143,170,0.06);
    --teal-08: rgba(27,143,170,0.08);
    --teal-12: rgba(27,143,170,0.12);
    --teal-20: rgba(27,143,170,0.2);
    --teal-shadow-40: rgba(27,143,170,0.4);
    --teal-shadow-50: rgba(27,143,170,0.5);
    --teal-shadow-60: rgba(27,143,170,0.6);
    --teal-10: rgba(27,143,170,0.1);
    --teal-25: rgba(27,143,170,0.25);
    --white-base-15: rgba(245,249,255,0.15);
    --white-base-30: rgba(245,249,255,0.3);
    --white-base-45: rgba(245,249,255,0.45);
    --white-base-55: rgba(245,249,255,0.55);
    --white-base-75: rgba(245,249,255,0.75);
    --white-base-80: rgba(245,249,255,0.8);
    --navy-deep-97: rgba(5,14,29,0.97);
    --navy-deep-72: rgba(5,14,29,0.72);
    --navy-45: rgba(13,31,60,0.45);
    --navy-surface-70: rgba(10,24,40,0.70);
    --black-35: rgba(0,0,0,0.35);
    --black-60: rgba(0,0,0,0.6);
    --white-30: rgba(255,255,255,0.3);
    --teal-15: rgba(27,143,170,0.15);
    --gold-shadow-40: rgba(232,160,32,0.4);
    --gold-shadow-70: rgba(232,160,32,0.7);
    --blue-shadow-55: rgba(26,75,140,0.55);
    --blue-shadow-70: rgba(26,75,140,0.7);
  }

  html { scroll-behavior: smooth; }

  body {
    font-family: 'Barlow', sans-serif;
    background: var(--navy);
    color: var(--white);
    overflow-x: hidden;
  }

  /* ─── NAV ─── */
  nav {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 100;
    display: flex; justify-content: space-between; align-items: center;
    padding: 1rem 3rem;
    background: var(--nav-overlay);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--white-07);
  }
  .nav-logo { font-family: 'Barlow Condensed', sans-serif; font-size: 1.1rem; letter-spacing: 0.12em; color: var(--white); opacity: 0.9; }
  .nav-links { display: flex; gap: 2.5rem; }
  .nav-links a { color: var(--white-65); text-decoration: none; font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase; transition: color 0.3s; }
  .nav-links a:hover { color: var(--white); }

  /* ─── HERO ─── */
  .hero {
    position: relative;
    min-height: 100vh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center;
    padding: 8rem 2rem 4rem;
    overflow: hidden;
  }
  .hero-bg {
    position: absolute; inset: 0;
    pointer-events: none;
    background:
      radial-gradient(ellipse 80% 60% at 50% 100%, var(--blue-shadow-55) 0%, transparent 70%),
      radial-gradient(ellipse 60% 40% at 80% 20%, var(--teal-20) 0%, transparent 60%),
      linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 40%, var(--navy-dark) 100%);
  }
  /* Animated ice particles */
  .ice-field {
    position: absolute; inset: 0; overflow: hidden; pointer-events: none;
  }
  .ice-dot {
    position: absolute; border-radius: 50%;
    background: var(--white-15);
    animation: float linear infinite;
  }
  @keyframes float {
    0%   { transform: translateY(0) rotate(0deg); opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 0.5; }
    100% { transform: translateY(-100vh) rotate(360deg); opacity: 0; }
  }

  .hero-logo-wrap {
    width: 240px; height: 240px;
    border-radius: 50%;
    overflow: hidden;
    position: relative; z-index: 2;
    margin-bottom: 2.5rem;
    box-shadow: 0 0 50px var(--blue-shadow-70), 0 0 0 2px var(--white-10);
    animation: logoIn 1.2s cubic-bezier(.22,1,.36,1) both;
    background: var(--white-pure);
    display: flex; align-items: center; justify-content: center;
    padding: 12px;
  }
  .hero-logo {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
  }
  @keyframes logoIn {
    from { opacity: 0; transform: scale(0.7) translateY(30px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
  }

  .hero-eyebrow {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.78rem; letter-spacing: 0.35em; text-transform: uppercase;
    color: var(--teal); margin-bottom: 1rem;
    position: relative; z-index: 2;
    animation: fadeUp 0.8s 0.3s both;
  }
  .hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(3.5rem, 10vw, 7.5rem);
    font-weight: 900; line-height: 0.95;
    letter-spacing: -0.02em;
    position: relative; z-index: 2;
    animation: fadeUp 0.8s 0.5s both;
    background: linear-gradient(135deg, var(--white-pure) 30%, var(--sky) 70%, var(--white-pure) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .hero-tagline {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(1.2rem, 4vw, 2rem);
    letter-spacing: 0.25em; text-transform: uppercase;
    color: var(--white-55); margin-top: 0.5rem;
    position: relative; z-index: 2;
    animation: fadeUp 0.8s 0.7s both;
  }

  /* ─── SOCIAL ICONS ─── */
  .social-links {
    display: flex;
    gap: 1.5rem;
    align-items: center;
  }
  .social-links a {
    color: var(--white-65);
    font-size: 1.2rem;
    transition: all 0.3s ease;
  }
  .social-links a:hover {
    color: var(--white);
    transform: translateY(-2px);
  }
  .footer-social {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 2rem;
  }
  .footer-social a {
    color: var(--white-50);
    font-size: 1.5rem;
    transition: color 0.3s;
  }
  .footer-social a:hover {
    color: var(--gold);
  }

  .hero-rainbow-bar {
    width: 80px; height: 4px; border-radius: 2px;
    background: linear-gradient(90deg, var(--rainbow1), var(--rainbow2), var(--rainbow3), var(--rainbow4));
    margin: 2rem auto; position: relative; z-index: 2;
    animation: fadeUp 0.8s 0.9s both;
  }
  .hero-desc {
    max-width: 580px;
    font-size: 1.05rem; line-height: 1.75; font-weight: 300;
    color: var(--white-72);
    position: relative; z-index: 2;
    animation: fadeUp 0.8s 1.1s both;
  }
  .hero-cta {
    margin-top: 2.5rem; position: relative; z-index: 2;
    animation: fadeUp 0.8s 1.3s both;
  }
  .btn-primary {
    display: inline-block; padding: 0.9rem 2.8rem;
    background: linear-gradient(135deg, var(--teal), var(--blue));
    color: var(--white-pure); font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.9rem; letter-spacing: 0.18em; text-transform: uppercase;
    border: none; cursor: pointer; border-radius: 2px;
    box-shadow: 0 8px 40px var(--teal-shadow-40);
    transition: all 0.3s;
    text-decoration: none;
  }
  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 50px var(--teal-shadow-60); }
  .scroll-hint {
    position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
    z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 0.4rem;
    opacity: 0.45; animation: bounce 2s 2s infinite;
  }
  .scroll-hint span { font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; }
  .scroll-hint svg { width: 18px; }
  @keyframes bounce { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(6px); } }
  @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

  /* ─── SECTIONS COMMON ─── */
  section { position: relative; padding: 6rem 2rem; }
  .container { max-width: 1080px; margin: 0 auto; }
  .section-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.72rem; letter-spacing: 0.35em; text-transform: uppercase;
    color: var(--teal); margin-bottom: 1rem;
    display: flex; align-items: center; gap: 0.8rem;
  }
  .section-label::before {
    content: ''; display: block; width: 24px; height: 2px;
    background: var(--teal);
  }
  .section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.5rem, 5vw, 3.2rem);
    font-weight: 700; line-height: 1.15;
    margin-bottom: 1.5rem;
  }
  .divider {
    width: 100%; height: 1px;
    background: linear-gradient(90deg, transparent, var(--white-10), transparent);
    margin: 0;
  }
