:root {
  --ink: #07162f;
  --muted: #52647d;
  --line: #dbe8f4;
  --blue: #0d76e8;
  --cyan: #40c5ee;
  --deep: #051a3b;
  --paper: #f6faff;
  --white: #ffffff;
  --header-h: 76px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin:0; min-width:320px; background:var(--paper); color:var(--ink); line-height:1.6; overflow-x:hidden; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img, svg { display:block; max-width:100%; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
::selection { background:#bfeaff; color:#031633; }
:focus-visible { outline:3px solid #20a7ef; outline-offset:4px; }
.skip-link { position:fixed; z-index:200; left:1rem; top:.75rem; transform:translateY(-160%); padding:.7rem 1rem; border-radius:999px; background:#031633; color:white; font-weight:700; }
.skip-link:focus { transform:none; }
.container { width:min(1180px, calc(100% - 2rem)); margin-inline:auto; }
.section { padding:clamp(4.75rem,8vw,8rem) 0; position:relative; }
.section-tight { padding:clamp(3rem,5vw,5rem) 0; }
.kicker { display:inline-flex; align-items:center; gap:.6rem; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; color:#0c69c7; }
.kicker::before { content:""; width:1.75rem; height:1px; background:currentColor; }
.display { max-width:950px; margin:.8rem 0 1.25rem; font-size:clamp(2.6rem,6vw,6rem); line-height:.94; letter-spacing:-.065em; font-weight:760; }
.h2 { margin:.8rem 0 1.2rem; max-width:840px; font-size:clamp(2.1rem,4vw,4.2rem); line-height:1.02; letter-spacing:-.05em; font-weight:760; }
.lead { max-width:760px; margin:0; color:var(--muted); font-size:clamp(1.05rem,1.4vw,1.28rem); line-height:1.7; }
.eyebrow-row { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:48px; padding:.78rem 1.25rem; border:1px solid transparent; border-radius:999px; font-weight:760; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { color:white; background:linear-gradient(135deg,#0c70df,#21b9ed); box-shadow:0 14px 34px rgba(13,118,232,.24); }
.btn-primary:hover { box-shadow:0 18px 42px rgba(13,118,232,.3); }
.btn-secondary { background:rgba(255,255,255,.84); border-color:#cbdced; color:#0a2347; }
.btn-secondary:hover { border-color:#48bcea; }
.btn-dark { background:#07162f; color:#fff; }
.inline-link { display:inline-flex; align-items:center; gap:.45rem; color:#0b6ed1; font-weight:760; }
.inline-link::after { content:"→"; transition:transform .2s ease; }
.inline-link:hover::after { transform:translateX(.25rem); }

.site-header { position:fixed; z-index:90; inset:0 0 auto; height:var(--header-h); border-bottom:1px solid rgba(178,205,228,.55); background:rgba(247,251,255,.78); backdrop-filter:blur(18px) saturate(150%); }
.header-inner { position:relative; height:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; }
.desktop-nav { display:flex; align-items:center; gap:1.25rem; }
.desktop-nav a { font-size:.9rem; font-weight:720; color:#243956; }
.desktop-nav a[aria-current="page"] { color:#0b70dc; }
.header-centre { width:94px; height:58px; justify-self:center; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:.65rem; }
.lang-switch { display:flex; align-items:center; gap:.2rem; padding:.28rem; border:1px solid #cbdced; border-radius:999px; background:#fff; }
.lang-switch a { min-width:34px; padding:.35rem .45rem; border-radius:999px; font-size:.76rem; font-weight:800; text-align:center; }
.lang-switch a[aria-current="true"] { background:#07162f; color:#fff; }
.mobile-toggle { display:none; width:44px; height:44px; border:1px solid #cbdced; border-radius:50%; background:#fff; }
.mobile-nav { position:fixed; z-index:85; inset:var(--header-h) 0 auto; padding:1rem; background:rgba(247,251,255,.98); border-bottom:1px solid var(--line); transform:translateY(-130%); transition:transform .25s ease; }
.mobile-nav[data-open="true"] { transform:none; }
.mobile-nav a { display:block; padding:1rem; border-bottom:1px solid var(--line); font-size:1.25rem; font-weight:760; }

.persistent-brand { position:fixed; z-index:95; left:50%; top:44vh; width:min(680px,70vw); transform:translate(-50%,-50%); pointer-events:none; will-change:left,top,width; filter:drop-shadow(0 18px 36px rgba(22,109,180,.12)); }
.persistent-brand img { width:100%; height:auto; }
.logo-home-target { width:min(680px,70vw); aspect-ratio:16/9; margin:0 auto; opacity:0; }

.hero { min-height:100svh; padding:calc(var(--header-h) + 1.5rem) 0 3rem; overflow:hidden; background:
 radial-gradient(circle at 50% 40%,rgba(72,195,239,.17),transparent 30%),
 linear-gradient(180deg,#fff 0%,#f5faff 74%,#eef6fd 100%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.35; background-image:linear-gradient(#cbe1f1 1px,transparent 1px),linear-gradient(90deg,#cbe1f1 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.hero-grid { position:relative; min-height:calc(100svh - var(--header-h) - 4.5rem); display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,1.1fr); align-items:center; gap:2rem; }
.hero-copy { position:relative; z-index:3; padding-top:1rem; }
.hero-copy h1 { margin:.9rem 0 1.25rem; max-width:700px; font-size:clamp(3rem,6.4vw,6.7rem); line-height:.9; letter-spacing:-.075em; font-weight:780; }
.hero-copy p { max-width:650px; color:#4f627c; font-size:clamp(1.02rem,1.3vw,1.22rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.7rem; }
.hero-visual { position:relative; min-height:690px; }
.service-node { position:absolute; z-index:4; padding:.58rem .85rem; border:1px solid rgba(157,198,231,.8); border-radius:999px; background:rgba(255,255,255,.78); box-shadow:0 12px 30px rgba(23,88,142,.1); backdrop-filter:blur(12px); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.service-node::before { content:""; display:inline-block; width:.42rem; height:.42rem; margin-right:.5rem; border-radius:50%; background:#2ab7ef; box-shadow:0 0 0 5px rgba(42,183,239,.12); }
.node-1{left:5%;top:14%}.node-2{right:2%;top:20%}.node-3{left:0;top:48%}.node-4{right:0;top:52%}.node-5{left:16%;bottom:12%}.node-6{right:12%;bottom:9%}
.hero-line { position:absolute; z-index:1; height:1px; background:linear-gradient(90deg,transparent,#66bce8,transparent); transform-origin:left center; opacity:.55; }
.line-1{width:44%;left:8%;top:24%;transform:rotate(18deg)}.line-2{width:42%;right:7%;top:29%;transform:rotate(-16deg)}.line-3{width:44%;left:5%;bottom:25%;transform:rotate(-13deg)}.line-4{width:42%;right:7%;bottom:23%;transform:rotate(15deg)}

.credibility { border-block:1px solid var(--line); background:#fff; }
.cred-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.cred-item { padding:1.4rem 1.2rem; border-right:1px solid var(--line); font-weight:740; font-size:.92rem; }
.cred-item:last-child{border-right:0}.cred-item span{display:block;color:#0c74da;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem}

.ecosystem-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.eco-card { position:relative; grid-column:span 6; min-height:350px; padding:2rem; border:1px solid var(--line); border-radius:28px; overflow:hidden; background:#fff; box-shadow:0 20px 50px rgba(22,72,117,.07); }
.eco-card:nth-child(3),.eco-card:nth-child(4){grid-column:span 6}.eco-card:nth-child(5){grid-column:span 12;min-height:300px}
.eco-number { font-size:.78rem; letter-spacing:.12em; color:#0f76d8; font-weight:800; }
.eco-card h3 { margin:.6rem 0 .6rem; font-size:clamp(1.9rem,3vw,3.3rem); letter-spacing:-.05em; }
.eco-card > p { max-width:590px; color:var(--muted); }
.eco-meta { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.5rem; padding-top:1.2rem; border-top:1px solid var(--line); font-size:.88rem; }
.eco-meta strong { display:block; margin-bottom:.3rem; color:#0e3b6f; }
.outcome-list { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.25rem 0 0; padding:0; list-style:none; }
.outcome-list li { padding:.45rem .68rem; border-radius:999px; background:#eff7ff; color:#164c82; font-size:.78rem; font-weight:680; }

.deep-section { background:var(--deep); color:white; overflow:hidden; }
.deep-section .kicker{color:#6fd8ff}.deep-section .lead{color:#b7c9dc}.deep-section::after{content:"";position:absolute;right:-10%;top:-20%;width:520px;height:520px;border:1px solid rgba(81,196,241,.22);border-radius:50%;box-shadow:0 0 0 70px rgba(81,196,241,.05),0 0 0 140px rgba(81,196,241,.025)}
.project-grid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.project-card { display:grid; grid-template-columns:minmax(0,1fr); border:1px solid rgba(144,187,222,.22); border-radius:28px; overflow:hidden; background:rgba(255,255,255,.06); }
.project-media { aspect-ratio:16/10; overflow:hidden; background:#fff; }
.project-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.project-card:hover img { transform:scale(1.025); }
.project-body { padding:1.5rem; }
.project-type { color:#62d5ff; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.project-card h3 { margin:.45rem 0 .55rem; font-size:1.75rem; letter-spacing:-.035em; }
.project-card p { color:#bed0df; margin:.35rem 0; }
.cap-row { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem; }
.cap-row span { padding:.35rem .55rem; border:1px solid rgba(180,218,242,.25); border-radius:999px; color:#d7e9f5; font-size:.7rem; }
.project-card .inline-link { margin-top:1rem; color:#73dbff; }

.network-wrap { display:grid; grid-template-columns:.82fr 1.18fr; gap:3rem; align-items:center; }
.profile-card { padding:2rem; border-radius:28px; background:#071a3a; color:white; box-shadow:0 30px 70px rgba(8,31,66,.22); }
.profile-monogram { display:grid; place-items:center; width:84px; height:84px; border:1px solid rgba(116,211,247,.45); border-radius:26px; background:radial-gradient(circle at 30% 20%,#43c8f0,#0a6fd8 55%,#073364); font-size:1.8rem; font-weight:800; }
.profile-card h3 { margin:1.2rem 0 .2rem; font-size:2rem; }
.profile-card p { color:#b8cbdd; }
.profile-points { margin:1.3rem 0 0; padding:0; list-style:none; }
.profile-points li { padding:.55rem 0; border-top:1px solid rgba(180,216,240,.17); }
.network-diagram { position:relative; min-height:540px; display:grid; place-items:center; }
.network-centre { position:relative; z-index:2; display:grid; place-items:center; width:190px; height:190px; border-radius:50%; background:#fff; border:1px solid #bcdcf2; box-shadow:0 25px 60px rgba(25,100,159,.16); text-align:center; font-weight:800; }
.network-orbit { position:absolute; inset:40px; border:1px dashed #a8cee9; border-radius:50%; }
.network-role { position:absolute; z-index:3; padding:.6rem .85rem; border-radius:999px; background:#fff; border:1px solid #c8deef; box-shadow:0 10px 24px rgba(15,80,132,.1); font-size:.78rem; font-weight:750; }
.r1{top:3%;left:36%}.r2{right:1%;top:20%}.r3{right:0;bottom:21%}.r4{bottom:2%;left:39%}.r5{left:0;bottom:21%}.r6{left:0;top:20%}.r7{top:42%;right:-2%}.r8{top:42%;left:-2%}

.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; counter-reset:process; }
.process-step { min-height:255px; padding:1.5rem; border:1px solid var(--line); border-radius:24px; background:#fff; }
.process-step .num { color:#0a77df; font-size:.75rem; letter-spacing:.12em; font-weight:800; }
.process-step h3 { margin:2.5rem 0 .5rem; font-size:1.55rem; letter-spacing:-.03em; }
.process-step p { color:var(--muted); }

.history-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.timeline { display:grid; gap:.8rem; }
.timeline-item { display:grid; grid-template-columns:100px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.timeline-item strong { color:#0b6fd6; }
.reach-panel { padding:2rem; border-radius:30px; background:linear-gradient(135deg,#edf8ff,#fff); border:1px solid var(--line); }
.country-row { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin-top:1.5rem; }
.country { padding:1rem; border-radius:18px; background:white; border:1px solid var(--line); font-weight:760; text-align:center; }

.page-hero { padding:calc(var(--header-h) + 5rem) 0 4rem; background:linear-gradient(180deg,#fff,#eef7ff); border-bottom:1px solid var(--line); }
.page-hero .display { max-width:1050px; font-size:clamp(3rem,6vw,6.4rem); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2rem; color:#5c6d83; font-size:.86rem; }
.breadcrumbs span{color:#0b6fd3}.content-block { max-width:860px; }
.content-block h2 { margin:2.5rem 0 .7rem; font-size:clamp(1.7rem,3vw,2.7rem); letter-spacing:-.035em; }
.content-block h3 { margin:1.7rem 0 .5rem; font-size:1.3rem; }
.content-block p,.content-block li { color:#3e536d; }
.content-block ul { padding-left:1.2rem; }
.content-block a { color:#0a6fd3; text-decoration:underline; text-underline-offset:3px; }
.definition-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.definition-card { padding:1.4rem; border:1px solid var(--line); border-radius:22px; background:#fff; }
.definition-card h3 { margin:0 0 .5rem; }
.collab-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.collab-card { border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#fff; }
.collab-card img { aspect-ratio:4/3; object-fit:cover; }
.collab-card div { padding:1rem; font-weight:760; }

.contact-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:3rem; align-items:start; }
.contact-aside { position:sticky; top:calc(var(--header-h) + 2rem); padding:1.6rem; border-radius:24px; background:#061b3d; color:#fff; }
.contact-aside p{color:#bed0e0}.contact-aside a{color:#65d5ff}.contact-form { padding:2rem; border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:0 24px 60px rgba(16,75,121,.08); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:grid; gap:.4rem; }
.field.full { grid-column:1/-1; }
.field label { font-size:.88rem; font-weight:760; }
.field input,.field select,.field textarea { width:100%; min-height:48px; padding:.75rem .85rem; border:1px solid #bdd3e6; border-radius:13px; background:#fbfdff; color:#0b1f3c; }
.field textarea { min-height:170px; resize:vertical; }
.field small { color:#687990; }
.checkbox { display:flex; gap:.75rem; align-items:flex-start; }
.checkbox input { width:20px; height:20px; margin-top:.2rem; }
.form-status { min-height:1.5rem; margin:.8rem 0; font-weight:700; }
.form-status[data-state="success"]{color:#087944}.form-status[data-state="error"]{color:#b3261e}
.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.cta-panel { padding:clamp(2rem,5vw,4.5rem); border-radius:36px; color:white; background:linear-gradient(135deg,#071a3a,#0a5eb7 58%,#25bce9); overflow:hidden; position:relative; }
.cta-panel::after { content:""; position:absolute; width:320px; height:320px; right:-80px; top:-100px; border:1px solid rgba(255,255,255,.2); border-radius:50%; box-shadow:0 0 0 50px rgba(255,255,255,.05),0 0 0 100px rgba(255,255,255,.03); }
.cta-panel h2 { position:relative; z-index:2; max-width:800px; margin:0 0 1rem; font-size:clamp(2.2rem,5vw,4.6rem); line-height:.98; letter-spacing:-.05em; }
.cta-panel p,.cta-panel .btn{position:relative;z-index:2}.cta-panel p{max-width:650px;color:#d7e8f5}

.site-footer { padding:4rem 0 2rem; background:#04142f; color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:2rem; }
.footer-brand img { width:150px; filter:brightness(0) invert(1); opacity:.94; }
.footer-brand p { max-width:360px; color:#afc3d7; }
.footer-col h3 { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:#6fd7ff; }
.footer-col a,.footer-col button { display:block; margin:.55rem 0; color:#d4e2ee; background:none; border:0; padding:0; text-align:left; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-top:2rem; margin-top:2rem; border-top:1px solid rgba(180,211,234,.16); color:#93aac0; font-size:.82rem; }

.cookie-banner { position:fixed; z-index:120; left:1rem; right:1rem; bottom:1rem; max-width:1050px; margin:auto; padding:1rem; border:1px solid #bcd6e9; border-radius:22px; background:rgba(255,255,255,.97); box-shadow:0 24px 80px rgba(8,38,74,.22); display:none; }
.cookie-banner[data-open="true"] { display:grid; grid-template-columns:1.2fr auto; gap:1rem; align-items:center; }
.cookie-banner h2 { margin:0 0 .3rem; font-size:1rem; }
.cookie-banner p { margin:0; color:#52647b; font-size:.88rem; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }
.cookie-actions button { min-height:42px; padding:.6rem .85rem; border-radius:999px; border:1px solid #b9d1e5; background:#fff; font-size:.8rem; font-weight:750; }
.cookie-actions .accept { background:#0c72db; color:#fff; border-color:#0c72db; }
.cookie-dialog { width:min(620px,calc(100% - 2rem)); border:0; border-radius:26px; padding:0; box-shadow:0 30px 100px rgba(2,20,49,.35); }
.cookie-dialog::backdrop { background:rgba(2,18,42,.58); backdrop-filter:blur(5px); }
.cookie-dialog-inner { padding:1.5rem; }
.cookie-dialog h2 { margin:.2rem 0 .5rem; font-size:1.8rem; letter-spacing:-.035em; }
.cookie-option { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; border-top:1px solid var(--line); }
.switch { position:relative; width:48px; height:26px; flex:none; }
.switch input { opacity:0; width:0; height:0; }
.switch span { position:absolute; inset:0; border-radius:99px; background:#b6c6d5; transition:.2s; }
.switch span::before { content:""; position:absolute; width:20px; height:20px; top:3px; left:3px; border-radius:50%; background:white; transition:.2s; }
.switch input:checked + span { background:#0b75df; }.switch input:checked + span::before{transform:translateX(22px)}
.dialog-actions { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; margin-top:1rem; }

@media (max-width: 980px) {
  .desktop-nav,.header-actions .btn { display:none; }
  .mobile-toggle { display:grid; place-items:center; }
  .header-inner { grid-template-columns:1fr auto 1fr; }
  .header-actions { display:flex; }
  .hero-grid { grid-template-columns:1fr; padding-top:2rem; }
  .hero-copy { max-width:850px; }
  .hero-visual { min-height:560px; }
  .persistent-brand { width:min(640px,92vw); }
  .logo-home-target { width:min(640px,92vw); }
  .cred-grid { grid-template-columns:repeat(2,1fr); }
  .cred-item:nth-child(2){border-right:0}.cred-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .network-wrap,.history-grid,.contact-layout { grid-template-columns:1fr; }
  .contact-aside { position:static; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }.footer-col:last-child{grid-column:2/-1}
  .collab-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 720px) {
  :root { --header-h:68px; }
  .container { width:min(100% - 1.2rem,1180px); }
  .section { padding:4.4rem 0; }
  .header-centre { width:74px; }
  .hero { padding-top:calc(var(--header-h) + .5rem); }
  .hero-grid { display:block; min-height:calc(100svh - var(--header-h)); }
  .hero-copy h1 { font-size:clamp(2.75rem,14vw,4.7rem); max-width:100%; }
  .hero-copy p { font-size:1rem; }
  .hero-visual { min-height:430px; margin-top:.5rem; }
  .service-node { font-size:.62rem; padding:.45rem .58rem; }
  .node-1{left:1%;top:8%}.node-2{right:1%;top:14%}.node-3{left:0;top:43%}.node-4{right:0;top:48%}.node-5{left:5%;bottom:9%}.node-6{right:4%;bottom:5%}
  .persistent-brand { width:min(580px,115vw); }
  .logo-home-target { width:min(580px,115vw); }
  .ecosystem-grid,.project-grid,.process-grid,.definition-grid { grid-template-columns:1fr; }
  .eco-card,.eco-card:nth-child(3),.eco-card:nth-child(4),.eco-card:nth-child(5){grid-column:1;min-height:auto}
  .eco-meta { grid-template-columns:1fr; }
  .project-grid{gap:.8rem}.network-diagram{min-height:440px;transform:scale(.9)}
  .process-grid { gap:.8rem; }
  .country-row { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns:1fr; }.field.full{grid-column:1}
  .contact-form { padding:1.2rem; }
  .eyebrow-row { display:block; }
  .footer-grid { grid-template-columns:1fr 1fr; }.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}
  .footer-bottom { display:block; }
  .cookie-banner[data-open="true"] { grid-template-columns:1fr; }
  .cookie-actions { justify-content:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
  .project-card:hover img,.btn:hover { transform:none; }
}

.project-name-visual {
  width: 100%;
  height: 100%;
  min-height: 17rem;
  display: grid;
  align-content: end;
  gap: .55rem;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  background:
    linear-gradient(135deg, rgba(18, 83, 174, .2), rgba(46, 184, 236, .08)),
    radial-gradient(circle at 78% 22%, rgba(67, 205, 255, .28), transparent 34%),
    #071d38;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.project-name-visual::before,
.project-name-visual::after {
  content: '';
  position: absolute;
  inset: auto -8% 26% 38%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(110, 211, 255, .8), transparent);
  transform: rotate(-18deg);
}
.project-name-visual::after {
  inset: 24% 34% auto -8%;
  transform: rotate(22deg);
}
.project-name-visual span {
  font-size: clamp(2.1rem, 5vw, 4.4rem);
  font-weight: 750;
  letter-spacing: -.055em;
  line-height: .95;
  position: relative;
  z-index: 1;
}
.project-name-visual small {
  color: #b9ddff;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}

/* July 2026 visual corrections */
.desktop-nav { gap:1.05rem; }
.desktop-nav a { white-space:nowrap; }
.mobile-home-link { display:none; align-items:center; gap:.45rem; font-size:.8rem; font-weight:800; color:#173451; }
.header-centre { position:relative; border-radius:16px; }
.header-home-hint { position:absolute; left:50%; bottom:3px; transform:translateX(-50%); font-size:.62rem; line-height:1; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#31506f; opacity:.72; transition:opacity .2s ease; }
body.brand-docked .header-home-hint { opacity:0; }
body[data-home="false"] .persistent-brand { left:50%; top:calc(var(--header-h) / 2); width:116px; }
.deep-section .definition-card { color:var(--ink); }
.deep-section .definition-card p { color:var(--muted); }
.page-hero { position:relative; z-index:1; }
.page-hero .display { max-width:980px; font-size:clamp(3rem,5.4vw,5.7rem); }
.page-hero .lead { max-width:790px; }

.team-card { background:linear-gradient(150deg,#061936,#0b3264); }
.team-mark { display:flex; align-items:center; gap:.45rem; width:max-content; padding:.55rem .7rem; border:1px solid rgba(111,216,255,.35); border-radius:999px; background:rgba(255,255,255,.06); }
.team-mark span { width:.75rem; height:.75rem; border-radius:50%; background:#5cd7ff; box-shadow:1.15rem 0 0 #2188ef,2.3rem 0 0 #174d9a; }
.team-mark span:not(:first-child){display:none}
.team-label { margin:1.25rem 0 0!important; color:#72dcff!important; font-size:.74rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.team-card h3 { margin-top:.5rem; }
.network-centre { padding:1.3rem; line-height:1.25; }

.project-media { aspect-ratio:16/9; }
.project-name-visual { min-height:0; aspect-ratio:16/9; align-content:end; isolation:isolate; }
.project-name-visual::before { inset:14% -10% auto 28%; height:1px; transform:rotate(-12deg); }
.project-name-visual::after { inset:auto 20% 28% -10%; transform:rotate(16deg); }
.project-name-visual span { max-width:90%; font-size:clamp(2rem,4.2vw,3.8rem); }
.project-name-visual small { font-size:.74rem; }
.project-name-visual.tone-1 { background:radial-gradient(circle at 78% 20%,rgba(107,71,255,.34),transparent 34%),linear-gradient(135deg,#160d3c,#4420a5 58%,#1c82d3); }
.project-name-visual.tone-2 { background:radial-gradient(circle at 82% 18%,rgba(45,205,246,.25),transparent 34%),linear-gradient(135deg,#071c39,#0a497c 58%,#1177bd); }
.project-name-visual.tone-3 { background:radial-gradient(circle at 82% 18%,rgba(230,173,86,.25),transparent 34%),linear-gradient(135deg,#28160d,#5a321c 58%,#8c5c2e); }
.project-name-visual.tone-4 { background:radial-gradient(circle at 82% 18%,rgba(151,255,183,.18),transparent 34%),linear-gradient(135deg,#091a19,#153c37 58%,#27695c); }
.project-name-visual.tone-5 { background:radial-gradient(circle at 82% 18%,rgba(110,117,255,.25),transparent 34%),linear-gradient(135deg,#0f1023,#232653 58%,#334b91); }
.project-name-visual.tone-6 { background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,#090a0e,#25262d 58%,#4b4c54); }

.collab-card { display:grid; grid-template-rows:1fr auto; min-height:290px; }
.collab-visual { display:grid; align-content:end; gap:.4rem; padding:1.35rem; min-height:230px; color:#fff; background:linear-gradient(140deg,#0a2345,#0b6bb8); position:relative; overflow:hidden; }
.collab-visual::before { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.18); border-radius:50%; top:-70px; right:-50px; box-shadow:0 0 0 34px rgba(255,255,255,.04); }
.collab-visual span { position:relative; z-index:1; font-size:clamp(1.45rem,2.5vw,2.2rem); font-weight:800; line-height:1; letter-spacing:-.04em; }
.collab-visual small { position:relative; z-index:1; color:#c9e8ff; font-weight:700; }
.collab-tone-2 .collab-visual { background:linear-gradient(140deg,#101116,#383b46); }
.collab-tone-3 .collab-visual { background:linear-gradient(140deg,#18134b,#5141c7); }
.collab-tone-4 .collab-visual { background:linear-gradient(140deg,#171717,#514035); }

.footer-brand-lockup { display:inline-flex; align-items:center; gap:.8rem; margin-bottom:1.2rem; }
.footer-brand-lockup img { width:56px; height:56px; object-fit:contain; filter:none; opacity:1; }
.footer-brand-lockup span { display:grid; line-height:1; }
.footer-brand-lockup strong { font-size:1.2rem; letter-spacing:.08em; }
.footer-brand-lockup small { margin-top:.35rem; color:#7ad9ff; font-size:.66rem; font-weight:850; letter-spacing:.32em; }
.footer-brand > img { display:none; }

@media (max-width: 1080px) {
  .desktop-nav { gap:.8rem; }
  .desktop-nav a { font-size:.83rem; }
  .header-actions .btn { padding-inline:1rem; }
}

@media (max-width: 980px) {
  .mobile-home-link { display:inline-flex; justify-self:start; }
  .header-inner { grid-template-columns:1fr auto 1fr; }
  .header-centre { grid-column:2; grid-row:1; }
  .header-actions { grid-column:3; grid-row:1; }
  .mobile-home-link { grid-column:1; grid-row:1; }
  .header-home-hint { display:none; }
}

@media (max-width: 720px) {
  :root { --header-h:72px; }
  .header-inner { gap:.45rem; }
  .mobile-home-link span { display:none; }
  .mobile-home-link { width:42px; height:42px; justify-content:center; border:1px solid #cbdced; border-radius:50%; background:#fff; }
  .header-centre { width:88px; height:62px; }
  .header-actions { gap:.38rem; }
  .lang-switch a { min-width:30px; padding:.32rem .35rem; }
  .mobile-toggle { width:42px; height:42px; }
  body[data-home="false"] .persistent-brand { top:calc(var(--header-h) / 2); width:92px; }

  .hero { min-height:auto; padding:calc(var(--header-h) + .65rem) 0 3.25rem; }
  .hero-grid { display:grid; grid-template-columns:1fr; grid-template-areas:"visual" "copy"; min-height:auto; gap:.4rem; padding-top:0; }
  .hero-visual { grid-area:visual; min-height:245px; margin:0; }
  .hero-copy { grid-area:copy; padding-top:0; }
  .hero-copy .kicker { margin-bottom:.3rem; }
  .hero-copy h1 { margin:.65rem 0 1rem; font-size:clamp(2.65rem,12.5vw,4.2rem); line-height:.92; letter-spacing:-.065em; }
  .hero-copy p { margin:0; font-size:1rem; line-height:1.62; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:.65rem; margin-top:1.35rem; }
  .hero-actions .btn { width:100%; min-height:50px; }
  .logo-home-target { width:min(410px,92vw); }
  .persistent-brand { width:min(410px,92vw); }
  .service-node { font-size:.58rem; padding:.4rem .52rem; }
  .node-1{left:0;top:6%}.node-2{right:0;top:10%}.node-3{left:1%;top:52%}.node-4{right:1%;top:55%}.node-5{left:10%;bottom:3%}.node-6{right:9%;bottom:1%}
  .hero-line { opacity:.32; }

  .page-hero { padding:calc(var(--header-h) + 3.5rem) 0 3.2rem; }
  .page-hero .display { font-size:clamp(2.55rem,11.5vw,4rem); line-height:.98; letter-spacing:-.055em; }
  .page-hero .lead { font-size:1rem; line-height:1.62; }
  .breadcrumbs { margin-top:1.35rem; }

  .network-diagram { min-height:390px; transform:none; }
  .network-centre { width:154px; height:154px; font-size:.86rem; }
  .network-orbit { inset:46px; }
  .network-role { font-size:.68rem; padding:.48rem .62rem; }
  .r1{top:1%;left:33%}.r2{right:0;top:18%}.r3{right:0;bottom:18%}.r4{bottom:1%;left:34%}.r5{left:0;bottom:18%}.r6{left:0;top:18%}.r7{top:43%;right:-1%}.r8{top:43%;left:-1%}

  .collab-grid { grid-template-columns:1fr; }
  .collab-card { min-height:0; }
  .collab-visual { min-height:190px; }
  .project-name-visual span { font-size:clamp(1.8rem,10vw,3rem); }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand,.footer-col:last-child { grid-column:auto; }
}


/* CROSSTECH IT v3 — consolidated layout and accessibility fixes */
.sr-only {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

html { scroll-padding-top:calc(var(--header-h) + 1rem); }
[id] { scroll-margin-top:calc(var(--header-h) + 1.25rem); }

.site-header {
  background:rgba(247,251,255,.92);
  box-shadow:0 8px 28px rgba(7,22,47,.055);
}
.header-inner {
  grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);
  gap:1rem;
}
.desktop-nav { grid-column:1; justify-self:start; min-width:0; }
.header-centre {
  grid-column:2;
  justify-self:center;
  width:112px;
  height:64px;
  border-radius:18px;
  cursor:pointer;
  isolation:isolate;
}
.header-centre::after {
  content:"⌂";
  position:absolute;
  right:2px;
  bottom:4px;
  z-index:2;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid rgba(126,165,197,.55);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#173451;
  font-size:.66rem;
  line-height:1;
  opacity:.82;
  box-shadow:0 4px 10px rgba(7,22,47,.08);
}
.header-centre:hover::after,
.header-centre:focus-visible::after { opacity:1; border-color:#2eb9ed; }
.header-actions { grid-column:3; justify-self:end; white-space:nowrap; }
.mobile-home-link,.header-home-hint { display:none!important; }

/* Keep the moving brand decorative and let clicks pass to the centred home link. */
.persistent-brand { pointer-events:none; }
body[data-home="false"] .persistent-brand {
  left:50%!important;
  top:calc(var(--header-h) / 2)!important;
  width:108px!important;
  transform:translate(-50%,-50%)!important;
}
body[data-home="false"] { padding-top:0; }
body[data-home="false"] .page-hero { min-height:0; }

.desktop-nav a,.footer-col a,.footer-col button { transition:color .18s ease, opacity .18s ease; }
.desktop-nav a:hover { color:#0b70dc; }
.footer-col a:hover,.footer-col button:hover { color:#72dcff; }

.page-hero {
  padding:calc(var(--header-h) + clamp(3.75rem,7vw,6.2rem)) 0 clamp(3.25rem,6vw,5rem);
  overflow:hidden;
}
.page-hero::after {
  content:"";
  position:absolute;
  right:-10rem;
  bottom:-14rem;
  width:34rem;
  height:34rem;
  border:1px solid rgba(48,158,223,.12);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(48,158,223,.035),0 0 0 140px rgba(48,158,223,.02);
  pointer-events:none;
}
.page-hero .container { position:relative; z-index:1; }

.deep-section .definition-card {
  color:var(--ink)!important;
  background:rgba(255,255,255,.98)!important;
  border-color:rgba(184,216,239,.72)!important;
  box-shadow:0 18px 44px rgba(0,18,54,.12);
}
.deep-section .definition-card h3 { color:var(--ink)!important; }
.deep-section .definition-card p { color:var(--muted)!important; }
.definition-card { min-height:210px; }

.contact-layout { gap:clamp(1.5rem,4vw,3.25rem); }
.contact-aside { overflow:hidden; }
.contact-form { overflow:hidden; }
.field input,.field select,.field textarea {
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.field input:hover,.field select:hover,.field textarea:hover { border-color:#8ebfdf; }
.field input:focus,.field select:focus,.field textarea:focus {
  outline:none;
  border-color:#1ba9eb;
  background:#fff;
  box-shadow:0 0 0 4px rgba(27,169,235,.13);
}
.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid { border-color:#d96a62; }
.field select { text-overflow:ellipsis; }
.contact-form button[disabled] { opacity:.65; cursor:wait; transform:none; }

.footer-brand-lockup { gap:.75rem; }
.footer-brand-lockup img { flex:none; }
.footer-brand-lockup strong { white-space:nowrap; }
.footer-brand-lockup small { white-space:nowrap; }
.site-footer { position:relative; overflow:hidden; }
.site-footer::before {
  content:"";
  position:absolute;
  right:-12rem;
  top:-17rem;
  width:34rem;
  height:34rem;
  border:1px solid rgba(106,215,255,.09);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(106,215,255,.025);
  pointer-events:none;
}
.site-footer .container { position:relative; z-index:1; }

@media (max-width:1080px) {
  .header-inner { grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr); }
  .header-centre { width:100px; }
  .desktop-nav { gap:.72rem; }
  .desktop-nav a { font-size:.8rem; }
  .header-actions .btn { font-size:.86rem; padding-inline:.9rem; }
}

@media (max-width:980px) {
  .header-inner { grid-template-columns:1fr 96px 1fr; }
  .desktop-nav,.header-actions .btn { display:none; }
  .header-centre { grid-column:2; width:96px; height:62px; }
  .header-actions { grid-column:3; display:flex; }
  .mobile-toggle { display:grid; }
  .header-centre::after { right:1px; bottom:3px; }
  .definition-card { min-height:0; }
}

@media (max-width:720px) {
  .header-inner { grid-template-columns:1fr 84px 1fr; gap:.35rem; }
  .header-centre { width:84px; height:60px; }
  .header-centre::after { width:17px; height:17px; right:-1px; bottom:3px; }
  body[data-home="false"] .persistent-brand { width:86px!important; }
  .page-hero { padding:calc(var(--header-h) + 2.9rem) 0 3rem; }
  .page-hero::after { width:24rem; height:24rem; right:-13rem; bottom:-12rem; }
  .contact-aside,.contact-form { border-radius:22px; }
  .contact-form { padding:1.15rem; }
  .field input,.field select { min-height:52px; }
  .footer-brand-lockup strong { font-size:1.08rem; }
}

@media (max-width:390px) {
  .lang-switch a { min-width:28px; padding:.3rem; }
  .mobile-toggle { width:40px; height:40px; }
  .header-actions { gap:.25rem; }
  .hero-copy h1 { font-size:clamp(2.45rem,12vw,3.7rem); }
  .service-node { font-size:.53rem; }
}


/* Docked logo home affordance: rendered above the animated SVG itself. */
.header-centre::after { content:none!important; }
.persistent-brand::after {
  content:"⌂";
  position:absolute;
  right:0;
  bottom:3px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid rgba(126,165,197,.65);
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#173451;
  font-size:.66rem;
  line-height:1;
  opacity:0;
  box-shadow:0 4px 12px rgba(7,22,47,.12);
  transition:opacity .18s ease;
}
body.brand-docked .persistent-brand::after,
body[data-home="false"] .persistent-brand::after { opacity:1; }


/* Final header brand sizing */
.persistent-brand::after { content:none!important; display:none!important; }
.header-inner { grid-template-columns:minmax(0,1fr) 134px minmax(0,1fr); }
.header-centre { width:134px; }
body[data-home="false"] .persistent-brand { width:134px!important; }
@media (max-width:1080px) {
  .header-inner { grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr); }
  .header-centre { width:120px; }
  body[data-home="false"] .persistent-brand { width:120px!important; }
}
@media (max-width:980px) {
  .header-inner { grid-template-columns:1fr 104px 1fr; }
  .header-centre { width:104px; }
  body[data-home="false"] .persistent-brand { width:104px!important; }
}
@media (max-width:720px) {
  .header-inner { grid-template-columns:1fr 100px 1fr; }
  .header-centre { width:100px; }
  body[data-home="false"] .persistent-brand { width:100px!important; }
}
