/* Noeris Design System v1.0 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');
:root {
  --noeris-midnight: #102A43;
  --noeris-midnight-900: #0A1C2D;
  --noeris-midnight-700: #163A5C;
  --noeris-mineral: #176B5B;
  --noeris-mineral-700: #115247;
  --noeris-mineral-500: #23816E;
  --noeris-flux: #2CBFAE;
  --noeris-flux-700: #169888;
  --noeris-flux-300: #78DDD0;
  --noeris-signal: #F0A15D;
  --noeris-ivory: #F7F8F5;
  --noeris-sand: #EAE5DA;
  --noeris-graphite: #20282D;
  --noeris-white: #FFFFFF;
  --noeris-mist: #DCE7E3;
  --noeris-line: #C7D7D2;
  --noeris-font-display: 'Manrope', 'Inter', system-ui, sans-serif;
  --noeris-font-body: 'Inter', system-ui, sans-serif;
  --noeris-radius-sm: .5rem;
  --noeris-radius-md: .75rem;
  --noeris-radius-lg: 1rem;
  --noeris-radius-xl: 1.5rem;
  --noeris-shadow-sm: 0 4px 14px rgba(16,42,67,.08);
  --noeris-shadow-md: 0 12px 40px rgba(16,42,67,.10);
  --noeris-shadow-lg: 0 24px 80px rgba(10,28,45,.16);
  --noeris-ease: cubic-bezier(.2,.8,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--noeris-ivory);color:var(--noeris-graphite);font-family:var(--noeris-font-body);line-height:1.6}
h1,h2,h3,h4{font-family:var(--noeris-font-display);color:var(--noeris-midnight);line-height:1.15;letter-spacing:-.025em}
a{color:inherit}
.noeris-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.noeris-section{padding:clamp(72px,9vw,128px) 0}
.noeris-section--dark{background:var(--noeris-midnight-900);color:var(--noeris-white)}
.noeris-eyebrow{display:inline-flex;gap:.5rem;align-items:center;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--noeris-mineral)}
.noeris-eyebrow::before{content:'';width:24px;height:2px;background:var(--noeris-flux);border-radius:999px}
.noeris-title{font-size:clamp(2.5rem,6vw,5rem);max-width:14ch;margin:.5rem 0 1rem}
.noeris-lead{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:62ch;color:#4b5960}
.noeris-btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:50px;padding:.75rem 1.4rem;border-radius:var(--noeris-radius-md);border:1px solid transparent;font-weight:600;text-decoration:none;transition:transform .22s var(--noeris-ease),background .22s var(--noeris-ease),border-color .22s var(--noeris-ease)}
.noeris-btn:hover{transform:translateY(-2px)}
.noeris-btn--primary{background:var(--noeris-midnight);color:var(--noeris-white);box-shadow:var(--noeris-shadow-sm)}
.noeris-btn--primary:hover{background:var(--noeris-mineral)}
.noeris-btn--secondary{background:transparent;color:var(--noeris-midnight);border-color:rgba(16,42,67,.28)}
.noeris-btn--accent{background:var(--noeris-flux);color:var(--noeris-midnight-900)}
.noeris-card{background:var(--noeris-white);border:1px solid rgba(16,42,67,.09);border-radius:var(--noeris-radius-xl);padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--noeris-shadow-sm)}
.noeris-card--dark{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12);color:var(--noeris-white)}
.noeris-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.noeris-input{width:100%;min-height:48px;padding:.75rem 1rem;border:1px solid var(--noeris-line);border-radius:var(--noeris-radius-md);background:var(--noeris-white);font:inherit;color:var(--noeris-graphite);outline:none;transition:border-color .18s,box-shadow .18s}
.noeris-input:focus{border-color:var(--noeris-flux);box-shadow:0 0 0 4px rgba(44,191,174,.16)}
.noeris-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:rgba(44,191,174,.12);color:var(--noeris-mineral-700);font-size:.8rem;font-weight:700}
.noeris-icon{width:24px;height:24px;stroke-width:1.8}
.noeris-focus:focus-visible{outline:3px solid rgba(44,191,174,.55);outline-offset:3px}
@media (max-width:768px){.noeris-container{width:min(100% - 28px,1180px)}.noeris-grid{gap:16px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
