/* Azul "ousado": personalidade da v2 aplicada sobre o tema azul aprovado.
   Carregado depois de style.css e theme.css. Só estilo; estrutura e conteúdo iguais. */
:root{
  --k:#0B1E2D; --sun:#FFD23F; --mint:#5BE8A9; --lime:#90CC82; --teal:#5FADBC;
  --display:"Bricolage Grotesque","Arial Black",system-ui,sans-serif;
  --body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hard:6px 6px 0 var(--k);
}
body{font-family:var(--body)}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.035em}
h1{font-size:clamp(2.9rem,6.2vw,5.6rem);line-height:.95}
h2{font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:.98}
h3{letter-spacing:-.02em;line-height:1.1}
.skip{background:var(--sun);color:var(--k);font-weight:700}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.card :focus-visible,.post :focus-visible,.benefit :focus-visible,.cta :focus-visible,.step :focus-visible{outline-color:var(--k)}

/* Etiquetas (eyebrow) em pílula */
.eyebrow{font-family:var(--display);font-weight:700;font-size:.9rem;letter-spacing:.02em;text-transform:none;padding:.3rem .9rem;border:2px solid currentColor;border-radius:999px}
.eyebrow::before{width:10px;height:10px;border-radius:3px;background:var(--sun)}
.cta .eyebrow::before{background:var(--green)}

