:root{--ink:#071a35;--ink2:#0b2c5d;--muted:#65748b;--line:#e3e8ef;--bg:#fff;--soft:#f5f8fc;--accent:#15499a;--accent2:#f1bd18;--surface:#fff;--shadow:0 24px 70px rgba(7,26,53,.10);--radius:22px;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(7,26,53,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,26,53,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 70%);z-index:-1}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.announcement{height:38px;background:var(--ink);color:#dce7f4;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.announcement>div:first-child{display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 4px rgba(241,189,24,.12)}.utility{display:flex;gap:12px}.utility a{opacity:.7}.utility a:hover{opacity:1;color:#fff}.site-header{height:86px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(227,232,239,.9);display:flex;align-items:center;padding:0 max(24px,calc((100vw - var(--max))/2));gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand-mark{height:52px;width:70px;display:grid;place-items:center}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text b{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:.04em}.brand-text span{font-size:8px;letter-spacing:.28em;margin-top:6px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:12px;font-weight:700}.main-nav a{padding:12px 0;position:relative}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--accent);transition:.25s}.main-nav a:not(.nav-cta):hover:after{right:0}.nav-cta{background:var(--ink);color:#fff!important;padding:12px 18px!important;border-radius:999px;box-shadow:0 8px 24px rgba(7,26,53,.15)}.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.theme-control{position:relative}.theme-current{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800}.theme-current i{font-style:normal;color:var(--muted)}.theme-swatch{width:10px;height:10px;border-radius:50%;background:var(--accent);display:inline-block}.theme-swatch.principal{background:#15499a}.theme-swatch.gold{background:#d7a300}.theme-swatch.blue{background:#123f91}.theme-menu{position:absolute;right:0;top:50px;width:205px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:7px;box-shadow:var(--shadow);display:none}.theme-menu.open{display:block}.theme-menu button{width:100%;border:0;background:transparent;border-radius:11px;padding:10px;display:flex;align-items:center;gap:9px;text-align:left;font-size:11px}.theme-menu button:hover,.theme-menu button.active{background:var(--soft)}.theme-menu button>span:first-child{min-width:18px}.flash{position:fixed;right:24px;top:105px;z-index:100;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;padding:13px 15px 13px 18px;border-radius:14px;box-shadow:var(--shadow);font-size:12px}.flash.error{background:#9f2433}.flash button{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:25px;height:25px}.social-rail{position:fixed;left:0;top:42%;z-index:45;display:flex;align-items:center}.social-trigger{border:1px solid var(--line);border-left:0;border-radius:0 14px 14px 0;background:#fff;box-shadow:0 12px 30px rgba(7,26,53,.12);padding:13px 10px;color:var(--accent);display:flex;gap:7px;align-items:center;writing-mode:vertical-rl}.social-trigger span{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.social-panel{position:absolute;left:47px;width:220px;bottom:-78px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateX(-8px);transition:.2s}.social-panel.open{opacity:1;visibility:visible;transform:none}.social-panel strong{font-size:12px;display:block;margin-bottom:8px}.social-panel a{display:flex;align-items:center;gap:9px;padding:9px;border-radius:10px;font-size:11px}.social-panel a:hover{background:var(--soft);color:var(--accent)}.social-icon{width:25px;height:25px;border-radius:8px;background:var(--soft);display:grid;place-items:center}.hero{position:relative;overflow:hidden;padding:118px max(24px,calc((100vw - var(--max))/2)) 105px;min-height:650px;background:linear-gradient(135deg,#fff 0%,#f6f9fd 68%,#eef4fb 100%)}.hero:before{content:"";position:absolute;width:680px;height:680px;right:-260px;top:-230px;border:1px solid rgba(21,73,154,.13);border-radius:50%;box-shadow:0 0 0 80px rgba(21,73,154,.025),0 0 0 160px rgba(21,73,154,.018)}.hero-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800;color:var(--accent)}h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif}h1{font-size:clamp(44px,6.2vw,84px);line-height:.98;letter-spacing:-.065em;max-width:920px;margin:15px 0 24px}h2{font-size:clamp(32px,4.2vw,56px);line-height:1.04;letter-spacing:-.055em;margin:0 0 16px}h3{font-size:19px;line-height:1.15;margin:12px 0}.lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:740px}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:999px;background:var(--ink);border:1px solid var(--ink);color:#fff;font-size:12px;font-weight:800;box-shadow:0 10px 24px rgba(7,26,53,.12);transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(7,26,53,.17)}.btn.secondary,.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:none}.hero-visual{position:relative}.hero-image{border-radius:30px;overflow:hidden;border:1px solid rgba(7,26,53,.1);box-shadow:0 35px 90px rgba(7,26,53,.16);background:#fff;transform:rotate(1.2deg)}.hero-image img{width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center center;background:#f5f8fc}.floating-card{position:absolute;left:-35px;bottom:35px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:17px 20px;min-width:210px}.floating-card small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:8px}.floating-card strong{font-family:Manrope;font-size:22px;display:block;margin-top:4px}.section{padding:105px max(24px,calc((100vw - var(--max))/2))}.section.soft{background:var(--soft)}.section.dark{background:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:var(--max);margin:0 auto 38px}.section-head>div{max-width:780px}.stat-row{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:28px 20px}.stat strong{font-family:Manrope;font-size:35px;display:block;letter-spacing:-.04em}.stat span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.grid{max-width:var(--max);margin:auto;display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--surface);box-shadow:0 8px 35px rgba(7,26,53,.045);transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(21,73,154,.18)}.service-card{position:relative;overflow:hidden;min-height:285px}.service-card:after{content:"";position:absolute;right:-50px;bottom:-65px;width:150px;height:150px;border-radius:50%;background:var(--soft)}.service-top{display:flex;justify-content:space-between;align-items:center}.service-icon{width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--soft),#fff);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent)}.svc-icon-img{width:28px;height:28px;object-fit:contain}.number{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.12em}.card p{color:var(--muted);font-size:13px}.split{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.visual{border-radius:28px;overflow:hidden;background:#edf2f7;border:1px solid var(--line);box-shadow:var(--shadow)}.visual img{width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center center;background:#f5f8fc}.feature-list{display:grid;gap:13px;margin-top:28px}.feature{display:flex;gap:13px;align-items:flex-start}.feature i{width:27px;height:27px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:10px;flex:none}.feature b{font-size:13px}.feature span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.project-image,.news-image{height:230px;border-radius:17px;overflow:hidden;background:var(--soft);margin:-5px -5px 18px}.project-image img,.news-image img{width:100%;height:100%;object-fit:cover}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--soft);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.meta{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.partner{min-height:110px;display:grid;place-items:center;padding:18px;border:1px solid var(--line);background:#fff;border-radius:16px}.partner img{max-height:62px;max-width:160px;object-fit:contain}.quote{font-size:17px!important;color:var(--ink)!important;line-height:1.55}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-item{height:270px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--soft)}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:var(--max);margin:auto}.doc{display:flex;justify-content:space-between;align-items:center;gap:20px}.doc-icon{width:48px;height:48px;border-radius:14px;background:var(--soft);display:grid;place-items:center;color:var(--accent);font-weight:900}.doc h3{font-size:16px}.doc small{display:block;color:var(--muted);font-size:10px}.contact-box{background:linear-gradient(145deg,var(--ink),var(--ink2));color:#fff;border-radius:28px;padding:38px;box-shadow:var(--shadow)}.contact-box p{color:#d6e0ed;font-size:13px}.contact-box strong{color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);outline:0}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(21,73,154,.08)}.field textarea{min-height:150px;resize:vertical}.empty{padding:42px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}.org{max-width:var(--max);margin:auto}.org-tree{display:grid;gap:14px}.org-node{padding:18px 20px;border-left:3px solid var(--accent);background:#fff;border-radius:0 14px 14px 0;box-shadow:0 7px 24px rgba(7,26,53,.05)}.org-node strong{font-size:13px}.org-node span{display:block;color:var(--muted);font-size:11px}.newsletter{max-width:var(--max);margin:auto;border-radius:28px;padding:42px;background:linear-gradient(135deg,var(--soft),#fff);border:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}.newsletter form{display:flex;gap:8px}.newsletter input{min-width:280px;padding:13px 15px;border:1px solid var(--line);border-radius:999px}.cookie-banner{position:fixed;z-index:110;left:22px;right:22px;bottom:20px;max-width:920px;margin:auto;padding:18px 20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cookie-banner p{margin:4px 0 0;color:var(--muted);font-size:10px}.cookie-actions{display:flex;gap:8px;flex:none}.cookie-modal{position:fixed;inset:0;z-index:120;background:rgba(7,26,53,.55);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.cookie-dialog{position:relative;max-width:540px;background:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.modal-close{position:absolute;right:15px;top:15px;border:0;background:var(--soft);border-radius:50%;width:30px;height:30px}.consent-row{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:14px;padding:15px;margin:20px 0}.consent-row small{display:block;color:var(--muted);font-size:10px}.cookie-dialog p{color:var(--muted);font-size:13px}.footer-main{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:45px;padding:70px 0 45px}.footer-main h4{color:#fff;margin:0 0 15px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.footer-main a{display:block;color:#aebdd0;font-size:11px;margin:10px 0}.footer-main a:hover{color:#fff}.footer-main p{color:#aebdd0;font-size:11px}.footer-brand img{width:205px;background:#fff;padding:8px;border-radius:8px}.footer-socials{display:flex;gap:8px;margin-top:20px}.footer-socials a{width:30px;height:30px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;border-radius:9px;margin:0}.admin-entry{margin-top:22px!important;color:#fff!important}.footer-bottom{max-width:var(--max);margin:auto;border-top:1px solid rgba(255,255,255,.12);padding:17px 0 25px;display:flex;justify-content:space-between;color:#71849c;font-size:9px;text-transform:uppercase;letter-spacing:.08em}footer{background:#061427;color:#dce7f3;padding:0 max(24px,calc((100vw - var(--max))/2))}.theme-gold{--accent:#9c6a00;--accent2:#d7a300;--ink:#17130b;--ink2:#4e3500}.theme-blue{--accent:#0d3f99;--accent2:#245fc5;--ink:#061a3a;--ink2:#0b3679}.social-svg{width:16px;height:16px;display:block}.footer-socials .social-svg{width:15px;height:15px}.social-icon{width:30px;height:30px}.social-panel a span:last-child{font-weight:700}.social-trigger{min-height:118px}.social-panel{bottom:-90px}
@media(max-width:1120px){.main-nav{gap:14px}.hero-grid{gap:45px}.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-main>div:last-child{display:none}.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.site-header{height:76px}.nav-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:3px}.main-nav.open{display:flex}.main-nav a{padding:12px}.theme-control{display:none}.hero{padding-top:85px}.hero-grid,.split{grid-template-columns:1fr}.hero-image img{height:400px}.floating-card{left:15px}.stat-row{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:repeat(2,1fr)}.doc-grid{grid-template-columns:1fr}.newsletter{display:block}.newsletter form{margin-top:20px}.footer-main{grid-template-columns:1.5fr 1fr}.footer-main>div:nth-child(3){display:none}.social-rail{display:flex}.social-trigger{padding:10px 8px;min-height:96px}.social-panel{left:43px;width:205px;bottom:-70px}}@media(max-width:620px){.announcement{padding:0 16px}.announcement>div:first-child{font-size:8px}.site-header{padding:0 16px}.brand{min-width:0}.brand-mark{width:55px}.brand-text b{font-size:16px}.brand-text span{font-size:7px}.hero,.section{padding-left:18px;padding-right:18px}.hero{padding-top:65px;padding-bottom:70px}.hero-grid{display:block}.hero-visual{margin-top:45px}.hero-image{transform:none}.hero-image img{height:310px}.floating-card{bottom:18px}.section{padding-top:72px;padding-bottom:72px}.section-head{display:block}.section-head .btn{margin-top:20px}.grid-3,.grid-4,.form-grid,.gallery,.footer-main{grid-template-columns:1fr}.stat strong{font-size:27px}.stat{padding:20px 8px}.stat span{font-size:8px}.partner-grid{grid-template-columns:1fr 1fr}.cookie-banner{left:12px;right:12px;bottom:12px;display:block}.cookie-actions{margin-top:12px}.newsletter form{display:block}.newsletter input{width:100%;min-width:0;margin-bottom:8px}.newsletter .btn{width:100%}.footer-main>div{display:block!important}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}h1{font-size:47px}.lead{font-size:15px}}

/* Accessibility/state fix: native hidden must always hide overlays and banners. */
[hidden]{display:none !important;}

/* C4M image integrity: preserve complete source images on Home/About */
.hero-image, .visual { display:flex; align-items:center; justify-content:center; background:#f5f8fc; }
.hero-image img, .visual img { display:block; width:100%; height:auto; max-width:100%; max-height:620px; object-fit:contain; object-position:center center; }
@media (max-width:900px){ .hero-image img, .visual img { max-height:560px; } }
@media (max-width:640px){ .hero-image, .visual { border-radius:20px; } .hero-image img, .visual img { max-height:none; height:auto; } }
