body{overflow-x:hidden}
.hero-return{display:flex;align-items:baseline;gap:12px;margin:38px 0 0 8vw;color:#70e2ea;font:14px "Courier New",monospace;text-transform:uppercase;letter-spacing:.14em}.hero-return strong{color:#fff;font:700 clamp(1.25rem,2vw,2rem) Arial,Helvetica,sans-serif;letter-spacing:-.02em}.hero-return+.hero-intro{margin-top:52px}
.manifesto-main h2{font-size:clamp(3.2rem,5.2vw,5.8rem)}
.flow-line span{position:relative;animation:flowTwinkle 2.7s ease-in-out infinite}.flow-line span:nth-of-type(2){animation-delay:.9s}.flow-line span:nth-of-type(3){animation-delay:1.8s}.flow-line span::after{content:"";position:absolute;inset:-8px;border:1px solid #70e8ef;border-radius:50%;opacity:0;animation:flowRing 2.7s ease-out infinite}.flow-line span:nth-of-type(2)::after{animation-delay:.9s}.flow-line span:nth-of-type(3)::after{animation-delay:1.8s}@keyframes flowTwinkle{0%,28%,100%{transform:scale(1);background:#5bd5e0;box-shadow:0 0 0 rgba(91,213,224,0)}10%{transform:scale(1.4);background:#fff;box-shadow:0 0 18px 6px rgba(91,213,224,.65)}}@keyframes flowRing{0%,5%{opacity:0;transform:scale(.55)}10%{opacity:1;transform:scale(.85)}28%,100%{opacity:0;transform:scale(2.1)}}
@media(max-width:650px){.hero h1>span,.hero h1 strong{font-size:13.7vw}.hero-return{margin:24px 0 0;gap:8px;font-size:10px}.hero-return strong{font-size:1rem}.hero-return+.hero-intro{margin-top:48px}.manifesto-main h2{font-size:10vw}.map-label{font-size:8px}.l1,.l2{left:3%}.l3,.l4{right:3%}}
@media(prefers-reduced-motion:reduce){.flow-line span,.flow-line span::after{animation:none}}
.contact{grid-template-columns:130px minmax(300px,.8fr) minmax(460px,1.2fr);align-items:start;min-height:auto}.contact-intro p{max-width:520px;font-size:17px;color:#d8edf7;margin:45px 0 34px}.contact-intro .phone{font-size:1.25rem;margin:0 0 22px}.contact-intro address{font-style:normal;color:#c9e4f1}.contact-form{border-top:1px solid rgba(255,255,255,.55);padding-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label>span,.spam-check label{font:10px "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em;color:#d9f1f7}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.48);border-radius:0;background:rgba(4,53,88,.18);color:#fff;padding:13px 12px;font:16px Arial,Helvetica,sans-serif;outline:none}.form-grid select option{color:#102434;background:#fff}.form-grid textarea{resize:vertical;min-height:125px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#8cf1f4;background:rgba(4,53,88,.32);box-shadow:0 2px 0 #8cf1f4}.form-wide{grid-column:1/3}.spam-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.spam-check{grid-column:1/3;display:grid;grid-template-columns:1fr 130px;gap:10px 20px;align-items:center;padding:17px 18px;border:1px solid rgba(255,255,255,.24)}.spam-check label{font-size:11px}.spam-check b{color:#fff;font-size:14px}.spam-check input{grid-column:2;grid-row:1/3;text-align:center}.spam-check small{color:#b9d9e7;font-size:11px}.form-submit{margin-top:25px;width:100%;border:1px solid #fff;background:#fff;color:#0673aa;padding:16px 18px;display:flex;justify-content:space-between;cursor:pointer;font:700 12px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.1em}.form-submit:hover,.form-submit:focus{background:#8cf1f4;border-color:#8cf1f4}.form-status{min-height:24px;margin:14px 0 0;font-size:12px}.form-status.error{color:#ffe2c7}.form-status.success{color:#baffdf}
@media(max-width:1280px){.contact{grid-template-columns:70px 1fr}.contact-form{grid-column:2}}
@media(max-width:650px){.contact{grid-template-columns:1fr}.contact-intro,.contact-form{grid-column:1}.contact-intro{position:relative;z-index:1}.contact-form{margin-top:20px}.form-grid{grid-template-columns:1fr}.form-wide,.spam-check{grid-column:1}.spam-check{grid-template-columns:1fr 100px}.contact-mark{pointer-events:none}.contact-intro p{margin-top:30px}}
footer{grid-template-columns:190px minmax(420px,1fr) auto;gap:45px;padding-block:36px}.market-clock{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:32px;border-left:1px solid rgba(255,255,255,.18);padding-left:34px}.clock-heading{display:flex;flex-direction:column;gap:6px;color:#81a1b5;font:9px "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em}.clock-heading b{color:#61dae4;font-size:11px}.clock-values{display:flex;align-items:center;gap:18px}.clock-values>span{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:7px}.clock-values b{color:#fff;font:700 2rem Arial,Helvetica,sans-serif;letter-spacing:-.04em}.clock-values small{color:#8ea9ba;font:9px "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em}.clock-values i{color:#2f607d;font-style:normal}.footer-legal{display:block!important;margin:0;text-align:right;color:#8ea9ba;line-height:1.7}
@media(max-width:1280px){footer{grid-template-columns:150px 1fr;gap:30px}.market-clock{padding-left:25px}.footer-legal{grid-column:1/3;text-align:right;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}}
@media(max-width:650px){footer{grid-template-columns:1fr;gap:26px}.market-clock{grid-template-columns:1fr;padding:22px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18);gap:18px}.clock-values{justify-content:space-between;gap:8px}.clock-values b{font-size:1.7rem}.footer-legal{grid-column:1;text-align:left;padding-top:18px}}
footer{grid-template-columns:1fr 1fr;grid-template-areas:"clock clock" "brand legal";row-gap:28px;column-gap:40px}footer>.identity{grid-area:brand;align-self:end}.market-clock{grid-area:clock;justify-self:center;justify-content:center;width:min(620px,100%);grid-template-columns:auto auto;border-left:0;border-bottom:1px solid rgba(255,255,255,.14);padding:0 0 24px}.clock-heading{text-align:center}.clock-values{justify-content:center}.footer-legal{grid-area:legal;align-self:end;grid-column:auto;border-top:0;padding-top:0}
.footer-legal a{color:#65dbe5;text-decoration:none}.manifesto-highlight{color:var(--blue);font-weight:700}.form-submit:disabled{cursor:wait;opacity:.72}
@media(max-width:1280px){footer{grid-template-columns:1fr 1fr;grid-template-areas:"clock clock" "brand legal"}.footer-legal{grid-column:auto;border-top:0;padding-top:0}}
@media(max-width:650px){footer{grid-template-columns:1fr;grid-template-areas:"clock" "brand" "legal";justify-items:center}.market-clock{grid-template-columns:1fr;justify-items:center;border-top:0;padding:0 0 22px}.clock-values{justify-content:center;gap:18px}footer>.identity{justify-self:center}.footer-legal{grid-column:1;text-align:center;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;width:100%}}
.hero-copy,.system-map,.hero-intro,.topbar{min-width:0}
@media(max-width:650px){.hero h1{max-width:100%}.hero h1>span,.hero h1 strong{font-size:11.8vw;letter-spacing:-.065em;white-space:nowrap}.kicker{max-width:100%;font-size:8px;line-height:1.7;letter-spacing:.1em;white-space:normal}.hero-intro,.hero-intro p{max-width:100%;min-width:0}.hero-intro p{overflow-wrap:anywhere}}

/* Ajustes de navegação, diagrama e composição desktop — revisão 2 */
.system-map .pulse{transform-origin:307px 215px;animation-name:pulseAbove}@keyframes pulseAbove{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.5);opacity:0}}
.ai-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 28px}.ai-links>span{grid-column:1/-1;color:#fff}.ai-links a{padding:5px 0;white-space:nowrap}
.contact-intro .phone{margin-top:48px}
@media(min-width:1281px){.hero-copy{padding-inline:clamp(44px,4vw,72px)}.hero h1>span{font-size:clamp(5rem,7.4vw,8.9rem)}.hero h1 strong{font-size:clamp(4.8rem,7vw,8.4rem);margin-left:5vw}.hero-intro{grid-template-columns:minmax(0,1fr) 210px;gap:38px}.manifesto{grid-template-columns:6% minmax(560px,55%) minmax(280px,1fr)}.contact{grid-template-columns:110px minmax(310px,.8fr) minmax(480px,1.2fr);gap:clamp(35px,4vw,65px)}}
@media(max-width:1280px){.topbar nav.open{max-height:calc(100vh - 100px);overflow:auto;box-shadow:0 18px 30px rgba(0,0,0,.22)}}
@media(max-width:650px){.topbar nav.open{max-height:calc(100vh - 78px)}.map-center{top:60%}.ai-links{grid-template-columns:1fr}.ai-links>span{grid-column:1}.contact-intro .phone{margin-top:38px}}

/* A secção de IA não pode ultrapassar a largura útil em ecrãs largos. */
.ai-title,.ai-flow,.ai-links{min-width:0}
@media(min-width:1281px){.ai{grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:clamp(44px,4vw,76px)}.ai h2{font-size:clamp(3.25rem,4.2vw,5rem);line-height:.9;letter-spacing:-.06em}.ai-flow{align-self:center}.ai-links{grid-column:2}}

/* O título do contacto permanece dentro da sua coluna em desktop. */
.contact-intro,.contact-form{min-width:0}
@media(min-width:1281px){.contact{grid-template-columns:110px minmax(0,34%) minmax(520px,1fr);gap:clamp(32px,3.5vw,60px)}.contact h2{font-size:clamp(3.25rem,4.2vw,5rem);line-height:.9;letter-spacing:-.06em}}

.coverage{padding:110px var(--pad);background:#062c4d;color:#fff}.coverage .section-no{color:#63dce8}.coverage .section-head{grid-template-columns:1fr 2fr 1fr}.coverage .section-head h2{font-size:clamp(3rem,6vw,6rem)}.coverage .section-head>p{border-color:rgba(255,255,255,.35);color:#c3d8e5}.coverage-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:48px;align-items:center}.coverage-map{position:relative;min-width:0;background:#08365a;border:1px solid rgba(255,255,255,.15);overflow:hidden}.coverage-map svg{display:block;width:100%;height:auto;min-height:360px}.map-land{fill:#164d70;stroke:#36718e;stroke-width:1.4}.map-africa{fill:#12486a}.map-route{fill:none;stroke:#00b4c7;stroke-width:1.4;stroke-dasharray:4 6;opacity:.72}.map-point circle{fill:#61dce7;stroke:#062c4d;stroke-width:2}.map-point text{fill:#e8f7fb;font:8px 'Courier New',monospace;letter-spacing:.08em}.map-point-algeria circle{fill:#fff;stroke:#00b4c7;stroke-width:3}.map-legend{display:flex;flex-wrap:wrap;gap:20px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.15);font:10px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.08em;color:#b7d0df}.map-legend span{display:flex;align-items:center;gap:8px}.map-legend i{width:8px;height:8px;border-radius:50%;background:#58d7e2}.map-legend span+span i{background:#fff;outline:1px solid #00b4c7}.coverage-list h3{margin:0 0 22px;font-size:20px}.coverage-list p{padding:16px 0;margin:0;border-top:1px solid rgba(255,255,255,.18);color:#c1d4e0;line-height:1.6}.coverage-list p b{display:block;color:#fff;margin-bottom:5px}.coverage-list small{display:block;margin-top:20px;color:#79dce6;line-height:1.6}
@media(max-width:900px){.coverage-layout{grid-template-columns:1fr}.coverage-map svg{min-height:0}.coverage .section-head{grid-template-columns:1fr 2fr}.coverage .section-head>p{grid-column:2}}
.coverage{padding:56px var(--pad) 64px}.coverage .section-head{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr) minmax(220px,1fr);gap:32px;align-items:end;margin-bottom:30px}.coverage .section-head h2{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:.9}.coverage .section-head>p{font-size:14px;padding-top:10px}.coverage-table-wrap{max-width:1160px;margin:0 auto;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.18)}.coverage-table{width:100%;border-collapse:collapse}.coverage-table tr{border-bottom:1px solid rgba(255,255,255,.1)}.coverage-table tr:last-child{border-bottom:0}.coverage-table th{width:190px;padding:14px 16px 14px 12px;text-align:left;vertical-align:top;color:#62dbe7;font:11px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.coverage-table td{padding:12px 10px;color:#e4eff5;font-size:14px;line-height:1.9}.coverage-table td i{padding:0 8px;color:#5c99b6;font-style:normal}
@media(max-width:900px){.coverage{padding-block:48px}.coverage .section-head{grid-template-columns:1fr 1.4fr;gap:18px;margin-bottom:20px}.coverage .section-head>p{grid-column:2}}
@media(max-width:650px){.coverage{padding-block:38px 44px}.coverage .section-head{grid-template-columns:1fr;gap:12px}.coverage .section-head>p{grid-column:1}.coverage-table th{width:118px;padding:12px 8px 12px 4px;font-size:9px;letter-spacing:.06em;white-space:normal}.coverage-table td{padding:10px 4px;font-size:12px;line-height:1.8}.coverage-table td i{padding:0 4px}}
.service-list p .service-external{display:inline-block;margin-top:9px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.service-list article.service-app>.service-arrow{display:none}}
.topbar{position:fixed;background:#062c4d}
html{scroll-padding-top:110px}
.topbar nav>a{min-height:48px;display:flex;align-items:center}
.menu-toggle{min-height:48px;min-width:100px}
.hero-intro{grid-template-columns:minmax(0,1fr) minmax(210px,250px)}
.hero-actions{display:grid;gap:10px}
.hero-intro .hero-actions>a{min-height:48px;align-items:center}
.hero-intro .hero-actions>.hero-call{color:#83e9ef;border-top:0}
.service-list article>a{width:48px;height:48px;display:grid;place-items:center}
.service-list p .service-external{min-height:48px;align-items:center}
.contact-intro .phone{min-height:48px;display:flex;align-items:center;width:max-content}
.form-submit{min-height:52px}
.whatsapp-float{display:none}
@media(max-width:650px){.hero-intro{grid-template-columns:1fr;gap:24px}.hero-actions{grid-template-columns:1fr 1fr;gap:14px}.hero-intro .hero-actions>a{font-size:10px}.whatsapp-float{position:fixed;z-index:30;right:16px;bottom:18px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#07311b;box-shadow:0 4px 18px rgba(0,0,0,.25)}.whatsapp-float svg{width:30px;height:30px;fill:currentColor}}
.cookie-notice{position:fixed;z-index:50;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px var(--pad);background:#050505;color:#fff;border-top:2px solid var(--cyan);box-shadow:0 -8px 30px rgba(0,0,0,.22)}
.cookie-notice[hidden]{display:none!important}
.cookie-notice p{flex:1;margin:0;font-size:14px;line-height:1.5}
.cookie-notice-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.cookie-notice-actions a,.cookie-notice-actions button{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font:700 12px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border:1px solid #fff}
.cookie-notice-actions a{background:#ff6654;border-color:#ff6654;color:#fff}
.cookie-notice-actions button{background:#fff;color:#062c4d;cursor:pointer}
.cookie-notice-actions a:hover,.cookie-notice-actions a:focus{background:#e45142}.cookie-notice-actions button:hover,.cookie-notice-actions button:focus{background:#dff8fa}
.cookie-settings-open{appearance:none;border:0;background:transparent;color:#65dbe5;padding:4px 0;font:inherit;text-transform:uppercase;letter-spacing:.08em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.cookie-settings-open:hover,.cookie-settings-open:focus{color:#fff}
@media(max-width:650px){.cookie-notice{display:grid;gap:12px;padding:14px 18px max(14px,env(safe-area-inset-bottom))}.cookie-notice p{font-size:13px}.cookie-notice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cookie-notice-actions a,.cookie-notice-actions button{padding:0 10px;font-size:11px}.cookie-notice-actions a{grid-column:1/-1}}
.coverage .section-head>p .coverage-reviews-link{display:inline-block;margin-top:14px;color:#65dbe5;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-intro .phone-cost{display:block;margin:-10px 0 18px;color:#c9e4f1;font-size:12px;line-height:1.5}
