
:root{
  --c-ink:#10294a; --c-navy:#002F68; --c-accent:#005AAA; --c-blue:#0082C9;
  --c-sky:#56B0D2; --c-lime:#A9CF38; --c-bg:#FCFEFF; --c-soft:#F0F6FA; --c-card:#ffffff;
  --panel-bg:#fff; --panel-fg:#10294a;
  --font-display:'Bricolage Grotesque', sans-serif; --font-body:'Figtree', 'Helvetica Neue', sans-serif;
  --radius:26px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--c-ink);background:var(--c-bg);line-height:1.65;font-weight:300;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--c-accent);text-decoration:none;}
a:hover{color:var(--c-blue);}
h1,h2,h3{font-family:var(--font-display);font-weight:800;color:var(--c-navy);line-height:1.14;letter-spacing:-.015em;}
::selection{background:var(--c-lime);color:var(--c-navy);}

/* gradient mesh */
.mesh{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(52% 42% at 18% 0%, rgba(86,176,210,.16), transparent 62%),
    radial-gradient(44% 38% at 92% 18%, rgba(169,207,56,.13), transparent 60%),
    radial-gradient(50% 44% at 55% 108%, rgba(0,90,170,.10), transparent 65%);}

/* header */
.site-header{position:sticky;top:0;z-index:100;padding:14px 18px;}
.header-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:26px;padding:10px 22px;background:rgba(255,255,255,.8);backdrop-filter:blur(16px);border:1px solid rgba(0,90,170,.1);border-radius:99px;box-shadow:0 10px 40px rgba(0,47,104,.07);}
.brand img{width:126px;height:auto;}
.main-nav{margin-inline-start:auto;}
.nav-list{display:flex;gap:2px;list-style:none;}
.nav-list a{display:block;padding:9px 15px;border-radius:99px;color:var(--c-ink);font-weight:400;font-size:.93rem;transition:all .2s;}
.nav-list a:hover{background:var(--c-soft);color:var(--c-accent);}
.nav-list a[aria-current="page"]{background:linear-gradient(120deg,var(--c-accent),var(--c-blue));color:#fff;font-weight:600;}
.lang-switch{display:flex;gap:2px;list-style:none;}
.lang-switch a{display:block;padding:7px 10px;font-size:.84rem;color:var(--c-ink);opacity:.7;border-radius:99px;}
.lang-switch a:hover{opacity:1;background:var(--c-soft);}
.nav-toggle{display:none;}

/* hero */
.hero{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:76px 24px 20px;text-align:center;}
.hero-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:99px;background:#fff;border:1px solid rgba(0,90,170,.14);color:var(--c-accent);font-size:.82rem;font-weight:600;letter-spacing:.06em;box-shadow:0 6px 24px rgba(0,47,104,.08);margin-bottom:28px;}
.hero-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-lime);}
.hero h1{font-size:clamp(2rem,4.6vw,3.7rem);max-width:24ch;margin:0 auto;text-wrap:balance;}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--c-blue),var(--c-lime));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{max-width:70ch;margin:26px auto 0;font-size:1.02rem;color:rgba(16,41,74,.8);text-align:start;}
.hero-ctas{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
html.js .reveal{opacity:0;transform:translateY(26px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards;}
.reveal.d1{animation-delay:.12s}.reveal.d2{animation-delay:.24s}.reveal.d3{animation-delay:.4s}
@keyframes rise{to{opacity:1;transform:none;}}

/* DNA ribbon */
.dna-band{position:relative;z-index:1;height:300px;margin:26px 0 0;overflow:hidden;}
.dna-ribbon{position:absolute;inset:0;}
.dna-word{position:absolute;top:0;left:0;white-space:nowrap;font-weight:600;letter-spacing:.14em;font-size:clamp(.6rem,1vw,.8rem);color:var(--c-navy);will-change:transform,opacity;}
.dna-node{position:absolute;top:0;left:0;width:12px;height:12px;will-change:transform,opacity;}
.dna-node svg{display:block;width:100%;height:100%;}
.dna-rung{position:absolute;top:0;left:0;width:2px;border-radius:2px;background:linear-gradient(rgba(0,130,201,.4),rgba(169,207,56,.4));transform-origin:50% 0;will-change:transform,opacity;}
.dna-band-caption{position:absolute;bottom:10px;inset-inline:0;text-align:center;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(16,41,74,.4);}

/* bento */
.section{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:64px 24px;}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.bento-card{background:var(--c-card);border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:34px 30px;box-shadow:0 8px 30px rgba(0,47,104,.06);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;position:relative;overflow:hidden;}
.bento-card:hover{transform:translateY(-7px);box-shadow:0 26px 60px rgba(0,47,104,.13);}
.bento-card .pent{width:44px;height:44px;margin-bottom:18px;}
.bento-card h3{font-size:1.28rem;margin-bottom:12px;font-weight:600;}
.bento-card p{font-size:.95rem;color:rgba(16,41,74,.78);}
.bento-card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;filter:blur(40px);opacity:.55;bottom:-80px;inset-inline-end:-60px;background:radial-gradient(circle,rgba(86,176,210,.35),transparent 70%);}
.bento-card:nth-child(2)::after{background:radial-gradient(circle,rgba(169,207,56,.35),transparent 70%);}
.bento-card:nth-child(3)::after{background:radial-gradient(circle,rgba(0,90,170,.28),transparent 70%);}

/* who bento */
.who-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:18px;}
.who-title-card{background:linear-gradient(150deg,var(--c-navy),var(--c-accent));color:#fff;border-radius:var(--radius);padding:40px 34px;display:grid;align-content:space-between;gap:30px;min-height:260px;position:relative;overflow:hidden;}
.who-title-card::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(169,207,56,.3),transparent 70%);top:-100px;inset-inline-end:-80px;}
.who-title-card h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.3rem);}
.who-body-card{background:var(--c-card);border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:40px 34px;box-shadow:0 8px 30px rgba(0,47,104,.06);}
.who-body-card p{margin-bottom:16px;color:rgba(16,41,74,.82);}

