@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --navy:#0a1f44;--navy-dk:#061432;--navy-md:#16336d;--green:#2cc97f;--green-tx:#0b7a47;
  --surface:#f2f5fa;--line:#d9e1ee;--ink:#0c1936;--muted:#52607c;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px;--gutter:clamp(20px,5vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;font:400 1.0625rem/1.7 var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--sans);font-weight:600;line-height:1.15;margin:0;letter-spacing:-.02em;color:var(--navy);text-wrap:balance}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:100;font-weight:600}
.skip:focus{left:0}
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:0 50%;z-index:200}

.topstrip{background:var(--navy-dk);color:#b8c6e4;font-size:.82rem}
.topstrip .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px}
.topstrip a{text-decoration:none}
.topstrip a:hover{color:#fff;text-decoration:underline}
.topstrip b{color:var(--green);font-weight:600}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.is-stuck{box-shadow:0 10px 30px rgba(10,31,68,.12)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand img{width:46px;height:46px}
.brand-text{display:flex;flex-direction:column;font:700 1.12rem/1.05 var(--sans);color:var(--navy);letter-spacing:-.01em}
.brand-text small{font:500 .74rem/1.3 var(--sans);letter-spacing:.06em;color:var(--muted);margin-top:2px}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.15rem;align-items:center;flex-wrap:wrap}
.site-nav li{position:relative}
.site-nav a{display:flex;align-items:center;gap:.45rem;padding:.7rem .95rem;text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ink);position:relative}
.site-nav>ul>li>a::before{content:"";position:absolute;left:.95rem;right:.95rem;bottom:.35rem;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-nav>ul>li>a:hover::before,.site-nav>ul>li>a[aria-current="page"]::before{transform:scaleX(1)}
.has-sub>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}
.site-nav a.nav-cta{background:var(--green);color:var(--navy-dk);border-radius:8px;padding:.7rem 1.3rem;margin-left:.6rem;font-weight:600}
.site-nav a.nav-cta::before{display:none}
.site-nav a.nav-cta:hover{background:#4fdc97}
.has-sub>.sub{display:none;position:absolute;top:100%;left:0;min-width:300px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:0 0 12px 12px;box-shadow:0 22px 48px rgba(10,31,68,.16);padding:.5rem;margin:0;z-index:60;flex-direction:column}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:flex;animation:drop .25s ease both}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
.has-sub>.sub a{padding:.7rem .9rem;border-radius:8px;white-space:nowrap;font-size:.93rem}
.has-sub>.sub a:hover{background:var(--surface);color:var(--navy)}
.nav-btn{display:none}
@media (max-width:1040px){
  .js .nav-btn{display:inline-flex;align-items:center;background:var(--navy);border:0;color:#fff;padding:.65rem 1.2rem;font:600 .9rem var(--sans);border-radius:8px;cursor:pointer}
  .js .site-nav{display:none;flex-basis:100%;padding:.2rem 0 1.2rem}
  .js .site-nav.is-open{display:block;animation:drop .25s ease both}
  .js .site-nav ul{flex-direction:column;align-items:stretch}
  .js .site-nav a{padding:.85rem .2rem;border-top:1px solid var(--line)}
  .js .site-nav>ul>li>a::before{display:none}
  .js .has-sub>a::after{display:none}
  .js .has-sub>.sub{display:block;position:static;min-width:0;box-shadow:none;border:0;padding:0 0 .3rem 1rem;background:none}
  .js .has-sub>.sub a{padding:.6rem .2rem;border-top:0;color:var(--muted);font-size:.92rem}
  .site-nav a.nav-cta{margin:.8rem 0 0;justify-content:center}
}
@media (max-width:600px){.topstrip .wrap{justify-content:center}.topstrip .mail{display:none}}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.7rem;border-radius:8px;font:600 .98rem/1.2 var(--sans);text-decoration:none;border:2px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px)}
.btn-green{background:var(--green);color:var(--navy-dk)}
.btn-green:hover{background:#4fdc97;box-shadow:0 12px 26px rgba(44,201,127,.35)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-md)}
.btn-line{border-color:rgba(255,255,255,.4);color:#fff}
.btn-line:hover{border-color:var(--green);color:var(--green)}
.btn-line-dk{border-color:var(--navy);color:var(--navy)}
.btn-line-dk:hover{background:var(--navy);color:#fff}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}

.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .d1{transition-delay:.1s}
.js .d2{transition-delay:.2s}
.js .d3{transition-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(34px)}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.rise.d1{animation-delay:.12s}
.rise.d2{animation-delay:.24s}
.rise.d3{animation-delay:.36s}

.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding-bottom:110px}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 0,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding-block:clamp(48px,7vw,96px) 40px}
.hero h1{font-size:clamp(2.2rem,4.8vw,3.7rem);color:#fff;line-height:1.1;margin-bottom:1.4rem}
.hero h1 em{font-style:normal;color:var(--green)}
.hero .lead{font-size:clamp(1.05rem,1.5vw,1.22rem);color:#b8c6e4;max-width:32em}
.art{width:100%;height:auto}
.art .g{stroke:rgba(255,255,255,.1)}
.art .ln{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;animation:plot 7s ease-in-out infinite}
.art .l1{stroke:var(--green);stroke-width:4}
.art .l2{stroke:#6f8fd6;stroke-width:2.5;animation-delay:.5s}
.art .l3{stroke:#9fb4e6;stroke-width:1.8;stroke-opacity:.6;animation-delay:1s}
@keyframes plot{0%{stroke-dashoffset:900}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:-900}}
.art .area{fill:url(#fillg);opacity:0;animation:areain 7s ease-in-out infinite}
@keyframes areain{0%,10%{opacity:0}45%,85%{opacity:1}100%{opacity:0}}
.art .bar{fill:#2a4a8f;transform-box:fill-box;transform-origin:bottom;animation:grow 7s ease-in-out infinite}
.art .bar:nth-of-type(2){animation-delay:.15s}.art .bar:nth-of-type(3){animation-delay:.3s}.art .bar:nth-of-type(4){animation-delay:.45s}.art .bar:nth-of-type(5){animation-delay:.6s}.art .bar:nth-of-type(6){animation-delay:.75s}.art .bar:nth-of-type(7){animation-delay:.9s}.art .bar:nth-of-type(8){animation-delay:1.05s}
@keyframes grow{0%{transform:scaleY(0)}40%,85%{transform:scaleY(1)}100%{transform:scaleY(0)}}
.art .pt{fill:var(--green);animation:ping 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ping{50%{transform:scale(1.6);opacity:.55}}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.art{max-width:520px}}

.quick{position:relative;z-index:2;margin-top:-72px;padding:0}
.quick .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.q{display:flex;flex-direction:column;gap:.9rem;background:#fff;border-radius:14px;padding:1.5rem;text-decoration:none;box-shadow:0 18px 44px rgba(10,31,68,.14);border-bottom:3px solid transparent;transition:transform .3s,border-color .3s,box-shadow .3s}
.q:hover{transform:translateY(-8px);border-color:var(--green);box-shadow:0 26px 54px rgba(10,31,68,.2)}
.q .ic{width:48px;height:48px;border-radius:12px;background:var(--navy);color:var(--green);display:grid;place-items:center;font-size:1.5rem}
.q h3{font-size:1.02rem;line-height:1.3}
.q span.go{margin-top:auto;font-size:.88rem;font-weight:600;color:var(--green-tx)}
@media (max-width:980px){.quick .wrap{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.quick .wrap{grid-template-columns:1fr}}

section{padding-block:clamp(56px,7vw,100px)}
.sec-title{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:.8rem}
.sec-sub{color:var(--muted);max-width:40rem;margin-bottom:2.6rem}

.svc-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:stretch}
.tab-list{display:flex;flex-direction:column;gap:.6rem}
.tab{position:relative;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem;border-radius:12px;background:var(--surface);text-decoration:none;font-weight:600;color:var(--navy);overflow:hidden;transition:background .3s,color .3s}
.tab .ic{width:42px;height:42px;border-radius:10px;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:1.3rem;flex:none;transition:background .3s,color .3s}
.tab::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left}
.tab.on{background:var(--navy);color:#fff}
.tab.on .ic{background:var(--green);color:var(--navy-dk)}
.tab.on::after{animation:fill 6.5s linear forwards}
.paused .tab.on::after{animation:none;transform:scaleX(1)}
@keyframes fill{to{transform:scaleX(1)}}
.panel{background:var(--navy);color:#fff;border-radius:18px;padding:clamp(1.8rem,4vw,3rem);position:relative;overflow:hidden}
.panel::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;border:48px solid rgba(255,255,255,.05);right:-90px;bottom:-110px}
.panel+.panel{margin-top:1rem}
.panel h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:1rem}
.panel p{color:#c5d2ee;max-width:34em}
.panel .big{font-size:3.2rem;color:var(--green);margin-bottom:1.2rem;width:1em}
.js .panel{display:none}
.js .panel.on{display:block;animation:swap .55s ease both}
@keyframes swap{from{opacity:0;transform:translateX(24px)}}
@media (max-width:900px){.svc-wrap{grid-template-columns:1fr}}

.trust{background:var(--surface)}
.trust .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.trust h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:1.2rem}
.trust p{color:var(--muted)}
.seal{position:relative;aspect-ratio:1;max-width:360px;margin-inline:auto;width:100%;display:grid;place-items:center}
.seal::before,.seal::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--green);animation:ripple 3.6s ease-out infinite}
.seal::after{animation-delay:1.8s}
@keyframes ripple{from{transform:scale(.55);opacity:.9}to{transform:scale(1.1);opacity:0}}
.seal .core{width:56%;aspect-ratio:1;border-radius:50%;background:var(--navy);color:var(--green);display:grid;place-items:center;font-size:clamp(3.5rem,8vw,5.5rem);box-shadow:0 24px 50px rgba(10,31,68,.35);position:relative;z-index:1}
@media (max-width:860px){.trust .wrap{grid-template-columns:1fr;gap:2.5rem}}

.notice{background:#fff}
.notice-box{border:1px solid var(--line);border-left:6px solid var(--green);border-radius:12px;padding:clamp(1.5rem,3vw,2.4rem);background:var(--surface)}
.notice-box h2{font-size:1.4rem;margin-bottom:.8rem}
.notice-box p{color:var(--muted);margin-bottom:1rem}
.notice-box a{color:var(--green-tx);font-weight:600;text-underline-offset:3px}

.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.faq .sticky{position:sticky;top:130px}
@media (max-width:900px){.faq .wrap{grid-template-columns:1fr;gap:2rem}.faq .sticky{position:static}}
details{border-bottom:1px solid var(--line)}
details:first-child{border-top:2px solid var(--navy)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.2rem;align-items:center;padding:1.2rem 0;font-weight:600;line-height:1.4;color:var(--navy);transition:color .2s}
summary:hover{color:var(--green-tx)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--green-tx);border-bottom:2px solid var(--green-tx);transform:rotate(45deg);transition:transform .3s}
details[open] summary::after{transform:rotate(-135deg)}
details .ans{color:var(--muted);padding:0 2rem 1.3rem 0;animation:swap .4s ease both}
details .ans p{margin:0 0 .8em}
details .ans ul{margin:0 0 .8em;padding-left:1.2rem}

.cta{background:var(--navy);color:#fff;padding-block:clamp(44px,6vw,76px);position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;border:64px solid rgba(255,255,255,.05);right:-120px;top:-170px;animation:breathe 9s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.08)}}
.cta .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.4rem}
.cta p{margin:0;color:#b8c6e4}

.page-head{background:var(--surface);border-bottom:1px solid var(--line);padding-block:clamp(40px,6vw,72px);position:relative;overflow:hidden}
.page-head::after{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;border-radius:50%;border:56px solid rgba(10,31,68,.04)}
.page-head .wrap{position:relative}
.crumb{font-size:.88rem;color:var(--muted);margin-bottom:1rem}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--green-tx);text-decoration:underline}
.page-head h1{font-size:clamp(1.9rem,4vw,3rem);max-width:22ch}
.page-head .lead{color:var(--muted);margin:1rem 0 0;max-width:40rem;font-size:1.12rem}
.page-head+section{padding-top:clamp(40px,5vw,70px)}
.split{display:grid;grid-template-columns:1fr 330px;gap:4rem;align-items:start}
.aside{position:sticky;top:130px;display:flex;flex-direction:column;gap:1rem}
.aside .box{border:1px solid var(--line);border-radius:14px;padding:1.4rem}
.aside h2{font-size:1rem;margin-bottom:.8rem}
.aside ul{list-style:none;margin:0;padding:0}
.aside li a{display:flex;justify-content:space-between;padding:.6rem 0;border-top:1px solid var(--line);text-decoration:none;font-size:.95rem;transition:padding .25s,color .25s}
.aside li:first-child a{border-top:0}
.aside li a:hover{padding-left:.5rem;color:var(--green-tx)}
.aside .navybox{background:var(--navy);border-color:var(--navy);color:#c5d2ee;font-size:.95rem}
.aside .navybox h2{color:#fff}
.aside .navybox a{color:var(--green);font-weight:600}
@media (max-width:980px){.split{grid-template-columns:1fr;gap:2.5rem}.aside{position:static}}
.prose{max-width:50rem}
.prose h2{font-size:1.5rem;margin:2.5rem 0 .8rem}
.prose h3{font-size:1.15rem;margin:1.8rem 0 .6rem}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li{margin-bottom:.45rem}
.prose p,.prose li{color:#27355a}
.prose a,.link{color:var(--green-tx);text-underline-offset:3px}
.note{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--green);border-radius:12px;padding:1.2rem 1.5rem;margin-top:2.4rem;font-size:.97rem;color:#27355a}
.note strong{color:var(--navy)}
.contact-card{display:flex;gap:1.4rem;align-items:center;border:1px solid var(--line);border-radius:16px;padding:2rem;max-width:36rem;background:#fff;box-shadow:0 18px 44px rgba(10,31,68,.08)}
.contact-card .ic{flex:none;width:64px;height:64px;border-radius:16px;background:var(--navy);color:var(--green);display:grid;place-items:center;font-size:2rem}
.contact-card dl{margin:0}
.contact-card dt{font-weight:600;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.contact-card dd{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--navy)}
.contact-card dd:last-child{margin:0}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:1.8rem;text-decoration:none;background:#fff;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(10,31,68,.13);border-color:transparent}
.card:hover::after{transform:scaleX(1)}
.card .ic{width:52px;height:52px;border-radius:12px;background:var(--navy);color:var(--green);display:grid;place-items:center;font-size:1.6rem;margin-bottom:1.2rem}
.card h2,.card h3{font-size:1.15rem;margin-bottom:.6rem}
.card p{color:var(--muted);margin:0 0 1.1rem;flex:1;font-size:.96rem}
.card .more{color:var(--green-tx);font-weight:600;font-size:.92rem}

.site-footer{background:var(--navy-dk);color:#9fb0d4;padding-block:60px 28px;font-size:.94rem}
.site-footer .brand-text{color:#fff}
.site-footer .brand-text small{color:#9fb0d4}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.site-footer h2{font:600 .85rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:1rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:.5rem}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot-about{margin:1rem 0 .5rem;max-width:22rem}
.foot-note{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem;display:flex;flex-direction:column;gap:.6rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  .art .ln{stroke-dashoffset:0}
  .art .area{opacity:1}
  .art .bar{transform:none}
  .tab.on::after{transform:scaleX(1)}
}
