:root{
  --petrol:#124a5d;
  --petrol-900:#082b37;
  --petrol-800:#0b3443;
  --petrol-700:#0e4051;
  --teal:#00a79e;
  --teal-soft:#20beb5;
  --blue:#2c5ba9;
  --red:#c22027;
  --red-dark:#a51b21;
  --paper:#f5f8f9;
  --paper-2:#eef4f5;
  --white:#fff;
  --ink:#102b35;
  --muted:#6a7d85;
  --line:rgba(18,74,93,.13);
  --line-dark:rgba(255,255,255,.12);
  --shadow:0 28px 80px rgba(14,64,81,.12);
  --shadow-deep:0 35px 90px rgba(4,26,34,.24);
  --radius-sm:16px;
  --radius:24px;
  --radius-lg:34px;
  --max:1240px;
  --section:clamp(84px,8vw,128px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,svg{max-width:100%}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:18px;top:-90px;z-index:999;padding:11px 15px;background:#fff;color:#111;border-radius:10px;box-shadow:var(--shadow)}
.skip-link:focus{top:18px}

/* top bar */
.topbar{background:var(--petrol-900);color:#b7c8ce;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;letter-spacing:.025em}
.topbar-inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-message,.topbar-links{display:flex;align-items:center;gap:11px}
.status-dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--teal);box-shadow:0 0 0 5px rgba(0,167,158,.12)}
.topbar-links{gap:15px}
.topbar-links a{color:#fff;font-weight:650}
.topbar-links a:hover{color:#7ce4df}
.topbar-divider{width:1px;height:13px;background:rgba(255,255,255,.14)}

/* navigation */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,74,93,.09);transition:box-shadow .25s ease,background .25s ease}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--teal) 0 33.333%,var(--blue) 33.333% 66.666%,var(--red) 66.666% 100%);opacity:.9}
.site-header.scrolled{background:rgba(255,255,255,.985);box-shadow:0 15px 42px rgba(11,52,67,.10)}
.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;line-height:0;flex:0 0 auto}
.brand img{display:block;width:188px;height:auto}
.main-nav{display:flex;align-items:center;gap:30px;color:#506974;font-size:13px;font-weight:650}
.main-nav>a:not(.nav-cta){position:relative;padding:12px 0}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--teal);transition:right .25s ease}
.main-nav>a:not(.nav-cta):hover,.main-nav>a.active{color:var(--petrol)}
.main-nav>a:not(.nav-cta):hover::after,.main-nav>a.active::after{right:0}
.nav-cta{display:inline-flex;align-items:center;gap:18px;padding:13px 19px;border-radius:999px;background:var(--red);color:#fff!important;font-weight:800;box-shadow:0 10px 26px rgba(194,32,39,.18);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.nav-cta:hover{transform:translateY(-2px);background:var(--red-dark);box-shadow:0 16px 32px rgba(194,32,39,.24)}
.nav-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:25px;height:2px;background:var(--petrol);margin:5px 0;border-radius:2px;transition:.25s}