/* section head */
.section-head{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.kicker{font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--c-accent);background:#fff;border:1px solid rgba(0,90,170,.16);border-radius:99px;padding:6px 14px;box-shadow:0 4px 16px rgba(0,47,104,.06);}
.section-head h2{font-size:clamp(1.5rem,2.7vw,2.3rem);font-weight:800;}
.prose p{margin-bottom:16px;max-width:75ch;color:rgba(16,41,74,.82);}
.prose h2{font-size:1.4rem;margin:32px 0 12px;}
.prose h3{font-size:1.15rem;margin:24px 0 10px;}

/* buttons */
.btn-primary{display:inline-block;padding:14px 30px;border-radius:99px;background:linear-gradient(120deg,var(--c-accent),var(--c-blue));color:#fff;font-weight:600;font-size:.95rem;box-shadow:0 10px 30px rgba(0,90,170,.25);transition:transform .2s,box-shadow .2s;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,90,170,.35);color:#fff;}
.btn-outline{display:inline-block;padding:13px 28px;border-radius:99px;border:1.5px solid var(--c-accent);color:var(--c-accent);font-weight:600;font-size:.95rem;background:#fff;transition:all .2s;}
.btn-outline:hover{background:var(--c-accent);color:#fff;}
.cta-row{margin-top:26px;}

/* inner page hero */
.page-hero{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:66px 24px 12px;text-align:center;}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.3rem);max-width:26ch;margin:0 auto;}
.breadcrumb{font-size:.84rem;color:rgba(16,41,74,.55);margin-bottom:16px;letter-spacing:.05em;}

/* about */
.vcm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.vcm-card{border-radius:var(--radius);padding:34px 30px;background:linear-gradient(150deg,var(--c-navy),var(--c-accent));color:#fff;position:relative;overflow:hidden;}
.vcm-card::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(169,207,56,.28),transparent 70%);bottom:-90px;inset-inline-end:-70px;}
.vcm-card h3{color:#fff;font-size:1.3rem;margin-bottom:12px;font-weight:600;}
.vcm-card p{font-size:.94rem;color:rgba(255,255,255,.9);}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.value-card{background:#fff;border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:32px 30px;position:relative;box-shadow:0 8px 30px rgba(0,47,104,.06);transition:transform .3s,box-shadow .3s;}
.value-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,47,104,.12);}
.value-index{font-family:var(--font-display);font-weight:800;font-size:2.2rem;position:absolute;top:18px;inset-inline-end:24px;background:linear-gradient(120deg,var(--c-sky),var(--c-lime));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.value-card h3{font-size:1.25rem;margin-bottom:10px;font-weight:600;}
.value-card p{font-size:.94rem;color:rgba(16,41,74,.78);max-width:56ch;}
.members-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.member{background:#fff;border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:22px;text-align:center;box-shadow:0 8px 30px rgba(0,47,104,.06);transition:transform .3s,box-shadow .3s;}
.member:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,47,104,.13);}
.member-photo{border-radius:18px;overflow:hidden;aspect-ratio:1;background:var(--c-soft);}
.member-photo img{width:100%;height:100%;object-fit:cover;}
.member figcaption{margin-top:14px;display:grid;gap:2px;}
.member strong{font-family:var(--font-display);font-weight:600;color:var(--c-navy);font-size:1rem;}
.member span{font-size:.83rem;color:rgba(16,41,74,.65);}

/* capabilities */
.chain-figure{margin:28px 0;background:#fff;border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:30px;box-shadow:0 8px 30px rgba(0,47,104,.06);}
.chain-mobile{display:none;margin:0 auto;}
.tf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.tf-card{background:#fff;border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:32px 30px;box-shadow:0 8px 30px rgba(0,47,104,.06);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.tf-card::before{content:"";position:absolute;top:0;inset-inline-start:0;width:100%;height:5px;background:linear-gradient(90deg,var(--c-blue),var(--c-sky));}
.tf-card:nth-child(2)::before{background:linear-gradient(90deg,var(--c-sky),var(--c-lime));}
.tf-card:nth-child(3)::before{background:linear-gradient(90deg,var(--c-lime),var(--c-blue));}
.tf-card:nth-child(4)::before{background:linear-gradient(90deg,var(--c-navy),var(--c-sky));}
.tf-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,47,104,.12);}
.tf-card h3{font-size:1.25rem;margin-bottom:10px;font-weight:600;}
.tf-card p{font-size:.94rem;color:rgba(16,41,74,.78);}

/* contact */
.contact-info{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.contact-info li{background:#fff;border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:28px;display:grid;gap:8px;box-shadow:0 8px 30px rgba(0,47,104,.06);}
.contact-info span{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);font-weight:700;}
.contact-info a{color:var(--c-ink);font-weight:600;}
.contact-info a:hover{color:var(--c-accent);}

/* legal */
.legal-prose .prose{background:#fff;border:1px solid rgba(0,90,170,.1);border-radius:var(--radius);padding:44px;box-shadow:0 8px 30px rgba(0,47,104,.06);}
.li-item{padding-inline-start:12px;}

/* footer */
.site-footer{position:relative;z-index:1;margin-top:70px;padding:0 18px 18px;}
.footer-inner{max-width:1240px;margin:0 auto;padding:52px 40px 26px;background:var(--c-navy);border-radius:34px 34px 0 0;color:rgba(255,255,255,.85);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;}
.footer-brand img{filter:brightness(0) invert(1);opacity:.95;width:128px;}
.footer-contact{list-style:none;margin-top:20px;display:grid;gap:10px;font-size:.92rem;}
.footer-contact a,.footer-col a{color:rgba(255,255,255,.82);}
.footer-contact a:hover,.footer-col a:hover{color:var(--c-lime);}
.footer-col h2{color:#fff;font-size:.95rem;font-weight:700;letter-spacing:.08em;margin-bottom:14px;font-family:var(--font-body);}
.footer-col ul{list-style:none;display:grid;gap:9px;font-size:.92rem;}
.footer-social{display:flex !important;gap:12px;margin-top:16px;}
.footer-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);}
.footer-social a:hover{background:var(--c-lime);border-color:var(--c-lime);color:var(--c-navy);}
.footer-legal{max-width:1240px;margin:0 auto;background:var(--c-navy);border-radius:0 0 34px 34px;padding:16px 40px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.85rem;color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.12);}

/* reveal */
html.js .sr{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*80ms);}
html.js .sr.in{opacity:1;transform:none;}

