/* ============================================================
   MAURICE SOLAR — Design System / Tokens
   ============================================================ */
:root{
  /* Brand core */
  --solar-blue:#1E63C4;       /* wordmark blue */
  --energy-blue:#0A2A5E;      /* deep energy */
  --midnight:#061428;         /* darkest */
  --dawn-1:#0A2A5E;
  --dawn-2:#12386f;
  --sky:#3B82F6;
  --electric:#38BDF8;         /* electric blue glow */
  --eco-green:#16A34A;
  --eco-green-2:#22C55E;
  --solar-gold:#FDB913;       /* the sun */
  --solar-gold-2:#FFD44D;
  --energy-yellow:#F59E0B;

  /* Neutrals */
  --ink:#0B1220;
  --ink-2:#1B2A44;
  --charcoal:#12161D;
  --slate:#5A6B84;
  --slate-2:#8296B0;
  --line:#E4EAF2;
  --line-dark:rgba(255,255,255,.10);
  --paper:#FFFFFF;
  --paper-2:#F5F8FC;
  --paper-3:#EDF3FA;
  --silver:#C7D2DE;

  /* Type */
  --f-display:'Sora',system-ui,-apple-system,sans-serif;
  --f-body:'Inter',system-ui,-apple-system,sans-serif;

  /* Scale */
  --step--1:clamp(.78rem,.75rem + .15vw,.86rem);
  --step-0:clamp(.98rem,.95rem + .2vw,1.06rem);
  --step-1:clamp(1.18rem,1.05rem + .5vw,1.4rem);
  --step-2:clamp(1.5rem,1.25rem + 1.1vw,2rem);
  --step-3:clamp(2rem,1.55rem + 2vw,3rem);
  --step-4:clamp(2.7rem,1.9rem + 3.6vw,4.6rem);
  --step-5:clamp(3.4rem,2.2rem + 5.4vw,6.6rem);

  /* Space */
  --sp-section:clamp(4.5rem,3rem + 6vw,9rem);
  --container:1240px;
  --container-wide:1440px;
  --radius:18px;
  --radius-lg:28px;
  --radius-sm:12px;

  /* Effects */
  --shadow-sm:0 2px 10px rgba(10,42,94,.06);
  --shadow:0 18px 50px -20px rgba(10,42,94,.28);
  --shadow-lg:0 40px 90px -35px rgba(10,42,94,.4);
  --glass:rgba(255,255,255,.7);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
body{
  font-family:var(--f-body);
  font-size:var(--step-0);
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
img{background:var(--paper-3)}
img[src$=".svg"],.nav-logo img,.footer-brand img,svg{background:transparent}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
::selection{background:var(--solar-gold);color:var(--ink)}

/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--electric);
  outline-offset:3px;
  border-radius:6px;
}

/* Layout helpers */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2.5rem)}
.container-wide{max-width:var(--container-wide)}
.section{padding-block:var(--sp-section)}
.center{text-align:center}
.mx-auto{margin-inline:auto}

/* Eyebrow / section header */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--f-display);
  font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--solar-blue);
}
.eyebrow::before{
  content:"";width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--solar-gold),var(--energy-yellow));
}
.eyebrow.on-dark{color:var(--solar-gold-2)}
.section-head{max-width:640px;margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.section-head.center{margin-inline:auto}
.section-title{font-size:var(--step-3);margin:.7rem 0 .9rem}
.section-lead{font-size:var(--step-1);color:var(--slate);font-weight:400;line-height:1.5}

/* Utility text */
.text-grad{
  background:linear-gradient(100deg,var(--solar-gold-2),var(--energy-yellow) 60%,var(--solar-gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.text-blue-grad{
  background:linear-gradient(100deg,var(--sky),var(--solar-blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Reveal-on-scroll */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal-delay="1"]{transition-delay:.08s}
[data-reveal-delay="2"]{transition-delay:.16s}
[data-reveal-delay="3"]{transition-delay:.24s}
[data-reveal-delay="4"]{transition-delay:.32s}
[data-reveal-delay="5"]{transition-delay:.4s}
