* { margin: 0; padding: 0; box-sizing: border-box; }
:root{
  
  --ink:        #0F1B2D;   
  --ink-2:      #0A1220;   
  --paper:      #F5F7FA;   
  --surface:    #FFFFFF;   
  --border:     #E2E6ED;
  --text:       #17212F;
  --text-muted: #57626F;
  --text-soft:  #7C8695;

  --teal:       #0ABE88;   
  --teal-ink:   color-mix(in srgb, var(--teal) 45%, var(--ink));   
  --teal-tint:  color-mix(in srgb, var(--teal) 13%, transparent);  

  --risk:       #B23B34;   
  --risk-ink:   #8C2E29;
  --risk-tint:  #FBEAE8;

  --radius-sm:  3px;
  --radius-md:  4px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgba(15,27,45,.05), 0 10px 28px -14px rgba(15,27,45,.22);
  
  --shadow-airy: 0 56px 80px -24px rgba(15,27,45,.05), 0 20px 24px -10px rgba(10,58,145,.08);

  --header-h:   64px;
  --subnav-h:   52px;
  --maxw:       1180px;

  --card-pad:   1.25rem;   
  --panel-pad:  1.5rem;    
  --panel-pad-x: 1.75rem;  

  --font-sans: 'IBM Plex Sans', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
}
html{
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + var(--subnav-h) + 16px);
}
body{
  font-family: var(--font-sans);
  color: var(--text);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
img,svg{ display:block; max-width:100%; }
a{ color: inherit; text-decoration: none; }
ul{ list-style: none; }
button{ font: inherit; background:none; border:0; color:inherit; cursor:pointer; }
:focus-visible{ outline: 2px solid var(--teal); outline-offset: 3px; border-radius: 4px; }
.skip-link{
  position:absolute; left:1rem; top:-3rem; background:var(--ink); color:#fff;
  padding:.6rem 1rem; border-radius:var(--radius-sm); z-index:200; transition:top .15s ease;
}
.skip-link:focus{ top:1rem; }
@media (prefers-reduced-motion: reduce){*{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }html{ scroll-behavior:auto; }}
h1,h2,h3{ color: var(--ink); font-weight:600; letter-spacing:-0.012em; }
h1{
  font-size: clamp(2.125rem, 1.35rem + 3.3vw, 3.375rem);
  line-height: 1.08;
}
h2{
  
  font-size: clamp(1.875rem, 1.35rem + 1.9vw, 2.5rem);
  line-height: 1.16;
}
h3{ font-size: clamp(1.125rem, 1rem + .5vw, 1.3125rem); line-height:1.3; }
.container{ max-width: var(--maxw); margin-inline:auto; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding: .8rem 1.4rem; border-radius: var(--radius-pill);
  font-weight:600; font-size:.9375rem; white-space:nowrap;
  transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.btn-primary{ background: var(--teal); color:#fff; }
.btn-primary:hover{ background:#0E1B2D; box-shadow: 0 0 0 1px rgba(10,190,136,.55), 0 10px 32px -6px rgba(10,190,136,.65); }
.btn-primary:active{ transform: translateY(1px); }
.btn-block{ width:100%; justify-content:center; }
.btn-icon{ width:1.0625rem; height:1.0625rem; flex-shrink:0; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.btn:hover .btn-icon--arrow, .btn:focus-visible .btn-icon--arrow{ animation: btn-icon-slide-x .9s ease-in-out infinite; }
.btn:hover .btn-icon--down, .btn:focus-visible .btn-icon--down{ animation: btn-icon-slide-y .9s ease-in-out infinite; }
@keyframes btn-icon-slide-x{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(3px); } }
@keyframes btn-icon-slide-y{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(3px); } }
@keyframes btn-icon-dl-arrow{ 0%,100%{ transform:translateY(0); opacity:1; } 60%{ transform:translateY(3px); opacity:.55; } 100%{ transform:translateY(0); opacity:1; } }
.icon{ width:1.5rem; height:1.5rem; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.icon-sm{ width:1.125rem; height:1.125rem; }
.risk-strip{
  background: var(--ink-2); color:#E7CFCC;
  font-size:.8125rem; text-align:center; padding:.55rem 1rem; line-height:1.5;
}
.site-header{
  position: sticky; top:0; z-index:100; height: var(--header-h);
  background: #ECEFF3; border-bottom:1px solid var(--border);
}
.header-row{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand{ font-weight:700; font-size:1.0625rem; color:var(--ink); letter-spacing:-.01em; display:flex; align-items:center; gap:.5rem;}
.brand-mark{ width:1.85rem; height:1.85rem; border-radius:7px; overflow:hidden; flex-shrink:0; display:block; }
.brand-mark svg{ width:100%; height:100%; display:block; }
.brand-flag{ height:.72em; width:1.44em; flex-shrink:0; }
.main-nav{ display:none; min-width:0; overflow:hidden; margin-left:1rem; }
.main-nav-list{ display:flex; align-items:center; gap:.375rem; list-style:none; flex-wrap:nowrap; }
.main-nav-list > li{ flex-shrink:0; }
.main-nav-list > li > a{
  display:inline-flex; align-items:center;
  padding:.5rem .75rem; border-radius:var(--radius-pill);
  font-size:.9375rem; font-weight:500; color:var(--text-muted);
  white-space:nowrap; transition:color .15s ease, background-color .15s ease;
}
.main-nav-list > li > a:hover{ background:#fff; color:var(--ink); }
.main-nav-list > li > a.is-active{ color:var(--teal); }
.main-nav-list > li > a.is-active:hover{ color:var(--teal); }
.nav-more{ position:relative; }
.nav-more-trigger{
  display:flex; align-items:center; gap:.3rem;
  padding:.5rem .75rem; border-radius:var(--radius-pill);
  font-size:.9375rem; font-weight:500;
  color:var(--text-muted); white-space:nowrap;
  transition:color .15s ease, background-color .15s ease;
}
.nav-more-trigger .icon{ width:1rem; height:1rem; transition:transform .15s ease; }
.nav-more-trigger:hover{ background:#fff; color:var(--ink); }
.nav-more.is-open .nav-more-trigger,
.nav-more:hover .nav-more-trigger{ color:var(--ink); }
.nav-more.is-open .nav-more-trigger .icon,
.nav-more:hover .nav-more-trigger .icon{ transform:rotate(180deg); }
.nav-more-menu{
  list-style:none; position:absolute; top:100%; left:50%; transform:translate(-50%,4px);
  margin-top:.85rem; min-width:12rem; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-md); box-shadow:var(--shadow-card); padding:.4rem;
  opacity:0; visibility:hidden; transition:opacity .15s ease, transform .15s ease, visibility .15s; z-index:110;
}
.nav-more:hover .nav-more-menu,
.nav-more:focus-within .nav-more-menu,
.nav-more.is-open .nav-more-menu{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-more-menu li + li{ margin-top:.1rem; }
.nav-more-menu a{ display:block; padding:.6rem .75rem; border-radius:var(--radius-pill); font-size:.9375rem; font-weight:500; color:var(--text); white-space:nowrap; transition:color .15s ease, background-color .15s ease; }
.nav-more-menu a:hover{ background:var(--paper); }
.nav-more-menu a.is-active{ color:var(--teal); }
.header-actions{ display:flex; align-items:center; gap:.75rem; }
.header-actions .btn-primary{ display:none; }
.nav-toggle{ width:2.5rem; height:2.5rem; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); }
.nav-toggle:hover{ background:var(--paper); }
.nav-toggle .icon-close{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-menu{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-close{ display:block; }
.mobile-panel{
  position:absolute; top:100%; left:0; right:0; z-index:95;
  max-height:calc(100dvh - var(--header-h));
  display:grid; grid-template-rows:0fr; overflow:hidden;
  transition: grid-template-rows .35s ease;
  background:var(--surface); border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-airy);
}
.mobile-panel.is-open{ grid-template-rows:1fr; }
.mobile-panel > div{ overflow:hidden; }
.mobile-panel.is-open > div{ overflow-y:auto; max-height:calc(100dvh - var(--header-h)); }
.mobile-panel ul{ padding: .5rem clamp(1.25rem,4vw,2.5rem) 1.25rem; display:flex; flex-direction:column; }
.mobile-panel a:not(.btn){ display:block; padding:.85rem 0; font-size:1rem; font-weight:500; border-bottom:1px solid var(--border); color:var(--text); }
.mobile-panel li:not(.mobile-panel-cta):last-child a{ border-bottom:0; }
.mobile-panel .btn-primary{ margin-top:.75rem; }
@media (min-width:640px){.header-actions .btn-primary{ display:inline-flex; }.mobile-panel .mobile-panel-cta{ display:none; }}
@media (min-width:900px){.main-nav{ display:flex; flex:1 1 auto; }.nav-toggle{ display:none; }.mobile-panel{ display:none; }}
@media (min-width:900px){:root{
    --card-pad: 2.5rem;
    --panel-pad: 3rem;
    --panel-pad-x: 3.5rem;
  }}
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes hero-wave-bob{
  0%, 100%{ transform:translateY(-9%); }
  50%{ transform:translateY(9%); }
}
.icon-grid{
  display:grid; grid-template-columns:1fr; margin-top:.5rem;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  overflow:hidden;
}
.icon-card{
  display:flex; gap:1rem; align-items:flex-start;
  padding:var(--card-pad);
  border-top:1px solid var(--border);
}
.icon-card:first-child{ border-top:0; }
.icon-card .icon-badge{
  flex-shrink:0; width:2.5rem; height:2.5rem; border-radius:var(--radius-sm);
  background:var(--teal-tint); color:var(--teal); display:flex; align-items:center; justify-content:center;
}
.icon-card p{ font-size:.9688rem; color:var(--text); line-height:1.6; }
@media (min-width:700px){.icon-grid{ grid-template-columns:repeat(2,1fr); }.icon-card{ border-top:1px solid var(--border); border-left:1px solid var(--border); }.icon-card:nth-child(-n+2){ border-top:0; }.icon-card:nth-child(odd){ border-left:0; }}
@media (min-width:1000px){.icon-grid{ grid-template-columns:repeat(3,1fr); }.icon-card:nth-child(-n+3){ border-top:0; }.icon-card:nth-child(n+4){ border-top:1px solid var(--border); }.icon-card:nth-child(3n+1){ border-left:0; }.icon-card:nth-child(3n+2), .icon-card:nth-child(3n){ border-left:1px solid var(--border); }}
.site-footer{ background:var(--ink-2); color:#AEB8C4; padding-block:3.5rem 0; }
.footer-top{ display:grid; gap:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand p{ margin-top:.85rem; font-size:.9063rem; line-height:1.65; max-width:26rem; color:#8792A0; }
.footer-nav{ display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem 1.5rem; }
.footer-nav a{ font-size:.9063rem; color:#C3CBD6; }
.footer-nav a:hover{ color:#fff; }
.footer-col h4{ font-size:.8125rem; text-transform:uppercase; letter-spacing:.06em; color:#6D7887; font-weight:600; margin-bottom:1rem; }
.footer-legal{ padding-block:2rem; }
.footer-legal p{ font-size:.8125rem; line-height:1.7; color:#7C8795; margin-bottom:1rem; max-width:52rem; }
.footer-bottom{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; padding-block:1.5rem; border-top:1px solid rgba(255,255,255,.08); font-size:.8125rem; color:#6D7887; }
@media (min-width:700px){.footer-top{ grid-template-columns:1.2fr 1fr; }}