/* Botões: contorno grosso + sombra dura */
.btn{font-family:var(--display);font-weight:700;border:3px solid var(--k);transition:transform .2s ease,box-shadow .2s ease,background .2s}
.btn:hover{transform:translate(-2px,-2px)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--k)!important}
.btn--primary{background:var(--sun);color:var(--k);box-shadow:var(--hard)}
.btn--primary:hover{background:#FFDD66;color:var(--k);box-shadow:8px 8px 0 var(--k)}
.nav .btn--primary{background:var(--mint);box-shadow:4px 4px 0 var(--k)}
.nav .btn--primary:hover{background:#A6F5D1}
.btn--ghost{border-color:#fff;color:#fff;box-shadow:6px 6px 0 var(--k)}
.btn--ghost:hover{background:#fff;color:var(--k);border-color:#fff;box-shadow:8px 8px 0 var(--k)}
.cta .btn--light{background:var(--blue);color:#fff;border-color:var(--k);box-shadow:5px 5px 0 var(--k)}
.cta .btn--light:hover{background:var(--blue-700);color:#fff;box-shadow:7px 7px 0 var(--k)}
.cta .btn--outline-light{background:#fff;color:var(--k);border-color:var(--k);box-shadow:5px 5px 0 var(--sun)}
.cta .btn--outline-light:hover{background:var(--sun);color:var(--k);border-color:var(--k);box-shadow:7px 7px 0 var(--k)}

/* Cabeçalho */
.site-header{border-bottom:3px solid var(--k)}
.brand-text strong{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.03em}
.brand img{transition:transform .4s cubic-bezier(.3,1.6,.5,1);border:2px solid var(--k)}
.brand:hover img{transform:rotate(-12deg) scale(1.08)}
.nav a:not(.btn){font-weight:600}
.nav-toggle{background:var(--sun);color:var(--k);border:3px solid var(--k);border-radius:14px}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:3px solid var(--k)}
.hero .lead{font-size:clamp(1.1rem,1.5vw,1.3rem)}
.hero h1 .hl{color:var(--k);background:var(--sun);padding:0 .14em .06em;border-radius:.14em;display:inline-block;transform:rotate(-2deg);margin:.04em 0 .06em;box-shadow:5px 5px 0 var(--k);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.hero h1:hover .hl{transform:rotate(1deg) scale(1.02)}
.hero-visual .hero-img{border:3px solid var(--k);box-shadow:10px 10px 0 var(--k)}
.hero-badge{border:3px solid var(--k);box-shadow:5px 5px 0 var(--k)!important}
.hero-badge strong{font-family:var(--display);font-weight:800}
.hero-visual .tiles{border:3px solid var(--k);filter:none;box-shadow:6px 6px 0 var(--k);transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.hero-visual:hover .tiles{transform:rotate(-8deg) scale(1.05)}
.sticker{position:absolute;right:-18px;bottom:-34px;width:132px;aspect-ratio:1;border-radius:50%;background:var(--sun);color:var(--k);border:3px solid var(--k);display:grid;place-content:center;text-align:center;font-family:var(--display);font-weight:800;transform:rotate(12deg);box-shadow:5px 5px 0 var(--k);animation:wobble 6s ease-in-out infinite;z-index:2}
.sticker span{display:block;font-size:.85rem;line-height:1.05;letter-spacing:0}
.sticker strong{display:block;font-size:2.4rem;line-height:.9;letter-spacing:-.04em}
@keyframes wobble{0%,100%{transform:rotate(12deg)}50%{transform:rotate(4deg) scale(1.04)}}

/* Faixa amarela de regimes */
.marquee{background:var(--sun);border-bottom:3px solid var(--k);overflow:hidden;padding:1rem 0}
.marquee-track{display:flex;gap:1rem;width:max-content;animation:scroll 45s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.chip{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;padding:.3rem 1.1rem;border:3px solid var(--k);border-radius:999px;background:#fff;color:var(--k);white-space:nowrap}
.chip:nth-child(4n+1){background:var(--mint)} .chip:nth-child(4n+3){background:var(--teal)} .chip:nth-child(4n){background:var(--k);color:var(--sun)}
@keyframes scroll{to{transform:translateX(calc(-50% - .5rem))}}

/* Secções e decorações geométricas (quadrados do logótipo) */
.section{position:relative;overflow:hidden}
.section > .container{position:relative;z-index:1}
.sq{position:absolute;border:3px solid var(--k);border-radius:26%;z-index:0;pointer-events:none}
.sq--a{width:150px;height:150px;left:-50px;top:30%;background:var(--sun);transform:rotate(-14deg)}
.sq--b{width:110px;height:110px;right:-30px;bottom:12%;background:linear-gradient(to top right,var(--green) 50%,var(--lime) 50.5%);transform:rotate(16deg)}
.sq--c{width:170px;height:170px;right:-60px;top:10%;background:linear-gradient(to bottom right,var(--green) 50%,var(--teal) 50.5%);transform:rotate(18deg)}
.sq--d{width:90px;height:90px;left:3%;bottom:-30px;background:var(--sun);transform:rotate(-10deg)}
.sq--e{width:160px;height:160px;right:-50px;bottom:-60px;background:var(--sun);transform:rotate(14deg)}
.page-hero{position:relative;overflow:hidden;border-bottom:3px solid var(--k)}
.page-hero .container{position:relative;z-index:1}
.page-hero img{border:3px solid var(--k);box-shadow:10px 10px 0 var(--k)}

/* Cartões de serviço: numerados, topo em bloco de cor */
.card{position:relative;border:3px solid var(--k)!important;box-shadow:var(--hard)!important;transition:transform .3s cubic-bezier(.3,1.5,.5,1),box-shadow .3s}
.card:hover{transform:translate(-4px,-4px) rotate(-.6deg);box-shadow:10px 10px 0 var(--sun)!important}
.card img{border-bottom:3px solid var(--k)}
.card .no{position:absolute;left:14px;top:14px;font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1;letter-spacing:-.05em;color:var(--k);background:var(--sun);border:3px solid var(--k);border-radius:16px;padding:.2rem .5rem .3rem;box-shadow:3px 3px 0 var(--k);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.card:hover .no{transform:rotate(-8deg)}
.card:nth-child(2) .no{background:var(--mint)} .card:nth-child(3) .no{background:var(--teal)} .card:nth-child(4) .no{background:var(--lime)}
.card h3{font-size:1.45rem}
.tags li{font-weight:700;color:var(--k);background:#fff;border:2px solid var(--k)}
.card:nth-child(1) .tags li{background:#FFF1BF} .card:nth-child(2) .tags li{background:#D3F8E7}
.card:nth-child(3) .tags li{background:#D4ECF1} .card:nth-child(4) .tags li{background:#E2F2DE}
.link-arrow{font-family:var(--display);font-weight:800}

/* Quem somos: números gigantes */
.about blockquote{border:3px solid var(--k);border-left:12px solid var(--green);box-shadow:var(--hard)!important;font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:-.01em}
.seals img{border:3px solid var(--k)!important;box-shadow:4px 4px 0 var(--k)}
.cred{border:3px solid var(--k)!important;box-shadow:var(--hard)!important;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.cred:hover{transform:translate(-3px,-3px) rotate(-.5deg)}
.cred .num{font-family:var(--display);font-weight:800;font-size:clamp(3rem,5.2vw,4.6rem);line-height:.85;letter-spacing:-.06em;margin-bottom:.9rem;color:var(--blue)}
.creds .cred:nth-child(1){background:var(--k)} .creds .cred:nth-child(1) .num{color:var(--sun)}
.creds .cred:nth-child(1) h3{color:#fff} .creds .cred:nth-child(1) p{color:#D6E2EA}
.creds .cred:nth-child(2){background:var(--sun)} .creds .cred:nth-child(2) .num{color:var(--k)} .creds .cred:nth-child(2) p{color:var(--k)}
.creds .cred:nth-child(3) .num{color:var(--green-700)}
.creds .cred:nth-child(4){background:var(--mint)} .creds .cred:nth-child(4) .num{color:var(--k);font-size:clamp(1.5rem,2.3vw,1.9rem)!important} .creds .cred:nth-child(4) p{color:var(--k)}

/* Notícias: data grande */
.post{border:3px solid var(--k)!important;box-shadow:var(--hard)!important;transition:transform .3s cubic-bezier(.3,1.5,.5,1),box-shadow .3s}
.post:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 var(--sun)!important}
.post time{font-family:var(--display);font-weight:800;color:var(--k);display:flex;align-items:baseline;gap:.5rem;line-height:.85;letter-spacing:-.04em;padding-bottom:.9rem;margin-bottom:1rem;border-bottom:3px solid var(--k)}
.post time b{font-size:4rem;color:var(--blue)}
.post time span{font-size:1rem;letter-spacing:0;text-transform:uppercase;color:var(--k)}
.post h3{font-size:1.35rem}

/* Contactos: cartão branco com contorno e sombra amarela */
.cta{border:3px solid var(--k);box-shadow:12px 12px 0 var(--sun)!important}
.cta h2{font-size:clamp(2.4rem,4.6vw,3.9rem)}
.contact-list li{border:2px solid var(--k);box-shadow:3px 3px 0 var(--k);transition:transform .2s}
.contact-list li:hover{transform:translate(-2px,-2px)}
.contact-list a,.contact-list span[style]{font-family:var(--display);font-weight:700!important}

/* Página de serviço */
.step,.benefit{border:3px solid var(--k)!important;box-shadow:var(--hard)!important;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.step:hover,.benefit:hover{transform:translate(-3px,-3px)}
.step .ico{border:2px solid var(--k);background:var(--sun);color:var(--k)}
.benefit .acr{font-family:var(--display);font-weight:800;font-size:2.1rem;letter-spacing:-.04em}
.benefit .figure{font-family:var(--display);font-weight:800;font-size:2.6rem;letter-spacing:-.05em;background:var(--sun);color:var(--k);border:3px solid var(--k)}
.benefit .figure small{color:var(--k);font-family:var(--body);font-weight:700;letter-spacing:0}
.status--ended{border:2px solid var(--k)}

/* Rodapé com marca gigante esbatida */
.site-footer{border-top:3px solid var(--k);overflow:hidden}
.footer-grid h2{font-family:var(--body);color:var(--sun);letter-spacing:.08em}
.site-footer a:hover{color:var(--sun)}
.wordmark{font-family:var(--display);font-weight:800;font-size:min(10.4vw,9.4rem);line-height:.9;letter-spacing:-.05em;color:#0F4568;margin:3rem 0 2rem;white-space:nowrap;user-select:none}


/* ===== Páginas interiores: Quem Somos, Serviços, Notícias, Contactos ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-hero--text .container{grid-template-columns:1fr}
.page-hero--text .lead{max-width:46rem}
.page-hero .hero-actions{margin-top:1.75rem}
.qs-hero-img{object-position:50% 45%}

/* Quem Somos — como trabalhamos */
.qs-steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:none}
.qs-steps li{background:#fff;color:var(--text);border:3px solid var(--k);border-radius:22px;box-shadow:var(--hard);padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:1rem;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.qs-steps li:hover{transform:translate(-4px,-4px) rotate(-.6deg)}
.qs-steps p{margin:0;color:var(--ink);font-weight:500;font-size:1.06rem;line-height:1.5}
.qs-n{align-self:flex-start;font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1;letter-spacing:-.05em;color:var(--k);background:var(--sun);border:3px solid var(--k);border-radius:16px;padding:.2rem .5rem .3rem;box-shadow:3px 3px 0 var(--k)}
.qs-steps li:nth-child(2) .qs-n{background:var(--mint)} .qs-steps li:nth-child(3) .qs-n{background:var(--teal)} .qs-steps li:nth-child(4) .qs-n{background:var(--lime)}

/* Quem Somos — história */
.qs-story{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.qs-year{width:clamp(200px,22vw,290px);aspect-ratio:1;background:var(--k);color:var(--sun);border:3px solid var(--k);border-radius:30px;box-shadow:12px 12px 0 var(--sun);display:grid;place-content:center;text-align:center;transform:rotate(-4deg)}
.qs-year span{font-family:var(--display);font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:.12em;color:#fff}
.qs-year strong{font-family:var(--display);font-weight:800;font-size:clamp(4.2rem,7.4vw,6.6rem);line-height:.9;letter-spacing:-.06em}
.qs-story h2{margin-bottom:1.25rem}
.hl-sun{color:var(--k);background:var(--sun);padding:0 .12em .05em;border-radius:.14em;display:inline-block;transform:rotate(-1.5deg);box-shadow:4px 4px 0 var(--k)}
.qs-story p{max-width:44rem}
.qs-quote{margin:1.75rem 0 0;max-width:44rem;background:#fff;color:var(--ink);border:3px solid var(--k);border-left:12px solid var(--mint);border-radius:18px;box-shadow:var(--hard);padding:1.25rem 1.5rem;font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.01em;line-height:1.3}

/* Quem Somos — credenciais */
.qs-creds{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.qs-cred{position:relative;border:3px solid var(--k);border-radius:22px;box-shadow:var(--hard);padding:1.75rem;color:var(--k);display:flex;flex-direction:column;gap:.75rem;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.qs-cred:hover{transform:translate(-4px,-4px)}
.qs-cred h3{font-size:1.4rem;color:var(--k);margin:0}
.qs-cred p{margin:0;color:var(--k)}
.qs-cred .num{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,4vw,3.4rem);line-height:.95;letter-spacing:-.05em}
.qs-cred img{width:96px;height:auto;border:3px solid var(--k);border-radius:50%;background:#fff;box-shadow:4px 4px 0 var(--k);transform:rotate(-6deg)}
.qs-cred .num svg{width:56px;height:56px;display:block}
.qs-cred--top{background:var(--sun)}
.qs-cred--sen{background:#fff}
.qs-cred--acon{background:var(--mint)}
.qs-cred--acon .num{font-size:clamp(1.7rem,2.7vw,2.3rem);overflow-wrap:anywhere}

/* Serviços */
.svc-list{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.svc{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:center;scroll-margin-top:96px}
.svc--rev .svc-media{order:2}
.svc-media{position:relative}
.svc-media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border:3px solid var(--k);border-radius:22px;box-shadow:10px 10px 0 var(--k);background:#fff}
.svc-media .no{position:absolute;left:-14px;top:-18px;font-family:var(--display);font-weight:800;font-size:3rem;line-height:1;letter-spacing:-.05em;color:var(--k);background:var(--sun);border:3px solid var(--k);border-radius:18px;padding:.2rem .55rem .3rem;box-shadow:4px 4px 0 var(--k);transform:rotate(-6deg)}
.svc--rev .svc-media .no{left:auto;right:-14px;transform:rotate(6deg)}
.svc:nth-child(2) .no{background:var(--mint)} .svc:nth-child(3) .no{background:var(--teal)} .svc:nth-child(4) .no{background:var(--lime)}
.svc-body h2{font-size:clamp(2rem,3.6vw,3rem);color:#fff;margin-bottom:.75rem}
.svc-body > p{color:var(--th-on-muted);max-width:36rem}
.svc-regimes{list-style:none;margin:1.25rem 0 1.75rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.svc-regimes li{display:flex}
.svc-regimes a{text-decoration:none;transition:transform .2s,box-shadow .2s;background:#fff;color:var(--k);border:2px solid var(--k);border-radius:14px;box-shadow:3px 3px 0 var(--k);padding:.45rem .8rem;line-height:1.25;display:flex;flex-direction:column}
.svc-regimes a:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--k);color:var(--k)}
.svc-regimes a:hover b{text-decoration:underline}
.svc-regimes b{font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:-.01em}
.svc-regimes span{font-size:.82rem;color:#33495A}
.svc:nth-child(1) .svc-regimes a{background:#FFF1BF} .svc:nth-child(2) .svc-regimes a{background:#D3F8E7}
.svc:nth-child(3) .svc-regimes a{background:#D4ECF1} .svc:nth-child(4) .svc-regimes a{background:#E2F2DE}

/* Notícias */
.news--page{grid-template-columns:repeat(3,1fr)}
.post .post-title{font-size:1.3rem;line-height:1.15;margin-bottom:.75rem}
.post .post-title a{color:var(--ink);text-decoration:none}
.post .post-title a:hover{color:var(--blue);text-decoration:underline}
.post .link-arrow{margin-top:.5rem;font-weight:700}
.pager{margin-top:3rem}
.pager ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;align-items:center}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 .9rem;border:3px solid var(--k);border-radius:14px;background:#fff;color:var(--k);font-family:var(--display);font-weight:800;text-decoration:none;box-shadow:4px 4px 0 var(--k)}
.pager a:hover{background:var(--mint)}
.pager a[aria-current]{background:var(--sun)}
.pager .pager-prev{opacity:.55;box-shadow:none}
.pager .pager-gap{color:#fff;font-weight:800;padding:0 .25rem}

/* Contactos */
#contactos .contact-page{display:block;max-width:980px;margin-inline:auto}
.contact-page .contact-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem 3rem}
.contact-details{display:flex;flex-direction:column;gap:1.5rem}
.contact-page .cta-map{width:200px;margin:0;flex-direction:column;justify-self:center}
.contact-page .cta-map svg{width:100%}
.contact-page .cta-map figcaption{text-align:center;font-size:.9rem}
.contact-h{font-size:clamp(1.6rem,2.6vw,2.1rem)!important;line-height:1.05}
.contact-sub{margin:.4rem 0 0;font-weight:700;color:var(--green-700)!important}

@media (max-width:1100px){
  .qs-steps{grid-template-columns:repeat(2,1fr)}
  .qs-creds,.news--page{grid-template-columns:repeat(2,1fr)}
  .contact-page .contact-info{grid-template-columns:1fr}.contact-page .cta-map{width:auto;flex-direction:row;justify-self:start;gap:1.25rem}.contact-page .cta-map svg{width:120px}.contact-page .cta-map figcaption{text-align:left;max-width:12rem}
}
@media (max-width:900px){
  .qs-story{grid-template-columns:1fr}
  .qs-year{width:200px}
  .svc,.svc--rev{grid-template-columns:1fr}
  .svc--rev .svc-media{order:0}
  .svc--rev .svc-media .no{right:auto;left:-10px;transform:rotate(-6deg)}
}
@media (max-width:640px){
  .qs-steps,.qs-creds,.news--page{grid-template-columns:1fr}
  .qs-year{width:170px;box-shadow:8px 8px 0 var(--sun)}
  .qs-quote{font-size:1.12rem}
  .svc-media img{box-shadow:6px 6px 0 var(--k)}
  .svc-media .no{font-size:2.3rem;left:-6px}
  .svc--rev .svc-media .no{left:-6px}
  .svc-body .btn{width:100%}
  .pager a,.pager span{min-width:44px;height:44px;padding:0 .7rem}
  .pager li:first-child,.pager li:nth-child(4){display:none}
}
@media (prefers-reduced-motion:reduce){
  .qs-steps li:hover,.qs-cred:hover{transform:none}
}

@media (max-width:900px){
  .sticker{width:108px;right:-6px;bottom:-30px}
  .sticker strong{font-size:2rem}
  .nav .btn{box-shadow:4px 4px 0 var(--k)}
  .nav{border-bottom:3px solid var(--k)!important}
}
@media (max-width:640px){
  .hero h1 .hl{box-shadow:4px 4px 0 var(--k)}
  .hero-visual .hero-img,.page-hero img{box-shadow:6px 6px 0 var(--k)}
  .chip{font-size:1.1rem}
  .sq--a,.sq--d{display:none}
  .sq--b{width:80px;height:80px;right:-30px;bottom:auto;top:-20px}
  .sq--c{width:110px;height:110px;right:-50px;top:2%}
  .sq--e{width:110px;height:110px;right:-40px;bottom:-50px}
  .post time b{font-size:3rem}
  .cta{box-shadow:8px 8px 0 var(--sun)!important}
  .card .no{font-size:2rem}
}
@media (prefers-reduced-motion:reduce){
  .sticker{animation:none}
  .marquee-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;padding:0 1rem}
  .marquee-track ul[aria-hidden="true"]{display:none}
  .marquee ul{flex-wrap:wrap;justify-content:center}
  .btn:hover,.card:hover,.post:hover,.cred:hover,.step:hover,.benefit:hover,.contact-list li:hover,.hero h1:hover .hl,.hero-visual:hover .tiles,.brand:hover img,.card:hover .no{transform:none}
}

/* Quem Somos: hero sem botão (texto mais presente, menos espaço vazio) */
.page-hero--qs .container{grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);padding:3rem 0 3.5rem}
.page-hero--qs .lead{font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.5;margin-bottom:0;max-width:34rem}
.page-hero--qs h1{margin-bottom:1.25rem}
@media (max-width:900px){.page-hero--qs .container{grid-template-columns:1fr;padding:2.25rem 0 3rem;gap:2rem}}

/* ===== Serviços (v2): hero sem botão, apoios clicáveis ===== */
.svc-regimes{margin-bottom:0}
.svc-body h2 a{color:#fff;text-decoration:none;display:inline-flex;gap:.4em;align-items:baseline}
.svc-body h2 a span{font-size:.7em;transition:transform .2s}
.svc-body h2 a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.svc-body h2 a:hover span{transform:translateX(4px)}
.page-hero--svc .container{grid-template-columns:1.25fr .75fr;gap:clamp(2rem,4vw,3.5rem);padding:3rem 0 3.5rem}
.page-hero--svc .lead{margin-bottom:0}
.svc-jump ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.svc-jump a{display:flex;align-items:center;gap:.9rem;background:#fff;color:var(--k);border:3px solid var(--k);border-radius:16px;box-shadow:5px 5px 0 var(--k);padding:.7rem 1rem;font-family:var(--display);font-weight:800;font-size:1.15rem;text-decoration:none;transition:transform .2s,box-shadow .2s}
.svc-jump a:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--k)}
.svc-jump a span{background:var(--sun);border:2px solid var(--k);border-radius:10px;padding:.05rem .4rem;font-size:1rem}
.svc-jump li:nth-child(2) a span{background:var(--mint)} .svc-jump li:nth-child(3) a span{background:var(--teal)} .svc-jump li:nth-child(4) a span{background:var(--lime)}

/* Etiquetas da home como ligações */
.tags li{padding:0!important}
.tags a{display:block;padding:.25rem .6rem;color:inherit!important;text-decoration:none;border-radius:inherit}
.tags a:hover{text-decoration:underline}

/* Apoios Fiscais com 2 regimes */
.benefits--2{grid-template-columns:repeat(2,1fr)}
.benefit{position:relative}
.stretched::after{content:"";position:absolute;inset:0;border-radius:inherit}
.benefit:has(.stretched:hover){transform:translate(-4px,-4px)}

/* Páginas de apoio */
.page-hero--ap .container{grid-template-columns:1.35fr .65fr;gap:clamp(2rem,4vw,3.5rem);padding:3rem 0 3.5rem;align-items:center}
.page-hero--ap .container:not(:has(.ap-figs)){grid-template-columns:1fr}
.page-hero--ap h1{font-size:clamp(2.6rem,5.4vw,4.8rem);margin-bottom:.35rem}
.page-hero--ap .eyebrow a{color:inherit;text-decoration:none}
.page-hero--ap .eyebrow a:hover{text-decoration:underline}
.ap-full{font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,1.8vw,1.45rem);color:var(--sun);margin:0 0 1rem;line-height:1.2;max-width:40rem}
.page-hero--ap .lead{max-width:44rem;margin:0}
.page-hero--ap .lead strong{color:#fff}
.ap-figs{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.ap-figs li{background:var(--sun);color:var(--k);border:3px solid var(--k);border-radius:18px;box-shadow:6px 6px 0 var(--k);padding:.9rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}
.ap-figs li:nth-child(2){background:var(--mint)} .ap-figs li:nth-child(3){background:#fff}
.ap-figs strong{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1;letter-spacing:-.04em}
.ap-figs span{font-size:.92rem;line-height:1.35;font-weight:500}
.ap-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start}
.ap-body{background:#fff;color:var(--text);border:3px solid var(--k);border-radius:24px;box-shadow:10px 10px 0 var(--k);padding:clamp(1.5rem,3.5vw,2.75rem)}
.ap-body > :first-child{margin-top:0}
.ap-body h2{font-size:clamp(1.4rem,2.2vw,1.8rem);color:var(--ink);margin:2rem 0 .75rem;line-height:1.1}
.ap-body p,.ap-body li{color:var(--text);font-size:1.02rem;line-height:1.65}
.ap-body p{margin:0 0 1rem}
.ap-body strong{color:var(--ink)}
.ap-body ul{margin:0 0 1rem;padding-left:0;list-style:none;display:grid;gap:.5rem}
.ap-body ul li{position:relative;padding-left:1.6rem}
.ap-body ul li::before{content:"";position:absolute;left:0;top:.55em;width:.7rem;height:.7rem;background:var(--sun);border:2px solid var(--k);border-radius:3px}
.ap-cta{margin:1.5rem 0 0!important;padding-top:1.25rem;border-top:3px solid var(--k)}
.ap-cta a{font-family:var(--display);font-weight:800;font-size:1.15rem;color:var(--blue);text-decoration:none}
.ap-cta a:hover{text-decoration:underline}
.ap-hub{display:grid!important;grid-template-columns:repeat(2,1fr);gap:1rem!important}
.ap-hub li{padding:1.1rem 1.2rem!important;border:3px solid var(--k);border-radius:18px;background:#F4F7F9;box-shadow:4px 4px 0 var(--k)}
.ap-hub li::before{display:none}
.ap-hub li:nth-child(4n+1){background:#FFF1BF} .ap-hub li:nth-child(4n+2){background:#D3F8E7} .ap-hub li:nth-child(4n+3){background:#D4ECF1}
.ap-hub h3{font-size:1.2rem;color:var(--k);margin:0}
.ap-hub p{margin:.4rem 0 0;font-size:.95rem}
.ap-aside{display:grid;gap:1.5rem}
.page-hero--ap + .section{padding-top:clamp(2.5rem,5vw,4rem)}
.ap-box{background:#fff;color:var(--text);border:3px solid var(--k);border-radius:20px;box-shadow:6px 6px 0 var(--sun);padding:1.25rem}
.ap-box-t{font-size:1.15rem!important;color:var(--ink);margin:0 0 .9rem;line-height:1.15}
.ap-rel{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.ap-rel a{display:flex;flex-direction:column;padding:.55rem .75rem;border:2px solid var(--k);border-radius:12px;background:#F4F7F9;color:var(--k);text-decoration:none;line-height:1.25;transition:transform .2s,box-shadow .2s}
.ap-rel a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--k);background:#D3F8E7}
.ap-rel b{font-family:var(--display);font-weight:800}
.ap-rel span{font-size:.8rem;color:#33495A}
.ap-area{font-weight:700;color:var(--blue);text-decoration:none}
.ap-area:hover{text-decoration:underline}
.ap-box--files ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ap-box--files a{color:var(--blue);font-weight:700}
@media (max-width:1100px){.ap-layout{grid-template-columns:1fr}.ap-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media (max-width:900px){
  .page-hero--svc .container,.page-hero--ap .container{grid-template-columns:1fr;padding:2.25rem 0 3rem;gap:2rem}
  .benefits--2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .svc-jump{display:none}
  .ap-hub{grid-template-columns:1fr}
  .svc-regimes{margin-bottom:1.75rem}
  .ap-body{box-shadow:6px 6px 0 var(--k)}
  .ap-figs li{box-shadow:4px 4px 0 var(--k)}
}
@media (prefers-reduced-motion:reduce){.svc-regimes a:hover,.svc-jump a:hover,.ap-rel a:hover,.benefit:has(.stretched:hover){transform:none}}
/* apoio items link straight to their page: arrow affordance */
.svc-regimes a{position:relative;padding-right:2rem}
.svc-regimes a::after{content:"→";position:absolute;right:.7rem;top:50%;transform:translateY(-50%);font-weight:700;transition:transform .2s}
.svc-regimes a:hover::after{transform:translate(3px,-50%)}

/* WordPress pagination → prototype pager look */
.nav-links, .pagination, .pager .nav-links {
  display: flex; gap: .75rem; justify-content: center; align-items: center;
  margin-top: 2.5rem; flex-wrap: wrap;
}
.nav-links a, .nav-links span, .page-numbers {
  display: inline-flex; min-width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center;
  border: 2px solid var(--ink, #0b1f33); font-weight: 700; text-decoration: none; color: inherit;
  background: #fff; box-shadow: 3px 3px 0 var(--ink, #0b1f33);
}
.nav-links .current, .page-numbers.current {
  background: var(--brand, #00527F); color: #fff;
}
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.skip-link:focus { position:static; width:auto; height:auto; clip:auto; background:#fff; padding:.5rem 1rem; }
