
html,body{margin:0!important;padding:0!important;}
*{margin:0;padding:0;box-sizing:border-box;}

:root{
  --navy:#0E6B54;
  --navy-deep:#084A3B;
  --paper:#FBFAF6;
  --card:#FFFFFF;
  --gold:#F3B400;
  --gold-deep:#C98A00;
  --gold-soft:#FFE08A;
  --mint:#14B8A6;
  --ink:#123A2E;
  --ink-dim:#5B6E68;
  --line:#E7E4DB;
  --radius-lg:24px;
  --content-max:88rem;
  --side-gutter:42px;
}
body{background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Inter',sans-serif; font-weight:400; letter-spacing:-0.03em; color:var(--ink);}
em,i,cite{font-style:normal;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit;}
.wrap{max-width:var(--content-max); margin:0 auto; padding:0 var(--side-gutter);}
@media(max-width:640px){.wrap{padding:0 22px;} :root{--side-gutter:22px;}}
.fw{width:100vw; position:relative; left:50%; margin-left:-50vw!important; z-index:0;}

.pill-btn{display:inline-flex!important; align-items:center!important; gap:12px!important; background:var(--navy); color:#fff!important; font-size:1rem; font-weight:500; padding:8px 8px 8px 28px!important; border-radius:100px!important; transition:background .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1);}
.pill-btn:hover{background:var(--navy-deep); transform:translateY(-2px); box-shadow:0 12px 28px -10px rgba(0,0,0,.45);}
.pill-btn .arrow-c{background:#fff; border-radius:100px; padding:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .3s cubic-bezier(.4,0,.2,1);}
.pill-btn:hover .arrow-c{transform:rotate(45deg);}
.pill-btn .arrow-c i{color:var(--navy); font-size:1.05rem;}
.pill-btn.gold{background:var(--gold); color:#171a2e!important;}
.pill-btn.gold:hover{background:#FFC61A;}
.ghost-w{display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:100px; border:1px solid rgba(255,255,255,.3); color:#fff!important; font-weight:500; font-size:1rem; transition:background .3s ease, color .3s ease, border-color .3s ease;}
.ghost-w:hover{background:#fff; color:var(--navy-deep)!important; border-color:#fff;}
.ghost-d{display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:100px; border:1.5px solid rgba(18,58,46,.18); color:var(--ink)!important; font-weight:500; font-size:1rem; background:rgba(255,255,255,.6); transition:background .3s ease, color .3s ease, border-color .3s ease;}
.ghost-d:hover{background:var(--ink); color:#fff!important; border-color:var(--ink);}
.ghost-d i{color:var(--navy); transition:color .3s ease;}
.ghost-d:hover i{color:var(--gold);}

.kicker{display:inline-flex; align-items:center; gap:10px; font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:16px;}
.kicker b{display:inline-grid; place-items:center; min-width:30px; height:22px; padding:0 8px; border-radius:6px; background:var(--ink); color:var(--gold); font-size:.7rem; letter-spacing:.04em;}
.kicker.lt{color:var(--gold-soft);}
.kicker.lt b{background:var(--gold); color:#171a2e;}

@keyframes fade-up{from{opacity:0; transform:translateY(24px);} to{opacity:1; transform:translateY(0);}}
.animate-fade-up{opacity:0; animation:fade-up .8s cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes bp-float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
@keyframes bp-spin{to{transform:rotate(360deg);}}
@keyframes bp-dash{to{stroke-dashoffset:-40;}}
@keyframes bp-pulse{0%{box-shadow:0 0 0 0 rgba(243,180,0,.55);} 100%{box-shadow:0 0 0 18px rgba(243,180,0,0);}}

/* ===== HERO (light, orbit of services around the partner) ===== */
.bh-sec{overflow:hidden; padding:100px 0 0; border-bottom:1px solid var(--line);
  background:
    radial-gradient(38% 55% at 76% 48%, rgba(20,184,166,.13) 0%, rgba(20,184,166,0) 70%),
    radial-gradient(30% 40% at 96% 96%, rgba(243,180,0,.16) 0%, rgba(243,180,0,0) 70%),
    radial-gradient(30% 45% at 0% 10%, rgba(243,180,0,.10) 0%, rgba(243,180,0,0) 70%),
    var(--paper);}
.bh-sec::before{content:""; position:absolute; inset:0; pointer-events:none; z-index:-1;
  background-image:radial-gradient(rgba(18,58,46,.13) 1.2px, transparent 1.2px); background-size:26px 26px;
  -webkit-mask-image:radial-gradient(50% 60% at 22% 40%, #000 0%, transparent 75%); mask-image:radial-gradient(50% 60% at 22% 40%, #000 0%, transparent 75%);}
.bh-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:30px; align-items:end;}
.bh-text{align-self:center; padding-bottom:70px;}
.bh-badge{display:inline-flex; align-items:center; gap:10px; padding:6px 18px 6px 6px; border-radius:100px; background:var(--card); border:1px solid var(--line); box-shadow:0 14px 30px -22px rgba(8,74,59,.6); font-size:.84rem; font-weight:600; color:var(--ink); margin-bottom:26px;}
.bh-badge span{white-space:nowrap; flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:100px; background:var(--gold); color:#171a2e; font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.bh-title{font-size:clamp(2.3rem, 4.3vw, 4.5rem); font-weight:400; line-height:1.08; letter-spacing:-0.04em; margin-bottom:22px;}
.bh-title span{display:block; white-space:nowrap;}
.bh-title em{color:var(--navy); position:relative;}
.bh-title em::after{content:""; position:absolute; left:0; right:0; bottom:.04em; height:.14em; background:var(--gold-soft); z-index:-1; border-radius:4px;}
.bh-lead{color:var(--ink-dim); font-size:clamp(1rem, 1.2vw, 1.14rem); line-height:1.7; font-weight:500; max-width:560px; margin-bottom:32px;}
.bh-lead b{color:var(--ink); font-weight:700;}
.bh-actions{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:38px;}
.bh-trust{display:flex; flex-wrap:wrap; gap:10px 26px; padding-top:24px; border-top:1px solid var(--line); max-width:600px;}
.bh-trust span{display:inline-flex; align-items:center; gap:8px; font-size:.88rem; font-weight:600; color:var(--ink);}
.bh-trust i{color:var(--navy); font-size:1.05rem;}

.bh-art{position:relative; width:100%; max-width:600px; height:590px; justify-self:end; --r:255px; --n:58px;}
.bh-art img{position:absolute; left:50%; bottom:0; transform:translateX(-50%); height:550px; width:auto; max-width:none; z-index:2;}
.bh-orbit{position:absolute; left:50%; top:44%; width:0; height:0;}
.bh-ring, .bh-ray{z-index:1;}
.bh-ring{position:absolute; left:calc(var(--r) * -1); top:calc(var(--r) * -1); width:calc(var(--r) * 2); height:calc(var(--r) * 2); border-radius:50%; border:1.5px dashed rgba(14,107,84,.3); animation:bp-spin 70s linear infinite;}
.bh-ring::before{content:""; position:absolute; top:50%; left:-6px; width:12px; height:12px; margin-top:-6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(243,180,0,.22);}
.bh-ring.r2{left:calc(var(--r) * -.72); top:calc(var(--r) * -.72); width:calc(var(--r) * 1.44); height:calc(var(--r) * 1.44); border:1px solid rgba(243,180,0,.4); animation:none;}
.bh-ring.r2::before{display:none;}
.bh-ray{position:absolute; left:0; top:0; width:var(--r); height:2px; margin-top:-1px; transform-origin:0 50%; transform:rotate(var(--a)); background:repeating-linear-gradient(90deg, rgba(14,107,84,.28) 0 6px, transparent 6px 12px); transition:background .4s ease;}
.bh-ray.lit{background:linear-gradient(90deg, rgba(243,180,0,0), var(--gold));}
.bh-node{position:absolute; left:0; top:0; z-index:3; transform-origin:0 0; transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a) * -1)) translate(-50%, -50%);}
.bh-node > span{display:grid; place-items:center; width:var(--n); height:var(--n); border-radius:50%; background:var(--card); border:1px solid var(--line); color:var(--navy); font-size:1.45rem; box-shadow:0 16px 30px -16px rgba(8,74,59,.55); transition:background .4s ease, color .4s ease, transform .4s cubic-bezier(.34,1.56,.64,1), border-color .4s ease;}
.bh-node small{position:absolute; left:50%; top:calc(100% + 6px); transform:translateX(-50%); white-space:nowrap; font-size:.7rem; font-weight:700; letter-spacing:.02em; color:var(--ink); padding:2px 9px; border-radius:100px; background:rgba(255,255,255,.9); border:1px solid var(--line);}
.bh-node.lit > span{background:var(--navy); border-color:var(--navy); color:var(--gold); transform:scale(1.12); animation:bp-pulse 1.4s ease-out;}
.bh-node.up small{top:auto; bottom:calc(100% + 6px);}

.bh-id{position:absolute; z-index:4; left:-20px; bottom:26px; width:236px; padding:16px 16px 14px; border-radius:20px; color:#fff; box-shadow:0 30px 50px -24px rgba(4,41,31,.75); animation:bp-float 7s ease-in-out infinite;
  background:radial-gradient(80% 90% at 100% 0%, rgba(243,180,0,.3) 0%, rgba(243,180,0,0) 60%), linear-gradient(150deg, #0F7259 0%, var(--navy-deep) 55%, #05302A 100%);}
.bh-id-top{display:flex; align-items:center; gap:10px; margin-bottom:12px;}
.bh-id-top > span{width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--gold); color:#171a2e; font-size:1.1rem; flex-shrink:0;}
.bh-id-top b{display:block; font-size:.92rem; font-weight:700; line-height:1.2;}
.bh-id-top small{display:block; font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-soft);}
.bh-id-icons{display:flex; gap:6px; margin-bottom:10px;}
.bh-id-icons i{flex:1; height:28px; border-radius:8px; display:grid; place-items:center; background:rgba(255,255,255,.1); color:rgba(255,255,255,.75); font-size:.85rem; transition:background .4s ease, color .4s ease;}
.bh-id-icons i.lit{background:var(--gold); color:#171a2e;}
.bh-id-foot{display:flex; align-items:center; gap:7px; font-size:.74rem; font-weight:600; color:rgba(255,255,255,.8);}
.bh-id-foot i{color:var(--mint); font-size:.95rem;}

@media(max-width:1200px){ .bh-art{--r:225px; height:560px;} .bh-art img{height:520px;} }
@media(max-width:960px){
  .bh-sec{padding-top:90px;}
  .bh-grid{grid-template-columns:1fr; gap:10px;}
  .bh-text{padding-bottom:10px;}
  .bh-art{justify-self:center;}
}
@media(max-width:560px){
  .bh-sec{padding-top:78px;}
  .bh-title span{white-space:normal;}
  .bh-badge{font-size:.78rem;}
  .bh-actions a{flex:1 1 auto; justify-content:center;}
  .bh-art{height:430px; --r:142px; --n:44px;}
  .bh-art img{height:380px;}
  .bh-orbit{top:44%;}
  .bh-node > span{font-size:1.1rem;}
  .bh-node small{font-size:.62rem; padding:1px 7px;}
  .bh-id{width:190px; padding:12px; bottom:18px; left:0;}
  .bh-id-top > span{width:30px; height:30px; font-size:.95rem;}
  .bh-id-top b{font-size:.82rem;}
  .bh-id-icons i{height:24px; font-size:.75rem;}
}
@media (prefers-reduced-motion: reduce){ .bh-ring, .bh-id, .bh-node.lit > span{animation:none;} }

/* ===== PORTFOLIO (index rows) ===== */
.pf-sec{background:var(--card); padding:110px 0;}
.pf-head{display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; margin-bottom:50px;}
.pf-head h2{font-size:clamp(2.1rem, 4vw, 3.3rem); line-height:1.1;}
.pf-head h2 em{color:var(--navy);}
.pf-head p{color:var(--ink-dim); font-size:1rem; line-height:1.7; font-weight:500; margin-top:16px; max-width:560px;}
.pf-stat{justify-self:end; display:flex; gap:14px;}
.pf-stat div{padding:18px 22px; border-radius:20px; background:var(--paper); border:1px solid var(--line); min-width:150px;}
.pf-stat b{display:block; font-size:2.4rem; font-weight:400; letter-spacing:-0.05em; line-height:1; color:var(--ink); margin-bottom:6px;}
.pf-stat b sup{font-size:1.2rem; color:var(--gold-deep); vertical-align:top; position:relative; top:.25em;}
.pf-stat small{font-size:.8rem; font-weight:600; color:var(--ink-dim);}
.pf-stat div:first-child{background:var(--ink); border-color:var(--ink);}
.pf-stat div:first-child b{color:#fff;}
.pf-stat div:first-child small{color:rgba(255,255,255,.7);}

.pf-list{border-top:1px solid var(--ink);}
.pf-row{position:relative; display:grid; grid-template-columns:54px 60px minmax(0,1.05fr) minmax(0,1.3fr) 150px 52px; gap:24px; align-items:center; padding:28px 22px; border-bottom:1px solid var(--line); isolation:isolate; overflow:hidden;}
.pf-row::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 120% at 100% 0%, rgba(243,180,0,.2) 0%, rgba(243,180,0,0) 60%), linear-gradient(120deg, #0F7259 0%, var(--navy-deep) 60%, #05302A 100%); transform:scaleY(0); transform-origin:50% 100%; transition:transform .5s cubic-bezier(.16,1,.3,1);}
.pf-row:hover::before, .pf-row:focus-visible::before{transform:scaleY(1);}
.pf-row:focus-visible{outline:2px solid var(--gold); outline-offset:-2px;}
.pf-idx{font-size:.8rem; font-weight:700; letter-spacing:.1em; color:var(--gold-deep);}
.pf-ico{width:60px; height:60px; border-radius:18px; display:grid; place-items:center; background:rgba(14,107,84,.08); color:var(--navy); font-size:1.6rem; transition:background .4s ease, color .4s ease, transform .45s cubic-bezier(.34,1.56,.64,1);}
.pf-row:hover .pf-ico{background:var(--gold); color:#171a2e; transform:rotate(-6deg);}
.pf-name h3{font-size:1.45rem; font-weight:500; letter-spacing:-0.025em; line-height:1.2; margin-bottom:5px; transition:color .4s ease;}
.pf-name p{color:var(--ink-dim); font-size:.88rem; line-height:1.55; font-weight:500; transition:color .4s ease;}
.pf-tags{display:flex; flex-wrap:wrap; gap:6px;}
.pf-tags span{padding:5px 11px; border-radius:100px; font-size:.76rem; font-weight:600; color:var(--ink); background:var(--paper); border:1px solid var(--line); transition:background .4s ease, color .4s ease, border-color .4s ease;}
.pf-tags span.more{color:var(--gold-deep); border-style:dashed;}
.pf-row:hover .pf-tags span{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:rgba(255,255,255,.88);}
.pf-row:hover .pf-tags span.more{color:var(--gold-soft);}
.pf-count b{display:block; font-size:2.6rem; font-weight:400; letter-spacing:-0.05em; line-height:1; color:var(--ink); transition:color .4s ease;}
.pf-count small{display:block; font-size:.76rem; font-weight:600; color:var(--ink-dim); margin-top:4px; transition:color .4s ease;}
.pf-go{width:52px; height:52px; border-radius:50%; display:grid; place-items:center; border:1.5px solid var(--line); color:var(--navy); font-size:1.1rem; transition:transform .45s cubic-bezier(.16,1,.3,1), background .4s ease, color .4s ease, border-color .4s ease;}
.pf-row:hover .pf-name h3, .pf-row:hover .pf-count b{color:#fff;}
.pf-row:hover .pf-name p, .pf-row:hover .pf-count small{color:rgba(255,255,255,.7);}
.pf-row:hover .pf-go{background:var(--gold); border-color:var(--gold); color:#171a2e; transform:rotate(45deg);}
@media(max-width:1200px){ .pf-row{grid-template-columns:44px 54px minmax(0,1fr) 120px 48px;} .pf-tags{display:none;} }
@media(max-width:860px){
  .pf-sec{padding:80px 0;}
  .pf-head{grid-template-columns:1fr; gap:24px;}
  .pf-stat{justify-self:start;}
}
@media(max-width:640px){
  .pf-row{grid-template-columns:48px minmax(0,1fr) 40px; gap:4px 14px; padding:22px 4px;}
  .pf-idx{display:none;}
  .pf-ico{width:48px; height:48px; border-radius:14px; font-size:1.3rem; grid-row:span 2;}
  .pf-name{grid-column:2;}
  .pf-name h3{font-size:1.15rem;}
  .pf-count{grid-column:2; grid-row:2; display:flex; align-items:baseline; gap:8px;}
  .pf-count b{font-size:1.5rem;}
  .pf-count small{margin:0;}
  .pf-go{grid-column:3; grid-row:1 / span 2; width:40px; height:40px; font-size:.95rem;}
  .pf-stat div{min-width:0; flex:1; padding:14px 16px;}
  .pf-stat b{font-size:2rem;}
}

/* ===== ONE COUNTER (comparison) ===== */
.oc-sec{background:var(--paper); border-top:1px solid var(--line); padding:110px 0;}
.oc-head{text-align:center; max-width:760px; margin:0 auto 54px;}
.oc-head h2{font-size:clamp(2.1rem, 4vw, 3.2rem); line-height:1.1; margin-bottom:14px;}
.oc-head h2 em{color:var(--navy);}
.oc-head p{color:var(--ink-dim); font-size:1.02rem; line-height:1.7; font-weight:500;}
.oc-grid{position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px;}
.oc-vs{position:absolute; left:50%; top:50%; z-index:3; width:64px; height:64px; margin:-32px 0 0 -32px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:#171a2e; font-size:1.4rem; box-shadow:0 0 0 8px var(--paper);}
.oc-card{position:relative; overflow:hidden; border-radius:30px; padding:34px 34px 30px;}
.oc-before{background:var(--card); border:1px solid var(--line);}
.oc-after{color:#fff; background:radial-gradient(60% 50% at 50% 42%, rgba(243,180,0,.2) 0%, rgba(243,180,0,0) 70%), linear-gradient(155deg, #0B5A47 0%, var(--navy-deep) 50%, #04291F 100%);}
.oc-label{display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:100px; font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px;}
.oc-before .oc-label{background:rgba(18,58,46,.06); color:var(--ink-dim);}
.oc-after .oc-label{background:var(--gold); color:#171a2e;}
.oc-card h3{font-size:clamp(1.4rem, 2.2vw, 1.8rem); font-weight:500; line-height:1.2; letter-spacing:-0.03em; margin-bottom:6px;}
.oc-after h3{color:#fff;}
.oc-sub{font-size:.92rem; font-weight:500; color:var(--ink-dim);}
.oc-after .oc-sub{color:rgba(255,255,255,.7);}

.oc-map{position:relative; aspect-ratio:4 / 3; margin:14px 0 18px;}
.oc-map svg{position:absolute; inset:0; width:100%; height:100%; overflow:visible;}
.oc-map path, .oc-map line{fill:none; vector-effect:non-scaling-stroke;}
.oc-before path{stroke:rgba(91,110,104,.45); stroke-width:1.6; stroke-dasharray:5 6; animation:bp-dash 3s linear infinite;}
.oc-after line{stroke:rgba(243,180,0,.75); stroke-width:1.8; stroke-dasharray:7 7; animation:bp-dash 1.6s linear infinite reverse;}
.oc-n{position:absolute; transform:translate(-50%, -50%); display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center;}
.oc-n > span{width:50px; height:50px; border-radius:16px; display:grid; place-items:center; font-size:1.3rem;}
.oc-n small{font-size:.74rem; font-weight:700; line-height:1.2; white-space:nowrap;}
.oc-before .oc-n > span{background:var(--paper); border:1px solid var(--line); color:var(--ink-dim);}
.oc-before .oc-n small{color:var(--ink-dim);}
.oc-before .oc-n.me > span{width:62px; height:62px; border-radius:50%; background:var(--ink); color:#fff; border:0; font-size:1.6rem;}
.oc-before .oc-n.me small{color:var(--ink);}
.oc-after .oc-n > span{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#fff; border-radius:50%;}
.oc-after .oc-n small{color:rgba(255,255,255,.8);}
.oc-after .oc-hub > span{width:104px; height:104px; border-radius:50%; background:var(--gold); color:#171a2e; border:0; font-size:2.2rem; box-shadow:0 0 0 12px rgba(243,180,0,.16), 0 0 0 26px rgba(243,180,0,.07);}
.oc-after .oc-hub small{color:var(--gold-soft); font-size:.8rem; margin-top:8px;}
.oc-trip{position:absolute; right:0; top:0; padding:6px 12px; border-radius:100px; font-size:.74rem; font-weight:700; border:1px dashed rgba(91,110,104,.5); color:var(--ink-dim); background:var(--card);}
.oc-after .oc-trip{border:1px solid rgba(243,180,0,.5); color:var(--gold-soft); background:rgba(255,255,255,.06);}
.oc-pts{display:grid; gap:10px; padding-top:18px; border-top:1px solid var(--line);}
.oc-after .oc-pts{border-color:rgba(255,255,255,.14);}
.oc-pts li{list-style:none; display:flex; align-items:flex-start; gap:10px; font-size:.92rem; font-weight:500; line-height:1.5; color:var(--ink-dim);}
.oc-after .oc-pts li{color:rgba(255,255,255,.85);}
.oc-pts i{font-size:1.1rem; flex-shrink:0; margin-top:1px;}
.oc-before .oc-pts i{color:rgba(91,110,104,.7);}
.oc-after .oc-pts i{color:var(--gold);}
@media(max-width:960px){
  .oc-sec{padding:80px 0;}
  .oc-grid{grid-template-columns:minmax(0,1fr); gap:46px;}
  .oc-vs{top:auto; bottom:auto; position:relative; left:auto; margin:-24px auto; grid-row:2; transform:rotate(90deg);}
}
@media(max-width:560px){
  .oc-card{padding:26px 18px 22px; border-radius:24px;}
  .oc-map{aspect-ratio:1 / 1;}
  .oc-n > span{width:40px; height:40px; border-radius:12px; font-size:1.05rem;}
  .oc-n small{font-size:.64rem;}
  .oc-before .oc-n.me > span{width:50px; height:50px; font-size:1.3rem;}
  .oc-after .oc-hub > span{width:80px; height:80px; font-size:1.7rem; box-shadow:0 0 0 9px rgba(243,180,0,.16), 0 0 0 18px rgba(243,180,0,.07);}
  .oc-trip{position:relative; display:inline-block; margin-bottom:8px;}
}
@media (prefers-reduced-motion: reduce){ .oc-map path, .oc-map line{animation:none;} }

/* ===== BENEFITS (dark autoplay slider) ===== */
.bn-sec{overflow:hidden; padding:110px 0 100px; color:#fff; background:radial-gradient(40% 60% at 90% 0%, rgba(243,180,0,.16) 0%, rgba(243,180,0,0) 70%), radial-gradient(35% 50% at 0% 100%, rgba(20,184,166,.14) 0%, rgba(20,184,166,0) 70%), linear-gradient(160deg, #0B5A47 0%, var(--navy-deep) 45%, #04291F 100%);}
.bn-head{margin-bottom:46px;}
.bn-head h2{color:#fff; font-size:clamp(2.1rem, 4vw, 3.3rem); line-height:1.1; max-width:760px;}
.bn-head h2 em{color:var(--gold-soft);}
.bn-head p{color:rgba(255,255,255,.72); font-size:1rem; line-height:1.7; font-weight:500; max-width:600px; margin-top:16px;}
.bn-slider{position:relative;}
.bn-viewport{overflow:hidden; margin:-8px -8px 0; padding:8px 8px 4px; touch-action:pan-y;}
.bn-track{--gap:18px; display:flex; gap:var(--gap); transition:transform .5s cubic-bezier(.4,0,.2,1); will-change:transform;}
.bn-card{position:relative; flex:0 0 calc((100% - var(--gap) * 2) / 3); display:flex; flex-direction:column; min-height:330px; padding:28px 26px; border-radius:26px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); overflow:hidden; user-select:none; transition:transform .45s cubic-bezier(.16,1,.3,1), background .4s ease, border-color .4s ease;}
.bn-card:hover{transform:translateY(-6px); background:rgba(255,255,255,.1); border-color:rgba(243,180,0,.5);}
.bn-num{position:absolute; right:22px; top:16px; font-size:4.4rem; font-weight:400; letter-spacing:-0.06em; line-height:1; color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.18);}
.bn-ico{width:58px; height:58px; border-radius:17px; display:grid; place-items:center; background:rgba(255,255,255,.1); color:var(--gold); font-size:1.6rem; margin-bottom:auto; transition:transform .45s cubic-bezier(.34,1.56,.64,1), background .4s ease, color .4s ease;}
.bn-card:hover .bn-ico{transform:rotate(-8deg) scale(1.06); background:var(--gold); color:#171a2e;}
.bn-card h4{color:#fff; font-size:1.3rem; font-weight:500; letter-spacing:-0.02em; line-height:1.25; margin:40px 0 10px;}
.bn-card p{color:rgba(255,255,255,.7); font-size:.92rem; line-height:1.65; font-weight:500;}
.bn-card.hl{background:linear-gradient(160deg, var(--gold) 0%, #FFC61A 100%); border-color:var(--gold);}
.bn-card.hl .bn-ico{background:#171a2e; color:var(--gold);}
.bn-card.hl h4{color:#171a2e;}
.bn-card.hl p{color:rgba(23,26,46,.75);}
.bn-card.hl .bn-num{-webkit-text-stroke-color:rgba(23,26,46,.22);}
.bn-card.hl:hover{background:linear-gradient(160deg, var(--gold) 0%, #FFC61A 100%);}
.bn-foot{display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:34px;}
.bn-dots{display:flex; flex-wrap:wrap; align-items:center; gap:4px;}
.bn-dot{width:30px; height:30px; padding:0; border:0; background:transparent; cursor:pointer; display:grid; place-items:center; border-radius:8px;}
.bn-dot span{display:block; width:8px; height:8px; border-radius:100px; background:rgba(255,255,255,.28); transition:width .35s cubic-bezier(.16,1,.3,1), background .35s ease;}
.bn-dot:hover span{background:rgba(255,255,255,.6);}
.bn-dot.on{width:44px;}
.bn-dot.on span{width:30px; background:linear-gradient(90deg, var(--mint), var(--gold));}
.bn-dot:focus-visible{outline:2px solid var(--gold); outline-offset:1px;}
.bn-nav{display:flex; gap:10px; flex-shrink:0;}
.bn-nav button{width:54px; height:54px; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; font-size:1.15rem; cursor:pointer; display:grid; place-items:center; transition:background .3s ease, color .3s ease, border-color .3s ease;}
.bn-nav button:hover{background:var(--gold); border-color:var(--gold); color:#171a2e;}
.bn-nav button:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
@media(max-width:1100px){ .bn-card{flex-basis:calc((100% - var(--gap)) / 2);} }
@media(max-width:860px){ .bn-sec{padding:80px 0;} }
@media(max-width:640px){
  .bn-track{--gap:14px;}
  .bn-card{flex-basis:84%; min-height:300px; padding:24px 22px;}
  .bn-card h4{margin-top:30px;}
  .bn-foot{gap:14px;}
  .bn-dot{width:18px;} .bn-dot.on{width:30px;} .bn-dot.on span{width:20px;}
  .bn-nav button{width:46px; height:46px;}
}
@media (prefers-reduced-motion: reduce){ .bn-track{transition:none;} }

/* ===== WHO CAN JOIN (pills) ===== */
.wc-sec{background:var(--paper); padding:110px 0;}
.wc-head{text-align:center; max-width:760px; margin:0 auto 50px;}
.wc-head h2{font-size:clamp(2.1rem, 4vw, 3.2rem); line-height:1.1; margin-bottom:14px;}
.wc-head h2 em{color:var(--navy);}
.wc-head p{color:var(--ink-dim); font-size:1.02rem; line-height:1.7; font-weight:500;}
.wc-cloud{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; max-width:1180px; margin:0 auto;}
.wc-pill{display:flex; align-items:center; gap:14px; padding:10px 26px 10px 10px; border-radius:100px; background:var(--card); border:1px solid var(--line); max-width:100%; transition:background .4s ease, border-color .4s ease, transform .45s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;}
.wc-pill > span{width:54px; height:54px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; background:rgba(14,107,84,.08); color:var(--navy); font-size:1.4rem; transition:background .4s ease, color .4s ease;}
.wc-pill b{display:block; font-size:1rem; font-weight:600; letter-spacing:-0.01em; color:var(--ink); line-height:1.3; transition:color .4s ease;}
.wc-pill small{display:block; font-size:.8rem; font-weight:500; color:var(--ink-dim); line-height:1.4; transition:color .4s ease;}
.wc-pill:hover{background:var(--ink); border-color:var(--ink); transform:translateY(-4px); box-shadow:0 24px 40px -26px rgba(8,74,59,.8);}
.wc-pill:hover > span{background:var(--gold); color:#171a2e;}
.wc-pill:hover b{color:#fff;}
.wc-pill:hover small{color:rgba(255,255,255,.7);}
.wc-note{margin:40px auto 0; text-align:center; font-size:.98rem; font-weight:500; color:var(--ink-dim);}
.wc-note a{color:var(--navy); font-weight:700; border-bottom:2px solid var(--gold-soft); transition:border-color .3s ease;}
.wc-note a:hover{border-color:var(--gold);}
@media(max-width:860px){ .wc-sec{padding:80px 0;} }
@media(max-width:560px){ .wc-pill{width:100%; border-radius:22px; padding:10px 16px 10px 10px;} .wc-pill > span{width:46px; height:46px; font-size:1.2rem; border-radius:15px;} }

/* ===== STEPS (numbered cards with sequential progress bars) ===== */
.st-sec{background:var(--card); border-top:1px solid var(--line); padding:110px 0 100px;}
.st-head{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:52px;}
.st-head h2{font-size:clamp(2.1rem, 4vw, 3.2rem); line-height:1.1;}
.st-head h2 em{color:var(--navy);}
.st-head p{color:var(--ink-dim); font-size:1rem; line-height:1.7; font-weight:500; max-width:480px; justify-self:end;}
.st-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:26px; align-items:stretch;}
.st-card{position:relative; display:flex; flex-direction:column; padding:26px 24px 24px; border-radius:24px; background:var(--paper); border:1px solid var(--line); transition:border-color .4s ease, box-shadow .4s ease, transform .45s cubic-bezier(.16,1,.3,1);}
.st-card:hover{transform:translateY(-5px); border-color:rgba(14,107,84,.35); box-shadow:0 26px 44px -32px rgba(8,74,59,.6);}
.st-bar{height:4px; border-radius:4px; background:rgba(14,107,84,.12); overflow:hidden; margin-bottom:24px;}
.st-bar span{display:block; height:100%; width:0; border-radius:4px; background:linear-gradient(90deg, var(--navy), var(--mint));}
.st-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px;}
.st-ico{width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--card); border:1px solid var(--line); color:var(--navy); font-size:1.4rem; transition:background .4s ease, color .4s ease, border-color .4s ease;}
.st-card.on .st-ico{background:var(--navy); border-color:var(--navy); color:var(--gold);}
.st-num{font-size:3.2rem; font-weight:400; letter-spacing:-0.06em; line-height:1; color:transparent; -webkit-text-stroke:1.3px rgba(14,107,84,.4); transition:-webkit-text-stroke-color .4s ease;}
.st-card.on .st-num{-webkit-text-stroke-color:var(--navy);}
.st-card h4{font-size:1.2rem; font-weight:600; letter-spacing:-0.02em; line-height:1.3; margin-bottom:8px;}
.st-card p{color:var(--ink-dim); font-size:.9rem; line-height:1.65; font-weight:500; margin-bottom:20px;}
.st-get{margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:8px; padding:7px 13px; border-radius:100px; background:var(--card); border:1px solid var(--line); font-size:.78rem; font-weight:700; color:var(--ink);}
.st-get i{color:var(--gold-deep); font-size:.95rem;}
.st-link{position:absolute; z-index:2; top:50%; right:-30px; width:34px; height:34px; margin-top:-17px; border-radius:50%; display:grid; place-items:center; background:var(--card); border:1.5px dashed rgba(14,107,84,.35); color:var(--ink-dim); font-size:.85rem; transition:background .4s ease, color .4s ease, border-color .4s ease;}
.st-card.on .st-link{background:var(--navy); border:1.5px solid var(--navy); color:var(--gold);}
.st-card.st-last{border-color:var(--gold); background:linear-gradient(160deg, #FFF7DB 0%, var(--gold-soft) 100%);}
.st-last .st-bar{background:rgba(201,138,0,.2);}
.st-last .st-bar span{background:linear-gradient(90deg, var(--gold-deep), var(--gold));}
.st-last .st-ico{background:#171a2e; border-color:#171a2e; color:var(--gold);}
.st-last.on .st-ico{background:#171a2e; border-color:#171a2e;}
.st-last .st-num{-webkit-text-stroke-color:rgba(201,138,0,.55);}
.st-last.on .st-num{-webkit-text-stroke-color:var(--gold-deep);}
.st-last p{color:rgba(18,58,46,.78);}
.st-last .st-get{background:#171a2e; border-color:#171a2e; color:var(--gold-soft);}
.st-last .st-get i{color:var(--gold);}
@media(max-width:1100px){
  .st-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px;}
  .st-link{display:none;}
}
@media(max-width:960px){
  .st-sec{padding:80px 0;}
  .st-head{grid-template-columns:1fr; gap:14px; margin-bottom:36px;}
  .st-head p{justify-self:start;}
}
@media(max-width:600px){
  .st-grid{grid-template-columns:minmax(0,1fr); gap:14px;}
  .st-card{padding:22px 20px 20px;}
  .st-num{font-size:2.6rem;}
  .st-ico{width:48px; height:48px; font-size:1.25rem;}
}

/* ===== FAQ (split, card accordion) ===== */
.fa-sec{background:var(--paper); border-top:1px solid var(--line); padding:110px 0;}
.fa-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start;}
.fa-side{position:sticky; top:40px;}
.fa-side h2{font-size:clamp(2.1rem, 4vw, 3.2rem); line-height:1.1; margin-bottom:16px;}
.fa-side h2 em{color:var(--navy);}
.fa-side > p{color:var(--ink-dim); font-size:1rem; line-height:1.7; font-weight:500; margin-bottom:28px; max-width:420px;}
.fa-help{display:flex; align-items:center; gap:16px; padding:18px; border-radius:22px; background:var(--card); border:1px solid var(--line); max-width:420px; transition:border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1);}
.fa-help:hover{border-color:rgba(243,180,0,.7); transform:translateY(-3px);}
.fa-help > span{width:50px; height:50px; border-radius:15px; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-size:1.35rem; flex-shrink:0;}
.fa-help b{display:block; font-size:.98rem; font-weight:600;}
.fa-help small{display:block; font-size:.84rem; font-weight:500; color:var(--ink-dim);}
.fa-help > i{margin-left:auto; color:var(--navy); font-size:1.1rem;}
.fa-list{display:grid; gap:12px;}
.fa-item{border-radius:22px; background:transparent; border:1px solid var(--line); transition:background .35s ease, box-shadow .35s ease, border-color .35s ease;}
.fa-item[open]{background:var(--card); border-color:transparent; box-shadow:0 26px 50px -34px rgba(8,74,59,.55);}
.fa-item summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:18px; padding:22px 22px 22px 26px; font-size:clamp(1rem, 1.35vw, 1.14rem); font-weight:500; letter-spacing:-0.01em; color:var(--ink); transition:color .25s ease;}
.fa-item summary::-webkit-details-marker{display:none;}
.fa-item summary:hover{color:var(--navy);}
.fa-item summary:focus-visible{outline:2px solid var(--gold); outline-offset:2px; border-radius:22px;}
.fa-item summary i{margin-left:auto; flex-shrink:0; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:rgba(14,107,84,.08); color:var(--navy); font-size:.9rem; transition:transform .35s cubic-bezier(.16,1,.3,1), background .3s ease, color .3s ease;}
.fa-item[open] summary i{transform:rotate(45deg); background:var(--gold); color:#171a2e;}
.fa-item p{padding:0 70px 24px 26px; color:var(--ink-dim); font-size:.96rem; line-height:1.75; font-weight:500;}
@media(max-width:960px){ .fa-sec{padding:80px 0;} .fa-grid{grid-template-columns:1fr; gap:36px;} .fa-side{position:relative; top:auto;} }
@media(max-width:560px){ .fa-item summary{padding:18px 16px 18px 20px;} .fa-item p{padding:0 20px 20px;} }

/* ===== CTA (apply) ===== */
.ap-sec{background:var(--paper); padding:0 0 100px;}
.ap-box{position:relative; overflow:hidden; border-radius:34px; display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; padding:clamp(34px, 5vw, 70px);
  background:radial-gradient(50% 90% at 100% 100%, rgba(243,180,0,.22) 0%, rgba(243,180,0,0) 60%), linear-gradient(155deg, #0B5A47 0%, var(--navy-deep) 50%, #04291F 100%);}
.ap-box::before{content:""; position:absolute; right:-120px; top:-160px; width:420px; height:420px; border-radius:50%; border:1.5px dashed rgba(255,255,255,.14); animation:bp-spin 60s linear infinite;}
.ap-box > *{position:relative;}
.ap-box h2{color:#fff; font-size:clamp(2rem, 3.8vw, 3.2rem); line-height:1.08; letter-spacing:-0.035em; margin-bottom:16px;}
.ap-box h2 em{color:var(--gold-soft);}
.ap-box > div > p{color:rgba(255,255,255,.75); font-size:1.02rem; line-height:1.7; font-weight:500; max-width:540px; margin-bottom:28px;}
.ap-actions{display:flex; flex-wrap:wrap; gap:14px;}
.ap-card{justify-self:center; width:100%; max-width:380px; padding:26px; border-radius:26px; background:var(--card); color:var(--ink); box-shadow:0 40px 60px -30px rgba(0,0,0,.6); transform:rotate(-3deg); transition:transform .5s cubic-bezier(.16,1,.3,1);}
.ap-card:hover{transform:rotate(0deg) translateY(-4px);}
.ap-card-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px;}
.ap-card-top small{font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep);}
.ap-chip{width:44px; height:34px; border-radius:8px; background:linear-gradient(135deg, var(--gold-soft), var(--gold) 55%, var(--gold-deep)); position:relative;}
.ap-chip::before{content:""; position:absolute; inset:8px 6px; border:1.5px solid rgba(23,26,46,.25); border-radius:4px;}
.ap-who{display:flex; align-items:center; gap:14px; padding-bottom:18px; border-bottom:1px dashed var(--line); margin-bottom:18px;}
.ap-who > span{width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:var(--gold); font-size:1.5rem; flex-shrink:0;}
.ap-who b{display:block; font-size:1.1rem; font-weight:600; letter-spacing:-0.01em;}
.ap-who small{display:block; font-size:.82rem; font-weight:500; color:var(--ink-dim);}
.ap-srv{display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin-bottom:18px;}
.ap-srv span{min-width:0; display:flex; align-items:center; gap:7px; padding:9px 10px; border-radius:12px; background:var(--paper); border:1px solid var(--line); font-size:.76rem; font-weight:600;}
.ap-srv i{color:var(--navy); font-size:.95rem;}
.ap-status{display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:14px; background:rgba(20,184,166,.1); color:var(--navy); font-size:.86rem; font-weight:700;}
.ap-status i{font-size:1.1rem;}
@media(max-width:900px){ .ap-box{grid-template-columns:minmax(0,1fr);} .ap-card{transform:none;} }
@media(max-width:560px){ .ap-sec{padding-bottom:70px;} .ap-box{border-radius:24px;} .ap-actions a{flex:1 1 auto; justify-content:center;} .ap-card{padding:20px;} .ap-srv{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (prefers-reduced-motion: reduce){ .ap-box::before{animation:none;} }

.gs-reveal{opacity:0; transform:translateY(36px); will-change:transform,opacity;}
.gs-scale{opacity:0; transform:translateY(24px) scale(.96); will-change:transform,opacity;}
.gs-stagger > *{opacity:0; transform:translateY(24px); will-change:transform,opacity;}
@media (prefers-reduced-motion: reduce){
  .gs-reveal,.gs-scale{opacity:1!important; transform:none!important;}
  .gs-stagger > *{opacity:1!important; transform:none!important;}
  *{animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important;}
}