/* responsive */
@media (max-width:1020px){
  .bento,.vcm-grid,.values-grid,.tf-grid,.who-grid{grid-template-columns:1fr;}
  .members-grid{grid-template-columns:repeat(2,1fr);}
  .footer-inner{grid-template-columns:1fr 1fr;padding:40px 26px 22px;}
  .footer-legal{padding:14px 26px 20px;}
  .contact-info{grid-template-columns:1fr;}
  .dna-band{height:240px;}
  .nav-toggle{display:grid;gap:5px;background:transparent;border:0;padding:10px;cursor:pointer;margin-inline-start:auto;}
  .nav-toggle span{width:24px;height:2.5px;border-radius:2px;background:var(--c-navy);transition:transform .25s,opacity .25s;}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .nav-list{position:fixed;top:84px;inset-inline:18px;background:#fff;flex-direction:column;padding:16px;gap:4px;border-radius:22px;box-shadow:0 30px 60px rgba(0,20,50,.18);transform:translateY(-140%);transition:transform .3s;z-index:99;}
  body.nav-open .nav-list{transform:none;}
  .chain-desktop{display:none;}
  .chain-mobile{display:block;max-height:70vh;width:auto;}
  .legal-prose .prose{padding:26px;}
}
@media (max-width:560px){.members-grid{grid-template-columns:1fr 1fr;gap:12px;}.header-inner{gap:12px;padding:8px 14px;}}

.skip-link{position:absolute;top:-48px;inset-inline-start:8px;z-index:200;padding:10px 18px;background:var(--c-accent,#005AAA);color:#fff;border-radius:0 0 8px 8px;transition:top .2s;}
.skip-link:focus{top:0;}
html.a11y-contrast{filter:contrast(1.35);}
html.a11y-grayscale{filter:grayscale(1);}
html.a11y-contrast.a11y-grayscale{filter:contrast(1.35) grayscale(1);}
html.a11y-links a{text-decoration:underline !important;text-underline-offset:3px;outline:1px dashed currentColor;outline-offset:2px;}
html.a11y-readable body,html.a11y-readable *{font-family:Arial,Helvetica,sans-serif !important;letter-spacing:.01em;}
html.a11y-nomotion *,html.a11y-nomotion *::before,html.a11y-nomotion *::after{animation-play-state:paused !important;transition:none !important;scroll-behavior:auto !important;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}
:focus-visible{outline:3px solid var(--c-lime,#A9CF38);outline-offset:2px;border-radius:2px;}
.a11y-widget{position:fixed;bottom:22px;inset-inline-start:22px;z-index:120;}
.a11y-fab{width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:var(--c-accent,#005AAA);color:#fff;box-shadow:0 6px 24px rgba(0,47,104,.35);transition:transform .2s;}
.a11y-fab:hover{transform:scale(1.08);}
.a11y-panel{position:absolute;bottom:64px;inset-inline-start:0;width:min(300px,84vw);padding:18px;border-radius:16px;background:var(--panel-bg,#fff);color:var(--panel-fg,#0b2545);box-shadow:0 18px 60px rgba(0,20,50,.35);border:1px solid rgba(120,150,190,.25);}
.a11y-panel h2{font-size:1rem;margin:0 0 12px;}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;margin:2px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:.92rem;border-radius:10px;cursor:pointer;text-align:start;}
.a11y-row:hover{background:rgba(0,90,170,.08);}
.a11y-dot{width:34px;height:18px;border-radius:99px;background:rgba(120,150,190,.35);position:relative;flex:none;transition:background .2s;}
.a11y-dot::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s;}
.a11y-row[aria-pressed="true"] .a11y-dot{background:var(--c-lime,#A9CF38);}
.a11y-row[aria-pressed="true"] .a11y-dot::after{transform:translateX(16px);}
[dir="rtl"] .a11y-row[aria-pressed="true"] .a11y-dot::after{transform:translateX(-16px);}
.a11y-font-row{cursor:default;}
.a11y-font-btns{display:flex;gap:6px;}
.a11y-font-btns button{min-width:34px;padding:6px 8px;border-radius:8px;border:1px solid rgba(120,150,190,.4);background:transparent;color:inherit;cursor:pointer;font-weight:700;}
.a11y-font-btns button:hover{background:rgba(0,90,170,.1);}
.a11y-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:.85rem;}
.a11y-actions button{border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:underline;font:inherit;font-size:.85rem;}
.a11y-actions a{color:var(--c-accent,#005AAA);}
.consent{position:fixed;inset-inline:0;bottom:0;z-index:130;padding:14px;display:flex;justify-content:center;}
.consent[hidden]{display:none;}
.consent-manage[hidden],.a11y-panel[hidden]{display:none;}
.consent-card{width:min(720px,96vw);background:var(--panel-bg,#fff);color:var(--panel-fg,#0b2545);border-radius:18px;padding:22px 24px;box-shadow:0 -6px 60px rgba(0,20,50,.35);border:1px solid rgba(120,150,190,.25);}
.consent-card h2{margin:0 0 6px;font-size:1.05rem;}
.consent-card>p{margin:0 0 14px;font-size:.92rem;line-height:1.55;}
.consent-card a{color:var(--c-accent,#005AAA);font-weight:600;}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap;}
.consent-btn{padding:10px 20px;border-radius:99px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;border:1.5px solid var(--c-accent,#005AAA);transition:transform .15s;}
.consent-btn:hover{transform:translateY(-1px);}
.consent-btn.ghost{background:transparent;color:var(--c-accent,#005AAA);}
.consent-btn.solid{background:var(--c-accent,#005AAA);color:#fff;margin-inline-start:auto;}
.consent-manage{margin:0 0 14px;border-top:1px solid rgba(120,150,190,.25);padding-top:12px;}
.consent-cat{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:8px 0;}
.consent-cat p{margin:2px 0 0;font-size:.82rem;opacity:.75;}
.consent-cat input[type=checkbox]{width:20px;height:20px;accent-color:var(--c-accent,#005AAA);margin-top:4px;}
.consent-always{color:var(--c-lime,#A9CF38);font-weight:900;font-size:1.1rem;}
.consent-reopen{border:0;background:transparent;color:inherit;opacity:.7;cursor:pointer;text-decoration:underline;font:inherit;font-size:.85rem;}
.consent-reopen:hover{opacity:1;}
@media (max-width:640px){.consent-btn.solid{margin-inline-start:0;}}