/* shared typography */
.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:#5c7680}
.eyebrow>span{width:30px;height:1px;background:var(--teal)}
.eyebrow.light{color:#a9bdc5}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.038em}
.hero h1,.section-head h2,.operation-copy h2,.coverage-copy h2,.contact-copy h2{margin:0;font-weight:570;line-height:.98}
.hero h1{font-size:clamp(52px,5.8vw,84px);max-width:730px}
.section-head h2,.operation-copy h2,.coverage-copy h2,.contact-copy h2{font-size:clamp(42px,4.5vw,66px)}
h1 em,h2 em{font-style:normal;color:var(--teal-soft)}
.section{padding:var(--section) 0}
.section-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.6fr);align-items:end;gap:clamp(40px,7vw,90px);margin-bottom:60px}
.section-intro{max-width:520px}
.section-intro p{margin:0 0 14px;color:var(--muted);font-size:16px;line-height:1.8}
.section-intro p:last-child{margin-bottom:0}
.section-head.inverse h2{color:#fff}
.section-head.inverse .section-intro p{color:#9db0b7}

/* hero */
.hero{position:relative;min-height:750px;padding:74px 0 98px;overflow:hidden;color:#fff;background:radial-gradient(circle at 79% 17%,rgba(0,167,158,.17),transparent 34%),radial-gradient(circle at 12% 100%,rgba(44,91,169,.16),transparent 38%),linear-gradient(135deg,#124a5d 0%,#0b3443 53%,#072631 100%)}
.hero-mesh{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to right,rgba(0,0,0,.92),transparent 94%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(85px);pointer-events:none}
.hero-orb-a{width:390px;height:390px;right:9%;top:6%;background:rgba(0,167,158,.12)}
.hero-orb-b{width:330px;height:330px;left:8%;bottom:-22%;background:rgba(44,91,169,.11)}
.hero-layout{position:relative;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(50px,6vw,84px);min-height:580px}
.hero-lead{max-width:660px;margin:28px 0 34px;color:#b9c8ce;font-size:18px;line-height:1.75}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 22px;border-radius:999px;font-size:13px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 12px 28px rgba(194,32,39,.20)}
.btn-primary:hover{transform:translateY(-2px);background:var(--red-dark);box-shadow:0 16px 34px rgba(194,32,39,.27)}
.btn-secondary{border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.035);color:#fff}
.btn-secondary:hover{transform:translateY(-2px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.38)}
.hero-proof{display:flex;margin-top:50px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);max-width:650px}
.hero-proof>div{min-width:150px;padding-right:24px;margin-right:24px;border-right:1px solid rgba(255,255,255,.1)}
.hero-proof>div:last-child{border-right:0;margin-right:0}
.hero-proof strong{display:block;margin-bottom:5px;color:#fff;font-size:21px;line-height:1.1;letter-spacing:-.02em}
.hero-proof span{display:block;color:#849aa4;font-size:9px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.hero-dashboard{position:relative}
.dashboard-shell{position:relative;max-width:535px;margin-left:auto;aspect-ratio:.94;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(155deg,rgba(255,255,255,.065),rgba(255,255,255,.015));box-shadow:var(--shadow-deep);backdrop-filter:blur(12px)}
.dashboard-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 52% 40%,rgba(0,167,158,.11),transparent 45%)}
.dashboard-shell::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.07);pointer-events:none}
.dashboard-top,.dashboard-bottom{position:absolute;left:28px;right:28px;z-index:4;display:flex;align-items:center;justify-content:space-between}
.dashboard-top{top:24px;color:#b9c7cd;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.dashboard-top span{display:flex;align-items:center;gap:10px}
.dashboard-top small{color:#6f8791;font-size:8px;letter-spacing:.18em}
.live-dot{width:6px;height:6px;box-shadow:0 0 0 4px rgba(0,167,158,.11)}
.route-stage{position:absolute;inset:56px 0 62px}
.route-map{position:absolute;width:82%;left:9%;top:2%}
.portugal-shape{fill:rgba(255,255,255,.026);stroke:rgba(255,255,255,.10);stroke-width:1}
.route{fill:none;stroke:url(#routeGradient);stroke-width:3;stroke-linecap:round;stroke-dasharray:8 9;filter:url(#routeGlow)}
.route-alt{opacity:.32;stroke-width:2}
.route-nodes circle{fill:#0b3443;stroke:var(--teal);stroke-width:2}
.pulse-point circle:first-child{fill:none;stroke:rgba(0,167,158,.28);stroke-width:1;animation:pulse 2.4s infinite}
.pulse-point circle:last-child{fill:var(--teal);filter:url(#routeGlow)}
.route-chip{position:absolute;z-index:3;padding:9px 11px;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:rgba(7,38,49,.68);backdrop-filter:blur(9px);box-shadow:0 10px 25px rgba(0,0,0,.10)}
.route-chip b{display:block;color:#e3ebee;font-size:10px;letter-spacing:.02em}
.route-chip span{display:block;color:#78909a;font-size:8px}
.chip-north{top:16%;right:8%}.chip-center{top:45%;right:1%}.chip-south{left:5%;bottom:20%}
.dashboard-bottom{bottom:20px;gap:16px;color:#80959e;font-size:8px;letter-spacing:.09em;text-transform:uppercase}
.dashboard-bottom div{display:flex;align-items:center;gap:8px}
.dashboard-bottom small{color:var(--teal);font-size:8px}
.hero-edge{position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--teal) 0 33.333%,var(--blue) 33.333% 66.666%,var(--red) 66.666% 100%)}

/* capability strip */
.capability-strip{background:#fff;border-bottom:1px solid var(--line)}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.capability-grid>div{min-height:86px;display:flex;align-items:center;gap:14px;padding:20px 28px;border-right:1px solid var(--line)}
.capability-grid>div:first-child{border-left:1px solid var(--line)}
.capability-grid span{font-size:10px;color:var(--teal);font-weight:850;letter-spacing:.1em}
.capability-grid strong{font-size:12px;color:#36545f;letter-spacing:.015em}

/* company */
.company{background:var(--paper)}
.company-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px;align-items:stretch}
.statement-card{position:relative;overflow:hidden;min-height:490px;padding:38px;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--petrol),var(--petrol-900));color:#fff;box-shadow:var(--shadow)}
.statement-card::before{content:"";position:absolute;width:360px;height:360px;right:-160px;bottom:-170px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.statement-top{display:flex;align-items:flex-end;gap:12px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.10)}
.statement-top span{font-size:10px;letter-spacing:.16em;color:#91a9b3}
.statement-top strong{font-size:44px;line-height:.82;letter-spacing:-.04em}
.statement-card h3{position:relative;max-width:500px;margin:78px 0 18px;font-size:clamp(32px,3vw,45px);line-height:1.06;font-weight:590}
.statement-card p{position:relative;max-width:500px;margin:0;color:#adbec5;font-size:15px;line-height:1.78}
.brand-ribbon{position:absolute;left:38px;bottom:34px;display:flex;gap:6px;transform:skewX(-14deg)}
.brand-ribbon i{display:block;width:38px;height:6px;border-radius:2px}.brand-ribbon i:nth-child(1){background:var(--teal)}.brand-ribbon i:nth-child(2){background:var(--blue)}.brand-ribbon i:nth-child(3){background:var(--red)}
.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.value-card{min-height:236px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 14px 38px rgba(18,74,93,.04);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.value-card:hover{transform:translateY(-4px);border-color:rgba(0,167,158,.34);box-shadow:0 18px 48px rgba(18,74,93,.09)}
.value-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#e7f6f5;color:#087f79;font-size:10px;font-weight:850}
.value-card h3{margin:36px 0 10px;font-size:24px;font-weight:650;color:var(--petrol)}
.value-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

/* services */
.services{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--petrol) 0%,#0b3544 48%,#072832 100%);color:#fff}
.services::after{content:"";position:absolute;width:720px;height:720px;right:-300px;bottom:-400px;border-radius:50%;background:radial-gradient(circle,rgba(0,167,158,.13),transparent 66%);pointer-events:none}
.services .container{position:relative;z-index:1}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{position:relative;min-height:490px;padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);background:rgba(255,255,255,.025);overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.service-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--teal),var(--blue),var(--red));opacity:.0;transition:.25s}
.service-card:hover{transform:translateY(-5px);border-color:rgba(0,167,158,.42);background:rgba(255,255,255,.04)}
.service-card:hover::before{opacity:1}
.service-featured{background:linear-gradient(160deg,rgba(0,167,158,.12),rgba(255,255,255,.025));border-color:rgba(0,167,158,.27)}
.service-meta{display:flex;align-items:center;justify-content:space-between;color:#6fd9d3}
.service-meta span{font-size:11px;font-weight:850}.service-meta small{font-size:8px;letter-spacing:.15em;color:#78949e}
.service-icon{width:64px;height:64px;margin-top:55px;border:1px solid rgba(0,167,158,.18);border-radius:18px;background:rgba(0,167,158,.09);display:flex;align-items:center;justify-content:center}
.service-icon svg{width:34px;height:34px;fill:none;stroke:#49d2cb;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{margin:28px 0 14px;font-size:29px;font-weight:590;color:#fff}
.service-card p{margin:0 0 24px;color:#9fb1b9;font-size:14px;line-height:1.75}
.service-card ul{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.09);display:grid;gap:10px}
.service-card li{position:relative;padding-left:17px;color:#bed0d6;font-size:12px}
.service-card li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--teal)}
.service-cta{margin-top:18px;padding:24px 26px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:space-between;gap:28px}
.service-cta p{margin:0;color:#aebfc6;font-size:14px}.service-cta p strong{color:#fff}
.service-cta a{flex:0 0 auto;color:#fff;font-size:13px;font-weight:800}.service-cta a span{color:var(--teal)}

/* operation */
.operation{background:#fff}
.operation-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(55px,8vw,110px);align-items:start}
.operation-copy{position:sticky;top:150px}
.operation-copy p:not(.eyebrow){max-width:520px;margin:26px 0 28px;color:var(--muted);font-size:16px;line-height:1.8}
.text-link{display:inline-flex;align-items:center;gap:16px;color:var(--petrol);font-size:13px;font-weight:800}
.text-link span{color:var(--red)}
.process-list{border-top:1px solid var(--line)}
.process-step{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}
.process-step>span{width:44px;height:44px;border-radius:12px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:10px;font-weight:850}
.process-step small{display:block;margin-bottom:5px;color:#789099;font-size:9px;font-weight:800;letter-spacing:.14em}
.process-step h3{margin:0 0 6px;font-size:22px;font-weight:650;color:var(--petrol)}
.process-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

/* coverage */
.coverage{background:var(--paper-2)}
.coverage-layout{display:grid;grid-template-columns:1fr .92fr;gap:clamp(55px,8vw,105px);align-items:center}
.coverage-visual{position:relative;height:610px;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 55% 45%,#175d70 0,#0f4354 35%,#0a2d3a 74%);box-shadow:var(--shadow)}
.coverage-grid{position:absolute;inset:0;opacity:.10;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:40px 40px}
.pt-large{position:absolute;height:84%;width:auto;left:50%;top:8%;transform:translateX(-50%);fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.12);stroke-width:1.2}
.radar{position:absolute;border:1px solid rgba(0,167,158,.23);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%)}
.radar-a{width:170px;height:170px}.radar-b{width:300px;height:300px}.radar-c{width:440px;height:440px}
.map-city{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;color:#dbe8ec;font-size:9px;letter-spacing:.08em}
.map-city span{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 7px rgba(0,167,158,.13)}
.map-city small{display:block;color:#6fbdb9;font-size:7px;letter-spacing:.12em}.city-porto{top:20%;left:54%}.city-lisboa{top:49%;left:47%}.city-alentejo{top:66%;left:52%}.city-algarve{top:82%;left:48%}
.map-route{position:absolute;width:2px;border-radius:10px;background:linear-gradient(var(--teal),var(--blue),var(--red));box-shadow:0 0 14px rgba(0,167,158,.40);transform-origin:top}.route-one{height:165px;left:52%;top:24%;transform:rotate(7deg)}.route-two{height:205px;left:51%;top:51%;transform:rotate(-4deg)}
.coverage-copy p:not(.eyebrow){margin:26px 0 34px;color:var(--muted);font-size:16px;line-height:1.8}
.coverage-list{border-top:1px solid var(--line)}
.coverage-list>div{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.coverage-list>div>span{color:var(--teal);font-size:10px;font-weight:850}
.coverage-list p{margin:0!important}.coverage-list b{display:block;margin-bottom:2px;color:var(--petrol);font-size:14px}.coverage-list small{color:var(--muted);font-size:12px}

/* facts */
.facts{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{min-height:145px;display:flex;flex-direction:column;justify-content:center;padding:28px;border-right:1px solid var(--line)}
.fact:first-child{border-left:1px solid var(--line)}
.fact strong{margin-bottom:8px;color:var(--petrol);font-size:36px;line-height:1;letter-spacing:-.04em}
.fact span{color:#778990;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}

/* contact */
.contact{background:linear-gradient(180deg,var(--paper) 0,#eaf1f3 100%)}
.contact-panel{position:relative;display:grid;grid-template-columns:1.03fr .97fr;gap:70px;padding:clamp(42px,5vw,68px);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(135deg,var(--petrol) 0%,#0d4354 58%,#0b3544 100%);color:#fff;box-shadow:0 35px 90px rgba(18,74,93,.22)}
.contact-panel::before{content:"";position:absolute;width:430px;height:430px;right:-180px;top:-190px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.015)}
.contact-copy,.contact-details{position:relative;z-index:1}
.contact-copy p:not(.eyebrow){max-width:560px;margin:26px 0 30px;color:#b8cbd2;font-size:16px;line-height:1.8}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
.contact-details{align-self:center;border-top:1px solid rgba(255,255,255,.13)}
.contact-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.13);transition:background .2s ease,padding .2s ease}
a.contact-row:hover{padding-left:8px;padding-right:8px;background:rgba(255,255,255,.025)}
.contact-mark{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(0,167,158,.12);color:#62d9d3;font-size:9px;font-weight:850}
.contact-row small{display:block;margin-bottom:3px;color:#75c8c4;font-size:8px;font-weight:800;letter-spacing:.14em}
.contact-row strong{display:block;color:#fff;font-size:13px;line-height:1.55;font-weight:650}
.contact-row i{font-style:normal;color:#8da9b3;font-size:12px}

/* footer */
.site-footer{background:#082a36;color:#91a7af;padding:56px 0 20px}
.footer-main{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:70px;align-items:start;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-company{display:grid;gap:18px}
.footer-logo{display:inline-flex;width:max-content;padding:10px 13px;border-radius:13px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.14);line-height:0}
.footer-logo img{width:178px;height:auto}
.footer-company p{margin:0;color:#91a7af;font-size:11px;line-height:1.8}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:11px 26px;color:#bac7cc;font-size:11px}
.footer-nav a:hover{color:#fff}
.footer-contact{display:grid;gap:7px;justify-items:start}
.footer-contact small{color:#6f8d98;font-size:8px;font-weight:800;letter-spacing:.15em}
.footer-contact a{color:#fff;font-size:14px;font-weight:750}.footer-contact a:hover{color:#7ce4df}
.footer-contact span{font-size:11px;color:#91a7af}
.footer-bottom{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:18px}
.copyright{font-size:9px;letter-spacing:.035em;color:#6f8993}
.footer-credits{display:flex;align-items:center;justify-content:flex-end;gap:9px;color:#9ab0b8;font-size:10px;line-height:1.3;letter-spacing:.025em;white-space:nowrap}
.partner-group{color:#9ab0b8;font-weight:400}.partner-credit{color:#c0cdd2;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.partner-credit:hover{color:#fff}
.credit-separator{color:#607d88;margin-inline:2px}
.webcenter-credit{display:flex;align-items:center;line-height:0;transition:opacity .2s ease}
.webcenter-credit:hover{opacity:.86}
.webcenter-credit img{display:block;width:160px;height:auto}

/* animation */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}
@keyframes pulse{0%{transform:scale(.72);opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* responsive */
@media (max-width:1080px){
  .main-nav{gap:20px}
  .hero-layout{grid-template-columns:1fr;gap:52px}.hero{padding-top:64px}.hero-dashboard{display:none}.hero-layout{min-height:565px}
  .capability-grid{grid-template-columns:1fr 1fr}.capability-grid>div:nth-child(2){border-right:1px solid var(--line)}.capability-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-head{grid-template-columns:1fr;gap:25px}.section-intro{max-width:760px}
  .company-grid{grid-template-columns:1fr}.statement-card{min-height:430px}
  .service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:span 2;min-height:420px}
  .operation-layout{grid-template-columns:1fr;gap:46px}.operation-copy{position:static;max-width:720px}
  .coverage-layout{grid-template-columns:1fr}.coverage-visual{height:540px;order:2}.coverage-copy{order:1}
  .contact-panel{grid-template-columns:1fr;gap:46px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-contact{grid-column:2}.footer-nav{grid-row:2;grid-column:1 / -1;max-width:420px}
}

@media (max-width:760px){
  :root{--section:82px}
  .container{width:min(calc(100% - 30px),var(--max))}
  .topbar-inner{height:34px}.topbar-message{display:none}.topbar-links{width:100%;justify-content:space-between;font-size:11px}
  .nav-wrap{min-height:78px}.brand img{width:152px}
  .nav-toggle{display:block}
  .main-nav{position:absolute;left:15px;right:15px;top:85px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid rgba(18,74,93,.12);border-radius:18px;background:#fff;box-shadow:0 24px 65px rgba(18,74,93,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s}
  .main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav>a{padding:13px 10px!important}.main-nav>a:not(.nav-cta)::after{display:none}.nav-cta{margin-top:8px;justify-content:space-between}
  .hero{min-height:auto;padding:70px 0 76px}.hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-proof{display:grid;grid-template-columns:1fr 1fr;margin-top:40px}.hero-proof>div{min-width:0;margin:0 0 18px;padding:15px 14px 0 0}.hero-proof>div:nth-child(2){border-right:0}.hero-proof>div:last-child{grid-column:span 2}
  .capability-grid>div{min-height:76px;padding:16px 18px}.capability-grid strong{font-size:11px}
  .section-head{margin-bottom:42px}.section-head h2,.operation-copy h2,.coverage-copy h2,.contact-copy h2{font-size:42px}
  .statement-card{min-height:390px;padding:30px}.statement-card h3{margin-top:58px}.brand-ribbon{left:30px;bottom:28px}
  .value-grid{grid-template-columns:1fr}.value-card{min-height:205px}
  .service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:430px}.service-cta{align-items:flex-start;flex-direction:column}
  .process-step{grid-template-columns:48px 1fr;gap:16px}
  .coverage-visual{height:470px}.radar-c{width:380px;height:380px}
  .facts-grid{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:1px solid var(--line)}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.fact strong{font-size:31px}
  .contact-panel{padding:36px 24px;border-radius:26px}.contact-actions{display:grid}.contact-actions .btn{width:100%}
  .footer-main{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.footer-contact,.footer-nav{grid-column:auto;grid-row:auto}.footer-nav{grid-template-columns:1fr 1fr;max-width:none}.footer-bottom{align-items:flex-start;flex-direction:column;gap:16px;padding-top:20px}.footer-credits{justify-content:flex-start;flex-wrap:wrap;white-space:normal;row-gap:8px;font-size:11px}.webcenter-credit img{width:145px}.copyright{font-size:9px}
}

@media (max-width:480px){
  .hero h1{font-size:43px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-proof{grid-template-columns:1fr}.hero-proof>div,.hero-proof>div:last-child{grid-column:auto;border-right:0}
  .capability-grid{grid-template-columns:1fr}.capability-grid>div{border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.capability-grid>div:last-child{border-bottom:0}
  .section-head h2,.operation-copy h2,.coverage-copy h2,.contact-copy h2{font-size:38px}
  .statement-card{min-height:420px}.statement-card h3{font-size:34px}
  .coverage-visual{height:410px}.radar-c{width:320px;height:320px}.city-porto{left:55%}.city-lisboa{left:42%}.city-alentejo{left:50%}.city-algarve{left:45%}
  .facts-grid{grid-template-columns:1fr}.fact{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}
  .contact-row{grid-template-columns:40px 1fr}.contact-row>i{display:none}.contact-row strong{font-size:12px}
  .footer-logo img{width:160px}.footer-credits{display:grid;grid-template-columns:auto auto auto;justify-content:start;gap:6px 7px}.footer-credits .webcenter-credit{grid-column:1 / -1;margin-top:2px}.credit-separator{margin-inline:0}.webcenter-credit img{width:150px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
