
@font-face { font-family:'Bricolage Grotesque'; src:url(../fonts/bricolage-grotesque.woff2) format('woff2'); font-weight:200 800; font-style:normal; font-display:swap; }
@font-face { font-family:'Onest'; src:url(../fonts/onest.woff2) format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }
[hidden] { display:none !important; }
html, body { overflow-x:clip; }
.skip { position:absolute; left:16px; top:-80px; z-index:3000; background:#FFD23F; color:#0A1233; font-weight:700; padding:12px 18px; border-radius:12px; text-decoration:none; transition:top .2s; }
.skip:focus { top:16px; }
.hd-menu-wrap { display:none; }
.hd-dd:hover .hd-menu-wrap, .hd-dd:focus-within .hd-menu-wrap { display:block; }
.hd-caret { transition:transform .25s; }
.hd-dd:hover .hd-caret, .hd-dd:focus-within .hd-caret { transform:rotate(180deg); }
html.menu-open { overflow:hidden; }
.faq { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:28px 4px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:20px; font-weight:700; color:var(--ink); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:hover { color:var(--blue); }
.faq-ic { position:relative; width:32px; height:32px; flex-shrink:0; border-radius:50%; background:var(--cloud); transition:background .25s, transform .35s var(--ease); }
.faq-ic::before, .faq-ic::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; margin:-1px 0 0 -6px; background:var(--ink); border-radius:2px; transition:transform .35s var(--ease); }
.faq-ic::after { transform:rotate(90deg); }
.faq[open] .faq-ic { background:var(--yellow); transform:rotate(180deg); }
.faq[open] .faq-ic::after { transform:rotate(0); }
.faq p { font-size:18px; line-height:1.7; color:var(--body); margin:0 0 28px; padding:0 4px; max-width:70ch; animation:rise .45s var(--ease) backwards; }
[data-q-card] p, [data-q-card] [data-q] { transition:opacity .3s ease; }
[data-q-card].is-fading p, [data-q-card].is-fading [data-q] { opacity:0; }
.hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.form-err { margin:0; padding:14px 16px; border-radius:12px; background:#FFF3C4; color:#0A1233; font-size:16px; font-weight:600; }
[data-contact-form] button[disabled] { opacity:.6; cursor:progress; }

/* Indi Solution design system. Light + dark blue, green and yellow accents. Bricolage Grotesque for display, Onest for text. */
:root {
  --ink:#0A1233; --navy:#0F1E5C; --blue:#2D5BFF; --royal:#1B3BB8; --sky:#8DB0FF;
  --mist:#F3F7FF; --cloud:#E4ECFF; --line:#D3DEF7; --paper:#FFFFFF;
  --green:#17B26A; --green-deep:#0B6B43; --green-tint:#DDF6E8; --yellow:#FFD23F;
  --body:#2C3A63; --muted:#4F5E85;
  --display:'Bricolage Grotesque','Onest',system-ui,sans-serif;
  --sans:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:150px; }
body { margin:0; font-family:var(--sans); font-size:18px; line-height:1.6; font-weight:400; background:#F3F7FF; color:var(--ink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
button, input, select, textarea { font-family:inherit; }
::selection { background:var(--yellow); color:var(--ink); }
a { color:var(--ink); } a:hover { color:var(--blue); }
:focus-visible { outline:3px solid var(--blue); outline-offset:3px; border-radius:8px; }
.dk :focus-visible { outline-color:var(--yellow); }

h1, h2, h3, h4 { font-family:var(--display) !important; font-weight:700 !important; letter-spacing:-.035em !important; text-transform:none !important; text-wrap:balance; font-variation-settings:'opsz' 96; }
h1 { line-height:.98 !important; }
h2 { line-height:1.04 !important; }
h3, h4 { line-height:1.15 !important; letter-spacing:-.025em !important; font-variation-settings:'opsz' 36; }
main h1 { font-size:clamp(2.7rem,6.4vw,5.75rem) !important; }
.hero-bg h1 { font-size:clamp(3rem,7.8vw,7.25rem) !important; }
p { text-wrap:pretty; }

/* ---------- Motion ---------- */
@keyframes rise { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:none; } }
@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes drift { to { transform:translate3d(-70px,60px,0) scale(1.18); } }
@keyframes reveal { from { opacity:0; transform:translateY(44px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes grow { to { transform:scaleX(1); } }
@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(23,178,106,.55); } 100% { box-shadow:0 0 0 12px rgba(23,178,106,0); } }

main > section:first-of-type :is(h1, p, .lg-meta, .lg-crumbs) { animation:rise 1s var(--ease) backwards; }
main > section:first-of-type h1 { animation-delay:.08s; }
main > section:first-of-type p { animation-delay:.22s; }
main > section:first-of-type .lg-meta { animation-delay:.34s; }
main > section:first-of-type a[style*="background"] { animation:rise 1s var(--ease) .38s backwards; }

@supports (animation-timeline:view()) {
  .rv, main > section:not(:first-of-type) h2 { animation:reveal linear backwards; animation-timeline:view(); animation-range:entry 0% entry 38%; }
}

/* ---------- Hero surfaces ---------- */
.hero-bg { position:relative; overflow:hidden; isolation:isolate;
  background:radial-gradient(1100px 560px at 88% -12%, #1B3BB8 0%, rgba(27,59,184,0) 62%), radial-gradient(rgba(243,247,255,.09) 1px, transparent 1.4px) 0 0/30px 30px, linear-gradient(180deg,#0A1233 0%,#0F1E5C 160%) !important; }
.hero-bg::before, .hero-bg::after { content:""; position:absolute; border-radius:50%; filter:blur(80px); z-index:-1; pointer-events:none; }
.hero-bg::before { width:520px; height:520px; right:-140px; top:-170px; background:var(--blue); opacity:.5; animation:drift 18s ease-in-out infinite alternate; }
.hero-bg::after { width:360px; height:360px; left:-110px; bottom:-150px; background:var(--green); opacity:.26; animation:drift 23s ease-in-out infinite alternate-reverse; }
.intro { position:relative; isolation:isolate; }
.intro::before { content:""; position:absolute; z-index:-1; pointer-events:none; width:min(62vw,720px); aspect-ratio:1; right:-12%; top:-30%; border-radius:50%; background:radial-gradient(circle, rgba(45,91,255,.17), rgba(45,91,255,0) 66%); animation:drift 22s ease-in-out infinite alternate; }
.intro::after { content:""; position:absolute; z-index:-1; pointer-events:none; width:min(34vw,360px); aspect-ratio:1; left:-8%; bottom:-30%; border-radius:50%; background:radial-gradient(circle, rgba(255,210,63,.28), rgba(255,210,63,0) 68%); animation:drift 26s ease-in-out infinite alternate-reverse; }

/* ---------- Dark-surface accent swaps (green/blue legacy accent becomes yellow on navy) ---------- */
.dk [style*="color:#2D5BFF"] { color:var(--yellow) !important; }
.dk svg[stroke="#2D5BFF"] { stroke:var(--yellow); }
.dk span[style*="background:#2D5BFF"] { background:var(--yellow) !important; }
.dk a[style*="background:#2D5BFF"], .dk button[style*="background:#2D5BFF"] { background:var(--yellow) !important; color:var(--ink) !important; }
.dk a[style*="background:#2D5BFF"]:hover { background:#fff !important; color:var(--ink) !important; }
.hero-bg h1 span[style*="color:#2D5BFF"] { background:linear-gradient(transparent 62%, rgba(255,210,63,.28) 62%); padding:0 .06em; }

/* ---------- Components ---------- */
.card { transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .2s ease; will-change:transform; }
.card:hover { transform:translateY(-7px); box-shadow:0 30px 50px -28px rgba(15,30,92,.45); border-color:var(--blue) !important; }
.btn { border-radius:999px !important; transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .2s ease, color .2s ease; }
.btn:hover { transform:translateY(-3px); box-shadow:0 18px 30px -16px rgba(45,91,255,.7); }
input, select, textarea { transition:border-color .2s ease, box-shadow .2s ease; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--blue) !important; box-shadow:0 0 0 4px rgba(45,91,255,.2); }
button { cursor:pointer; }

/* ---------- Responsive rules for the existing page grids ---------- */
@media (max-width:1000px) and (min-width:761px) {
  main [style*="repeat(4"], main [style*="repeat(3"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  main [style*="padding:120px"], main [style*="padding:110px"], main [style*="padding:100px"] { padding-top:84px !important; padding-bottom:84px !important; }
  main [style*="gap:80px"], main [style*="gap:70px"] { gap:48px !important; }
}
@media (max-width:760px) {
  main [style*="repeat(4"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  main [style*="repeat(3"], main [style*="repeat(2"], main [style*="1.1fr 0.9fr"], main [style*="0.9fr 1.1fr"], main [style*="1fr 1fr"], main [style*="auto 1fr auto"], main [style*="1fr auto"] { grid-template-columns:minmax(0,1fr) !important; }
  main [style*="grid-column:span 2"] { grid-column:auto !important; }
  main section { padding-left:20px !important; padding-right:20px !important; }
  main [style*="padding:88px"], main [style*="padding:96px"], main [style*="padding:100px"], main [style*="padding:110px"], main [style*="padding:120px"] { padding-top:56px !important; padding-bottom:56px !important; }
  main [style*="padding:72px 60px"], main [style*="padding:80px 60px"], main [style*="padding:80px"], main [style*="padding:56px"], main [style*="padding:60px"] { padding:40px 24px !important; }
  main [style*="gap:80px"], main [style*="gap:70px"], main [style*="gap:60px"] { gap:32px !important; }
  main [style*="margin-top:88px"] { margin-top:44px !important; }
  main [style*="padding:52px"] { padding:32px 24px !important; }
}

/* ---------- Legal pages ---------- */
.progress { position:fixed; left:0; right:0; top:0; height:4px; z-index:2000; background:linear-gradient(90deg,var(--blue),var(--green),var(--yellow)); transform:scaleX(0); transform-origin:0 50%; animation:grow linear forwards; animation-timeline:scroll(root); }
@supports not (animation-timeline:scroll()) { .progress { display:none; } }
.lg-wrap { max-width:1240px; margin:0 auto; padding:0 32px; }
.lg-hero { padding:96px 0 88px; color:#F3F7FF; }
.lg-crumbs { display:flex; gap:10px; align-items:center; font-size:16px; font-weight:500; color:#A9B8E0; margin-bottom:36px; }
.lg-crumbs a { color:#C9D6F7; text-decoration:none; } .lg-crumbs a:hover { color:var(--yellow); }
.lg-hero h1 { margin:0 0 28px; color:#fff; max-width:14ch; }
.lg-lede { font-size:clamp(1.25rem,2vw,1.6rem); line-height:1.5; color:#C9D6F7; max-width:54ch; margin:0 0 36px; }
.lg-meta { display:flex; flex-wrap:wrap; gap:12px; }
.lg-chip { display:inline-flex; align-items:center; gap:10px; font-size:16px; font-weight:600; color:#F3F7FF; background:rgba(243,247,255,.09); border:1px solid rgba(243,247,255,.18); padding:10px 18px; border-radius:999px; }
.lg-dot { width:9px; height:9px; border-radius:50%; background:var(--green); animation:pulse 2.2s ease-out infinite; }
.lg-body { max-width:1240px; margin:0 auto; padding:72px 32px 24px; display:grid; grid-template-columns:280px minmax(0,1fr); gap:72px; align-items:start; }
.lg-toc { position:sticky; top:150px; }
.lg-toc-title { font-family:var(--display); font-weight:700; font-size:20px; margin:0 0 16px; color:var(--ink); }
.lg-toc ol { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; border-left:2px solid var(--line); }
.lg-toc a { display:flex; gap:12px; align-items:baseline; padding:10px 14px; margin-left:-2px; border-left:2px solid transparent; text-decoration:none; font-size:17px; line-height:1.35; font-weight:500; color:var(--muted); transition:color .2s, background .2s, border-color .2s, padding .3s var(--ease); }
.lg-toc a span { font-family:var(--display); font-weight:700; font-size:15px; min-width:1.2em; color:var(--blue); }
.lg-toc a:hover { color:var(--ink); background:var(--cloud); }
.lg-toc a.is-active { color:var(--ink); font-weight:700; border-left-color:var(--blue); background:var(--cloud); padding-left:20px; }
.lg-article { min-width:0; max-width:760px; }
.lg-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 72px; }
.lg-fact { display:flex; flex-direction:column; gap:10px; padding:28px 26px 26px; border-radius:24px; text-decoration:none; color:var(--ink) !important; min-height:210px; }
.lg-fact b { font-family:var(--display); font-size:26px; line-height:1.1; letter-spacing:-.03em; font-weight:700; }
.lg-fact span { font-size:17px; line-height:1.5; }
.lg-fact em { margin-top:auto; font-style:normal; font-weight:700; font-size:16px; }
.lg-fact.y { background:var(--yellow); } .lg-fact.g { background:var(--green-tint); } .lg-fact.b { background:var(--cloud); }
.lg-sec { padding:56px 0 8px; border-top:1px solid var(--line); }
.lg-sec:first-child { border-top:0; padding-top:0; }
main section.lg-hero { padding-left:0 !important; padding-right:0 !important; }
.chip { border-radius:999px !important; }
.lg-sec h2 { display:flex; gap:18px; align-items:baseline; font-size:clamp(2rem,3.6vw,3rem) !important; margin:0 0 24px; color:var(--ink); }
.lg-num { font-size:.5em; line-height:1; min-width:2.1em; padding:.45em .7em; border-radius:999px; background:var(--ink); color:var(--yellow); letter-spacing:0; font-weight:700; text-align:center; transform:translateY(-.25em); }
.lg-article p { font-size:20px; line-height:1.75; color:var(--body); margin:0 0 20px; max-width:66ch; }
.lg-article ul { margin:0 0 24px; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; max-width:66ch; }
.lg-article li { position:relative; padding-left:34px; font-size:20px; line-height:1.65; color:var(--body); }
.lg-article li::before { content:""; position:absolute; left:2px; top:.62em; width:14px; height:14px; border-radius:5px; background:var(--blue); transform:rotate(45deg) scale(.72); }
.lg-article li:nth-child(3n+2)::before { background:var(--green); }
.lg-article li:nth-child(3n)::before { background:var(--yellow); }
.lg-article strong { color:var(--ink); font-weight:700; }
.lg-article a { color:var(--blue); font-weight:700; text-underline-offset:4px; text-decoration-thickness:2px; }
.lg-article a:hover { color:var(--royal); }
.lg-contact { margin:56px 0 0; padding:44px; border-radius:28px; background:var(--ink); color:#F3F7FF; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.lg-contact h3 { margin:0 0 10px; font-size:clamp(1.6rem,2.6vw,2.2rem) !important; color:#fff; }
.lg-contact p { margin:0 !important; color:#C9D6F7 !important; font-size:18px !important; }
.lg-contact-links { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.lg-contact-links a { color:var(--yellow) !important; font-size:19px; font-weight:700; text-decoration:none; }
.lg-contact-links a:hover { color:#fff !important; }
.lg-related { max-width:1240px; margin:0 auto; padding:72px 32px 0; }
.lg-related h3 { font-size:28px !important; margin:0 0 22px; }
.lg-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.lg-related a { display:flex; flex-direction:column; gap:8px; justify-content:space-between; min-height:130px; padding:22px 24px; border-radius:20px; background:#fff; border:1px solid var(--line); text-decoration:none; color:var(--ink); font-family:var(--display); font-size:22px; font-weight:700; letter-spacing:-.02em; }
.lg-related a small { font-family:var(--sans); font-size:16px; font-weight:500; color:var(--blue); letter-spacing:0; }
.lg-related a:hover { color:var(--ink); }
.lg-sitemap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 40px; }
.lg-sitemap h2 { font-size:30px !important; margin:0 0 18px; }
.lg-sitemap div div { display:flex; flex-direction:column; gap:6px; }
.lg-sitemap a { font-size:20px; font-weight:600; text-decoration:none; color:var(--ink); padding:8px 0; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); transition:padding .3s var(--ease), color .2s; }
.lg-sitemap a:hover { color:var(--blue); padding-left:10px; }

@media (max-width:1000px) {
  .lg-body { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:48px; }
  .lg-toc { position:static; }
  .lg-toc ol { flex-direction:row; overflow-x:auto; border-left:0; gap:8px; padding-bottom:8px; scrollbar-width:thin; }
  .lg-toc a { white-space:nowrap; border:1px solid var(--line); border-radius:999px; background:#fff; margin-left:0; padding:10px 16px; }
  .lg-toc a.is-active { padding-left:16px; background:var(--ink); color:#fff; border-color:var(--ink); }
  .lg-toc a.is-active span { color:var(--yellow); }
  .lg-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .lg-wrap, .lg-body, .lg-related { padding-left:20px; padding-right:20px; }
  .lg-hero { padding:56px 0 56px; }
  .lg-glance { grid-template-columns:minmax(0,1fr); }
  .lg-fact { min-height:0; }
  .lg-sec h2 { flex-direction:column; gap:12px; }
  .lg-article p, .lg-article li { font-size:18.5px; }
  .lg-contact { grid-template-columns:minmax(0,1fr); padding:30px 24px; }
  .lg-sitemap { grid-template-columns:minmax(0,1fr); }
  .lg-related-grid { grid-template-columns:minmax(0,1fr); }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .progress { display:none; }
}

/* Header */
.hd-toplink { color:#F3F7FF; text-decoration:none; font-weight:600; }
      .hd-toplink:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
      .hd-live { width:9px; height:9px; border-radius:50%; background:#17B26A; animation:pulse 2.2s ease-out infinite; }
      .hd-bar { background:rgba(255,255,255,.86); -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px); border-bottom:1px solid #D3DEF7; }
      .hd-logo { display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
      .hd-logo img { display:block; height:36px; width:auto; transition:transform .4s cubic-bezier(.2,.7,.2,1); }
      .hd-logo:hover img { transform:scale(1.03); }
      .hd-nav { display:flex; align-items:center; gap:2px; }
      .hd-link { text-decoration:none; padding:11px 16px; font-size:17px; font-weight:600; color:#4F5E85; border-radius:999px; transition:color .2s, background .2s; }
      .hd-link:hover { color:#0A1233; background:#E4ECFF; }
      .hd-link.is-on { color:#0A1233; background:#E4ECFF; box-shadow:inset 0 0 0 1.5px #D3DEF7; }
      .hd-cta { display:inline-flex; align-items:center; gap:10px; text-decoration:none; background:#2D5BFF; color:#fff !important; font-size:17px; font-weight:700; padding:14px 24px; border-radius:999px; white-space:nowrap; transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, background .2s; }
      .hd-cta:hover { background:#0A1233; transform:translateY(-2px); box-shadow:0 16px 26px -14px rgba(10,18,51,.8); }
      .hd-cta svg { transition:transform .3s cubic-bezier(.2,.7,.2,1); }
      .hd-cta:hover svg { transform:translateX(4px); }
      .hd-menu-wrap { position:absolute; top:100%; left:-140px; padding-top:16px; animation:menuIn .28s cubic-bezier(.2,.7,.2,1) backwards; }
      .hd-menu { width:660px; background:#fff; border:1px solid #D3DEF7; border-radius:26px; box-shadow:0 40px 80px -30px rgba(10,18,51,.45); padding:12px; display:grid; grid-template-columns:1fr 1fr; gap:4px; }
      .hd-item { display:flex; gap:16px; align-items:center; text-decoration:none; padding:14px 16px; border-radius:18px; transition:background .2s; }
      .hd-item:hover { background:#F3F7FF; }
      .hd-item b { display:block; font-size:17px; font-weight:700; color:#0A1233; margin-bottom:2px; }
      .hd-item small { display:block; font-size:15px; font-weight:400; color:#4F5E85; line-height:1.35; }
      .hd-ico { width:48px; height:48px; border-radius:15px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
      .hd-item:hover .hd-ico { transform:scale(1.1) rotate(-6deg); }
      .hd-burger { display:none; width:50px; height:50px; border-radius:16px; border:1.5px solid #D3DEF7; background:#fff; align-items:center; justify-content:center; cursor:pointer; }
      .hd-sheet { position:fixed; inset:80px 0 0 0; z-index:999; overflow-y:auto; display:flex; flex-direction:column; padding:12px 24px 48px; background:radial-gradient(600px 380px at 100% 0, rgba(45,91,255,.55), transparent 70%), #0A1233; animation:sheetIn .35s cubic-bezier(.2,.7,.2,1) backwards; }
      .hd-s-link { text-decoration:none; padding:18px 0; border-bottom:1px solid rgba(243,247,255,.14); font-family:'Bricolage Grotesque','Onest',sans-serif; font-size:38px; font-weight:700; letter-spacing:-.035em; color:#fff; animation:rise .6s cubic-bezier(.2,.7,.2,1) backwards; }
      .hd-s-link:hover { color:#FFD23F; }
      .hd-s-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-bottom:18px; border-bottom:1px solid rgba(243,247,255,.14); }
      .hd-s-grid a { text-decoration:none; padding:14px 16px; background:rgba(243,247,255,.08); border-radius:16px; font-size:17px; font-weight:600; color:#C9D6F7; }
      .hd-s-grid a:hover { background:rgba(243,247,255,.16); color:#fff; }
      .hd-s-cta { text-decoration:none; margin-top:28px; background:#FFD23F; color:#0A1233 !important; text-align:center; font-size:19px; font-weight:700; padding:20px; border-radius:999px; }
      .hd-s-call { text-decoration:none; margin-top:12px; border:1.5px solid rgba(243,247,255,.5); color:#fff !important; text-align:center; font-size:18px; font-weight:600; padding:18px; border-radius:999px; }
      .hd-s-link:nth-child(1) { animation-delay:.02s; } .hd-s-link:nth-child(2) { animation-delay:.06s; } .hd-s-link:nth-child(4) { animation-delay:.1s; }
      .hd-s-link:nth-child(5) { animation-delay:.14s; } .hd-s-link:nth-child(6) { animation-delay:.18s; } .hd-s-link:nth-child(7) { animation-delay:.22s; } .hd-s-link:nth-child(8) { animation-delay:.26s; }
      @keyframes menuIn { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
      @keyframes sheetIn { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:none; } }
      @media (max-width:1180px) {
        .hd-nav, .hd-cta { display:none !important; }
        .hd-burger { display:flex !important; }
        .hd-top { display:none !important; }
      }
      @media (max-width:640px) {
        .hd-in { padding-left:20px !important; padding-right:20px !important; }
        .hd-logo img { height:30px; }
      }
/* Footer */
.ft { position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(900px 420px at 0% 0%, rgba(27,59,184,.55), transparent 70%), #0A1233; color:#C9D6F7; padding:88px 0 0; margin-top:24px; }
      .ft-in { max-width:1320px; margin:0 auto; padding:0 32px; }
      .ft-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:48px; padding-bottom:64px; border-bottom:1px solid rgba(243,247,255,.14); }
      .ft-logo { display:inline-flex; align-items:center; gap:12px; text-decoration:none; margin-bottom:22px; }
      .ft-logo img { display:block; height:40px; width:auto; }
      .ft-about { font-size:18px; line-height:1.65; color:#A9B8E0; max-width:360px; margin:0 0 26px; }
      .ft-soc { width:44px; height:44px; border-radius:14px; background:rgba(243,247,255,.08); color:#C9D6F7 !important; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:background .25s, color .25s, transform .3s cubic-bezier(.2,.7,.2,1); }
      .ft-soc:hover { background:#FFD23F; color:#0A1233 !important; transform:translateY(-3px); }
      .ft-h { font-family:'Bricolage Grotesque','Onest',sans-serif; font-size:20px; font-weight:700; letter-spacing:-.02em; color:#fff; margin-bottom:20px; }
      .ft-col { display:flex; flex-direction:column; gap:14px; }
      .ft-col a { color:#C9D6F7; text-decoration:none; font-size:17.5px; width:fit-content; background:linear-gradient(#FFD23F,#FFD23F) 0 100%/0 2px no-repeat; transition:background-size .35s cubic-bezier(.2,.7,.2,1), color .2s; }
      .ft-col a:hover { color:#fff; background-size:100% 2px; }
      .ft-cta { display:inline-block; text-decoration:none; background:#FFD23F; color:#0A1233 !important; font-weight:700; font-size:17px; padding:15px 26px; border-radius:999px; transition:transform .3s cubic-bezier(.2,.7,.2,1), background .2s; }
      .ft-cta:hover { background:#fff; transform:translateY(-3px); }
      .ft-legal { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 28px; padding:28px 0; font-size:15.5px; color:#A9B8E0; }
      .ft-legal-links { display:flex; gap:10px 28px; flex-wrap:wrap; }
      .ft-legal-links a { color:#C9D6F7; text-decoration:none; font-weight:600; font-size:15.5px; }
      .ft-legal-links a:hover { color:#FFD23F; }
      .ft-giant { font-family:'Bricolage Grotesque','Onest',sans-serif; font-weight:800; font-size:clamp(4.5rem,19vw,17rem); line-height:.74; letter-spacing:-.06em; text-align:center; white-space:nowrap; padding:12px 0 0; margin-bottom:-.06em; user-select:none; background:linear-gradient(180deg, rgba(141,176,255,.42), rgba(141,176,255,0) 88%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
      .ft-wa { position:fixed; right:max(20px, env(safe-area-inset-right, 0px)); bottom:max(20px, env(safe-area-inset-bottom, 0px)); z-index:1200; display:flex; align-items:center; gap:10px; background:#25D366; color:#0A1233 !important; text-decoration:none; padding:14px 22px 14px 16px; border-radius:999px; box-shadow:0 18px 36px -12px rgba(23,178,106,.7); font-weight:700; font-size:17px; transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
      .ft-wa:hover { transform:translateY(-4px) scale(1.03); }
      @media (max-width:980px) { .ft-grid { grid-template-columns:1fr 1fr; gap:44px 32px; } }
      @media (max-width:560px) {
        .ft { padding-top:64px; }
        .ft-in { padding-left:20px; padding-right:20px; }
        .ft-grid { grid-template-columns:minmax(0,1fr); }
        .ft-wa span { display:none; }
        .ft-wa { padding:15px; }
      }
/* hover states */
.hv1:hover { background:#F3F7FF !important; color:#0A1233 !important; }
.hv2:hover { transform:translateY(-4px) !important; }
.hv3:hover { border-color:#0A1233 !important; }
.hv4:hover { background:#D3E0FF !important; }
.hv5:hover { background:#0A1233 !important; color:#F3F7FF !important; }
.hv6:hover { background:#fff !important; }
.hv7:hover { background:#2D5BFF !important; }
.hv8:hover { opacity:.96 !important; }
