:root {
  color-scheme: light;
  --ink: #333333;
  --ink-strong: #333333;
  --body: #333333;
  --muted: #6b6b6b;
  --line: #e4ecec;
  --paper: #fff;
  --mist: #f5fbff;
  --sea: #0598D7;
  --sea-deep: #0598D7;
  --brand-cyan: #0598D7;
  --brand-green: #56B54B;
  --brand-yellow: #FAB110;
  --brand-magenta: #DB2B8A;
  --brand-purple: #453997;
  --brand-spectrum: linear-gradient(100deg, #0598D7 0%, #453997 22%, #DB2B8A 42%, #FAB110 62%, #56B54B 84%, #0598D7 100%);
  --title-spectrum: linear-gradient(100deg, #36C4FF 0%, #7468FF 25%, #FF4F9F 52%, #FFD242 76%, #72D85D 100%);
  --leaf: #56B54B;
  --sun: #FAB110;
  --coral: #DB2B8A;
  --violet: #453997;
  --shadow-soft: 0 16px 45px rgba(17, 53, 69, .09);
  --shadow-card: 0 22px 70px rgba(17, 53, 69, .15);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --container: 1200px;
  --header-height: 84px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  font-family: "DM Sans", "Segoe UI", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: radial-gradient(ellipse at 5% 12%, rgba(5,152,215,.055), transparent 31%), radial-gradient(ellipse at 95% 36%, rgba(86,181,75,.045), transparent 28%), linear-gradient(180deg, #ffffff 0%, #f5fbff 100%); color: var(--body); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
:focus-visible { outline: 3px solid rgba(5,152,215,.64); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, strong { color: var(--ink-strong); }
h1, h2, h3 { font-family: Manrope, "Segoe UI", sans-serif; letter-spacing: -.05em; line-height: 1.06; text-wrap: balance; }
h1 { font-size: clamp(3rem, 7.1vw, 6.5rem); font-weight: 800; }
h2 { font-size: clamp(2.25rem, 4.2vw, 4rem); font-weight: 800; }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 700; }
em { background: var(--title-spectrum); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-style: normal; font-weight: 800; filter: saturate(1.25) brightness(1.1); }
.container { width: min(var(--container), calc(100% - 64px)); margin-inline: auto; }
.section-pad { padding-block: clamp(76px, 10vw, 132px); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; padding: 7px 11px; border: 1px solid rgba(5,152,215,.11); border-radius: 999px; background: linear-gradient(100deg, rgba(5,152,215,.06), rgba(219,43,138,.04), rgba(250,177,16,.05)); color: var(--sea-deep); font-size: .68rem; font-weight: 800; letter-spacing: .15em; line-height: 1.4; }
.eyebrow-light { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.14); color: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; padding: 10px 16px; transform: translateY(-160%); border-radius: 8px; background: var(--ink-strong); color: white; }
.skip-link:focus { transform: translateY(0); }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 16px; padding: 13px 21px; border: 1px solid transparent; border-radius: 8px; font-size: .91rem; font-weight: 700; line-height: 1.2; transition: transform .22s var(--ease), background .22s var(--ease), color .22s var(--ease), box-shadow .22s var(--ease); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.98); }
.button-primary { background: linear-gradient(110deg, var(--sea-deep), var(--brand-purple)); background-size: 180% 100%; background-position: left center; box-shadow: 0 8px 20px rgba(5,152,215,.19); color: white; }
.button-primary:hover { background-position: right center; box-shadow: 0 12px 26px rgba(5,152,215,.27); }
.button-outline { border-color: var(--sea); background: transparent; color: var(--sea-deep); }
.button-outline:hover { background: var(--sea); color: white; }
.button-white { background: white; color: var(--ink-strong); }
.button-white:hover { background: #effafa; }
.button-small { min-height: 44px; padding: 10px 16px; font-size: .84rem; }
.button-primary, .button-outline, .button-white { position: relative; overflow: hidden; isolation: isolate; }
.button-primary::before, .button-outline::before, .button-white::before { position: absolute; inset: -30% -20% auto auto; width: 36%; height: 180%; transform: translateX(120%) rotate(18deg); background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.42), rgba(255,255,255,0)); content: ""; opacity: 0; transition: transform .7s ease, opacity .2s ease; }
.button-primary:hover::before, .button-outline:hover::before, .button-white:hover::before { transform: translateX(-150%) rotate(18deg); opacity: 1; }
.button-primary::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--brand-spectrum); content: ""; pointer-events: none; }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--ink-strong); font-size: .92rem; font-weight: 700; }
.text-link span { color: var(--sea); transition: transform .2s var(--ease); }
.text-link:hover span { transform: translateX(5px); }
.text-link:hover { color: var(--sea-deep); }
.center-cta { display: flex; justify-content: center; padding-top: 42px; }
.form-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .78rem; }
.reveal { opacity: 1; transform: none; }
.js-enabled .reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.js-enabled .reveal.is-visible { opacity: 1; transform: none; }
.kicker-glow, .eyebrow { text-shadow: 0 0 18px rgba(121, 203, 220, .12); }
.hero-orb, .floating-orb, .ambient-orb { position: absolute; border-radius: 50%; filter: blur(20px); opacity: .34; pointer-events: none; }
.ambient-orb { background: radial-gradient(circle, rgba(72, 195, 176, .9), rgba(72, 195, 176, 0)); }
.image-soft-float { animation: floatSoft 9s ease-in-out infinite; }
.image-tilt-hover { transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.image-tilt-hover:hover { transform: scale(1.02) rotate(-.6deg); }
.card-lift { transition: transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s var(--ease); }
.card-lift:hover { transform: translateY(-6px); box-shadow: var(--shadow-card); }
.premium-glow { box-shadow: 0 0 0 1px rgba(121,203,220,.08), 0 18px 38px rgba(19, 54, 71, .08); }
.glass-panel { background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(245,250,250,.7)); backdrop-filter: blur(14px); }
.gradient-heading { background: linear-gradient(90deg, var(--sea-deep), var(--sea), var(--leaf), var(--sun)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.shimmer-text { position: relative; display: inline-block; }
.shimmer-text::after { position: absolute; inset: 0; background: linear-gradient(120deg, transparent 15%, rgba(255,255,255,.7) 50%, transparent 85%); transform: translateX(-120%); animation: shimmerText 3.2s ease-in-out infinite; content: ""; }
.pulse-ring { animation: pulseRing 2.4s ease-out infinite; }
.float-y { animation: floatUpDown 5.8s ease-in-out infinite; }
.spin-slow { animation: spinSlow 18s linear infinite; }
.fade-reveal { animation: fadeReveal .7s ease both; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }

@keyframes floatSoft { 0%, 100% { transform: translateY(0px) scale(1); } 50% { transform: translateY(-9px) scale(1.015); } }
@keyframes floatUpDown { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } }
@keyframes pulseRing { 0% { box-shadow: 0 0 0 0 rgba(5,152,215,.34); } 70% { box-shadow: 0 0 0 16px rgba(5,152,215,0); } 100% { box-shadow: 0 0 0 0 rgba(5,152,215,0); } }
@keyframes shimmerText { 0% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
@keyframes spinSlow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes fadeReveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 700px) {
  .container { width: min(var(--container), calc(100% - 40px)); }
  .section-pad { padding-block: 76px; }
  body { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
