/* ================= Sistema visual comum (homepage, produtos, páginas e artigos) ================= */
:root{--ink:#141735;--muted:#5b6270;--line:#e3e8ef;--soft:#f4f7fb}

/* botões: pílula com seta, como nas Novidades */
.btn-pill,.nectar-button,.wp-block-button__link,.site-form button,.card-more{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:Poppins,sans-serif;font-size:15px;line-height:20px;font-weight:600;padding:13px 24px;border-radius:200px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);text-decoration:none;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease),box-shadow .3s;margin:0 10px 10px 0}
.btn-pill:hover,.nectar-button:hover,.wp-block-button__link:hover,.card-more:hover{background:var(--accent);color:#fff!important;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 26px rgba(6,106,171,.22);filter:none}
.btn-pill.solid,.nectar-button.accent-color,.nectar-button.regular-button:not(.extra-color-3):not([class*=see-through]),.site-form button,.wp-block-button__link:not(.btn-download){background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-pill.solid:hover,.nectar-button.accent-color:hover,.site-form button:hover,.wp-block-button__link:not(.btn-download):hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.nectar-button:not(.pp-keep)::after{content:"→";font-weight:400;transition:transform .3s}
.nectar-button:hover::after{transform:translateX(3px)}
.nectar-button span{display:inline}
.nectar-button i{display:none}
/* em fundos escuros: contorno branco, enche a branco */
.pp-hero .btn-pill,.dark-cta .btn-pill,.nectar-button.extra-color-3{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}
.pp-hero .btn-pill:hover,.dark-cta .btn-pill:hover,.nectar-button.extra-color-3:hover{background:#fff;color:var(--accent)!important;border-color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.25)}
.pp-hero .btn-pill.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.pp-hero .btn-pill.solid:hover{background:#fff;border-color:#fff;color:var(--accent)!important}
.card-more{padding:9px 18px;font-size:14px;align-self:flex-start}
.card-more::after{display:none}

/* títulos e texto */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;line-height:20px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
.pp h2{font-size:38px;line-height:46px;font-weight:300;color:var(--ink);margin-bottom:18px;letter-spacing:-.3px}
.pp h2 b,.pp h2 strong{font-weight:600}
.pp h3{font-size:20px;line-height:30px;font-weight:600;color:var(--ink);margin:18px 0 8px}
.pp p,.pp li{color:var(--muted);font-size:16.5px;line-height:30px}
.pp p{padding-bottom:18px}
.pp p:last-child{padding-bottom:0}
.pp b,.pp strong{color:var(--ink)}

/* hero com logótipo */
.pp-logo img{max-height:120px;width:auto;display:block;margin:6px 0 10px}
.pp-hero{padding-top:0}
.pp-hero-text .eyebrow{color:#8fd3f5}

/* blocos de secção */
.pp-prose{max-width:820px}
.pp-prose.cols{max-width:none;columns:2;column-gap:60px}
.pp-prose.cols>*{break-inside:avoid}
.pp-prose+.pp-special,.pp-prose+.pp-gallery,.pp-special+.pp-gallery,.pp-special+.pp-special{margin-top:40px}
.pp-special{overflow-x:auto}
.pp-special table{min-width:560px}
.pp-special .nectar_image_with_hotspots{display:block;max-width:900px;margin:0 auto}
.pp-special .wpb_video_widget,.pp-special .nectar-video-box{max-width:900px;margin:0 auto;border-radius:14px;overflow:hidden}
.pp-figure{text-align:center}
.pp-figure img{max-height:640px;width:auto;max-width:100%;border-radius:14px}
.pp-gallery{display:grid;gap:22px;margin-top:10px}
.pp-gallery.g1{grid-template-columns:1fr}.pp-gallery.g2{grid-template-columns:repeat(2,1fr)}.pp-gallery.g3{grid-template-columns:repeat(3,1fr)}.pp-gallery.g4{grid-template-columns:repeat(4,1fr)}
.pp-gallery figure{margin:0;background:#fff;border-radius:14px;padding:12px;box-shadow:0 12px 30px rgba(20,23,53,.07);display:flex;align-items:center;justify-content:center}
.pp-alt .pp-gallery figure{background:#fff}
.pp-gallery img{width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:8px}
.pp-media.stack{display:grid;gap:18px}
.pp-media img{background:#fff}
.pp-text>:first-child{margin-top:0}
.pp-tip{background:#fff8ec;border-left:4px solid #f6a53c;border-radius:12px;padding:28px 32px;max-width:900px}
.pp-tip h2{font-size:24px;line-height:32px;font-weight:600;color:#9a5a00}
.pp-refs{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pp-refs summary{cursor:pointer;list-style:none;padding:22px 0;font-weight:600;color:var(--ink);display:flex;justify-content:space-between}
.pp-refs summary::-webkit-details-marker{display:none}
.pp-refs summary::after{content:"+";font-size:26px;font-weight:300;color:var(--blue);transition:transform .3s}
.pp-refs[open] summary::after{transform:rotate(45deg)}
.pp-refs ol{padding:0 0 24px 20px;margin:0}
.pp-refs li{font-size:13px;line-height:21px;color:#7a8190;margin-bottom:6px}

/* tabs dentro das secções */
.pp .wpb_tabs_nav{border-bottom-color:var(--line)}
.pp .wpb_tabs_nav li a{border-radius:200px;border:1.5px solid var(--line);margin:0 6px 10px 0;padding:9px 18px}
.pp .wpb_tabs_nav{border:0;margin-bottom:24px}
.pp .wpb_tabs_nav li.active-tab a{background:var(--accent);border-color:var(--accent);color:#fff}

/* "Pedir informações" sem caixa */
#minfo .site-form{background:none;padding:0;box-shadow:none;border-radius:0}
#minfo h1{font-size:40px;line-height:48px}
.site-form input,.site-form textarea,.site-form select{border-radius:10px;border-color:#cfd6e0;background:#fff}

@media (max-width:999px){
  .pp h2{font-size:30px;line-height:38px}
  .pp-gallery.g3,.pp-gallery.g4{grid-template-columns:repeat(2,1fr)}
  .pp-prose.cols{columns:1}
  .pp-logo img{max-height:80px}
}
@media (max-width:600px){
  .pp-gallery.g2,.pp-gallery.g3,.pp-gallery.g4{grid-template-columns:1fr}
}

/* cartões de características (ex.: R2i3) */
.pp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
.pp-features figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;transition:all .3s var(--ease)}
.pp-features figure:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,23,53,.08)}
.pp-features img{width:100%;max-height:170px;object-fit:contain}
.pp-features figcaption{font-weight:600;color:var(--ink);font-size:15.5px;line-height:22px}
@media (max-width:999px){.pp-features{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.pp-features{grid-template-columns:1fr}}

/* galerias dos artigos (WordPress) */
.post-body .wp-block-gallery{display:grid;grid-template-columns:repeat(var(--gcols,3),1fr);gap:12px;margin:30px 0;padding:0}
.post-body .wp-block-gallery.columns-2{--gcols:2}.post-body .wp-block-gallery.columns-4{--gcols:4}.post-body .wp-block-gallery.columns-5{--gcols:5}
.post-body .wp-block-gallery>figure,.post-body .wp-block-gallery .wp-block-image{margin:0;width:auto!important;overflow:hidden;border-radius:12px;background:#f4f7fb;cursor:zoom-in;position:relative}
.post-body .wp-block-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.post-body .wp-block-gallery figure:hover img{transform:scale(1.05)}
.post-body .wp-block-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;font-size:12px;line-height:16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.post-body .wp-block-image img{border-radius:12px}
.post-body h2,.post-body h3{color:var(--ink);font-weight:600;margin:34px 0 12px}
.post-body h2{font-size:28px;line-height:36px}
.post-body h3{font-size:22px;line-height:30px}
.post-body{max-width:900px;margin:0 auto}
.post-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}
@media (max-width:690px){.post-body .wp-block-gallery{--gcols:2!important}}

/* cabeçalho das páginas institucionais */
.pp-hero.page-hero{min-height:auto;padding:90px 0 70px;background:radial-gradient(ellipse at 78% 40%,#1d3f73 0%,#141735 45%,#0a0b1a 100%)}
.pp-hero.page-hero h1{color:#fff;font-size:52px;line-height:58px;font-weight:600;letter-spacing:-.5px;margin:0 0 10px}
.pp-hero.page-hero .pp-lead{color:rgba(255,255,255,.85);font-size:18px;line-height:30px;max-width:640px}
.pp-hero.page-hero .eyebrow{color:#8fd3f5}
.page-eventos .main-content,.page-casos-clinicos .main-content{padding-top:50px}


/* Catálogos: lista em duas colunas mais arejada */
.page-descarregue-aqui-os-catalogos .main-content{padding-top:60px}
.page-descarregue-aqui-os-catalogos .main-content li{line-height:34px}
@media (max-width:999px){.pp-hero.page-hero{padding:60px 0 46px}.pp-hero.page-hero h1{font-size:36px;line-height:42px}}

/* caixas numeradas (ex.: MEG-INJECT — características e componentes) */
.pp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}
.pp-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 28px 26px;transition:all .3s var(--ease)}
.pp-step:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,23,53,.08)}
.pp-alt .pp-step{background:#fff}
.pp-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:16px;margin-bottom:14px}
.pp .pp-step h3{font-size:18px;line-height:26px;margin:0 0 10px}
.pp-step p,.pp-step li{font-size:15px!important;line-height:25px!important}
.pp-step .pp-list{margin:0}

/* duas colunas de texto */
.pp-cols2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.pp-cols2>p{margin:0}
.pp-col>h2:first-child{font-size:30px;line-height:38px}

/* cartões de soluções (R2Playground) */
.pp-solutions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:30px}
.pp-sol{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 18px 22px;color:inherit;transition:all .3s var(--ease)}
.pp-sol:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,23,53,.08);color:inherit}
.pp-sol-img{display:flex;align-items:center;justify-content:center;height:180px;background:var(--soft);border-radius:12px;margin-bottom:16px;overflow:hidden}
.pp-sol-img img{max-height:160px;max-width:90%;object-fit:contain;transition:transform .6s var(--ease)}
.pp-sol:hover .pp-sol-img img{transform:scale(1.05)}
.pp .pp-sol h3{margin:0 0 6px;font-size:18px}
.pp-sol p{font-size:14.5px!important;line-height:23px!important;padding-bottom:16px!important;flex:1}
.pp-sol .btn-pill{align-self:flex-start;margin:0;padding:9px 18px;font-size:14px}
.pp-sol:hover .btn-pill{background:var(--accent);color:#fff}
@media (max-width:999px){.pp-cols2{grid-template-columns:1fr;gap:30px}}

/* blocos imagem + texto dos artigos (ex.: biografia do autor) */
.post-body .wp-block-media-text{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;background:var(--soft);border-radius:18px;padding:30px;margin:40px 0}
.post-body .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 220px}
.post-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{order:2}
.post-body .wp-block-media-text__media{margin:0}
.post-body .wp-block-media-text__media img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%;box-shadow:0 15px 35px rgba(20,23,53,.15)}
.post-body .wp-block-media-text__content{padding:0}
.post-body .wp-block-media-text__content>:first-child{margin-top:0}
@media (max-width:690px){.post-body .wp-block-media-text,.post-body .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr;text-align:center}.post-body .wp-block-media-text__media img{max-width:180px;margin:0 auto}}

/* ================= Pedir informações (novo) ================= */
.cta-info{position:relative;padding:100px 0;color:#fff;background:radial-gradient(ellipse at 80% 30%,#1d3f73 0%,#141735 45%,#0a0b1a 100%);overflow:hidden}
.cta-grid{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:start}
.cta-text .eyebrow{color:#8fd3f5}
.cta-text h2{color:#fff;font-size:44px;line-height:50px;font-weight:600;letter-spacing:-.5px;margin:0 0 16px}
.cta-text p{color:rgba(255,255,255,.78);font-size:16px;line-height:28px;padding:0}
.cta-product{display:inline-flex;gap:6px;margin-top:20px!important;padding:8px 16px!important;border-radius:200px;background:rgba(41,163,221,.15);border:1px solid rgba(41,163,221,.4);font-size:14px!important;line-height:20px!important}
.cta-product b{color:#fff}
.cta-contacts{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:10px}
.cta-contacts a{display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:500}
.cta-contacts a:hover{color:#8fd3f5}
.ci{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:15px}
.cta-form{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.cta-form .field{margin:0}
.cta-form .field:not(.half),.cta-form .submit,.cta-form .form-ok,.cta-form .form-err{grid-column:1/-1}
.cta-form label{color:rgba(255,255,255,.85);font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:8px}
.cta-form label span{color:#8fd3f5}
.cta-form input,.cta-form textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;height:50px;padding:0 16px;font-size:15px}
.cta-form textarea{height:130px;padding:14px 16px}
.cta-form input:focus,.cta-form textarea:focus{border-color:var(--blue);background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(41,163,221,.2)}
.cta-form .btn-pill.solid{background:#fff;border-color:#fff;color:var(--accent);padding:14px 28px;margin:6px 0 0}
.cta-form .btn-pill.solid:hover{background:var(--blue);border-color:var(--blue);color:#fff!important}
.cta-form button:disabled{opacity:.6;cursor:wait}
.cta-form .form-ok{color:#8fe3b5;font-weight:600}
.cta-form .form-err{color:#ffb4a8}
.cta-form .form-err a{color:#fff;text-decoration:underline}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ================= Rodapé (novo) ================= */
.site-footer{background:#0a0b1a;color:rgba(255,255,255,.7);padding:70px 0 0;border-top:1px solid rgba(255,255,255,.06)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:50px}
.foot-brand img{height:30px;width:auto;margin-bottom:18px}
.foot-brand p{font-size:14px;line-height:24px;color:rgba(255,255,255,.65);padding:0;max-width:360px}
.foot-brand b{color:#fff;font-weight:600}
.site-footer h4{color:#fff;font-size:12px;letter-spacing:2px;margin:4px 0 18px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{font-size:14px;line-height:22px;margin-bottom:10px}
.site-footer a{color:rgba(255,255,255,.7)}
.site-footer a:hover{color:#8fd3f5}
.foot-social{display:flex;gap:10px;margin-top:24px!important}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:#fff;transition:all .3s}
.foot-social a:hover{background:#fff;color:var(--accent)}
.foot-social svg{width:15px;height:15px;fill:currentColor}
.foot-bottom{margin-top:60px;border-top:1px solid rgba(255,255,255,.08);padding:22px 0;font-size:13px}
.foot-bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-bottom a{color:#fff;font-weight:600}

/* ================= "Conheça também" compacto ================= */
.related{padding:56px 0}
.related .rel-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.related .rel-head .eyebrow{margin:0}
.related .rel-head h2{margin:0;font-size:26px;line-height:32px;font-weight:300;color:var(--ink)}
.related-grid{display:flex;flex-wrap:wrap;gap:10px}
.related-card{flex:0 1 auto;padding:10px 16px;border-radius:200px;font-size:14px;line-height:20px;gap:10px;white-space:nowrap}
.related-card .rc-go{font-size:13px}

/* imagens ampliáveis */
img.zoomable{cursor:zoom-in;transition:transform .4s var(--ease),box-shadow .4s}
img.zoomable:hover{transform:scale(1.015);box-shadow:0 20px 45px rgba(20,23,53,.14)}
#lightbox img{border-radius:10px;background:#fff}

@media (max-width:999px){
  .cta-info{padding:70px 0}
  .cta-grid{grid-template-columns:1fr;gap:40px}
  .cta-text h2{font-size:34px;line-height:40px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:600px){
  .cta-form{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .related-card{white-space:normal}
}

/* ================= Blocos das páginas ajustadas à mão ================= */
.pp-video .nectar-video-box{border-radius:16px;overflow:hidden;box-shadow:0 25px 60px rgba(20,23,53,.18)}
.pp-video .nectar-video-box img{width:100%;border-radius:0;box-shadow:none}
.pp-cols-text{columns:2;column-gap:60px;margin-top:10px}
.pp-cols-text>*{break-inside:avoid}
.pp-cols-text .pp-list{margin-top:0}
.pp-figure-row{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:40px}
.pp-figure-row img{max-width:100%;height:auto;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(20,23,53,.07)}
.pp-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:20px}
.pp-cards2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}
.pp-card.pp-design{display:flex;flex-direction:column;align-items:center;text-align:center}
.pp-card.pp-design img{height:150px;width:auto;object-fit:contain;margin-bottom:16px}
.pp-diam{font-weight:600;color:var(--accent)!important;font-size:15px!important;letter-spacing:.3px}
.pp-olist{counter-reset:o;list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}
.pp-olist li{counter-increment:o;position:relative;padding:12px 16px 12px 54px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:15px!important;line-height:24px!important}
.pp-olist li::before{content:counter(o);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.pp-prose.centered{margin:0 auto;text-align:center}
.pp-hero h1.one-line{white-space:nowrap;font-size:clamp(36px,4.4vw,60px)}
.pp-sub{font-size:18px!important;color:var(--accent)!important;font-weight:500;margin:-6px 0 26px}
.pp-steps-img{display:grid;gap:22px}
.pp-steps-img.n1{grid-template-columns:minmax(0,640px)}
.pp-steps-img.n2{grid-template-columns:repeat(2,1fr)}
.pp-steps-img.n3{grid-template-columns:repeat(3,1fr)}
.pp-step-img{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}
.pp-step-img img{width:100%;height:220px;object-fit:contain;border-radius:10px;background:var(--soft)}
.pp-step-img figcaption{font-size:15px;line-height:24px;color:var(--muted)}
.pp-banner{padding:40px 0!important}
.pp-comps{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px}
.pp-comp{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column}
.pp-comp-img{height:150px;display:flex;align-items:center;justify-content:center;background:var(--soft);border-radius:12px;margin-bottom:14px}
.pp-comp-img img{max-height:130px;max-width:90%;object-fit:contain;cursor:zoom-in}
.pp .pp-comp h3{margin:0 0 10px;font-size:17px}
.pp-comp table{font-size:13px;margin:0}
.pp-comp th,.pp-comp td{padding:7px 8px}
.pp-comp th{background:var(--soft);color:var(--ink)}
.pp-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pp-jump a{font-size:13px;color:#cfe8f7;border-bottom:1px solid rgba(207,232,247,.4);padding-bottom:2px}
.pp-jump a:hover{color:#fff;border-color:#fff}
@media (max-width:999px){
  .pp-cols-text{columns:1}
  .pp-cols3,.pp-cards2,.pp-steps-img.n2,.pp-steps-img.n3{grid-template-columns:1fr}
  .pp-hero h1.one-line{white-space:normal}
}

/* ================= Equipa ================= */
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tm-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s var(--ease)}
.tm-card:hover{box-shadow:0 24px 50px rgba(20,23,53,.1);transform:translateY(-4px)}
.tm-photo{aspect-ratio:4/5;background:radial-gradient(ellipse at 70% 30%,#1d3f73 0%,#141735 60%,#0a0b1a 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tm-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .8s var(--ease)}
.tm-card:hover .tm-photo img{transform:scale(1.04)}
.tm-initials{font-size:64px;font-weight:300;color:#8fd3f5;letter-spacing:2px}
.tm-info{padding:22px 24px 24px;display:flex;flex-direction:column;gap:2px}
.pp .tm-info h3{margin:0;font-size:20px}
.tm-role{color:var(--accent)!important;font-weight:600;font-size:14px!important;line-height:20px!important;padding:0!important}
.tm-more{align-self:flex-start;margin-top:14px;background:none;border:1.5px solid var(--line);border-radius:200px;padding:8px 16px;font:600 13px Poppins,sans-serif;color:var(--ink);cursor:pointer;transition:all .3s}
.tm-more:hover,.tm-more[aria-expanded="true"]{border-color:var(--accent);color:var(--accent)}
.tm-more span{display:inline-block;margin-left:4px;transition:transform .3s}
.tm-more[aria-expanded="true"] span{transform:rotate(45deg)}
.tm-bio{padding:0 24px 24px;border-top:1px solid var(--line);margin-top:-4px}
.pp .tm-bio h4{color:var(--blue);font-size:11px;letter-spacing:2px;margin:18px 0 6px}
.pp .tm-bio p{font-size:14.5px;line-height:24px;padding:0}

/* ================= A MegaGen: escritório e chamada para a equipa ================= */
.of-grid{columns:3;column-gap:16px}
.of-item{display:block;margin-bottom:16px;break-inside:avoid;border-radius:14px;overflow:hidden;cursor:zoom-in}
.of-item img{width:100%;height:auto;display:block;transition:transform .8s var(--ease)}
.of-item:hover img{transform:scale(1.04)}
.team-cta{background:radial-gradient(ellipse at 80% 30%,#1d3f73 0%,#141735 45%,#0a0b1a 100%)}
.team-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.team-cta h2{color:#fff!important;font-size:34px;line-height:42px;font-weight:300;margin:0;max-width:640px}
.team-cta .eyebrow{color:#8fd3f5}
.team-cta .btn-pill.solid{background:#fff;border-color:#fff;color:var(--accent);margin:0}
.team-cta .btn-pill.solid:hover{background:var(--blue);border-color:var(--blue);color:#fff!important}
.office .rel-head h2,.team-cta h2{letter-spacing:-.3px}
@media (max-width:999px){.tm-grid{grid-template-columns:repeat(2,1fr)}.of-grid{columns:2}}
@media (max-width:600px){.tm-grid{grid-template-columns:1fr}.of-grid{columns:1}}

/* "Conheça também" com o mesmo estilo da etiqueta da família */
.related .rel-head{align-items:center;gap:0;margin-bottom:22px}
.related .rel-head h2{font-size:11px;line-height:20px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin:0}
.related .rel-head h2::before{content:"·";margin:0 10px;color:var(--blue)}

/* slider quadrado (A MegaGen) */
.slider{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--soft);box-shadow:0 30px 60px rgba(20,23,53,.15)}
.slider .slides{display:flex;height:100%;transition:transform .8s var(--ease)}
.slider .slides img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none;max-height:none}
.slider button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;opacity:0;transition:opacity .3s,background .3s}
.slider:hover button,.slider button:focus-visible{opacity:1}
.slider button:hover{background:#fff}
.sl-prev{left:14px}.sl-next{right:14px}
.sl-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px}
.sl-dots button{position:static;transform:none;opacity:1;width:8px;height:8px;padding:0;border-radius:50%;background:rgba(255,255,255,.55);transition:all .3s}
.sl-dots button.on{width:22px;border-radius:8px;background:#fff}
@media (max-width:999px){.slider button.sl-prev,.slider button.sl-next{opacity:1}}

/* página de Contactos: mesmo bloco do "Pedir informações" */
.contact-page{padding:80px 0 90px}
.contact-page .cta-grid{grid-template-columns:5fr 7fr;align-items:center}
.ct-map-col{display:flex;justify-content:center}
.ct-map-col img{max-height:620px;width:auto;opacity:.9}
.contact-page h1{color:#fff;font-size:52px;line-height:58px;font-weight:600;letter-spacing:-.5px;margin:0 0 14px}
.contact-page .ct-lead{color:rgba(255,255,255,.78);font-size:16px;line-height:28px;padding:0 0 26px;max-width:560px}
.ct-details{margin-top:34px!important;padding-top:24px!important;border-top:1px solid rgba(255,255,255,.1)}
.ct-details li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.85);font-size:15px}
@media (max-width:999px){.ct-map-col img{max-height:300px}.contact-page h1{font-size:38px;line-height:44px}}
