:root{
  --navy:#072a6c;--deep:#051e4f;--green:#2ca040;--green-h:#23893a;--sky:#0b66b8;
  --ink:#0d1b2e;--text:#13233a;--muted:#4a5a70;--line:#e1e8f0;--soft:#f3f6fa;--chip:#eaf1f8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:'Open Sans',system-ui,sans-serif;font-size:16px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--sky)}
h1,h2,h3,h4{font-family:Roboto,system-ui,sans-serif;color:var(--ink);margin:0;line-height:1.15}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}

/* top bar */
.topbar{background:var(--deep);color:#b9c9de;font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;padding-bottom:9px}
.topbar a{color:#dbe6f3;display:inline-flex;gap:8px;align-items:center}
.topbar a:hover{color:#fff}
.topbar .l,.topbar .r{display:flex;flex-wrap:wrap;gap:20px;align-items:center}

/* header */
.hdr{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 24px rgba(5,30,79,.18)}
.hdr .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.12)}
.logo img{height:96px;width:96px;margin:-6px 0;object-fit:contain}
.nav{display:flex;gap:24px;align-items:center}
.nav a{color:#dbe6f3;font-size:15px;font-weight:600;padding:10px 2px;border-bottom:2px solid transparent}
.nav a:hover{color:#fff}
.nav a.on{color:#fff;border-bottom-color:var(--green)}
.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;color:#fff;font-weight:700;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:10px 16px;min-height:44px}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] .mlinks{display:flex}
.mlinks{display:none;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--deep);padding:12px 32px 20px;z-index:20}
.mlinks a{color:#fff;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--green);color:#fff;font-weight:700;font-size:16px;padding:13px 26px;border-radius:8px;border:0}
.btn:hover{background:var(--green-h);color:var(--navy)}
.btn-sm{min-height:44px;font-size:15px;padding:11px 20px}
.btn-ghost{display:inline-flex;align-items:center;min-height:48px;color:#fff;font-weight:600;font-size:16px;padding:12px 26px;border-radius:8px;border:1px solid rgba(255,255,255,.45)}
.btn-ghost:hover{color:#fff;border-color:#fff}
.btn-line{display:inline-flex;align-items:center;min-height:48px;color:var(--navy);font-weight:700;font-size:16px;padding:12px 24px;border-radius:8px;border:1.5px solid var(--navy)}
.row{display:flex;flex-wrap:wrap;gap:14px}

/* hero */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero .contours{position:absolute;right:-120px;top:20px;opacity:.13;pointer-events:none}
.hero-in{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center;padding-top:80px;padding-bottom:150px}
.hero h1{color:#fff;font-weight:700;font-size:54px;letter-spacing:-.01em}
.hero p.lead{color:#c9d7e8;font-size:19px;max-width:560px}
.hero-txt{display:flex;flex-direction:column;gap:26px}
.pill{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 14px}
.hero-img{border-radius:14px;width:100%;height:440px;object-fit:cover}

/* inner page hero */
.phero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.phero .contours{position:absolute;right:-160px;top:-60px;opacity:.12;pointer-events:none}
.phero .wrap{position:relative;padding-top:72px;padding-bottom:80px;display:flex;flex-direction:column;gap:16px}
.phero h1{color:#fff;font-weight:700;font-size:48px;max-width:900px}
.phero p{color:#c9d7e8;font-size:19px;max-width:760px}
.crumb{font-size:14px;color:#9fb6d3}
.crumb a{color:#dbe6f3}

/* stats */
.stats-wrap{position:relative;margin-top:-80px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(5,30,79,.14);overflow:hidden}
.stat{padding:34px 30px;border-right:1px solid #e6ecf3;display:flex;flex-direction:column;gap:4px}
.stat:last-child{border-right:0}
.stat b{font-family:Roboto,sans-serif;font-weight:700;font-size:44px;color:var(--navy);line-height:1.1}
.stat span{color:var(--muted);font-weight:500}

/* sections */
.sec{padding-top:96px;padding-bottom:96px}
.sec-soft{background:var(--soft)}
.sec-dark{background:var(--deep);color:#fff}
.sec-dark h2,.sec-dark h3{color:#fff}
.sec-dark p{color:#b9c9de}
.head{display:flex;flex-direction:column;gap:14px;max-width:720px;margin-bottom:48px}
.head.c{align-items:center;text-align:center;margin-left:auto;margin-right:auto}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.head-row .head{margin-bottom:0}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.sec-dark .eyebrow{color:var(--green-l)}
h2{font-weight:700;font-size:40px}
.lead{font-size:18px;color:var(--muted)}
.more{font-weight:700;color:var(--navy);border-bottom:2px solid var(--navy);padding-bottom:4px}

.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}

.card{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;color:var(--text)}
a.card:hover{border-color:#b9cbe0;color:var(--text);box-shadow:0 10px 28px rgba(7,42,108,.08)}
.card .body{padding:28px;display:flex;flex-direction:column;gap:12px;flex:1}
.card h3{font-size:21px;font-weight:700}
.card p{color:var(--muted)}
.card .img{width:100%;height:220px;object-fit:cover;background:var(--chip)}
.card .img.contain{object-fit:contain;padding:14px;background:#fff;border-bottom:1px solid var(--line)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.tag{font-size:12.5px;font-weight:600;color:#1d3f6b;background:var(--chip);border-radius:999px;padding:5px 11px}
.kicker{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.ico{width:54px;height:54px;border-radius:12px;background:var(--chip);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}
.feat{display:flex;flex-direction:column;gap:14px}
.feat h3{font-size:20px}
.feat p{color:var(--muted)}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--text)}
.ticks li:before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308276a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}

/* service detail rows */
.svc{display:grid;grid-template-columns:5fr 7fr;gap:56px;scroll-margin-top:110px;align-items:center;padding:56px 0;border-bottom:1px solid var(--line)}
.svc:last-child{border-bottom:0}
.svc:nth-child(even) .svc-img{order:2}
.svc-img{border-radius:14px;width:100%;height:360px;object-fit:cover;background:var(--chip)}
.svc-txt{display:flex;flex-direction:column;gap:18px}
.svc-txt h2{font-size:32px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18)}
.step{padding:30px 28px 0 0;display:flex;flex-direction:column;gap:12px}
.step b{font-family:Roboto,sans-serif;font-weight:700;font-size:18px;color:var(--green-l)}
.step h3{font-size:22px}

/* chips */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.chip{font-family:Roboto,sans-serif;font-weight:600;font-size:18px;color:var(--navy);border:1px solid #cdd9e7;border-radius:10px;padding:18px 28px;background:#fff}

/* cta */
.cta{background:var(--navy);border-radius:18px;padding:64px 56px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;color:#fff}
.cta h2{color:#fff;font-size:38px}
.cta p{color:#c9d7e8;font-size:18px}
.cta .eyebrow{color:var(--green-l)}
.cta .txt{display:flex;flex-direction:column;gap:14px;max-width:640px}

/* article */
.article{max-width:760px;margin:0 auto}
.article .cover{width:100%;max-height:440px;object-fit:cover;border-radius:14px;margin-bottom:40px;background:var(--chip)}
.article p{font-size:18px;line-height:1.75;color:#24344c;margin-bottom:22px}
.article .src{background:var(--soft);border-radius:10px;padding:18px 22px;font-size:15px;word-break:break-all}
.date{font-size:14px;font-weight:700;color:var(--sky);letter-spacing:.04em;text-transform:uppercase}

/* people */
.person{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:center}
.person img{width:220px;height:220px;border-radius:14px;object-fit:cover;background:var(--chip)}

/* contact */
.cbox{display:flex;gap:18px;align-items:flex-start;padding:28px}
.cbox h3{font-size:19px;margin-bottom:4px}

/* footer */
.foot{background:var(--deep);color:#b9c9de;padding-top:72px;padding-bottom:32px}
.foot-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-g>div{display:flex;flex-direction:column;gap:12px}
.foot h4{color:#fff;font-size:16px}
.foot a{color:#b9c9de;font-size:15px}
.foot a:hover{color:#fff}
.foot .logo img{height:110px;width:110px;margin:-16px 0 -16px -14px}
.foot-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:14px}
.foot-b span{display:flex;gap:20px}

@media (max-width:1080px){
  .nav,.hdr .btn{display:none}
  .mnav{display:block}
}
@media (max-width:960px){
  .hero-in,.svc,.g2{grid-template-columns:repeat(1,minmax(0,1fr))}
  .svc:nth-child(even) .svc-img{order:0}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g4,.stats,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(2){border-right:0}
  .stat{border-bottom:1px solid #e6ecf3}
  .foot-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero h1{font-size:40px}
  .phero h1{font-size:38px}
  h2{font-size:32px}
  .hero-img{height:320px}
  .svc-img{height:280px}
}
@media (max-width:600px){
  .wrap{padding:0 18px}
  .g3,.g4,.steps,.foot-g{grid-template-columns:repeat(1,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:24px 20px}
  .stat b{font-size:34px}
  .hero h1{font-size:34px}
  .phero h1{font-size:32px}
  .cta{padding:40px 24px}
  .cta h2{font-size:30px}
  .person{grid-template-columns:1fr}
  .topbar .tag-line{display:none}
  .sec{padding-top:64px;padding-bottom:64px}
}

/* service visual panel (used where the photo is small or missing) */
.svc-panel{position:relative;overflow:hidden;border-radius:14px;height:360px;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:32px}
.svc-panel .contours{position:absolute;right:-260px;top:-80px;opacity:.14;pointer-events:none}
.panel-ico{position:relative;width:72px;height:72px;border-radius:16px;background:rgba(44,160,64,.16);color:var(--green);display:flex;align-items:center;justify-content:center}
.panel-thumb{position:absolute;right:28px;bottom:28px;width:min(240px,48%);height:auto;border-radius:10px;border:4px solid rgba(255,255,255,.9);box-shadow:0 14px 30px rgba(0,0,0,.3)}
.panel-t{position:relative;font-family:Roboto,sans-serif;font-weight:700;font-size:24px;max-width:55%;line-height:1.2}

/* tools strip */
.tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:40px;padding-bottom:8px}
.tools-l{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tools-r{display:flex;flex-wrap:wrap;gap:10px 30px}
.tools-r span{font-family:Roboto,sans-serif;font-weight:700;font-size:19px;color:#6b7a90}

/* contact form */
.cform label{display:flex;flex-direction:column;gap:6px;color:#dbe6f3;font-size:14px;font-weight:600}
.cform input,.cform select,.cform textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #c7d4e4;border-radius:8px;padding:12px 14px;min-height:46px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:3px solid var(--green);outline-offset:1px}
.cform textarea{resize:vertical}

:focus-visible{outline:3px solid var(--green);outline-offset:2px}
@media (max-width:960px){
  .svc{grid-template-columns:1fr;gap:28px}
  .svc-panel{height:280px}
}
@media (max-width:600px){
  .topbar .r,.topbar .l a:nth-child(2){display:none}
  .pills{display:none !important}
  .hero-in{padding-top:44px;padding-bottom:120px;gap:32px}
  .hero p.lead{font-size:17px}
  .logo img{height:80px;width:80px}
  .panel-t{font-size:20px}
  .tools-r span{font-size:16px}
}

.wide-img{width:100%;height:420px;object-fit:cover;border-radius:16px;margin-bottom:40px;background:var(--chip)}
.band img{width:100%;height:420px;object-fit:cover;display:block;background:var(--chip)}
@media (max-width:600px){.wide-img,.band img{height:240px}}

/* photo hero (landing page) */
.hero-photo{min-height:640px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,30,79,.94) 0%,rgba(7,42,108,.82) 45%,rgba(7,42,108,.25) 100%)}
.hero-photo .hero-in{position:relative;z-index:2}
.hero-one{grid-template-columns:minmax(0,1fr);width:100%}
.hero-one .hero-txt{max-width:700px}

/* services dropdown */
.dd{position:relative}
.dd>a{display:inline-flex;align-items:center;gap:6px}
.dd-menu{display:none;position:absolute;top:100%;left:-16px;min-width:300px;background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(5,30,79,.22);padding:10px;z-index:60}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:flex;flex-direction:column}
.dd-menu a{color:var(--ink) !important;font-size:15px;font-weight:600;padding:11px 14px;border-radius:8px;border:0 !important}
.dd-menu a:hover{background:var(--chip);color:var(--navy) !important}

/* landing sections */
.about-img{width:100%;height:460px;object-fit:cover;border-radius:16px;background:var(--chip)}
.mini-box{background:var(--soft);border-radius:12px;padding:20px}
.mini-box h3{font-size:18px;margin-bottom:6px}
.mini-box p{color:var(--muted);font-size:15px}
.sol-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sol-item{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;font-weight:600;color:var(--ink)}
.sol-item .ico{width:46px;height:46px}
.svc-card-img{position:relative}
.svc-card .img{height:200px}
.svc-card-ico{position:absolute;left:20px;bottom:-22px;width:48px;height:48px;border-radius:12px;background:var(--green);color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.svc-card .body{padding-top:36px}
.spot{display:grid;grid-template-columns:6fr 5fr;gap:40px;align-items:stretch}
.spot-img{width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:16px;background:var(--chip)}
.spot-list{display:flex;flex-direction:column;gap:16px}
.spot-item{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;flex:1;align-items:flex-start}
.spot-item h3{font-size:20px;margin-bottom:6px}
.spot-item p{color:var(--muted)}
.chips.dark .chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff}
#about,#why,#services,#solutions,#references,#consulting,#insights,#contact{scroll-margin-top:100px}
@media (max-width:960px){
  .spot{grid-template-columns:1fr}
  .spot-img{min-height:260px}
  .about-img{height:320px}
  .hero-photo{min-height:560px}
  .hero-photo:before{background:rgba(5,30,79,.82)}
}
@media (max-width:600px){
  .sol-list{grid-template-columns:1fr}
  .hero-photo{min-height:0}
}

.hero{isolation:isolate}
.stats-wrap{z-index:5}

/* Bravo-style mega menu */
.nav{gap:26px}
.dd-menu.mega{flex-direction:row !important;flex-wrap:wrap;gap:8px 28px;min-width:820px;padding:22px 24px;left:-240px}
.dd-menu.mega2{min-width:480px;left:-120px}
.dd:hover .dd-menu.mega,.dd:focus-within .dd-menu.mega{display:flex}
.mm-col{display:flex;flex-direction:column;flex:1;min-width:180px}
.mm-col h5{margin:0 0 6px;padding:0 14px;font-family:Roboto,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.mm-all{flex-basis:100%;margin-top:6px;border-top:1px solid var(--line) !important;border-radius:0 !important;padding-top:14px !important;color:var(--navy) !important}
.dd:before{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
.mlinks .mh{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);padding:16px 0 4px}
.mlinks{max-height:calc(100vh - 140px);overflow-y:auto}

/* page hero with photo (inner pages) */
.ph-photo{min-height:380px;display:flex;align-items:center;isolation:isolate}
.ph-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,30,79,.94) 0%,rgba(7,42,108,.8) 50%,rgba(7,42,108,.35) 100%)}
.ph-photo .wrap{position:relative;z-index:2;width:100%}
.sectors .card .body{flex:1}
@media (max-width:960px){.ph-photo:before{background:rgba(5,30,79,.82)}.ph-photo{min-height:300px}}

/* ===== Bravo-style floating header ===== */
.topbar{display:none}
.hdr{position:fixed !important;top:20px;left:0;right:0;z-index:100;background:transparent !important;box-shadow:none !important;padding:0 32px;pointer-events:none}
.hdr-bar{pointer-events:auto;max-width:1232px;margin:0 auto;height:80px;background:#0e3a6b;border-radius:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 20px 0 22px;box-shadow:0 10px 30px rgba(0,16,40,.28);transition:background .2s}
.hdr.scrolled .hdr-bar{background:rgba(14,58,107,.97)}
.hdr .logo img{height:70px;width:70px;margin:0}
.nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav>a,.nav .dd>a{color:#d1d5db;font-size:16px;font-weight:500;padding:8px 12px;border-bottom:0 !important}
.nav>a:hover,.nav .dd>a:hover{color:#fff}
.nav a.on{color:var(--green-l) !important;font-weight:700}
.nav .nav-cta{margin-left:10px;background:var(--green);color:var(--navy) !important;font-weight:700;font-size:15px;padding:10px 22px;border-radius:8px}
.nav .nav-cta:hover{background:var(--green-h)}
.dd-menu{top:calc(100% + 18px);border-radius:12px}
.dd:before{height:22px}
.dd-menu.mega{left:auto;right:-140px}
.dd-menu.mega2{left:auto;right:-60px}
.dd-menu:not(.mega){left:0}
/* make room for the floating header */
.hero-photo .hero-in{padding-top:170px}
.hero:not(.hero-photo) .hero-in{padding-top:160px}
.phero .wrap{padding-top:150px}
.ph-photo{min-height:460px}
.hero-photo{min-height:720px}
/* mobile: rounded bar with hamburger + white panel like Bravo */
.mnav summary{border:0;padding:8px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;color:#d1d5db;border-radius:8px}
.mnav summary:hover{color:#fff}
.mlinks{top:calc(100% + 10px);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 18px 40px rgba(5,30,79,.25);padding:14px 18px 18px}
.mlinks a{color:var(--ink);border-bottom:1px solid var(--line)}
.mlinks a.btn{color:#fff;border:0;justify-content:center}
.mlinks .mh{color:var(--sky)}
.hdr-bar{position:relative}
@media (max-width:1080px){
  .nav{display:none}
  .mnav{display:block;margin-left:auto}
  .hdr-bar{height:68px;border-radius:24px}
  .hdr .logo img{height:58px;width:58px}
}
@media (max-width:600px){
  .hdr{top:12px;padding:0 12px}
  .hero-photo .hero-in,.hero:not(.hero-photo) .hero-in{padding-top:120px}
  .phero .wrap{padding-top:120px}
}

/* ===== logo colors + white floating header ===== */
:root{--green-l:#5cc46a;--navy:#072a6c;--deep:#051e4f;--green:#2ca040;--green-h:#23893a;--sky:#0b66b8;--wave:#4596e0;--lime:#7cc77f}
.hdr-bar{background:#fff;box-shadow:0 10px 30px rgba(5,30,79,.18);border:1px solid rgba(7,42,108,.06)}
.hdr.scrolled .hdr-bar{background:rgba(255,255,255,.97)}
.hdr .logo img{height:50px;width:auto;margin:0}
.nav>a,.nav .dd>a{color:var(--navy)}
.nav>a:hover,.nav .dd>a:hover{color:var(--sky)}
.nav a.on{color:var(--sky) !important}
.nav .nav-cta{color:#fff !important;background:var(--navy)}
.nav .nav-cta:hover{background:var(--sky)}
.mnav summary{color:var(--navy)}
.mnav summary:hover{color:var(--sky)}
.dd-menu{border:1px solid var(--line)}
.foot-logo{display:inline-flex;background:#fff;border-radius:14px;padding:12px 16px;align-self:flex-start}
.foot-logo img{height:44px;width:auto}
.eyebrow{color:var(--sky)}
.hero .pill{border-color:rgba(69,150,224,.6)}
.stat b{color:var(--navy)}
.ticks li:before{background-color:var(--green)}
@media (max-width:1080px){.hdr .logo img{height:42px}}
@media (max-width:600px){.hdr .logo img{height:36px}}

/* ===== floating header, navy colour ===== */
.hdr-bar{background:var(--navy);border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px rgba(5,30,79,.35)}
.hdr.scrolled .hdr-bar{background:rgba(7,42,108,.97)}
.nav>a,.nav .dd>a{color:#d6e0ef}
.nav>a:hover,.nav .dd>a:hover{color:#fff}
.nav a.on{color:var(--green-l) !important}
.nav .nav-cta{background:var(--green);color:#fff !important}
.nav .nav-cta:hover{background:var(--green-h)}
.mnav summary{color:#fff}
.mnav summary:hover{color:var(--green)}

.foot-logo{background:transparent !important;padding:0 !important;border-radius:0 !important}
.foot-logo img{height:52px}

/* ===== CMS version extras ===== */
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.rich p{margin:0 0 16px}
.rich p:last-child{margin-bottom:0}
.rich h2,.rich h3,.rich h4{margin:28px 0 12px}
.rich ul,.rich ol{margin:0 0 16px;padding-left:22px}
.rich li{margin-bottom:6px}
.rich img{border-radius:12px;margin:16px 0}
.rich a{text-decoration:underline}
.article .rich p{font-size:18px;line-height:1.75;color:#24344c;margin-bottom:22px}
.cval{font-size:18px;font-weight:600}
.svc-txt .btn-line{margin-top:6px}

/* ===================================================================
   PHONE LAYOUT (professional mobile pass)
   =================================================================== */
.mbar{display:none}
.mg summary{list-style:none}
.mg summary::-webkit-details-marker{display:none}

@media (max-width:1080px){
  /* menu: full-height sheet with collapsible groups */
  .mlinks{max-height:calc(100dvh - 110px);padding:8px 18px 18px}
  .mlinks>a{font-size:17px;padding:14px 2px}
  .mg{border-bottom:1px solid var(--line)}
  .mg summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:14px 2px;font-weight:700;font-size:17px;color:var(--ink);min-height:48px}
  .mg summary:after{content:"";width:9px;height:9px;border-right:2px solid var(--sky);border-bottom:2px solid var(--sky);transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .2s}
  .mg[open] summary:after{transform:rotate(-135deg);margin-top:4px}
  .mg>div{display:flex;flex-direction:column;padding:0 0 10px 12px;border-left:2px solid var(--chip);margin:0 0 8px 4px}
  .mg>div a{border:0 !important;padding:10px 2px;font-size:15.5px;color:#33445c;font-weight:600}
  .m-cta{display:flex;flex-direction:column;gap:10px;margin-top:16px}
  .m-cta a{justify-content:center;width:100%;min-height:50px}
  .m-cta .btn-line{border-color:var(--navy);color:var(--navy)}
  .mlinks .mh{display:none}
}

@media (max-width:600px){
  body{font-size:15.5px}
  .wrap{padding:0 18px}
  .sec{padding-top:52px;padding-bottom:52px}
  h2{font-size:27px;letter-spacing:-.01em}
  .lead{font-size:16px}
  .head{margin-bottom:26px;gap:10px}
  .head-row{margin-bottom:26px;gap:12px;align-items:flex-start;flex-direction:column}
  .eyebrow{font-size:12px}

  /* hero */
  .hero-photo .hero-in{padding-top:112px;padding-bottom:96px}
  .hero h1{font-size:31px;line-height:1.12}
  .hero p.lead{font-size:15.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .hero-txt{gap:18px}
  .hero .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero .row .btn,.hero .row .btn-ghost{width:100%;padding:12px 10px;font-size:15px;min-height:50px;justify-content:center;text-align:center}

  /* numbers */
  .stats-wrap{margin-top:-56px}
  .stat{padding:18px 16px;gap:2px}
  .stat b{font-size:28px}
  .stat span{font-size:13.5px;line-height:1.35}

  /* tools: one swipeable line */
  .tools{flex-direction:column;align-items:flex-start;gap:10px;padding-top:26px}
  .tools-r{flex-wrap:nowrap;overflow-x:auto;gap:8px;width:calc(100% + 36px);margin:0 -18px;padding:0 18px 6px;scrollbar-width:none}
  .tools-r::-webkit-scrollbar{display:none}
  .tools-r span{flex:none;font-size:14px;color:var(--navy);background:var(--chip);border-radius:999px;padding:7px 14px}

  /* swipe rows: cards slide sideways instead of stacking */
  .swipe{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -18px;padding:4px 18px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .swipe::-webkit-scrollbar{display:none}
  .swipe>*{flex:0 0 82%;scroll-snap-align:start;scroll-margin-left:18px}
  .swipe .card .img{height:170px}
  .swipe .card .body{padding:20px;gap:10px}
  .swipe .card h3{font-size:18px}
  .swipe .card p{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .svc-card .body{padding-top:30px !important}
  .swipe-hint{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);margin:-14px 0 14px}

  /* why us: compact 2 x 2 */
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px}
  .why-grid .feat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;gap:8px}
  .why-grid .ico{width:40px;height:40px;border-radius:10px}
  .why-grid .ico svg{width:20px;height:20px}
  .why-grid h3{font-size:15.5px}
  .why-grid p{font-size:13.5px;line-height:1.5}

  /* about / solutions images */
  .about-img{height:220px;border-radius:14px}
  .mini-box{padding:16px}
  .sol-item{padding:12px;font-size:14.5px}

  /* how we work: compact 2 x 2 */
  .steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px 16px;border-top:0}
  .step{padding:16px 0 0;border-top:1px solid rgba(255,255,255,.18);gap:6px}
  .step h3{font-size:18px}
  .step p{font-size:14px}

  /* consulting spotlight */
  .spot{gap:16px}
  .spot-img{min-height:200px;height:200px}
  .spot-item{padding:16px;gap:14px}
  .spot-item h3{font-size:17px}
  .spot-item p{font-size:14px}

  /* partner chips */
  .chips{gap:8px}
  .chip{font-size:14px;padding:10px 14px}

  /* contact */
  .cbox{padding:16px;gap:14px}
  .cbox h3{font-size:15px}
  .cval{font-size:16px}
  .cform{padding:24px !important;gap:14px !important}
  .cform h2{font-size:24px !important}
  .cform input,.cform select,.cform textarea{font-size:16px}
  .cform .btn{width:100%}
  .cta{padding:32px 22px;border-radius:16px}
  .cta h2{font-size:26px}
  .cta .row{width:100%;display:grid;grid-template-columns:1fr;gap:10px}
  .cta .row a{justify-content:center}

  /* inner pages */
  .phero .wrap{padding-top:108px;padding-bottom:44px;gap:10px}
  .ph-photo{min-height:0}
  .phero h1{font-size:28px}
  .phero p{font-size:15.5px}
  .svc{padding:36px 0;gap:18px}
  .svc-img{height:210px}
  .svc-txt h2{font-size:24px}
  .wide-img,.band img{height:210px}
  .person{gap:16px}
  .person img{width:100%;height:280px}
  .article .cover{margin-bottom:24px}
  .article .rich p,.article p{font-size:16.5px;line-height:1.7}

  /* footer */
  .foot{padding-top:44px;padding-bottom:96px}
  .foot-g{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px 18px;padding-bottom:30px}
  .foot-g>div:first-child,.foot-g>div:last-child{grid-column:1 / -1}
  .foot a{font-size:14.5px}
  .foot-logo img{height:40px}
  .foot-b{flex-direction:column;gap:10px}

  /* sticky quick-contact bar */
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);box-shadow:0 -6px 24px rgba(5,30,79,.14);backdrop-filter:blur(8px)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:10px;font-weight:700;font-size:15.5px}
  .mbar-call{padding:0 20px;color:var(--navy);border:1.5px solid var(--navy)}
  .mbar-cta{background:var(--green);color:#fff}
  .mbar-cta:hover{color:#fff}
}
@media (max-width:1080px){
  .hdr .m-cta .btn{display:inline-flex;background:var(--green);color:#fff}
  .hdr .m-cta .btn-line{display:inline-flex;align-items:center}
  body:has(.mnav[open]) .mbar{display:none}
}
@media (max-width:600px){ .hero .row .btn{color:#fff} }

.btn:hover{color:#fff}
.logo img{height:50px;width:auto;margin:0}
@media (max-width:600px){.logo img{height:40px}}

/* ===================================================================
   HOMEPAGE SLIDER (hero with slide previews)
   =================================================================== */
.hs{min-height:760px;display:block;padding:0}
.hs:before{display:none}
.hs-slides{display:grid;min-height:inherit}
.hs-slide{grid-area:1/1;position:relative;display:flex;align-items:center;min-height:inherit;opacity:0;visibility:hidden;transition:opacity 1s cubic-bezier(.45,0,.2,1),visibility 0s linear 1s}
.hs-slide.on{opacity:1;visibility:visible;transition:opacity 1s cubic-bezier(.45,0,.2,1);z-index:1}
.hs-slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,30,79,.95) 0%,rgba(7,42,108,.84) 42%,rgba(7,42,108,.2) 100%)}
.hs-slide .hero-bg{transform:scale(1.06);transition:transform 1s ease;will-change:transform,opacity}
.hs-slide.on .hero-bg{transform:scale(1);transition:transform 3.6s cubic-bezier(.2,.6,.3,1)}
.hs-slide .hero-in{position:relative;z-index:2;padding-bottom:230px}
.hs-slide .hero-txt>*{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.hs-slide.on .hero-txt>*{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.7,.2,1) .25s,transform .9s cubic-bezier(.2,.7,.2,1) .25s}
.hs-slide.on .hero-txt>*:nth-child(2){transition-delay:.33s}
.hs-slide.on .hero-txt>*:nth-child(3){transition-delay:.41s}
.hs-slide.on .hero-txt>*:nth-child(4){transition-delay:.49s}
.hs .hs-title{color:#fff;font-weight:700;font-size:54px;letter-spacing:-.01em;line-height:1.08;margin:0}
.hs-kick{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;color:#dbe8f7;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 16px 7px 8px}
.hs-kick b{background:var(--green);color:#fff;border-radius:999px;padding:3px 9px;letter-spacing:.04em}

.hs-ui{position:absolute;z-index:4;left:0;right:0;bottom:112px;max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:flex-end;gap:22px}
.hs-ctrl{display:flex;align-items:center;gap:8px;flex:none}
.hs-arr{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.hs-arr:hover{background:#fff;color:var(--navy);border-color:#fff}
.hs-arr svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.hs-pause svg path{fill:none}
.hs-count{color:#c9d7e8;font-size:14px;font-weight:600;min-width:64px;text-align:center;font-variant-numeric:tabular-nums}
.hs-count b{color:#fff;font-size:18px}
.hs-thumbs{display:flex;gap:10px;flex:1;min-width:0;justify-content:flex-end}
.hs-thumbs .hs-th{flex:1 1 0;max-width:220px;min-width:0}
.hs-th{position:relative;display:flex;align-items:center;gap:12px;transition:background .5s ease,color .5s ease,border-color .5s ease,transform .3s ease;text-align:left;padding:8px 14px 12px 8px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(5,30,79,.55);backdrop-filter:blur(10px);color:#fff;cursor:pointer;overflow:hidden;transition:background .25s,border-color .25s,transform .25s}
.hs-th:hover{background:rgba(5,30,79,.8);border-color:rgba(255,255,255,.4);transform:translateY(-3px)}
.hs-th.on{background:rgba(255,255,255,.96);color:var(--navy);border-color:#fff}
.hs-th img{width:58px;height:46px;border-radius:8px;object-fit:cover;flex:none}
.hs-th span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.hs-th small{font-size:12px;font-weight:700;color:var(--green-l);letter-spacing:.06em}
.hs-th.on small{color:var(--green)}
.hs-th b{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-bar{position:absolute;left:8px;right:8px;bottom:5px;height:3px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}
.hs-th.on .hs-bar{background:rgba(7,42,108,.12)}
.hs-bar i{display:block;height:100%;width:0;background:var(--green);border-radius:3px}
.hs-th.on .hs-bar i{animation:hsbar 2.5s linear forwards}
.hs-paused .hs-th.on .hs-bar i{animation-play-state:paused}
@keyframes hsbar{to{width:100%}}
@media (prefers-reduced-motion:reduce){.hs-slide,.hs-slide .hero-bg,.hs-slide .hero-txt>*{transition:none!important}.hs-th.on .hs-bar i{animation:none;width:100%}}

@media (max-width:1180px){.hs-th img{width:46px;height:40px}}
@media (max-width:960px){
  .hs{min-height:700px}
  .hs .hs-title{font-size:40px}
  .hs-ui{flex-direction:column-reverse;align-items:stretch;gap:12px;bottom:100px;padding:0 24px}
  .hs-thumbs{justify-content:flex-start}
  .hs-ctrl{justify-content:flex-start}
  .hs-slide .hero-in{padding-bottom:270px}
  .hs-slide:before{background:linear-gradient(180deg,rgba(5,30,79,.72) 0%,rgba(7,42,108,.86) 55%,rgba(5,30,79,.96) 100%)}
}
@media (max-width:600px){
  .hs{min-height:690px}
  .hs .hs-title{font-size:30px;line-height:1.12}
  .hs-slide .hero-in{padding-top:104px;padding-bottom:210px}
  .hs-slide{align-items:flex-start}
  .hs-ui{bottom:84px;padding:0 18px;gap:10px}
  .hs-thumbs{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:18px;margin:0 -18px;padding:2px 18px 4px;scrollbar-width:none;gap:8px}
  .hs-thumbs::-webkit-scrollbar{display:none}
  .hs-thumbs .hs-th{flex:0 0 auto;max-width:none;width:auto;scroll-snap-align:start;padding:6px 14px 10px 6px;gap:8px;border-radius:10px}
  .hs-th img{width:36px;height:32px;border-radius:6px}
  .hs-th b{font-size:13.5px}
  .hs-th small{font-size:11px}
  .hs-th:hover{transform:none}
  .hs-arr{width:38px;height:38px}
  .hs-ctrl{gap:6px}
  .hs-kick{font-size:11.5px;padding:5px 12px 5px 6px}
}

.hs-ui{justify-content:flex-end}
@media (max-width:960px){.hs-slide .hero-in{padding-bottom:200px}}
@media (max-width:600px){.hs-slide .hero-in{padding-bottom:160px}}
@media (min-width:961px){.hs-thumbs .hs-th{max-width:none}}

/* ===================================================================
   LEADERSHIP & TEAM
   =================================================================== */
.tm-lead{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:48px;align-items:center;background:#fff;border-radius:20px;padding:28px;box-shadow:0 1px 2px rgba(7,42,108,.05),0 18px 40px rgba(7,42,108,.08);margin-bottom:28px}
.tm-lead-ph{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,var(--navy),var(--sky))}
.tm-lead-ph:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--green),var(--sky))}
.tm-lead-ph img,.tm-ph img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tm-ini{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:700 56px/1 Roboto,sans-serif;letter-spacing:.02em}
.tm-lead-tx{display:flex;flex-direction:column;gap:14px;padding-right:12px}
.tm-role{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:#e9f6ec;border-radius:999px;padding:6px 14px}
.tm-lead h3{font-size:38px;line-height:1.1;color:var(--navy)}
.tm-bio p{margin:0 0 12px;color:#33445c;font-size:17px;line-height:1.7}
.tm-bio p:last-child{margin-bottom:0}
.tm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tm-tags span{font-size:14px;font-weight:600;color:var(--navy);background:var(--soft,#eef3fa);border:1px solid #dbe6f3;border-radius:999px;padding:6px 14px}
.tm-socs{display:flex;gap:8px;margin-top:4px}
.tm-soc{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:700;font-size:15px;text-decoration:none}
.tm-soc:hover{background:var(--sky);color:#fff}
.tm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tm-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(7,42,108,.05),0 10px 26px rgba(7,42,108,.07);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.tm-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,42,108,.12)}
.tm-ph{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,var(--navy),var(--sky))}
.tm-tx{padding:22px;display:flex;flex-direction:column;gap:10px}
.tm-card h3{font-size:22px;color:var(--navy)}
.tm-card .tm-bio p{font-size:15.5px;line-height:1.6}
@media (max-width:960px){.tm-lead{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px}.tm-lead h3{font-size:30px}.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tm-lead{grid-template-columns:1fr;padding:16px;gap:20px;border-radius:16px}.tm-lead-ph{aspect-ratio:1/1}.tm-lead-tx{padding:0 4px 6px}.tm-lead h3{font-size:28px}.tm-bio p{font-size:16px}.tm-grid{grid-template-columns:1fr}}

/* ===================================================================
   SERVICE CARDS
   =================================================================== */
.svc-card{--ac:var(--sky);display:flex;flex-direction:column;border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(7,42,108,.05),0 10px 30px rgba(7,42,108,.08);color:inherit;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(7,42,108,.16)}
.svc-card-img{position:relative;overflow:visible}
.svc-im{overflow:hidden;border-radius:18px 18px 0 0}
.svc-card .svc-card-img{overflow:visible}
.svc-card-img:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,30,79,0) 45%,rgba(5,30,79,.55));border-radius:18px 18px 0 0}
.svc-card .img{height:210px;width:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover .img{transform:scale(1.06)}
.svc-num{position:absolute;z-index:2;top:14px;right:14px;font:700 13px/1 Roboto,sans-serif;letter-spacing:.08em;color:#fff;background:rgba(5,30,79,.45);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);border-radius:999px;padding:6px 11px}
.svc-card-ico{position:absolute;z-index:2;left:22px;bottom:-28px;width:58px;height:58px;border-radius:16px;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 10px 22px rgba(7,42,108,.22);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover .svc-card-ico{transform:translateY(-3px) rotate(-4deg)}
.svc-card .body{padding:44px 24px 24px !important;display:flex;flex-direction:column;gap:12px;flex:1}
.svc-card h3{font-size:21px;line-height:1.25;color:var(--navy)}
.svc-card p{color:#4a5a70;font-size:15.5px;line-height:1.6;margin:0}
.svc-items{list-style:none;margin:4px 0 0;padding:14px 0 0;border-top:1px solid #e6ecf3;display:flex;flex-direction:column;gap:8px}
.svc-items li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:#33445c;line-height:1.4}
.svc-items svg{color:var(--ac);flex:none;margin-top:2px}
.svc-go{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--navy);font-size:15px}
.svc-go i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--ac) 35%,#fff);color:var(--ac);transition:background .3s,color .3s,transform .3s,border-color .3s}
.svc-card:hover .svc-go i{background:var(--ac);border-color:var(--ac);color:#fff;transform:translateX(3px)}
@media (max-width:600px){.svc-card .img{height:180px}.svc-card .body{padding:40px 20px 20px !important}.svc-card h3{font-size:19px}.svc-items li:nth-child(n+3){display:none}}

/* ===================================================================
   WHY CHOOSE US
   =================================================================== */
.why2-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.why2-intro{display:flex;flex-direction:column;gap:18px;position:sticky;top:120px}
.why2-intro h2{margin:0}
.why2-intro .btn{align-self:flex-start;margin-top:6px}
.why2-photo{position:relative;border-radius:20px;overflow:hidden;height:300px;margin-top:8px;box-shadow:0 18px 40px rgba(7,42,108,.14)}
.why2-photo img{width:100%;height:100%;object-fit:cover;display:block}
.why2-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,30,79,0) 50%,rgba(5,30,79,.55))}
.why2-badge{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:14px;padding:12px 14px}
.why2-badge>span{width:42px;height:42px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;flex:none}
.why2-badge b{display:block;color:var(--navy);font-size:15.5px}
.why2-badge small{display:block;color:#4a5a70;font-size:13.5px}
.why2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.why2-card{--ac:var(--sky);position:relative;overflow:hidden;background:#fff;border-radius:18px;padding:30px 28px 32px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgba(7,42,108,.05),0 10px 28px rgba(7,42,108,.07);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.why2-grid>.why2-card:nth-child(even){transform:translateY(28px)}
.why2-card:hover{box-shadow:0 22px 48px rgba(7,42,108,.14);transform:translateY(-6px)}
.why2-grid>.why2-card:nth-child(even):hover{transform:translateY(22px)}
.why2-n{position:absolute;top:18px;right:22px;font:700 44px/1 Roboto,sans-serif;color:color-mix(in srgb,var(--ac) 14%,#fff);letter-spacing:-.02em}
.why2-ico{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;color:var(--ac);background:color-mix(in srgb,var(--ac) 12%,#fff);margin-bottom:6px;transition:background .35s,color .35s}
.why2-card:hover .why2-ico{background:var(--ac);color:#fff}
.why2-card h3{font-size:20px;color:var(--navy);margin:0}
.why2-card p{margin:0;color:#4a5a70;font-size:15.5px;line-height:1.65}
.why2-bar{position:absolute;left:28px;bottom:0;height:4px;width:44px;border-radius:4px 4px 0 0;background:var(--ac);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.why2-card:hover .why2-bar{width:calc(100% - 56px)}
@media (max-width:1080px){.why2-in{grid-template-columns:1fr;gap:36px}.why2-intro{position:static}.why2-photo{height:280px}}
@media (max-width:600px){
  .why2-grid{grid-template-columns:1fr;gap:12px}
  .why2-card,.why2-card:nth-child(even){transform:none;padding:20px 20px 22px;display:grid;grid-template-columns:48px 1fr;column-gap:14px;row-gap:4px;align-items:start}
  .why2-card:hover,.why2-card:nth-child(even):hover{transform:none}
  .why2-ico{width:48px;height:48px;border-radius:14px;margin:0;grid-row:span 2}
  .why2-ico svg{width:22px;height:22px}
  .why2-card h3{font-size:17px;padding-right:36px;align-self:center}
  .why2-card p{font-size:14.5px;line-height:1.55;grid-column:2}
  .why2-n{font-size:28px;top:14px;right:16px}
  .why2-bar{left:20px}
  .why2-photo{height:250px}
  .why2-badge{left:10px;right:10px;bottom:10px;padding:8px 10px;gap:10px}
  .why2-badge>span{width:34px;height:34px;border-radius:10px}
  .why2-badge b{font-size:14px}.why2-badge small{font-size:12.5px}
  .why2-intro .btn{align-self:stretch}
}

/* ===================================================================
   MODERN INNER PAGES
   =================================================================== */
/* page hero */
.ph2 .wrap{gap:18px}
.ph2.ph-photo{min-height:520px}
.ph2.ph-photo:before{background:linear-gradient(100deg,rgba(5,30,79,.96) 0%,rgba(7,42,108,.86) 48%,rgba(7,42,108,.35) 100%)}
.ph2 .hero-bg{animation:phzoom 9s cubic-bezier(.2,.6,.3,1) both}
@keyframes phzoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.ph2:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:48px;z-index:3;background:var(--bg-after,#fff);clip-path:ellipse(75% 100% at 50% 100%)}
.crumb2{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;align-self:flex-start;font-size:13.5px;font-weight:600;color:#c9d7e8;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 16px;backdrop-filter:blur(6px)}
.crumb2 a{color:#fff;text-decoration:none}.crumb2 a:hover{color:var(--green-l)}
.crumb2 span{opacity:.55}.crumb2 b{color:var(--green-l);font-weight:700}
.ph-kick{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-l)}
.ph2 h1{font-size:54px;line-height:1.08;letter-spacing:-.015em;max-width:880px}
.ph2 p{font-size:19px;line-height:1.6;max-width:700px}
.ph2 .wrap>*{animation:phup .8s cubic-bezier(.2,.7,.2,1) both}
.ph2 .wrap>*:nth-child(2){animation-delay:.08s}.ph2 .wrap>*:nth-child(3){animation-delay:.16s}.ph2 .wrap>*:nth-child(4){animation-delay:.24s}.ph2 .wrap>*:nth-child(5){animation-delay:.32s}.ph2 .wrap>*:nth-child(6){animation-delay:.4s}
@keyframes phup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ph-meta{display:flex;flex-wrap:wrap;gap:8px}
.ph-meta span{font-size:14px;font-weight:600;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px}
.ph-article h1{font-size:46px;max-width:960px}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;max-width:980px}
.jump a{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:600;font-size:14.5px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 14px 8px 8px;transition:background .25s,transform .25s,border-color .25s}
.jump a i{width:30px;height:30px;border-radius:9px;background:var(--ac);display:grid;place-items:center;flex:none}
.jump a:hover{background:#fff;color:var(--navy);transform:translateY(-2px);border-color:#fff}

/* outline button */
.btn-line2{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:8px;border:1.5px solid #c7d4e4;color:var(--navy);font-weight:700;text-decoration:none;background:#fff;transition:border-color .2s,background .2s,color .2s}
.btn-line2:hover{border-color:var(--navy);background:var(--navy);color:#fff}

/* services list */
.svc2-list{padding-top:72px;padding-bottom:40px;display:flex;flex-direction:column;gap:88px}
.svc2{--ac:var(--sky);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;scroll-margin-top:120px}
.svc2:nth-child(even) .svc2-media{order:2}
.svc2-media{position:relative}
.svc2-media img{width:100%;height:440px;object-fit:cover;border-radius:24px;display:block;box-shadow:0 24px 50px rgba(7,42,108,.16)}
.svc2-media:before{content:"";position:absolute;inset:22px -22px -22px 22px;border-radius:26px;background:color-mix(in srgb,var(--ac) 14%,#fff);z-index:-1}
.svc2:nth-child(even) .svc2-media:before{inset:22px 22px -22px -22px}
.svc2-num{position:absolute;top:20px;left:20px;font:700 15px/1 Roboto,sans-serif;letter-spacing:.08em;color:#fff;background:rgba(5,30,79,.5);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);border-radius:999px;padding:8px 14px}
.svc2-ico{position:absolute;right:26px;bottom:-26px;width:68px;height:68px;border-radius:20px;background:var(--ac);color:#fff;display:grid;place-items:center;border:5px solid #fff;box-shadow:0 14px 30px rgba(7,42,108,.25)}
.svc2-txt{display:flex;flex-direction:column;gap:18px}
.svc2-grp{align-self:flex-start;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,#fff);border-radius:999px;padding:6px 14px}
.svc2-txt h2{font-size:36px;line-height:1.15;color:var(--navy);margin:0}
.svc2-txt .lead{margin:0}
.svc2-items{list-style:none;margin:2px 0 4px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.svc2-items li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:#24344c;line-height:1.45;font-weight:500}
.svc2-items li span{width:22px;height:22px;border-radius:7px;flex:none;display:grid;place-items:center;background:var(--ac,var(--green));color:#fff;margin-top:1px}
.svc2-txt .row{gap:12px;flex-wrap:wrap}
.svc-detail .svc2-items{grid-template-columns:1fr}

/* article cards */
.post2{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(7,42,108,.05),0 10px 28px rgba(7,42,108,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.post2:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(7,42,108,.15)}
.post2-im{position:relative;overflow:hidden;height:210px;background:var(--soft,#eef3fa)}
.post2-im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.post2:hover .post2-im img{transform:scale(1.06)}
.post2-cat{position:absolute;left:14px;top:14px;font-size:12px;font-weight:700;color:var(--navy);background:rgba(255,255,255,.95);border-radius:999px;padding:6px 12px}
.post2-b{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.post2-meta{display:flex;gap:14px;font-size:13px;font-weight:600;color:#6b7a90}
.post2-meta span+span:before{content:"•";margin-right:14px;color:#b9c9de}
.post2 h3{font-size:20px;line-height:1.3;color:var(--navy);margin:0}
.post2 p{margin:0;color:#4a5a70;font-size:15px;line-height:1.6}
.post2-go{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--navy);font-size:15px}
.post2-go i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #c7d4e4;color:var(--sky);transition:all .3s}
.post2:hover .post2-go i{background:var(--green);border-color:var(--green);color:#fff;transform:translateX(3px)}
.post2-feat{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);margin-bottom:28px}
.post2-feat .post2-im{height:auto;min-height:380px}
.post2-feat .post2-b{padding:40px;justify-content:center}
.post2-feat h3{font-size:32px;line-height:1.2}
.post2-feat p{font-size:17px}
.post2-feat .post2-go{margin-top:12px}
.filt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filt button{font:inherit;font-weight:600;font-size:14.5px;border:1.5px solid #dbe6f3;background:#fff;color:var(--navy);border-radius:999px;padding:8px 16px;cursor:pointer;transition:all .2s}
.filt button:hover{border-color:var(--sky)}
.filt button.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* article page */
.readbar{position:fixed;left:0;right:0;top:0;height:4px;z-index:200;pointer-events:none}
.readbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--sky))}
.article{max-width:760px}
.article .rich h2,.article .rich h3{color:var(--navy);margin:36px 0 14px}
.article .rich p:first-child{font-size:20px;line-height:1.7;color:#13233a}
.article .rich a{color:var(--sky)}
.article .rich ul{padding-left:22px;margin:0 0 22px}
.article .rich li{font-size:17.5px;line-height:1.7;margin-bottom:8px;color:#24344c}
.article .rich blockquote{margin:28px 0;padding:18px 24px;border-left:4px solid var(--green);background:var(--soft,#eef3fa);border-radius:0 12px 12px 0}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid #e6ecf3}
.share b{margin-right:6px;color:var(--navy)}
.share a{font-size:14px;font-weight:600;color:var(--navy);border:1.5px solid #dbe6f3;border-radius:999px;padding:7px 14px;text-decoration:none;cursor:pointer;transition:all .2s}
.share a:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* project cards */
.prj{--ac:var(--sky);display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(7,42,108,.05),0 10px 28px rgba(7,42,108,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.prj:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(7,42,108,.15)}
.prj-im{position:relative;height:200px;background:linear-gradient(160deg,#f6f9fd,color-mix(in srgb,var(--ac) 10%,#fff));display:grid;place-items:center;padding:16px;border-bottom:3px solid var(--ac)}
.prj-big .prj-im{height:300px;padding:24px}
.prj-im img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.prj:hover .prj-im img{transform:scale(1.04)}
.prj-n{position:absolute;top:14px;right:14px;font:700 13px/1 Roboto,sans-serif;color:#fff;background:var(--ac);border-radius:999px;padding:7px 11px}
.prj-b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.prj-kick{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,#fff);border-radius:999px;padding:5px 11px}
.prj h3{font-size:19px;color:var(--navy);margin:0;line-height:1.3}
.prj-big h3{font-size:24px}
.prj p{margin:0;color:#4a5a70;font-size:15.5px;line-height:1.65}

/* colour feature cards (solutions, consulting, sectors, courses) */
.fcard{height:100%}
.fc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.fc-tags span{font-size:12.5px;font-weight:600;color:var(--ac);background:color-mix(in srgb,var(--ac) 9%,#fff);border-radius:999px;padding:4px 10px}
.g4.sectors{gap:20px}

/* contact cards */
.cbox2{border:0;border-radius:16px;box-shadow:0 1px 2px rgba(7,42,108,.05),0 10px 26px rgba(7,42,108,.07);transition:transform .3s}
.cbox2:hover{transform:translateX(4px)}
.cbox2 .ico{background:color-mix(in srgb,var(--ac) 12%,#fff);color:var(--ac);border-radius:14px}

/* scroll reveal */
.rv{opacity:0;translate:0 28px}
.rv.in{opacity:1;translate:0 0;transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--rd,0ms),translate .85s cubic-bezier(.2,.7,.2,1) var(--rd,0ms)}

@media (max-width:1080px){
  .svc2,.svc2:nth-child(even){grid-template-columns:1fr;gap:44px}
  .svc2:nth-child(even) .svc2-media{order:0}
  .svc2-media img{height:360px}
  .post2-feat{grid-template-columns:1fr}.post2-feat .post2-im{min-height:280px}.post2-feat .post2-b{padding:28px}
  .ph2 h1{font-size:42px}
}
@media (max-width:600px){
  .ph2.ph-photo{min-height:0}
  .ph2 h1,.ph-article h1{font-size:30px}
  .ph2 p{font-size:16px}
  .ph2:after{height:24px}
  .crumb2{font-size:12.5px;padding:6px 12px}
  .jump{flex-wrap:nowrap;overflow-x:auto;margin:6px -18px 0;padding:0 18px 4px;scrollbar-width:none}
  .jump::-webkit-scrollbar{display:none}
  .jump a{flex:none;font-size:13.5px}
  .svc2-list{padding-top:44px;gap:64px}
  .svc2-media img{height:240px;border-radius:18px}
  .svc2-media:before{inset:12px -10px -12px 12px}
  .svc2:nth-child(even) .svc2-media:before{inset:12px -10px -12px 12px}
  .svc2-ico{width:56px;height:56px;border-radius:16px;right:18px;bottom:-22px}
  .svc2-txt h2{font-size:26px}
  .svc2-items{grid-template-columns:1fr}
  .svc2-txt .row{display:grid;grid-template-columns:1fr;gap:10px}
  .svc2-txt .row a{width:100%}
  .post2-feat h3{font-size:23px}.post2-feat p{font-size:15.5px}
  .post2-feat .post2-im{min-height:200px}
  .filt{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px 22px;padding:0 18px 4px;scrollbar-width:none}
  .filt::-webkit-scrollbar{display:none}
  .filt button{flex:none}
  .prj-big .prj-im{height:220px}
  .article .rich p:first-child{font-size:18px}
}
@media (prefers-reduced-motion:reduce){.ph2 .hero-bg,.ph2 .wrap>*{animation:none}}
@media (max-width:760px){.ph2.ph-photo:before{background:linear-gradient(180deg,rgba(5,30,79,.86),rgba(7,42,108,.9))}}

/* ===================================================================
   FIND OUT MORE
   =================================================================== */
.fm-wrap{padding-top:24px;padding-bottom:8px}
.fm{background:#fff;border-radius:22px;padding:36px 40px;box-shadow:0 1px 2px rgba(7,42,108,.05),0 14px 36px rgba(7,42,108,.07);border:1px solid #e6ecf3}
.fm-h{display:flex;gap:16px;align-items:center;margin-bottom:22px}
.fm-badge{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--green),var(--sky));color:#fff;display:grid;place-items:center;flex:none}
.fm-h h2{font-size:28px;margin:0;color:var(--navy)}
.fm-h p{margin:2px 0 0;color:#6b7a90;font-size:15px}
.fm-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.fm-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #eef2f7}
.fm-i{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;background:#e9f6ec;color:var(--green);margin-top:1px}
.fm-i.ext{background:#e8f0fa;color:var(--sky)}
.fm-list a{color:var(--sky);font-weight:600;text-decoration:none;font-size:16px}
.fm-list a:hover{text-decoration:underline}
.fm-note{color:#4a5a70;font-size:15px}
.fm-list small{display:flex;align-items:center;gap:4px;color:#8a98ad;font-size:12.5px;margin-top:3px}
@media (max-width:760px){.fm{padding:24px 20px;border-radius:18px}.fm-list{grid-template-columns:1fr}.fm-h h2{font-size:23px}.fm-badge{width:44px;height:44px;border-radius:13px}}

/* ===================================================================
   ARTICLE: SIDEBAR, LIKE / COMMENT / SHARE, COMMENTS
   =================================================================== */
.art-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}
.art-main{min-width:0;max-width:780px}
.art-main .article{max-width:none;margin:0}
.aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.as-card{background:#fff;border:1px solid #e6ecf3;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(7,42,108,.05)}
.as-card h4{margin:0 0 12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.as-brand{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(160deg,#f4f8fd,#fff)}
.as-brand img{width:52px;height:52px;object-fit:contain;flex:none}
.as-brand b{color:var(--navy);font-size:15.5px;display:block;line-height:1.3}
.as-brand p{margin:6px 0 8px;color:#4a5a70;font-size:13.5px;line-height:1.5}
.as-brand a{font-size:14px;font-weight:700;color:var(--sky);text-decoration:none}
.as-row{display:flex;align-items:center;gap:10px;padding:8px 0;color:#24344c;font-size:14.5px;text-decoration:none;font-weight:600;word-break:break-word}
.as-row i{width:32px;height:32px;border-radius:10px;background:#eef3fa;color:var(--sky);display:grid;place-items:center;flex:none}
a.as-row:hover{color:var(--sky)}
.as-soc{display:flex;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid #eef2f7}
.soc{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff;transition:transform .2s,background .2s}
.soc:hover{transform:translateY(-2px);background:var(--green);color:#fff}
.as-cat{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid #eef2f7;color:#24344c;text-decoration:none;font-size:14.5px;font-weight:600}
.as-cat:first-of-type{border-top:0}
.as-cat b{font-size:12px;background:#eef3fa;color:var(--navy);border-radius:999px;padding:2px 9px}
.as-cat:hover{color:var(--sky)}
.as-post{display:flex;gap:12px;padding:10px 0;border-top:1px solid #eef2f7;text-decoration:none}
.as-post:first-of-type{border-top:0}
.as-post img{width:64px;height:52px;border-radius:10px;object-fit:cover;flex:none}
.as-post b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--navy);font-size:14px;line-height:1.35}
.as-post small{color:#8a98ad;font-size:12.5px}
.as-post:hover b{color:var(--sky)}
.as-cta{display:flex;flex-direction:column;gap:6px;border-radius:18px;padding:22px;background:linear-gradient(135deg,var(--navy),var(--sky));color:#fff;text-decoration:none}
.as-cta b{font-size:17px;line-height:1.3}.as-cta span{color:#d6e6f8;font-weight:600;font-size:14.5px}
.as-cta:hover{color:#fff;box-shadow:0 14px 30px rgba(7,42,108,.25)}

.eng{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid #e6ecf3;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(7,42,108,.05)}
.eng-top{margin-bottom:28px}.eng-bottom{margin-top:36px}
.eng-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:12px;border:1.5px solid #dbe6f3;background:#fff;color:var(--navy);font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none;transition:all .2s}
.eng-btn b{font-variant-numeric:tabular-nums}
.eng-btn span{font-weight:600;color:#4a5a70}
.eng-btn:hover{border-color:var(--sky);color:var(--sky)}
.eng-like.on{background:#fdecef;border-color:#f6c3cc;color:#d63555}
.eng-like.on svg{fill:#d63555}
.eng-like.on span{color:#d63555}
.eng-like.pop svg{animation:pop .4s ease}
@keyframes pop{40%{transform:scale(1.35)}}
.eng-share{display:flex;align-items:center;gap:6px;margin-left:auto}
.eng-lbl{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--navy);font-size:14px;margin-right:4px}
.eng-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef3fa;color:var(--navy);cursor:pointer;transition:all .2s}
.eng-ic:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.eng-ic[data-share="wa"]:hover{background:#25d366}.eng-ic[data-share="fb"]:hover{background:#1877f2}.eng-ic[data-share="li"]:hover{background:#0a66c2}.eng-ic[data-share="x"]:hover{background:#111}
.eng-ic.done{background:var(--green);color:#fff}

.cmts{margin-top:48px}
.cmts h2{font-size:28px;color:var(--navy);display:flex;align-items:center;gap:10px}
.cm-count{font-size:15px;background:#eef3fa;color:var(--navy);border-radius:999px;padding:3px 12px}
.cm-list{display:flex;flex-direction:column;gap:14px;margin:20px 0 28px}
.cm{display:flex;gap:14px;background:#fff;border:1px solid #e6ecf3;border-radius:16px;padding:18px}
.cm-av{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--sky));color:#fff;font-weight:700}
.cm b{color:var(--navy)}.cm small{margin-left:10px;color:#8a98ad;font-size:13px}
.cm p{margin:6px 0 0;color:#24344c;line-height:1.6;white-space:pre-wrap}
.cm-empty{color:#6b7a90;margin:0}
.cm-form{display:flex;flex-direction:column;gap:14px;background:#f6f9fd;border:1px solid #e6ecf3;border-radius:18px;padding:26px}
.cm-form h3{margin:0;font-size:20px;color:var(--navy)}
.cm-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14.5px;color:#24344c}
.cm-form input,.cm-form textarea{font:inherit;font-size:16px;border:1.5px solid #dbe6f3;border-radius:12px;padding:12px 14px;background:#fff;outline:none}
.cm-form input:focus,.cm-form textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(11,102,184,.12)}
.cm-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cm-foot small{color:#6b7a90}
.cm-msg{margin:0;font-weight:600}.cm-msg.ok{color:var(--green)}.cm-msg.err{color:#c2362b}

@media (max-width:1080px){.art-wrap{grid-template-columns:1fr;gap:36px}.aside{position:static;order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.art-main{order:1;max-width:none}}
@media (max-width:640px){
  .aside{grid-template-columns:1fr}
  .eng{padding:10px;gap:8px}
  .eng-btn{height:40px;padding:0 12px}
  .eng-btn span{display:none}
  .eng-share{margin-left:0;width:100%;justify-content:space-between}
  .eng-lbl{display:none}
  .eng-ic{flex:1;height:40px}
  .cm-form{padding:18px}
  .cmts h2{font-size:23px}
}

/* article hero with photo frame, topic and published date; sidebar on the right */
.art-wrap{grid-template-columns:minmax(0,1fr) 300px}
.ah{background:var(--deep);padding:0}
.ah-bg{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(26px) saturate(1.1);opacity:.4;transform:scale(1.05)}
.ah:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(5,30,79,.96) 0%,rgba(7,42,108,.88) 55%,rgba(7,42,108,.7) 100%);z-index:1}
.phero.ah .ah-in{position:relative;z-index:2;display:grid;flex-direction:initial;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:150px;padding-bottom:84px}
.ah-txt{display:flex;flex-direction:column;gap:18px}
.ah-txt>*{animation:phup .8s cubic-bezier(.2,.7,.2,1) both}
.ah-txt>*:nth-child(2){animation-delay:.08s}.ah-txt>*:nth-child(3){animation-delay:.16s}.ah-txt>*:nth-child(4){animation-delay:.24s}.ah-txt>*:nth-child(5){animation-delay:.32s}
.ah .ph-kick{text-decoration:none}
.ah h1{color:#fff;font-weight:700;font-size:44px;line-height:1.12;letter-spacing:-.01em;margin:0}
.ah-pub{display:flex;align-items:center;gap:12px;align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 16px 10px 10px}
.ah-cal{width:40px;height:40px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center}
.ah-pub small{display:block;color:#a9bfdc;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ah-pub b{color:#fff;font-size:17px}
.ah-fig{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px rgba(0,0,0,.35);border:6px solid rgba(255,255,255,.12);animation:phup 1s cubic-bezier(.2,.7,.2,1) .15s both}
.ah-fig img{width:100%;height:100%;object-fit:cover;display:block;animation:phzoom 9s cubic-bezier(.2,.6,.3,1) both}
.ah-topic{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--navy);background:rgba(255,255,255,.96);border-radius:999px;padding:8px 14px;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.ah-topic svg{color:var(--green)}
.ah-date{position:absolute;right:16px;bottom:16px;font-size:13px;font-weight:700;color:#fff;background:rgba(5,30,79,.7);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 13px}
.ah:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:44px;z-index:3;background:#fff;clip-path:ellipse(75% 100% at 50% 100%)}
@media (max-width:1080px){.art-wrap{grid-template-columns:1fr}.phero.ah .ah-in{grid-template-columns:1fr;gap:32px;padding-top:130px}.ah-fig{max-width:720px}}
@media (max-width:600px){.phero.ah .ah-in{padding-top:104px;padding-bottom:52px;gap:24px}.ah h1{font-size:28px}.ah-fig{border-radius:16px;border-width:4px}.ah-pub b{font-size:15px}.ah:after{height:22px}}

/* article top: wide photo with title band (no like/comment bar on top) */
.ah2{padding-top:132px;background:linear-gradient(180deg,#eef3fa 0,#fff 420px)}
.crumb3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#6b7a90;margin-bottom:16px}
.crumb3 a{color:var(--navy);text-decoration:none}.crumb3 a:hover{color:var(--sky)}
.crumb3 a:last-child{color:var(--sky)}
.crumb3 span{color:#a9b6c9}
.ah2-fig{position:relative;margin:0;border-radius:22px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;background:var(--navy);box-shadow:0 24px 50px rgba(7,42,108,.16)}
.ah2-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:phzoom 9s cubic-bezier(.2,.6,.3,1) both}
.ah2-fig:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,30,79,0) 40%,rgba(5,30,79,.35) 70%)}
.ah2-fig figcaption{position:relative;z-index:2;width:100%;background:rgba(7,42,108,.86);backdrop-filter:blur(4px);border-top:4px solid var(--green);padding:22px 32px}
.ah2-fig h1{color:#fff;font-size:38px;line-height:1.15;font-weight:700;letter-spacing:-.01em;margin:0;max-width:1000px}
.ah2-fig.noimg{min-height:0;background:linear-gradient(135deg,var(--navy),var(--sky))}
.ah2-topic{position:absolute;z-index:2;left:20px;top:20px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--navy);background:rgba(255,255,255,.96);border-radius:999px;padding:8px 15px;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.ah2-topic svg{color:var(--green)}
.ah2-topic:hover{color:var(--sky)}
.ah2-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.ah2-pub{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #e1e8f2;border-radius:14px;padding:8px 16px 8px 8px;box-shadow:0 4px 14px rgba(7,42,108,.05)}
.ah2-pub i{width:36px;height:36px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center}
.ah2-pub small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a98ad}
.ah2-pub b{color:var(--navy);font-size:15.5px}
.ah2-chip{font-size:14px;font-weight:600;color:var(--navy);background:#fff;border:1px solid #e1e8f2;border-radius:999px;padding:8px 14px}
.art-sec{padding-top:40px;padding-bottom:96px}
@media (max-width:760px){
  .ah2{padding-top:100px}
  .ah2-fig{min-height:360px;border-radius:16px}
  .ah2-fig figcaption{padding:16px 18px}
  .ah2-fig h1{font-size:20px;line-height:1.22}
  .ah2-topic{left:12px;top:12px;font-size:12.5px;padding:6px 12px}
  .crumb3{font-size:13px}
  .art-sec{padding-top:28px;padding-bottom:64px}
}
.eng-sharebtn{border:0;background:var(--navy);color:#fff;border-radius:12px;height:40px;padding:0 14px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex !important;align-items:center;gap:7px;transition:background .2s}
.eng-sharebtn:hover{background:var(--sky)}
.eng-sharebtn.done{background:var(--green)}
@media (max-width:640px){.eng-sharebtn{display:inline-flex !important;flex:1.6;justify-content:center;margin:0}.eng-share{gap:6px}}

/* ===================================================================
   COMPACT PHONE SIZES (Bravo-style) — keep last in this file
   =================================================================== */
@media (max-width:600px){
  html{-webkit-text-size-adjust:100%}
  body{font-size:14.5px;line-height:1.6}
  .wrap{padding-left:16px;padding-right:16px}
  .sec{padding-top:40px !important;padding-bottom:40px !important}
  h2,.sec h2{font-size:22px !important;line-height:1.22}
  h3{font-size:16.5px}
  .lead,p.lead{font-size:14.5px !important;line-height:1.6}
  .eyebrow{font-size:11px;letter-spacing:.12em}
  .head{margin-bottom:20px;gap:8px}
  .head-row{margin-bottom:20px}
  .more{font-size:14px}

  /* header */
  .hdr{top:8px;padding:0 10px}
  .hdr-bar{height:56px;border-radius:16px;padding:0 6px 0 12px}
  .hdr .logo img,.logo img{height:30px !important;width:auto !important}
  .mnav summary{min-height:40px;min-width:40px;padding:6px}
  .mlinks>a,.mg summary{font-size:15px !important;padding:11px 2px !important;min-height:42px}
  .mg>div a{font-size:14px !important;padding:8px 2px !important}

  /* buttons */
  .btn,.btn-ghost,.btn-line,.btn-line2{min-height:42px !important;padding:10px 16px !important;font-size:14.5px !important;border-radius:8px}
  .mbar{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .mbar a{min-height:42px;font-size:14.5px;border-radius:9px}
  .mbar-call{padding:0 16px}
  body{padding-bottom:62px}

  /* homepage slider */
  .hs{min-height:560px}
  .hs .hs-title{font-size:25px !important;line-height:1.15}
  .hs-slide .hero-in{padding-top:84px !important;padding-bottom:150px !important}
  .hs-slide .hero-txt{gap:14px}
  .hs p.lead{font-size:14px !important;-webkit-line-clamp:4}
  .hs .row .btn,.hs .row .btn-ghost{min-height:42px !important;font-size:14px !important}
  .hs .pill{font-size:10.5px;padding:4px 9px}
  .hs-kick{font-size:10.5px;padding:4px 10px 4px 5px}
  .hs-ui{bottom:70px}
  .hs-th{padding:5px 12px 9px 5px}
  .hs-th img{width:30px;height:28px}
  .hs-th b{font-size:12.5px}
  .hs-th small{font-size:10px}
  .stats-wrap{margin-top:-48px}
  .stat{padding:14px}
  .stat b{font-size:22px}
  .stat span{font-size:12.5px}
  .tools-r span{font-size:13px;padding:6px 12px}

  /* page heroes */
  .phero .wrap,.ph2 .wrap{padding-top:88px !important;padding-bottom:40px !important;gap:12px}
  .ph2 h1,.phero h1{font-size:24px !important;line-height:1.18}
  .ph2 p,.phero p{font-size:14.5px !important}
  .ph-kick{font-size:11px}
  .crumb2{font-size:12px;padding:5px 11px}
  .jump a{font-size:12.5px;padding:6px 11px 6px 6px}
  .jump a i{width:24px;height:24px;border-radius:7px}

  /* article */
  .ah2{padding-top:80px}
  .crumb3{font-size:12.5px;margin-bottom:12px}
  .ah2-fig{min-height:250px;border-radius:14px}
  .ah2-fig figcaption{padding:12px 14px}
  .ah2-fig h1{font-size:18px !important;line-height:1.25}
  .ah2-topic{font-size:11.5px;padding:5px 10px}
  .ah2-meta{gap:6px;margin-top:12px}
  .ah2-pub{padding:5px 12px 5px 5px;border-radius:11px}
  .ah2-pub i{width:30px;height:30px;border-radius:8px}
  .ah2-pub b{font-size:13.5px}.ah2-pub small{font-size:10px}
  .ah2-chip{font-size:12.5px;padding:6px 11px}
  .article .rich p,.article p,.article .rich li{font-size:15px !important;line-height:1.7}
  .article .rich p:first-child{font-size:16px !important}
  .eng-btn{height:38px;padding:0 11px;font-size:13.5px}
  .eng-ic,.eng-sharebtn{height:38px}
  .cmts h2{font-size:20px}
  .cm-form{padding:16px}
  .as-card{padding:16px;border-radius:14px}

  /* cards */
  .svc-card .img{height:160px}
  .svc-card .body{padding:36px 16px 16px !important;gap:10px}
  .svc-card h3{font-size:17px}
  .svc-card p{font-size:14px}
  .svc-items li{font-size:13.5px}
  .svc-card-ico{width:48px;height:48px;border-radius:13px;bottom:-24px;left:16px}
  .svc-go{font-size:14px}.svc-go i{width:34px;height:34px}
  .svc2-list{padding-top:36px;gap:52px}
  .svc2-media img{height:200px}
  .svc2-ico{width:48px;height:48px;border-radius:14px}
  .svc2-txt{gap:12px}
  .svc2-txt h2{font-size:21px !important}
  .svc2-items li{font-size:14px}
  .svc2-grp{font-size:10.5px;padding:4px 10px}
  .why2-card,.why2-card:nth-child(even){padding:16px !important}
  .why2-card h3{font-size:16px}
  .why2-card p{font-size:13.5px}
  .why2-ico{width:42px;height:42px;border-radius:12px}
  .why2-n{font-size:24px}
  .why2-photo{height:200px}
  .post2-im{height:170px}
  .post2-b{padding:16px 16px 18px;gap:8px}
  .post2 h3{font-size:16.5px}
  .post2 p{font-size:13.5px}
  .post2-feat h3{font-size:19px}
  .post2-feat .post2-b{padding:18px}
  .post2-go i{width:34px;height:34px}
  .prj-im{height:170px}
  .prj-b{padding:16px 16px 18px}
  .prj h3,.prj-big h3{font-size:17px}
  .prj p{font-size:14px}
  .tm-lead{padding:12px;gap:16px}
  .tm-lead h3{font-size:22px}
  .tm-bio p{font-size:14.5px}
  .tm-tags span{font-size:12.5px;padding:5px 11px}
  .fm{padding:18px 16px}
  .fm-h h2{font-size:20px !important}
  .fm-h p{font-size:13.5px}
  .fm-list a{font-size:14.5px}
  .fm-note{font-size:13.5px}
  .fm-badge{width:38px;height:38px;border-radius:11px}
  .cbox{padding:14px}
  .cform{padding:18px !important}
  .cform h2{font-size:20px !important}
  .cta{padding:24px 18px}
  .cta h2{font-size:21px !important}
  .steps .step h3{font-size:16px}

  /* footer */
  .foot{padding-top:36px}
  .foot-g{gap:22px 16px}
  .foot h4{font-size:14.5px}
  .foot a{font-size:13.5px}
  .foot-logo img{height:32px !important}
  .foot-b{font-size:12.5px}
}
@media (max-width:600px){
  .feat h3,.sec-dark .feat h3{font-size:19px !important}
  .feat p,.sec-dark .feat p{font-size:14.5px !important}
  .feat .ico{width:42px;height:42px}
  .about-img{height:200px}
  .chip{font-size:13px;padding:8px 12px}
  .ticks li{font-size:14.5px}
}
/* phone header — same size as bravo.so (pill bar 64px, 12px inset, logo 96px wide, 20px menu icon) */
@media (max-width:600px){
  .hdr{top:12px !important;padding:0 12px !important}
  .hdr-bar{height:64px !important;border-radius:30px !important;padding:0 12px !important}
  .hdr .logo img,.logo img{width:96px !important;height:auto !important;margin:0 !important}
  .mnav>summary{min-width:36px !important;min-height:44px !important;padding:0 !important;border:0 !important}
  .mnav>summary svg{width:20px !important;height:20px !important}
  .mlinks{top:calc(100% + 8px) !important}
  .hs-slide .hero-in{padding-top:96px !important}
  .phero .wrap,.ph2 .wrap{padding-top:96px !important}
  .ah2{padding-top:90px}
}
@media (max-width:600px){.hdr .logo img,.logo img{height:27px !important;width:auto !important}}
