:root{
  --night:#0d2338;
  --blue:#1b96cc;
  --yellow:#f4c517;
  --pink:#ec4f79;
  --ink:#09273d;
  --muted:#5b6b76;
  --line:#d9e2e7;
  --soft:#f5f7f8;
  --white:#fff;
  --shell:1180px;
  --radius:10px;
  --focus:#ff4c78;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.45;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{outline-offset:3px}
:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--night)}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;background:var(--yellow);padding:.7rem 1rem;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.shell{width:min(calc(100% - 64px),var(--shell));margin-inline:auto}
.shell-wide{width:min(100%,1280px);margin-inline:auto}
.site-header{border-bottom:1px solid #e8edf0;background:#fff;position:relative;z-index:20}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}.brand strong{font-size:20px;letter-spacing:-.04em}.brand-by{font-size:10px;color:#64757f}.brand img{width:16px;height:16px;object-fit:contain}.powerup-word{font-size:10px;color:#64757f;font-weight:700}
nav{display:flex;align-items:center;gap:22px;font-size:14px}nav a{display:inline-flex;align-items:center;min-height:44px;padding-inline:4px;text-decoration:none}.nav-cta{border-bottom:2px solid var(--blue);font-weight:700}
.hero{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,.85fr);gap:72px;padding-top:84px;padding-bottom:54px;align-items:end}
.eyebrow,.kicker{text-transform:uppercase;font-size:12px;letter-spacing:.11em;font-weight:800}.eyebrow{display:flex;gap:12px;align-items:center}.eyebrow span{width:28px;height:4px;background:var(--yellow);display:inline-block}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.2vw,76px);line-height:.94;letter-spacing:-.055em;margin-bottom:28px;max-width:900px}h1 em{font-style:normal;color:var(--blue)}
.lede{font-size:19px;line-height:1.55;color:#435563;max-width:780px;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:22px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:14px 20px;text-decoration:none;border:0;font-weight:800;cursor:pointer;min-height:48px}.button-primary{background:var(--night);color:#fff}.button-light{background:#fff;color:var(--night)}.text-link,.plan-link{text-underline-offset:4px;font-weight:700}.hero-facts{display:none}.hero-aside{padding-bottom:10px}.hero-aside .rule{display:block;height:4px;background:var(--blue);margin-bottom:18px}.hero-aside strong{font-size:22px;line-height:1.05;display:block}.hero-aside p{font-size:13px;color:#657580;margin-top:14px;margin-bottom:0}
.hero-media{position:relative}.hero-media picture img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px 10px 0 0;object-position:center 52%}.image-caption{position:absolute;left:-40px;bottom:0;width:430px;padding:26px 34px;display:grid;gap:8px}.image-caption-dark{background:var(--night);color:#fff}.image-caption strong{font-size:23px;line-height:1.05}.image-caption span{font-size:13px;color:#dae4e9}
.qr-section{background:var(--blue);margin-top:0;padding:72px 0;color:var(--night)}.qr-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center}.qr-copy{position:relative;padding-left:28px}.pink-mark{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pink)}.qr-copy .kicker{color:var(--night)}.qr-copy h2{font-size:clamp(38px,4.1vw,60px);line-height:1.01;letter-spacing:-.045em;color:white;margin-bottom:24px}.qr-copy mark,.demo-band mark{background:var(--yellow);color:var(--night);padding:0 .08em}.qr-copy>p:not(.kicker){max-width:650px;color:var(--night);font-size:17px}.micro-list{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;font-weight:800;margin-top:24px}.qr-figure{margin:0;background:#fff;padding:0 0 14px}.qr-figure img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.qr-figure figcaption{font-size:11px;padding:11px 14px 0;color:var(--ink)}
.demo-band{background:var(--night);color:#fff;padding:54px 0}.demo-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:center}.demo-grid h2{font-size:44px;line-height:1.03;letter-spacing:-.04em;margin:0}.demo-grid p{color:#d4dee4;margin-bottom:16px}.demo-grid small{display:block;color:#a9bac4;margin-top:10px}
.value-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center;padding-top:96px;padding-bottom:96px}.value-copy h2{font-size:46px;line-height:1.02;letter-spacing:-.045em}.value-copy p{font-size:16px;color:#51636e}.value-media{margin:0;position:relative}.value-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px 0 0 0}.value-media figcaption{background:var(--yellow);padding:22px 34px;margin-left:5%;margin-top:-1px;display:grid;gap:5px}.value-media figcaption strong{font-size:20px}.value-media figcaption span{font-size:12px}
.return-section{background:var(--night);color:white;padding-top:70px}.return-copy{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:end;padding-bottom:44px}.return-copy h2{font-size:48px;line-height:1;letter-spacing:-.045em;margin:0}.return-copy p{color:#d8e2e7;margin:0;max-width:520px}.return-image img{width:100%;aspect-ratio:16/8.5;object-fit:cover;object-position:center 48%;border-radius:10px 10px 0 0}
.control-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:68px;padding-bottom:74px;align-items:start}.control-section h2{font-size:44px;line-height:1;letter-spacing:-.04em;margin-bottom:16px}.control-section>div>p{color:#566873;max-width:580px}.control-list{margin:0}.control-list>div{display:grid;grid-template-columns:180px 1fr;gap:26px;padding:18px 0;border-top:1px solid var(--line)}.control-list dt{font-weight:800}.control-list dd{margin:0;color:#5d6d76}
.pricing-intro{background:var(--blue);padding:58px 0}.pricing-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.pricing-intro h2{font-size:52px;line-height:.98;letter-spacing:-.045em;color:#fff;margin:0}.pricing-intro p{color:var(--night);font-weight:700;margin:0;max-width:500px}.plan-stack{padding-top:26px;padding-bottom:64px}.plan-row{display:grid;grid-template-columns:1fr 330px;gap:32px;padding:34px 4px 22px;border-bottom:1px solid var(--line);align-items:start}.plan-copy h3{font-size:38px;letter-spacing:-.04em;margin:0 0 2px}.plan-copy p{font-size:19px;margin-bottom:10px}.plan-copy span{font-size:13px;color:#61717b}.plan-price{text-align:right;display:grid;grid-template-columns:1fr auto;justify-content:end;align-items:baseline;column-gap:8px}.plan-price strong{font-size:50px;letter-spacing:-.05em}.plan-price>span{font-weight:800}.plan-price small{grid-column:1/-1;color:#687984;margin-bottom:12px}.plan-price .button,.plan-price .plan-link{grid-column:1/-1;justify-self:end}.plan-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}.plan-details summary{cursor:pointer;font-weight:800;font-size:13px;list-style:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}.plan-details summary::-webkit-details-marker{display:none}.plan-details summary::after{content:'+';float:none}.plan-details[open] summary::after{content:'–'}.plan-details p{max-width:760px;color:#596b76;font-size:14px;margin:12px 0 0}.plan-featured{background:var(--blue);margin:18px -22px;padding:32px 26px 22px;border:0}.plan-featured .plan-copy span,.plan-featured .plan-price small,.plan-featured .plan-details p{color:var(--night)}.plan-featured .plan-details{border-color:rgba(8,40,64,.28)}.recommended{display:inline-block !important;width:auto;background:var(--yellow);padding:4px 7px;text-transform:uppercase;font-size:10px !important;font-weight:900;letter-spacing:.08em;margin-bottom:12px !important}.pricing-note{display:flex;justify-content:space-between;gap:40px;padding-top:30px;color:#5e6e77;font-size:13px}
.faq-section{background:var(--soft);padding:72px 0}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.faq-grid>h2{font-size:46px;line-height:1;letter-spacing:-.045em;margin:0}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:14px 0;min-height:52px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';float:none}.faq-list details[open] summary::after{content:'–'}.faq-list details p{color:#586a74;max-width:650px;padding:0 0 20px;margin:0}
.conversion{background:var(--blue);padding:78px 0 68px}.conversion-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start}.conversion-copy .kicker{color:var(--night)}.conversion-copy h2{font-size:54px;line-height:.97;letter-spacing:-.05em;color:#fff}.conversion-copy>p:last-child{color:var(--night);font-weight:700;max-width:470px}.demo-form{display:grid;gap:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.field{display:grid;gap:7px}.field label{font-size:12px;font-weight:800}.field label small{font-size:11px;font-weight:400}.field input,.field select,.field textarea{width:100%;border:2px solid transparent;background:#fff;color:var(--ink);border-radius:8px;min-height:48px;padding:11px 14px}.field textarea{min-height:126px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--night);outline:none}.field-error{min-height:0;color:#3f0b15;font-size:12px;font-weight:700;margin:0}.field[data-invalid="true"] input{border-color:#8d1b2d}.field-full{grid-column:1/-1}.privacy-note{font-size:12px;color:var(--night);background:rgba(255,255,255,.72);padding:12px 14px;border-radius:8px;margin:0}.hp-wrap{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}.privacy-note a{color:var(--night);text-underline-offset:3px}.form-submit{justify-self:start;min-width:190px}.form-submit:disabled{cursor:wait;opacity:.72}.form-status{margin:0;font-size:13px;font-weight:700;min-height:20px}.form-status[data-state="error"]{color:#3f0b15}.form-status[data-state="success"]{color:var(--night)}
.site-footer{background:var(--night);color:#fff;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-footer .powerup-word,.brand-footer .brand-by{color:#cbd8df}.footer-inner p{margin:0;font-size:12px;color:#cbd8df}.footer-links{display:flex;gap:20px;font-size:12px;flex-wrap:wrap}.footer-links a{color:#cbd8df;text-underline-offset:3px}
@media (max-width:1243px){
  .image-caption{left:-20px}
}
@media (max-width:900px){
  .shell{width:min(calc(100% - 40px),var(--shell))}
  nav a:not(.nav-cta){display:none}.header-inner{height:62px}.nav-cta{font-size:12px}
  .hero{grid-template-columns:1fr;padding-top:52px;gap:24px}.hero-aside{display:none}.hero-facts{display:flex;gap:18px;border-top:3px solid var(--blue);padding-top:14px;margin-top:24px;font-size:11px;font-weight:800}.hero-media{width:100%}.hero-media picture img{border-radius:0;aspect-ratio:4/3;object-position:center}.image-caption{position:relative;left:auto;bottom:auto;margin:-70px 20px 0 42px;width:auto;padding:24px;z-index:2}.image-caption strong{font-size:22px}
  .qr-grid,.demo-grid,.value-section,.return-copy,.control-section,.pricing-intro-grid,.faq-grid,.conversion-grid{grid-template-columns:1fr}
  .plan-featured{margin-left:-20px;margin-right:-20px;padding-left:24px;padding-right:24px}
  .qr-grid{gap:34px}.qr-figure{margin-inline:-20px}.demo-grid{gap:24px}.value-section{gap:34px;padding-top:62px;padding-bottom:62px}.value-media{margin-inline:-20px}.value-media img{border-radius:0;aspect-ratio:4/4.5;object-position:54% center}.value-media figcaption{margin-left:38px;padding:20px}.return-copy{gap:18px}.return-image{width:100%}.return-image img{border-radius:0;aspect-ratio:4/3;object-position:37% center}.control-section{gap:28px}.pricing-intro-grid{gap:22px}.faq-grid{gap:30px}.conversion-grid{gap:36px}.field-grid{grid-template-columns:1fr}.field-full{grid-column:auto}
}
@media (max-width:600px){
  .shell{width:calc(100% - 36px)}
  .brand strong{font-size:18px}.brand-by,.powerup-word{font-size:9px}
  h1{font-size:46px;line-height:.98;margin-bottom:22px}.lede{font-size:16px}.hero{padding-top:42px;padding-bottom:30px}.hero-actions{gap:16px}.button{padding:12px 15px;min-height:46px}.hero-facts{justify-content:space-between;gap:8px}
  .image-caption{margin-top:-46px;margin-left:38px;margin-right:18px}.image-caption span{font-size:12px}
  .qr-section{padding:54px 0}.qr-copy{padding-left:0}.pink-mark{position:static;width:44px;height:5px;display:block;margin-bottom:22px}.qr-copy h2{font-size:42px}.qr-copy>p:not(.kicker){font-size:15px}.micro-list{gap:14px;font-size:11px}.qr-figure{margin-inline:-18px}
  .demo-band{padding:46px 0}.demo-grid h2{font-size:40px}.demo-grid p{font-size:14px}
  .value-copy h2{font-size:40px}.value-media{margin-inline:-18px}.value-media figcaption{margin-left:36px;margin-right:0}.value-media figcaption strong{font-size:18px}
  .return-section{padding-top:52px}.return-copy h2{font-size:42px}.return-copy p{font-size:14px}.return-image img{aspect-ratio:4/4.25;object-position:32% center}
  .control-section{padding-top:52px;padding-bottom:52px}.control-section h2{font-size:40px}.control-list>div{grid-template-columns:1fr;gap:4px;padding:14px 0}.control-list dd{font-size:13px}
  .pricing-intro{padding:46px 0}.pricing-intro h2{font-size:42px}.pricing-intro p{font-size:14px}.plan-stack{padding-top:8px}.plan-row{grid-template-columns:1fr;padding:28px 4px 18px}.plan-price{text-align:left;justify-content:start}.plan-price .button,.plan-price .plan-link{justify-self:start}.plan-price strong{font-size:48px}.plan-featured{margin:10px -18px;padding:28px 18px 18px}.pricing-note{display:grid;gap:8px}
  .faq-section{padding:54px 0}.faq-grid>h2{font-size:40px}.faq-list summary{font-size:14px;padding:18px 0}
  .conversion{padding:56px 0}.conversion-copy h2{font-size:43px}.conversion-copy>p:last-child{font-size:14px}.demo-form{gap:16px}.field input,.field select{min-height:50px}.form-submit{width:100%}.privacy-note{font-size:11px}
  .footer-inner{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Páginas secundárias: política de privacidade e erro 404 ------------------ */
.legal{padding-top:64px;padding-bottom:80px;max-width:760px}
.legal h1{font-size:clamp(38px,4.4vw,56px);margin-bottom:18px}
.legal .updated{font-size:13px;color:#5f7078;margin-bottom:40px}
.legal h2{font-size:23px;letter-spacing:-.02em;margin:38px 0 10px}
.legal p,.legal li{color:#3f515e;font-size:16px;line-height:1.6}
.legal ul{padding-left:20px;margin:0 0 16px}
.legal li{margin-bottom:7px}
.legal a{color:#0f5f85;text-underline-offset:3px}
.legal .back{display:inline-block;margin-top:44px;font-weight:800;text-underline-offset:4px}
.todo{background:var(--yellow);color:var(--night);padding:1px 6px;font-weight:800;border-radius:3px;white-space:nowrap}
.notice{background:var(--soft);border-left:5px solid var(--yellow);padding:18px 22px;margin:0 0 34px;border-radius:0 8px 8px 0}
.notice p{margin:0;font-size:14px}
.error-page{padding-top:110px;padding-bottom:120px;text-align:center}
.error-page p.code{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.error-page h1{font-size:clamp(40px,5vw,64px);margin-bottom:18px}
.error-page p.lede{margin-inline:auto}
.error-page .hero-actions{justify-content:center}
@media (max-width:600px){.legal{padding-top:44px}.legal h2{font-size:20px}.error-page{padding-top:70px;padding-bottom:80px}}

/* Formulário de contacto sobre privacidade -------------------------------- */
/* O .demo-form foi desenhado para o fundo azul da secção de conversão, onde os
   campos brancos se destacam sozinhos. Aqui o fundo é claro, por isso os campos
   precisam de contorno próprio: #6d8493 dá os 3:1 que a WCAG exige para
   contornos de componentes de interface. */
.privacy-contact{background:var(--soft);border-top:1px solid var(--line);margin-top:8px;padding:56px 0 72px}
.privacy-contact-inner{max-width:760px}
.privacy-contact .kicker{color:#3f5563;margin-bottom:10px}
.privacy-contact h2{font-size:clamp(28px,3.2vw,38px);line-height:1.04;letter-spacing:-.035em;margin:0 0 14px}
.privacy-lede{font-size:16px;line-height:1.6;color:#41535f;margin:0 0 28px;max-width:64ch}
.privacy-lede a{color:#0f5f85;text-underline-offset:3px}
.privacy-form .field input,.privacy-form .field select,.privacy-form .field textarea{border-color:#5b7382;background:#fff;box-shadow:inset 0 1px 2px rgba(13,35,56,.07)}
.privacy-form .field input::placeholder,.privacy-form .field textarea::placeholder{color:#657c8a}
.privacy-form .field input:hover,.privacy-form .field select:hover,.privacy-form .field textarea:hover{border-color:#3f5563}
.privacy-form .field input:focus,.privacy-form .field select:focus,.privacy-form .field textarea:focus{border-color:var(--night);box-shadow:inset 0 1px 2px rgba(13,35,56,.07),0 0 0 3px rgba(27,150,204,.25)}
.privacy-form .field label{font-size:13px}
.privacy-form .privacy-note{background:#e6ecef;color:#33454f;border-radius:8px}
.privacy-form .field-error{color:#8d1b2d}
.privacy-form .form-status[data-state="error"]{color:#8d1b2d}
@media (max-width:600px){.privacy-contact{padding:44px 0 56px}}

/* Botão secundário dos planos ---------------------------------------------- */
/* Essencial e Performance passam a ter botão, como o Impulso. Fica com
   contorno em vez de preenchido para o Impulso continuar a ser o destaque —
   é o recomendado, e é isso que a hierarquia da secção comunica. */
.button-outline{background:#fff;color:var(--night);border:2px solid var(--night)}
.button-outline:hover{background:var(--night);color:#fff}
.plan-price .button-outline{grid-column:1/-1;justify-self:end}
@media (max-width:600px){.plan-price .button-outline{justify-self:start;width:100%}}
