/* Fontes alojadas no próprio site (WOFF2, subset latino, pesos variáveis 400–600). Sem pedidos ao Google Fonts. */
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-var.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap;}
@font-face{font-family:'Cinzel';src:url('fonts/cinzel-latin-var.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('fonts/inter-latin-var.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap;}
:root{
  --verde-950:#05261B;--verde-900:#073123;--verde-800:#083D2C;--verde-600:#2A6350;
  --dourado-500:#926D2A;--dourado-400:#AE8535;--dourado-300:#D4B675;
  --creme-50:#FAF7F1;--creme-100:#F1ECE1;--creme-200:#E7E0D0;
  --tinta-900:#17201C;--tinta-600:#4A554E;--branco:#FFFFFF;
  --serif:'Fraunces', Georgia, serif;--sans:'Inter', -apple-system, sans-serif;--container:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{margin:0;font-family:var(--sans);color:var(--tinta-900);background:var(--creme-50);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 32px;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-0.01em;}
h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15;}
h2{font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.24;}
h3{font-size:1.15rem;line-height:1.35;}
h4{font-size:1rem;line-height:1.4;}
p{margin:0;}
:focus-visible{outline:2px solid var(--dourado-500);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}

/* preview banner */
.preview-banner{background:var(--dourado-500);color:var(--verde-950);text-align:center;font-size:0.85rem;font-weight:600;padding:8px 16px;position:sticky;top:0;z-index:70;}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:0.95rem;padding:13px 26px;border-radius:2px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;white-space:nowrap;}
.btn-gold{background:var(--dourado-500);color:var(--verde-950);}
.btn-gold::after{content:"→";display:inline-block;transition:transform .25s ease;}
.btn-gold:hover{background:var(--dourado-400);transform:translateY(-2px);}
.btn-gold:hover::after{transform:translateX(4px);}
.btn-outline-light,.btn-outline-dark{overflow:hidden;}
.btn-outline-light::before,.btn-outline-dark::before{content:"";position:absolute;inset:0;border:1px solid var(--dourado-500);opacity:0;transform:scale(.94);transition:opacity .25s ease, transform .25s ease;pointer-events:none;}
.btn-outline-light{border-color:rgba(250,247,241,.4);color:var(--creme-50);}
.btn-outline-light:hover{color:var(--dourado-300);transform:translateY(-2px);}
.btn-outline-light:hover::before{opacity:1;transform:scale(1);}
.btn-outline-dark{border-color:var(--verde-800);color:var(--verde-900);}
.btn-outline-dark:hover{color:var(--verde-950);background:var(--creme-100);transform:translateY(-2px);}
.btn-green{background:var(--verde-900);color:var(--creme-50);}
.btn-green::after{content:"→";display:inline-block;transition:transform .25s ease;}
.btn-green:hover{background:var(--verde-950);transform:translateY(-2px);}
.btn-green:hover::after{transform:translateX(4px);}
.btn-sm{padding:9px 18px;font-size:0.82rem;gap:7px;}
.btn-sm .btn-ic{width:1em;height:1em;}
.btn-outline-dark:hover::before{opacity:1;transform:scale(1);}
.btn-text{font-weight:600;font-size:0.95rem;text-decoration:none;border-bottom:1px solid var(--dourado-500);padding-bottom:2px;display:inline-flex;align-items:center;gap:8px;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;font-family:var(--sans);color:var(--tinta-900);transition:color .2s ease, padding-left .2s ease;}
.btn-text:hover{color:var(--dourado-500);padding-left:3px;}
.btn-text-light{color:var(--creme-50);border-bottom-color:rgba(212,182,117,.55);}
.btn-text-light:hover{color:var(--dourado-300);}

/* Header & dropdown nav */
header{position:sticky;top:0;z-index:50;background:rgba(250,247,241,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--creme-200);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:var(--container);margin:0 auto;}
.logo{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--verde-950);text-decoration:none;cursor:pointer;}
.nav-links{display:flex;align-items:center;gap:8px;list-style:none;margin:0 0 0 48px;padding:0;}
.nav-links > li{position:relative;}
.nav-links > li > a{text-decoration:none;font-size:0.95rem;font-weight:500;color:var(--tinta-900);padding:10px 12px;display:inline-block;cursor:pointer;}
.nav-links > li > a:hover{color:var(--dourado-500);}
.nav-item{position:relative;}
.nav-item summary{list-style:none;cursor:pointer;font-size:0.95rem;font-weight:500;color:var(--tinta-900);padding:10px 12px;display:flex;align-items:center;gap:6px;font-family:var(--sans);}
.nav-item summary::-webkit-details-marker{display:none;}
.nav-item summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .15s ease;}
.nav-item details[open] summary::after{transform:rotate(-135deg);margin-top:2px;}
.nav-item summary:hover{color:var(--dourado-500);}
.nav-item .dropdown{display:none;position:absolute;top:calc(100% + 10px);left:0;background:var(--creme-50);border:1px solid var(--creme-200);min-width:250px;padding:10px 0;box-shadow:0 16px 32px rgba(5,38,27,.1);z-index:60;}
.nav-item details[open] ~ .dropdown{display:block;}
@media (hover:hover) and (pointer:fine){
  .nav-item:hover .dropdown{display:block;}
}
.nav-item .dropdown a{display:block;padding:11px 22px;font-size:0.9rem;color:var(--tinta-900);text-decoration:none;cursor:pointer;}
.nav-item .dropdown a:hover{color:var(--dourado-500);background:var(--creme-100);}
.nav-right{display:flex;align-items:center;gap:20px;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.btn-nav-form,.btn-pulse{position:relative;animation:nav-form-pulse 2.6s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){ .btn-nav-form,.btn-pulse{animation:none;} }
@keyframes nav-form-pulse{0%,100%{box-shadow:0 0 0 0 rgba(146,109,42,.45);}50%{box-shadow:0 0 0 7px rgba(146,109,42,0);}}
@media (max-width:860px){ .btn-nav-form{display:none;} }
.mid-cta{background:var(--creme-100);padding:56px 0;}
.mid-cta-inner{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;text-align:center;}
.mid-cta-inner p{font-family:var(--serif);font-size:1.25rem;color:var(--verde-950);max-width:30ch;}
@media (max-width:600px){ .mid-cta{padding:40px 0;} }
.menu-toggle span{display:block;width:24px;height:2px;background:var(--verde-950);margin:5px 0;}

/* Page header (non-home) */
.page-header{background:radial-gradient(120% 140% at 78% 15%, var(--verde-800), var(--verde-950) 60%);color:var(--creme-50);padding:72px 0 56px;}
.page-header .kicker{color:var(--dourado-300);font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.09em;}
.page-header h1{margin-top:14px;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--creme-50);max-width:20ch;}
.page-header p{margin-top:16px;font-size:1.1rem;color:rgba(250,247,241,.78);max-width:56ch;}
.page-header .hero-ctas{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
.page-header.sobre-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.sobre-hero-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.sobre-hero-mosaic img{aspect-ratio:3/4;width:100%;display:block;border-radius:10px;object-fit:cover;object-position:50% 20%;border:1px solid rgba(212,182,117,.45);box-shadow:0 22px 36px -20px rgba(0,0,0,.55);}
@media (max-width:900px){
  .page-header.sobre-hero .wrap{grid-template-columns:1fr;}
  .sobre-hero-mosaic{max-width:380px;margin:36px auto 0;}
}

/* Hero (home) */
.hero{background:var(--verde-950);color:var(--creme-50);padding:88px 0 72px;position:relative;overflow:hidden;}
/* Fotografia do hero: para aplicar a foto real, definir no :root  --hero-image:url('img/hero-equipa.jpg');  e remover o .ph-tag do HTML.
   Enquanto não existir, mostra-se um gradiente neutro apenas para pré-visualizar o overlay. */
.hero-photo{position:absolute;inset:0;background-color:var(--verde-800);background-image:var(--hero-image, linear-gradient(135deg,#2A6350 0%,#0F4A37 45%,#083D2C 100%));background-size:cover;background-position:center;}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,38,27,.9) 0%,rgba(5,38,27,.72) 55%,rgba(5,38,27,.5) 100%),linear-gradient(0deg,rgba(5,38,27,.4) 0%,rgba(5,38,27,0) 40%);}
.hero-photo .ph-tag{position:absolute;right:20px;bottom:20px;z-index:2;color:var(--dourado-300);border-color:rgba(212,182,117,.55);background:rgba(5,38,27,.55);}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:center;position:relative;z-index:1;}
@keyframes heroReveal{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.reveal{animation:heroReveal .8s cubic-bezier(.22,.61,.36,1) both;}
.reveal-1{animation-delay:.05s;}
.reveal-2{animation-delay:.18s;}
.reveal-3{animation-delay:3.3s;}
.reveal-4{animation-delay:3.45s;}
.reveal-5{animation-delay:3.6s;}
.hero h1 .word{display:inline-block;white-space:nowrap;}
.hero h1 .char{display:inline-block;opacity:0;transform:translateY(0.5em);animation:charIn .75s cubic-bezier(.22,.61,.36,1) forwards;}
@keyframes charIn{to{opacity:1;transform:translateY(0);}}
.hero-eyebrow{font-size:0.78rem;color:var(--dourado-300);font-weight:600;margin-bottom:18px;text-transform:uppercase;letter-spacing:0.09em;}
.hero h1{font-size:clamp(2.4rem, 4.4vw, 3.6rem);line-height:1.1;color:var(--creme-50);max-width:13ch;}
.hero p.lead{margin-top:20px;font-size:1.15rem;color:rgba(250,247,241,.82);max-width:44ch;min-height:1.9em;}
.hero p.lead span{transition:opacity .4s ease;display:inline-block;}
.hero p.lead span.fade{opacity:0;}
.hero-ctas{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
.hero-stats{margin-top:56px;display:flex;gap:40px;padding-top:28px;border-top:1px solid rgba(250,247,241,.18);flex-wrap:wrap;}
.hero-stats div strong{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--dourado-300);font-weight:500;font-variant-numeric:tabular-nums;}
.hero-stats div span{font-size:0.85rem;color:rgba(250,247,241,.65);}
.hero-panel{border:1px solid rgba(174,133,53,.35);padding:36px 32px;background:rgba(250,247,241,.04);}
.hero-panel .quote-mark{font-family:var(--serif);font-size:3rem;color:var(--dourado-500);line-height:0.6;display:block;margin-bottom:14px;}
.hero-panel p{font-family:var(--serif);font-style:italic;font-size:1.2rem;line-height:1.55;color:var(--creme-100);}
.hero-panel .attrib{margin-top:20px;font-size:0.85rem;color:rgba(250,247,241,.6);font-family:var(--sans);}

/* Section shell */
section{padding:100px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head .kicker{font-size:0.78rem;color:var(--dourado-texto);font-weight:600;margin-bottom:14px;display:block;text-transform:uppercase;letter-spacing:0.09em;}
/* Alternativas ao kicker: número e pergunta curta, para variar a entrada das secções */
.kicker-number{font-family:var(--serif);font-size:1.9rem;color:var(--dourado-texto);font-weight:500;display:block;margin-bottom:12px;}
.kicker-question{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--verde-600);display:block;margin-bottom:14px;}
.page-header .kicker-number,.testimonials .kicker-number{color:var(--dourado-300);}
.page-header .kicker-question,.testimonials .kicker-question{color:var(--dourado-300);}
.section-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem);color:var(--verde-950);}
.section-head p{margin-top:16px;color:var(--tinta-600);font-size:1.05rem;max-width:56ch;}

/* Services */
.services-list{border-top:1px solid var(--creme-200);}
.service-row{display:grid;grid-template-columns:2fr 3fr auto;gap:32px;align-items:start;padding:34px 0;border-bottom:1px solid var(--creme-200);}
.service-row h3{font-size:1.2rem;color:var(--verde-950);}
.service-row p{color:var(--tinta-600);max-width:52ch;}
.service-row .btn-text{align-self:center;}
.service-detail{padding-top:56px;border-top:1px solid var(--creme-200);}
.service-detail:first-child{border-top:none;padding-top:0;}
.service-detail .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px;}
.service-detail .grid3 h4{font-size:0.74rem;color:var(--dourado-texto);margin-bottom:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}
.service-detail .grid3 p{color:var(--tinta-600);font-size:0.95rem;}

/* Destaques (Home) */
#destaques{background:var(--branco);}
.destaques-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px;}
@media (max-width:720px){.destaques-grid{grid-template-columns:1fr;}}
.destaque-card{display:block;background:var(--creme-50);border:1px solid var(--creme-200);border-radius:16px;padding:32px;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease;}
.destaque-card:hover{transform:translateY(-3px);box-shadow:0 20px 34px -26px rgba(5,38,27,.3);}
.destaque-card h3{margin-top:16px;font-family:var(--serif);font-size:1.3rem;color:var(--verde-950);}
.destaque-card p{margin-top:10px;color:var(--tinta-600);font-size:0.95rem;}

/* About strip */
.about{background:var(--creme-100);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.about-copy h2{font-size:clamp(1.7rem,2.6vw,2.3rem);}
.about-copy p{margin-top:20px;color:var(--tinta-600);font-size:1.05rem;max-width:50ch;}
.about-copy .btn{margin-top:28px;}
.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--creme-200);border:1px solid var(--creme-200);}
.fact{background:var(--creme-50);padding:28px 24px;}
.fact strong{display:block;font-family:var(--serif);font-size:1.9rem;color:var(--verde-800);font-weight:500;}
.fact span{font-size:0.9rem;color:var(--tinta-600);}

/* Method / timeline */
.method-list{display:flex;flex-direction:column;}
.method-item{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:28px 0;border-top:1px solid var(--creme-200);}
.method-item:last-child{border-bottom:1px solid var(--creme-200);}
.method-num{font-family:var(--serif);font-size:1.3rem;color:var(--dourado-texto);}
.method-item h3{font-size:1.15rem;color:var(--verde-950);margin-bottom:6px;}
.method-item p{color:var(--tinta-600);max-width:60ch;}

/* História timeline */
.history-timeline{position:relative;margin-top:8px;}
.history-timeline::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:1px;background:var(--creme-200);}
.history-item{position:relative;padding:0 0 4px 46px;margin-bottom:2px;}
.history-item::before{content:"";position:absolute;left:6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--creme-50);border:2px solid var(--dourado-500);}
.history-item summary{list-style:none;cursor:pointer;padding:14px 0;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;}
.history-item summary::-webkit-details-marker{display:none;}
.history-item summary .year{font-family:var(--serif);font-size:1.3rem;color:var(--verde-800);}
.history-item summary .title{font-weight:600;font-size:1rem;color:var(--tinta-900);}
.history-item summary .caret{margin-left:auto;font-size:0.8rem;color:var(--dourado-texto);}
.history-item .content{padding:0 0 24px;color:var(--tinta-600);max-width:60ch;font-size:0.98rem;}

/* Testimonials */
.testimonials{background:var(--verde-950);color:var(--creme-50);}
.testimonials .section-head p{color:rgba(250,247,241,.65);}
.testimonials .section-head h2{color:var(--creme-50);}

/* Carrossel (Testemunhos) */
.carousel{max-width:760px;margin:0 auto;}
.carousel-viewport{overflow:hidden;}
.carousel-track{display:flex;transition:transform .5s cubic-bezier(.22,.61,.36,1);}
.carousel-slide{flex:0 0 100%;padding:40px 8px 8px;text-align:center;}
.carousel-slide .quote-mark{display:inline-block;}
.carousel-slide p.body{max-width:56ch;margin-left:auto;margin-right:auto;}
.carousel-slide .who{margin-top:22px;}
.carousel-nav{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:20px;}
.carousel-arrow{width:38px;height:38px;border-radius:50%;border:1px solid rgba(250,247,241,.25);background:transparent;color:var(--creme-50);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease;padding:0;}
.carousel-arrow svg{width:16px;height:16px;}
.carousel-arrow:hover{border-color:var(--dourado-500);color:var(--dourado-300);transform:scale(1.06);}
.carousel-dots{display:flex;align-items:center;gap:9px;}
.carousel-dots .dot{width:7px;height:7px;border-radius:50%;background:rgba(250,247,241,.3);border:none;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.carousel-dots .dot.active{background:var(--dourado-500);transform:scale(1.4);}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(250,247,241,.14);border:1px solid rgba(250,247,241,.14);}
.t-grid.featured{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;}
.t-grid.featured .t-card:first-child{grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center;padding:44px 38px;}
.t-grid.featured .t-card:first-child .quote-mark{font-size:3rem;}
.t-grid.featured .t-card:first-child p.body{font-size:1.3rem;}
.t-card{background:var(--verde-950);padding:34px 30px;}
.t-card .quote-mark{font-family:var(--serif);color:var(--dourado-500);font-size:2.2rem;line-height:0.5;display:block;margin-bottom:16px;}
.t-card p.body{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.55;color:var(--creme-100);}
.t-card .who{margin-top:22px;font-size:0.88rem;color:rgba(250,247,241,.6);}
.t-card .who strong{color:var(--dourado-300);display:block;font-family:var(--sans);font-weight:600;}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.team-card{text-align:center;}
.team-card .photo{aspect-ratio:1/1;width:min(220px,72%);margin:0 auto;border-radius:50%;position:relative;overflow:hidden;background-color:var(--verde-900);background-image:var(--textura-ondas);background-size:240px 96px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(146,109,42,.4),0 0 0 7px var(--creme-50),0 26px 40px -26px rgba(5,38,27,.45);}
.team-card .photo img{width:34%;height:auto;opacity:.9;}
.team-card .photo img[src*="equipa-"]{width:100%;height:100%;object-fit:cover;object-position:50% 22%;opacity:1;}
.team-card h3{margin-top:24px;font-size:1.15rem;color:var(--verde-950);}
.team-card .role{font-size:0.9rem;color:var(--dourado-texto);font-weight:600;margin-top:4px;}
.team-card p.bio{margin-top:10px;color:var(--tinta-600);font-size:0.95rem;max-width:36ch;margin-left:auto;margin-right:auto;}
.team-cta{margin-top:48px;text-align:center;}

/* Team list (editorial row layout — Sobre Nós) */
.team-list{border-top:1px solid var(--creme-200);}
.team-row{display:grid;grid-template-columns:160px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--creme-200);align-items:start;}
.team-row-photo{aspect-ratio:1;background:linear-gradient(160deg, var(--verde-800), var(--verde-950));border:1px solid var(--creme-200);}
.team-row-body h3{font-size:1.15rem;color:var(--verde-950);}
.team-row-body .role{font-size:0.9rem;color:var(--dourado-texto);font-weight:600;margin-top:4px;display:block;}
.team-row-body .bio{margin-top:10px;color:var(--tinta-600);font-size:0.98rem;max-width:62ch;}
.team-row-body .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.team-row-body .tag{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--dourado-texto);border:1px solid var(--creme-200);padding:5px 10px;font-weight:600;}

/* Articles */
.articles{background:var(--creme-100);}
.noticias-layout{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start;}
.noticias-sidebar{position:sticky;top:104px;display:flex;flex-direction:column;gap:20px;}
.sidebar-block{background:var(--creme-50);border:1px solid var(--creme-200);border-radius:14px;padding:20px;}
.sidebar-title{font-family:var(--display);font-weight:600;font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--verde-950);margin-bottom:14px;}
.cat-filter{display:flex;flex-direction:column;gap:4px;}
.cat-btn{text-align:left;background:none;border:0;border-radius:8px;padding:9px 10px;font-family:var(--sans);font-size:0.88rem;color:var(--tinta-600);cursor:pointer;transition:background .15s ease,color .15s ease;position:relative;}
.cat-btn:hover{background:var(--creme-100);color:var(--verde-950);}
.cat-btn.is-active{background:var(--verde-950);color:var(--creme-50);font-weight:600;}
.sidebar-cta{text-align:center;background:var(--verde-950);border-color:var(--verde-950);}
.sidebar-cta-ic{width:30px;height:30px;color:var(--dourado-400);margin-bottom:10px;}
.sidebar-cta p{color:var(--creme-100);font-size:0.9rem;line-height:1.5;margin-bottom:14px;}
.sidebar-progress{display:flex;align-items:center;gap:14px;}
.read-progress{width:4px;height:140px;background:var(--creme-200);border-radius:999px;position:relative;flex-shrink:0;overflow:hidden;}
.read-progress-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:linear-gradient(180deg,var(--dourado-500),var(--dourado-400));border-radius:999px;transition:height .08s linear;}
.sidebar-progress-label{font-size:0.78rem;color:var(--tinta-600);line-height:1.5;}
.sidebar-related a{display:block;font-size:0.88rem;color:var(--tinta-900);padding:8px 0;border-bottom:1px solid var(--creme-200);text-decoration:none;transition:color .15s ease;}
.sidebar-related a:last-child{border-bottom:none;}
.sidebar-related a:hover{color:var(--dourado-texto);}
@media (max-width:900px){
  .noticias-layout{grid-template-columns:1fr;}
  .noticias-sidebar{position:static;flex-direction:row;flex-wrap:wrap;}
  .sidebar-block{flex:1 1 220px;}
}
.articles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.article-card{background:var(--creme-50);border:1px solid var(--creme-200);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.article-card:hover{transform:translateY(-3px);box-shadow:0 20px 34px -24px rgba(5,38,27,.35);}
.article-card-link{display:block;text-decoration:none;color:inherit;}
.article-card-link h3{text-decoration:none;}
.article-card .thumb{aspect-ratio:16/10;background:linear-gradient(150deg, var(--verde-600), var(--verde-950));overflow:hidden;}
.article-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.article-card .body{padding:24px 22px 16px;}
.article-card .date{font-size:0.74rem;color:var(--dourado-texto);font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}
.article-card h3{margin-top:10px;font-size:1.15rem;color:var(--verde-950);line-height:1.35;}
.article-card p{margin-top:10px;color:var(--tinta-600);font-size:0.92rem;}
.article-card .card-actions{padding:0 22px 22px;margin-top:auto;}
.article-card .card-actions .btn{width:100%;justify-content:center;}
.full-articles .wrap{display:flex;flex-direction:column;gap:40px;}
.full-article{background:var(--creme-50);border:1px solid var(--creme-200);border-radius:14px;padding:36px 40px;scroll-margin-top:110px;}
.full-article .date{font-size:0.74rem;color:var(--dourado-texto);font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}
.full-article h2{margin-top:10px;font-size:1.5rem;color:var(--verde-950);line-height:1.3;}
.full-article p{margin-top:14px;color:var(--tinta-600);line-height:1.65;}
.full-article .article-cta{margin-top:22px;font-weight:600;color:var(--verde-950);}
.full-article .source-note{margin-top:18px;font-size:0.8rem;color:var(--tinta-600);opacity:0.75;font-style:italic;}
@media (max-width:720px){.full-article{padding:26px 22px;}}

/* Clientes */
.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.clients-grid.featured .client-card:first-child{grid-column:span 2;}
.clients-grid.featured .client-card:first-child .mark{aspect-ratio:32/9;}
.clients-grid.featured .client-card:first-child h3{font-size:1.3rem;}
.client-card{background:var(--creme-50);border:1px solid var(--creme-200);overflow:hidden;transition:border-color .2s ease;}
.client-card:hover{border-color:var(--dourado-500);}
.client-card .mark{aspect-ratio:16/9;background:linear-gradient(155deg, var(--verde-900), var(--verde-950));display:flex;align-items:center;justify-content:center;}
.client-card .mark span{font-family:var(--serif);color:var(--dourado-300);font-size:1.6rem;}
.client-card .body{padding:24px 24px 28px;}
.client-card .sector{font-size:0.74rem;color:var(--dourado-texto);font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}
.client-card h3{margin-top:8px;font-size:1.15rem;color:var(--verde-950);}
.client-card p{margin-top:10px;color:var(--tinta-600);font-size:0.94rem;}
.client-card .btn-text{margin-top:18px;font-size:0.88rem;}
.client-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.client-detail-hero .mark{aspect-ratio:4/3;background:linear-gradient(155deg, var(--verde-900), var(--verde-950));display:flex;align-items:center;justify-content:center;}
.client-detail-hero .mark span{font-family:var(--serif);color:var(--dourado-300);font-size:2.2rem;}
.client-quote{margin-top:24px;padding:22px 24px;border-left:2px solid var(--dourado-500);background:var(--creme-100);}
.client-quote p{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--verde-900);line-height:1.55;}

/* CTA banner */
.cta-banner{background:var(--verde-900);color:var(--creme-50);padding:80px 0;}
.cta-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.cta-banner-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.cta-banner h2{font-size:clamp(1.6rem,2.8vw,2.1rem);color:var(--creme-50);max-width:20ch;}
.cta-banner p{margin-top:12px;color:rgba(250,247,241,.7);max-width:44ch;}
.cta-inline{padding:48px 0;border-top:1px solid var(--creme-200);text-align:center;}
.cta-inline p{color:var(--tinta-600);font-size:1rem;}
.cta-inline .btn-text{margin-left:4px;}

/* Recrutamento */
.job-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:24px;padding-top:24px;border-top:1px solid rgba(250,247,241,.18);}
.job-meta div span{display:block;font-size:0.74rem;color:rgba(250,247,241,.6);text-transform:uppercase;letter-spacing:0.07em;}
.job-meta div strong{font-family:var(--serif);font-size:1.1rem;color:var(--dourado-300);font-weight:500;}
.job-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;}
.job-cards{display:flex;flex-direction:column;gap:20px;}
.job-card{padding:28px 30px;border:1px solid var(--creme-200);border-radius:16px;background:var(--branco);}
.job-card .sd-ic{width:24px;height:24px;color:var(--dourado-500);margin-bottom:12px;}
.job-card h3{font-size:1.1rem;color:var(--verde-950);margin-bottom:12px;}
.job-card ul{margin:0;padding-left:20px;color:var(--tinta-600);}
.job-card ul li{margin-bottom:8px;}
.job-card ul li:last-child{margin-bottom:0;}
.job-side{position:sticky;top:120px;align-self:start;border:1px solid var(--creme-200);padding:28px;background:var(--creme-100);}
.job-side h4{font-size:1.05rem;color:var(--verde-950);margin-bottom:10px;}
.job-side p{color:var(--tinta-600);font-size:0.92rem;margin-bottom:18px;}
.job-side .btn{width:100%;justify-content:center;}
.no-vacancy{padding:64px 0;text-align:left;}
.no-vacancy h2{font-size:1.7rem;color:var(--creme-50);}
.no-vacancy p{margin-top:14px;color:rgba(250,247,241,.78);max-width:56ch;}

/* Forms */
form{display:flex;flex-direction:column;gap:22px;}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:0.85rem;line-height:1.5;color:var(--tinta-600);cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:400;margin-bottom:0;}
.consent input{width:auto;margin-top:3px;accent-color:var(--dourado-500);}
.consent a{color:var(--verde-800);text-decoration:underline;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.field{position:relative;}
label{font-size:0.72rem;font-weight:600;color:var(--dourado-texto);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px;display:block;}
input,textarea,select{font-family:var(--serif);font-size:1.08rem;padding:8px 2px;width:100%;border:none;border-bottom:1px solid var(--creme-200);background:transparent;border-radius:0;color:var(--tinta-900);transition:border-color .2s ease;}
input:focus,textarea:focus,select:focus{border-color:var(--creme-200);}
.field-line{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--dourado-500);transition:width .3s cubic-bezier(.22,.61,.36,1);}
.field input:focus ~ .field-line,.field textarea:focus ~ .field-line,.field select:focus ~ .field-line{width:100%;}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23B9922F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;}

/* Seleção rápida do serviço (chips) — um toque, sem lista a abrir nem scroll dentro do formulário */
.chips-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;}
.chip{font-family:var(--sans);font-size:0.76rem;font-weight:600;padding:9px 10px;border-radius:999px;border:1px solid var(--creme-200);background:var(--creme-50);color:var(--tinta-900);cursor:pointer;text-align:center;line-height:1.25;transition:background .15s ease,border-color .15s ease,color .15s ease;}
.chip:hover{border-color:var(--dourado-400);}
.chip.is-active{background:var(--dourado-500);border-color:var(--dourado-500);color:var(--verde-950);}
.chip:focus-visible{outline:none;box-shadow:0 0 0 2px var(--dourado-300);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.form-status{font-size:0.92rem;line-height:1.5;padding:12px 14px;border-left:2px solid var(--dourado-500);background:var(--creme-100);color:var(--verde-900);}
.form-status[hidden]{display:none;}
.form-status.is-error{border-left-color:#9B3B2E;color:#7A2C22;}
.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(5,38,27,.72);display:flex;align-items:center;justify-content:center;padding:24px;}
.modal-overlay[hidden]{display:none;}
.modal-card{position:relative;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;}
.modal-card .form-card{margin:0;}
.modal-close{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border-radius:50%;border:none;background:var(--verde-950);color:var(--creme-50);display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s ease;box-shadow:0 6px 16px rgba(5,38,27,.3);}
.modal-close:hover{background:var(--verde-800);}
.modal-intro{margin-bottom:22px;}
.modal-intro h2{color:var(--verde-950);font-size:1.4rem;}
.modal-intro p{margin-top:8px;color:var(--tinta-600);font-size:0.95rem;}
@media (max-width:520px){ .modal-card .form-card{padding:30px 22px 26px;} }
.consent-optional{font-size:0.82rem;}
textarea{resize:vertical;min-height:100px;}
.file-field{display:flex;align-items:center;gap:10px;border:1px dashed var(--creme-200);border-radius:10px;padding:14px 16px;font-size:0.92rem;color:var(--tinta-600);background:var(--creme-50);transition:border-color .2s ease;}
.file-field:hover,.file-field:focus-within{border-color:var(--dourado-500);}
.file-field .icon-sm{color:var(--dourado-500);}
.file-field input{border:none;padding:0;background:none;flex:1;min-width:0;}
.file-field input[type="file"]::file-selector-button{margin-right:14px;padding:9px 18px;border-radius:999px;border:1px solid var(--dourado-500);background:var(--creme-100);color:var(--verde-900);font-family:var(--sans);font-weight:600;font-size:0.85rem;cursor:pointer;transition:background .2s ease,color .2s ease;}
.file-field input[type="file"]::file-selector-button:hover{background:var(--dourado-500);color:var(--verde-950);}

/* Cartão de marca à volta de qualquer formulário do site (Recrutamento, Contactos, …) — em vez de campos soltos no fundo */
.form-card{position:relative;background:var(--creme-50);border:1px solid var(--creme-200);border-radius:20px;padding:44px 48px 40px;box-shadow:0 34px 60px -42px rgba(5,38,27,.3);}
.form-card::before{content:"";display:block;width:56px;height:3px;border-radius:2px;background:var(--dourado-400);margin-bottom:26px;}
@media (max-width:600px){ .form-card{padding:30px 22px 26px;} }

.candidatura-sec{background:var(--creme-100);}
.candidatura-sec .wrap{max-width:720px;}
.candidatura-sec .section-head{margin-bottom:36px;}
.candidatura-sec .kicker{display:block;margin-bottom:12px;font-family:var(--display);font-weight:600;font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--dourado-texto);}
.candidatura-sec .section-head h2{color:var(--verde-950);}
.candidatura-sec .section-head p{margin-top:14px;color:var(--tinta-600);font-size:1.05rem;}
form .btn{align-self:flex-start;margin-top:6px;}
.field-optional{font-weight:400;color:var(--tinta-600);font-size:0.8rem;text-transform:none;letter-spacing:normal;}

/* Legal pages */
.legal-content{max-width:760px;}
.legal-content .updated{color:var(--tinta-600);font-size:0.9rem;margin-bottom:40px;display:block;}
.legal-content h2{margin-top:44px;font-size:1.3rem;color:var(--verde-950);}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{margin-top:14px;color:var(--tinta-600);font-size:1rem;}
.legal-content ul{margin-top:14px;padding-left:20px;color:var(--tinta-600);}
.legal-content ul li{margin-bottom:8px;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;}
.contact-info dl{margin:28px 0 0;}
.contact-info dt{font-size:0.85rem;color:var(--dourado-texto);font-weight:600;margin-top:22px;}
.contact-info dt:first-child{margin-top:0;}
.contact-info dd{margin:6px 0 0;font-size:1rem;color:var(--tinta-900);}
.promise{margin-top:32px;padding:18px 20px;border-left:2px solid var(--dourado-500);background:var(--creme-100);font-size:0.95rem;color:var(--verde-900);}

/* Footer */
footer{background:var(--verde-950);color:rgba(250,247,241,.75);padding:64px 0 32px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(250,247,241,.14);}
.footer-brand .logo{color:var(--creme-50);}
.footer-brand p{margin-top:16px;font-size:0.92rem;max-width:32ch;color:rgba(250,247,241,.6);}
.footer-badges{margin-top:20px;display:flex;gap:18px;flex-wrap:wrap;}
.footer-badges .badge{display:flex;align-items:center;gap:7px;border:none;padding:0;}
.footer-badges .badge svg{width:18px;height:18px;color:var(--dourado-400);flex-shrink:0;}

/* Icon set */
.icon-sm,.icon-md,.icon-lg{flex-shrink:0;color:var(--dourado-500);}
.icon-sm{width:18px;height:18px;}
.icon-md{width:24px;height:24px;}
.icon-lg{width:30px;height:30px;}
.service-icon-row{display:flex;align-items:center;gap:14px;margin-bottom:4px;}
.fact{display:flex;flex-direction:column;gap:8px;}
.fact .icon-md{color:var(--verde-800);}
.method-marker{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}

/* Trust bar */
.trust-bar{background:var(--creme-100);padding:26px 0;border-bottom:1px solid var(--creme-200);}
.trust-bar-inner{display:flex;gap:36px;justify-content:center;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:12px;}
.trust-item svg{width:24px;height:24px;color:var(--dourado-500);flex-shrink:0;}
.trust-item span{font-size:0.85rem;color:var(--verde-900);font-weight:600;}
.badge{border:1px solid rgba(174,133,53,.4);color:var(--dourado-300);font-size:0.7rem;font-weight:600;padding:6px 10px;text-transform:uppercase;letter-spacing:0.06em;}
.footer-col h4{font-size:0.78rem;color:var(--creme-50);margin-bottom:16px;font-weight:600;text-transform:uppercase;letter-spacing:0.09em;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-col a{text-decoration:none;font-size:0.9rem;color:rgba(250,247,241,.65);cursor:pointer;}
.footer-col a:hover{color:var(--dourado-300);}
.footer-newsletter input{width:100%;margin-bottom:10px;background:transparent;border-color:rgba(250,247,241,.25);color:var(--creme-50);}
.footer-newsletter input::placeholder{color:rgba(250,247,241,.72);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:12px;font-size:0.82rem;color:rgba(250,247,241,.5);}
.footer-bottom ul{list-style:none;display:flex;gap:20px;margin:0;padding:0;}
.footer-bottom a,.footer-bottom button{text-decoration:none;color:rgba(250,247,241,.5);background:none;border:none;font:inherit;cursor:pointer;}
.footer-bottom a:hover,.footer-bottom button:hover{color:var(--dourado-300);}

/* WhatsApp floating */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--verde-800);border:1px solid var(--dourado-500);display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 20px rgba(5,38,27,.35);transition:transform .2s ease;}
.whatsapp-float:hover{transform:translateY(-3px);}
.whatsapp-float svg{width:26px;height:26px;}

/* Router pages */
.page{display:none;}
.page.active{display:block;}

/* Logotipo oficial + botão dourado (o dourado da marca #926D2A é mais escuro: o botão usa o tom 400 para manter o contraste do texto) */
.btn-gold{background:var(--dourado-400);}
.btn-gold:hover{background:var(--dourado-300);}
.nav{padding:12px 32px;}
.logo{display:inline-flex;align-items:center;line-height:0;flex-shrink:0;}
.logo img{display:block;width:156px;height:auto;}
.footer-brand .logo img{width:176px;}
@media (max-width:720px){.nav{padding:10px 20px;}.logo img{width:140px;}}
/* Scroll progress — traço dourado fino no topo, sem interferir com o conteúdo */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;pointer-events:none;}
.scroll-progress span{display:block;height:100%;background:var(--dourado-500);transform:scaleX(0);transform-origin:0 50%;will-change:transform;}

/* Marcadores de placeholder (remover/substituir antes de publicar) */
.ph{background:rgba(146,109,42,.12);outline:1px dashed rgba(146,109,42,.6);outline-offset:2px;padding:0 3px;}
.ph-tag{display:inline-block;font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--dourado-500);border:1px dashed var(--dourado-500);padding:3px 8px;line-height:1.4;}
.ph-note{font-size:0.86rem;line-height:1.5;color:var(--tinta-600);border-left:2px dashed var(--dourado-500);background:var(--creme-100);padding:10px 16px;margin-bottom:36px;max-width:72ch;}

/* Conversa (agendamento) */
.conversa{background:var(--creme-100);scroll-margin-top:110px;}
.conversa-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.conversa-copy h2{margin-top:18px;color:var(--verde-950);}
.conversa-copy > p{margin-top:16px;color:var(--tinta-600);font-size:1.05rem;max-width:52ch;}
.conversa-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.conversa-list li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:0.98rem;color:var(--tinta-900);}
.conversa-list li svg{margin-top:4px;}

/* Agendamento self-service (placeholder para Cal.com ou equivalente) */
.booking-slot{background:var(--creme-50);border:1px solid var(--creme-200);padding:28px;}
.booking-head{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--creme-200);}
.booking-head strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.1rem;color:var(--verde-950);}
.booking-head span{font-size:0.85rem;color:var(--tinta-600);}
.booking-body{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;margin-top:22px;}
.booking-bar{height:10px;width:42%;background:var(--creme-200);margin-bottom:18px;}
.booking-cal{aspect-ratio:7/5;background-image:radial-gradient(circle closest-side,var(--creme-200) 0 52%,transparent 56%);background-size:calc(100% / 7) 20%;}
.booking-slots{display:flex;flex-direction:column;gap:10px;}
.booking-slots span{display:block;height:36px;border:1px solid var(--creme-200);}
.booking-ph{margin-top:22px;padding-top:16px;border-top:1px dashed var(--creme-200);font-size:0.8rem;color:var(--tinta-600);display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.booking-slot.is-live{padding:0;border:none;background:none;}
.booking-frame{display:block;width:100%;min-height:640px;border:0;}
.booking-hint{margin-top:24px;font-size:0.95rem;color:var(--tinta-600);}
.booking-hint a{color:var(--verde-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--dourado-500);text-underline-offset:3px;cursor:pointer;}

/* Casos de cliente — métricas */
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--creme-200);}
.metric strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.1;color:var(--verde-800);font-variant-numeric:tabular-nums;}
.metric span{display:block;margin-top:5px;font-size:0.8rem;line-height:1.35;color:var(--tinta-600);}
.client-card .lead{margin-top:10px;}
.client-card .mark .ph-label{font-family:var(--sans);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--dourado-300);border:1px dashed rgba(212,182,117,.5);padding:5px 10px;}
.metrics-band{background:var(--creme-100);padding:56px 0;border-top:1px solid var(--creme-200);border-bottom:1px solid var(--creme-200);}
.metrics-band .metrics{grid-template-columns:repeat(4,1fr);gap:32px;margin:0;padding:0;border-top:none;}
.metrics-band .metric strong{font-size:2.3rem;}
.metrics-band .metric span{font-size:0.88rem;}
.compare{margin-top:56px;border-top:1px solid var(--creme-200);}
.compare-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--creme-200);align-items:baseline;font-size:0.96rem;color:var(--tinta-600);}
.compare-row.head{font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--dourado-texto);padding:14px 0;}
.compare-row .topic{color:var(--tinta-900);font-weight:500;}
.compare-row .after{color:var(--verde-800);font-weight:600;}

/* Bios de equipa — detalhe pessoal */
.team-row-body .personal{margin-top:14px;padding-left:14px;border-left:2px solid var(--dourado-500);max-width:62ch;font-family:var(--serif);font-style:italic;font-size:0.96rem;line-height:1.5;color:var(--verde-900);}
.team-row-body .personal span{display:block;margin-bottom:3px;font-family:var(--sans);font-style:normal;font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--dourado-texto);}

/* Lead magnet */
.leadmagnet{background:var(--creme-100);border-top:1px solid var(--creme-200);border-bottom:1px solid var(--creme-200);scroll-margin-top:110px;}
.leadmagnet-grid{display:grid;grid-template-columns:300px 1fr;gap:72px;align-items:center;}
.leadmagnet-cover{aspect-ratio:3/4;background:linear-gradient(160deg,var(--verde-800),var(--verde-950));border:1px solid var(--dourado-500);padding:28px 24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:12px 12px 0 var(--creme-200);}
.leadmagnet-cover .cover-kicker{font-size:0.66rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--dourado-300);}
.leadmagnet-cover .cover-title{font-family:var(--serif);font-size:1.5rem;line-height:1.2;color:var(--creme-50);}
.leadmagnet-cover .cover-lines{display:flex;flex-direction:column;gap:8px;}
.leadmagnet-cover .cover-lines i{display:block;height:1px;background:rgba(250,247,241,.22);}
.leadmagnet-cover .cover-lines i:nth-child(2){width:80%;}
.leadmagnet-cover .cover-lines i:nth-child(3){width:60%;}
.leadmagnet-copy .kicker{font-size:0.78rem;color:var(--dourado-texto);font-weight:600;margin-bottom:14px;display:block;text-transform:uppercase;letter-spacing:0.09em;}
.leadmagnet-copy h2{color:var(--verde-950);}
.leadmagnet-copy > p{margin-top:14px;color:var(--tinta-600);font-size:1.05rem;max-width:52ch;}
.leadmagnet-copy form{margin-top:28px;max-width:460px;gap:18px;}

/* FAQ */
.faq-list{border-top:1px solid var(--creme-200);max-width:800px;}
.faq-item{border-bottom:1px solid var(--creme-200);}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:var(--serif);font-size:1.12rem;color:var(--verde-950);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"";width:8px;height:8px;flex-shrink:0;border-right:1.5px solid var(--dourado-500);border-bottom:1.5px solid var(--dourado-500);transform:rotate(45deg);transition:transform .2s ease;}
.faq-item[open] summary::after{transform:rotate(-135deg);}
.faq-item .content{padding:0 0 22px;color:var(--tinta-600);max-width:64ch;font-size:0.98rem;}

/* Newsletter (rodapé) em formulário */
.footer-newsletter .field{margin-bottom:10px;}
.footer-newsletter .field input,.footer-newsletter .field select{margin-bottom:0;}
.footer-newsletter select{color:var(--creme-50);border-color:rgba(250,247,241,.25);}
.footer-newsletter select option{color:var(--tinta-900);}
.footer-newsletter .consent{color:rgba(250,247,241,.6);font-size:0.78rem;margin-bottom:12px;}
.footer-newsletter .consent a{color:var(--dourado-300);}
.footer-newsletter .consent input{width:auto;margin-bottom:0;}
.footer-newsletter form{gap:0;}
.footer-newsletter form .btn{width:100%;justify-content:center;}
.footer-newsletter .form-status{margin-top:12px;background:rgba(250,247,241,.06);color:rgba(250,247,241,.85);}

/* Texturas subtis nos fundos escuros (ondas discretas, opacidade ≤ 6% para não afetar a leitura) */
:root{--textura-ondas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='96' viewBox='0 0 240 96'%3E%3Cg fill='none' stroke='%23D4B675' stroke-width='1'%3E%3Cpath d='M0 12Q30 0 60 12T120 12T180 12T240 12' stroke-opacity='.06'/%3E%3Cpath d='M0 36Q30 24 60 36T120 36T180 36T240 36' stroke-opacity='.04'/%3E%3Cpath d='M0 60Q30 48 60 60T120 60T180 60T240 60' stroke-opacity='.06'/%3E%3Cpath d='M0 84Q30 72 60 84T120 84T180 84T240 84' stroke-opacity='.04'/%3E%3C/g%3E%3C/svg%3E");}
.testimonials,.cta-banner,.page-header{background-color:var(--verde-950);background-repeat:repeat,repeat,no-repeat;background-size:240px 96px,520px 208px,cover;background-position:0 0,90px 44px,center;}
.testimonials{background-image:var(--textura-ondas),var(--textura-ondas),radial-gradient(120% 130% at 20% 0%,var(--verde-900),var(--verde-950) 65%);}
.cta-banner{background-image:var(--textura-ondas),var(--textura-ondas),radial-gradient(110% 170% at 85% 0%,var(--verde-800),var(--verde-900) 70%);}
.page-header{background-image:var(--textura-ondas),var(--textura-ondas),radial-gradient(120% 140% at 78% 15%,var(--verde-800),var(--verde-950) 60%);}

/* Responsive */
@media (max-width: 980px){
  .conversa-grid{grid-template-columns:1fr;gap:40px;}
  .leadmagnet-grid{grid-template-columns:1fr;gap:40px;}
  .leadmagnet-cover{max-width:240px;}
  .metrics-band .metrics{grid-template-columns:repeat(2,1fr);gap:28px;}
  .compare-row{grid-template-columns:1fr 1fr;gap:6px 24px;}
  .compare-row .topic{grid-column:1 / -1;}
  .compare-row.head{display:none;}
  .booking-body{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-panel{order:-1;}
  .about-grid{grid-template-columns:1fr;gap:40px;}
  .t-grid, .team-grid, .articles-grid, .clients-grid{grid-template-columns:1fr;}
  .service-row{grid-template-columns:1fr;gap:12px;}
  .service-detail .grid3{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:48px;}
  .footer-top{grid-template-columns:1fr 1fr;row-gap:36px;}
  .job-grid{grid-template-columns:1fr;}
  .job-side{position:static;}
  .client-detail-hero{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width: 720px){
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--creme-50);padding:16px 32px 24px;border-bottom:1px solid var(--creme-200);gap:4px;}
  .nav-item .dropdown{position:static;box-shadow:none;border:none;padding-left:14px;margin-top:4px;}
  .menu-toggle{display:block;}
  .wrap{padding:0 20px;}
  section{padding:64px 0;}
  .hero, .page-header{padding:56px 0 44px;}
  .cta-banner-inner{flex-direction:column;align-items:flex-start;}
  .footer-top{grid-template-columns:1fr;}
}

/* Redes sociais e contactos */
.footer-social{display:flex;gap:10px;margin-top:22px;}
.footer-social a{width:42px;height:42px;border:1px solid rgba(212,182,117,.38);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dourado-300);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;}
.footer-social a:hover{background:var(--dourado-400);border-color:var(--dourado-400);color:var(--verde-950);transform:translateY(-2px);}
.footer-social svg{width:20px;height:20px;}
.footer-col li a{color:inherit;text-decoration:none;}
.footer-col li a:hover{color:var(--dourado-300);}
.social-inline{display:flex;gap:10px 22px;flex-wrap:wrap;}
.social-inline a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:500;color:var(--verde-800);border-bottom:1px solid var(--dourado-500);padding-bottom:2px;transition:color .2s ease;}
.social-inline a:hover{color:var(--dourado-500);}
.social-inline svg{width:18px;height:18px;color:var(--dourado-500);}
.contact-info dd a{color:inherit;text-decoration:none;border-bottom:1px solid var(--dourado-500);}
.contact-info dd a:hover{color:var(--dourado-500);}

/* Banner principal simplificado: uma mensagem, uma ação */
.hero-simple{padding:0;min-height:min(78vh,720px);display:flex;align-items:center;}
.hero-simple::before,.hero-simple::after{display:none;}
.hero-simple .hero-content{position:relative;z-index:1;width:100%;padding-top:104px;padding-bottom:104px;}
.hero-simple h1{max-width:14ch;font-size:clamp(2.7rem,6.2vw,4.7rem);line-height:1.04;}
.hero-simple .lead{margin-top:24px;max-width:34ch;font-size:1.2rem;min-height:0;}
.hero-simple .hero-ctas{margin-top:40px;align-items:center;gap:14px 28px;}
.link-light{color:var(--creme-50);text-decoration:none;font-weight:600;border-bottom:1px solid var(--dourado-400);padding-bottom:3px;transition:color .2s ease,padding-right .2s ease;}
.link-light:hover{color:var(--dourado-300);padding-right:4px;}
button.link-light{background:none;border:none;border-bottom:1px solid var(--dourado-400);padding:0 0 3px;font-family:var(--sans);font-size:1em;cursor:pointer;}
.hero-mark{position:absolute;right:-70px;top:50%;transform:translateY(-50%);width:min(560px,52vw);opacity:.13;pointer-events:none;z-index:0;}
@keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.rise{animation:rise .7s cubic-bezier(.22,.61,.36,1) both;}
.rise.d1{animation-delay:.12s;}
.rise.d2{animation-delay:.24s;}
@media (max-width:720px){
  .hero-simple{min-height:auto;}
  .hero-simple .hero-content{padding-top:64px;padding-bottom:72px;}
  .hero-mark{width:74vw;right:-24vw;opacity:.11;}
  .hero-simple .hero-ctas{flex-direction:column;align-items:flex-start;}
  .hero-simple .hero-ctas .btn{width:100%;justify-content:center;}
  .nav-right{gap:8px;}
  .nav-right .btn{padding:9px 12px;font-size:0.82rem;}
}

/* ===== Correções da auditoria ===== */
:root{--dourado-texto:#7A5A1F;}
[id]{scroll-margin-top:110px;}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--verde-900);color:var(--creme-50);padding:12px 20px;font-weight:600;text-decoration:none;border-radius:0 0 4px 0;}
.skip:focus{left:0;outline:2px solid var(--dourado-300);outline-offset:0;}
main{display:block;}
main:focus{outline:none;}
.btn-outline-light,.btn-outline-dark{background:transparent;}
.ph-tag{color:var(--dourado-texto);}
.btn-ic{width:1.15em;height:1.15em;flex-shrink:0;}
input::placeholder,textarea::placeholder{color:#6B6B6B;opacity:1;}
.carousel-pause{width:44px;height:44px;border-radius:50%;border:1px solid rgba(250,247,241,.25);background:transparent;color:var(--creme-50);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.carousel-pause:hover{border-color:var(--dourado-500);color:var(--dourado-300);}
.carousel-pause svg{width:14px;height:14px;}
@media (max-width:980px){
  .articles-grid.featured .article-card:first-child,.clients-grid.featured .client-card:first-child{grid-column:auto;}
}
@media (max-width:720px){
  .btn{white-space:normal;text-align:center;}
}

/* ===== Grupo B: menu com links, breadcrumbs, páginas de serviço, cabeçalhos ===== */
.nav-item{display:flex;align-items:center;flex-wrap:nowrap;}
.nav-sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:40px;margin-left:-8px;padding:0;background:none;border:0;cursor:pointer;color:var(--tinta-900);}
.nav-sub-toggle::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .15s ease;}
.nav-sub-toggle[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:2px;}
.nav-sub-toggle:hover{color:var(--dourado-500);}
.nav-item .dropdown::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;}
.nav-item.is-open .dropdown{display:block;}
.nav-links a[aria-current="page"]{color:var(--verde-800);font-weight:600;}
.nav-links > li > a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--dourado-500);}
.nav-item .dropdown a[aria-current="page"]{background:var(--creme-100);}
@media (max-width:720px){
  .nav-item{width:100%;flex-wrap:wrap;}
  .nav-item .nav-parent{flex:1 1 auto;}
  .nav-sub-toggle{width:44px;height:44px;margin-left:0;}
  .nav-item .dropdown{flex:0 0 100%;}
  .nav-item .dropdown::before{display:none;}
  .nav-item:hover .dropdown{display:none;}
  .nav-item.is-open .dropdown,.nav-item.is-open:hover .dropdown{display:block;}
  .nav-item .dropdown a{padding:12px 14px;}
}
.breadcrumbs{padding-top:14px;font-size:0.85rem;line-height:1.5;}
.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;}
.breadcrumbs li{display:flex;align-items:center;gap:8px;}
.breadcrumbs li + li::before{content:"›";color:var(--dourado-texto);}
.breadcrumbs a{display:inline-block;padding:4px 0;color:var(--tinta-600);text-decoration:none;}
.breadcrumbs a:hover{color:var(--verde-800);text-decoration:underline;}
.breadcrumbs [aria-current]{color:var(--tinta-900);font-weight:500;}
.related-services{padding:56px 0;}
.related-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 32px;}
.related-list .btn-text{padding-top:10px;}
.footer-title{font-family:var(--serif);font-size:0.78rem;line-height:1.4;color:var(--creme-50);margin:0 0 16px;font-weight:600;text-transform:uppercase;letter-spacing:0.09em;}
.service-detail .grid3 h3{font-family:var(--sans);font-size:0.74rem;line-height:1.4;color:var(--dourado-texto);margin-bottom:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}
.job-side h3{font-size:1.05rem;color:var(--verde-950);margin-bottom:10px;}
@media (max-width:720px){.team-row{grid-template-columns:1fr;gap:16px;}.team-row-photo{max-width:160px;}}

/* ===== Grupo C: formulários — foco visível, erros acessíveis, honeypot ===== */
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 2px 0 0 var(--dourado-texto);}
.file-field:focus-within{outline:2px solid var(--dourado-texto);outline-offset:2px;}
.footer-newsletter input:focus-visible,.footer-newsletter select:focus-visible{box-shadow:0 2px 0 0 var(--dourado-300);}
.consent input:focus-visible{outline:2px solid var(--dourado-texto);outline-offset:3px;background:none;}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-bottom-color:#9B3B2E;}
.field-error{display:block;margin-top:6px;font-size:0.85rem;line-height:1.45;color:#7A2C22;}
.field-error::before{content:"Erro: ";font-weight:600;}
.consent + .field-error,.file-field + .field-error{margin:6px 0 4px;}
.footer-newsletter .field-error{color:#F2BFB6;}
.footer-newsletter input[aria-invalid="true"]{border-bottom-color:#F2BFB6;}
.hp-field{position:absolute !important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

/* ===== Grupo D: legibilidade, maiúsculas e alvos de toque ===== */
/* Etiquetas nunca abaixo de 12 px; maiúsculas só nos "kickers" */
label{font-size:0.85rem;text-transform:none;letter-spacing:0.01em;}
.service-detail .grid3 h3,.service-detail .grid3 h4{font-size:0.9rem;text-transform:none;letter-spacing:0.01em;}
.article-card .date,.client-card .sector,.job-meta div span{font-size:0.82rem;text-transform:none;letter-spacing:0.02em;}
.compare-row.head,.team-row-body .personal span,.team-row-body .tag{font-size:0.8rem;text-transform:none;letter-spacing:0.02em;}
.page-header .kicker,.hero-eyebrow,.section-head .kicker,.leadmagnet-copy .kicker,.footer-title,.footer-col h4{font-size:0.8rem;letter-spacing:0.08em;}
.leadmagnet-cover .cover-kicker{font-size:0.75rem;letter-spacing:0.08em;}
.ph-tag{font-size:0.75rem;}
.client-card .mark .ph-label{font-size:0.78rem;}
/* Texto secundário a 14 px ou mais */
.hero-stats div span,.hero-panel .attrib,.t-card .who,.contact-info dt,.trust-item span,.booking-head span,.booking-ph,.metric span,.metrics-band .metric span,.consent,.consent-optional,.field-error,.breadcrumbs,.ph-note,.footer-bottom{font-size:0.875rem;}
.field-optional{font-size:0.85rem;}
.footer-newsletter .consent{font-size:0.82rem;}
/* Alvos de toque de pelo menos 24 px (44 px no telemóvel quando há espaço) */
.consent input,.footer-newsletter .consent input{width:24px;height:24px;flex-shrink:0;margin-top:0;}
.carousel-dots{gap:0;}
.carousel-dots .dot{position:relative;width:24px;height:24px;background:none;display:flex;align-items:center;justify-content:center;}
.carousel-dots .dot::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(250,247,241,.3);transition:background .2s ease,transform .2s ease;}
.carousel-dots .dot.active{background:none;transform:none;}
.carousel-dots .dot.active::before{background:var(--dourado-500);transform:scale(1.4);}
.footer-col ul{gap:0;}
.footer-col li a,.footer-bottom a,.footer-bottom button{display:inline-block;padding:6px 0;}
.footer-bottom ul{flex-wrap:wrap;gap:0 20px;}
@media (max-width:720px){
  .footer-col li a,.footer-bottom a,.footer-bottom button{padding:10px 0;}
}
.carousel-arrow,.carousel-pause{flex-shrink:0;}
@media (max-width:400px){.carousel-nav{gap:6px;}}

/* ===== Grupo E: performance ===== */
.hero-photo picture,.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ===== Grupo F: banner de cookies (só aparece com SITE_FLAGS.showCookieBanner = true) ===== */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:400;max-width:760px;margin:0 auto;background:var(--verde-950);color:var(--creme-50);border:1px solid rgba(212,182,117,.4);padding:22px 24px;box-shadow:0 16px 40px rgba(5,38,27,.35);}
.cookie-banner:focus{outline:2px solid var(--dourado-300);outline-offset:2px;}
.cookie-banner h2{font-size:1.15rem;color:var(--creme-50);}
.cookie-banner p{margin-top:8px;font-size:0.92rem;line-height:1.55;color:rgba(250,247,241,.85);}
.cookie-banner a{color:var(--dourado-300);}
.cookie-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.cookie-actions .btn{flex:1 1 160px;justify-content:center;min-height:44px;}
.cookie-banner .btn:focus-visible{outline-color:var(--dourado-300);}
@media (max-width:720px){.cookie-banner{left:0;right:0;bottom:0;max-width:none;padding:20px;}}

/* ===== Grupo G: Cinzel só em kickers, números e selos; CTA final da Home ===== */
:root{--display:'Cinzel', Georgia, serif;}
.kicker,.hero-eyebrow,.footer-title,.footer-col h4,.leadmagnet-cover .cover-kicker,.team-row-body .tag{font-family:var(--display);font-weight:600;}
.kicker-number,.method-num,.metric strong,.hero-stats div strong,.fact strong{font-family:var(--display);font-weight:500;}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;}
.nav-links a{white-space:nowrap;}
@media (min-width:721px) and (max-width:900px){
  .nav{padding:14px 20px;}
  .logo img{width:128px;height:auto;}
  .nav-links{gap:0;}
  .nav-links > li > a,.nav-item summary{padding:10px 8px;font-size:0.88rem;}
  .nav-sub-toggle{margin-left:-6px;}
  .nav-right{gap:8px;}
  .nav-right .btn{padding:9px 12px;font-size:0.82rem;}
}

/* ===== Banner da Home: selo animado, ondas de seda e destaque (hero-vivo) ===== */
.hero-vivo{padding:0;min-height:min(90vh,800px);display:flex;align-items:center;}
.hero-vivo::before,.hero-vivo::after{display:none;}
.hero-ondas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 32%,#000 68%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 32%,#000 68%);}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px circle at var(--mx,72%) var(--my,42%),rgba(212,182,117,.15),transparent 62%);}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:32px;align-items:center;width:100%;padding-top:104px;padding-bottom:120px;}
.hero-kicker{font-family:var(--display);font-weight:600;font-size:0.82rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--dourado-300);display:flex;align-items:center;gap:14px;margin:0 0 22px;}
.hero-kicker::before{content:"";width:34px;height:1px;background:currentColor;flex-shrink:0;}
.hero-vivo h1{font-size:clamp(2.7rem,5.6vw,4.5rem);line-height:1.05;max-width:14ch;color:var(--creme-50);text-wrap:balance;}
.nb{white-space:nowrap;}
.destaque{position:relative;display:inline-block;color:var(--dourado-300);}
.destaque-ul{position:absolute;left:0;right:0;bottom:-0.14em;width:100%;height:0.2em;overflow:visible;}
.destaque-ul path{fill:none;stroke:var(--dourado-400);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:hv-draw 1.1s cubic-bezier(.22,.61,.36,1) .95s forwards;}
.hero-vivo .lead{margin-top:26px;max-width:34ch;font-size:1.2rem;min-height:0;}
.hero-vivo .hero-ctas{margin-top:40px;align-items:center;gap:16px 30px;}
.rise.d3{animation-delay:.36s;}
.rise.d4{animation-delay:.48s;}

.hero-seal{position:relative;width:min(400px,38vw);aspect-ratio:1;justify-self:center;transform:perspective(900px) rotateX(calc(var(--rx,0) * 1deg)) rotateY(calc(var(--ry,0) * 1deg));transition:transform .25s ease-out;}
.hero-seal::before{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(212,182,117,.22),transparent 66%);animation:hv-pulse 5s ease-in-out infinite;}
.seal-orbit{position:absolute;border-radius:50%;pointer-events:none;}
.seal-orbit.o1{inset:0;border:1px solid rgba(212,182,117,.38);animation:hv-spin 42s linear infinite;}
.seal-orbit.o2{inset:-8%;border:1px dashed rgba(212,182,117,.22);animation:hv-spin 80s linear infinite reverse;}
.seal-orbit i{position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--dourado-300);box-shadow:0 0 14px 3px rgba(212,182,117,.55);}
.seal-orbit.o2 i{top:auto;bottom:-4px;width:6px;height:6px;margin-left:-3px;opacity:.75;}
.seal-float{position:absolute;inset:11%;animation:hv-float 8s ease-in-out 1.6s infinite;}
.seal-disc{position:relative;width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='96' viewBox='0 0 240 96'%3E%3Cg fill='none' stroke='%23926D2A' stroke-width='1'%3E%3Cpath d='M0 12Q30 0 60 12T120 12T180 12T240 12' stroke-opacity='.10'/%3E%3Cpath d='M0 36Q30 24 60 36T120 36T180 36T240 36' stroke-opacity='.07'/%3E%3Cpath d='M0 60Q30 48 60 60T120 60T180 60T240 60' stroke-opacity='.10'/%3E%3Cpath d='M0 84Q30 72 60 84T120 84T180 84T240 84' stroke-opacity='.07'/%3E%3C/g%3E%3C/svg%3E"),
  radial-gradient(circle at 30% 24%,#FDFAF2,#F1E9D8 58%,#E4D8BD 100%);
  box-shadow:0 34px 80px -22px rgba(0,0,0,.6),inset 0 0 0 1px rgba(174,133,53,.5),inset 0 0 60px rgba(146,109,42,.14);animation:hv-disc .9s cubic-bezier(.22,.61,.36,1) both;}
.seal-mark{width:52%;height:auto;overflow:visible;}
.sm-arm-l{transform-box:fill-box;transform-origin:center;animation:hv-arm-l .95s cubic-bezier(.2,.9,.25,1) .45s both;}
.sm-arm-r{transform-box:fill-box;transform-origin:center;animation:hv-arm-r .95s cubic-bezier(.2,.9,.25,1) .6s both;}
.sm-gold{transform-box:fill-box;transform-origin:center;animation:hv-gold 1.1s cubic-bezier(.2,.9,.25,1) .95s both;}

.hero-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(250,247,241,.78);text-decoration:none;font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;}
.hero-cue:hover{color:var(--dourado-300);}
.hero-cue i{width:1px;height:38px;background:linear-gradient(var(--dourado-300),transparent);transform-origin:top;animation:hv-cue 2.2s ease-in-out infinite;}

@media (prefers-reduced-motion:reduce){.destaque-ul path{stroke-dashoffset:0;}}
@keyframes hv-draw{to{stroke-dashoffset:0;}}
@keyframes hv-spin{to{transform:rotate(360deg);}}
@keyframes hv-pulse{0%,100%{opacity:.55;transform:scale(.96);}50%{opacity:1;transform:scale(1.04);}}
@keyframes hv-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes hv-disc{from{opacity:0;transform:scale(.7) rotate(-8deg);}to{opacity:1;transform:none;}}
@keyframes hv-arm-l{from{opacity:0;transform:translate(-70px,80px) rotate(-14deg);}to{opacity:1;transform:none;}}
@keyframes hv-arm-r{from{opacity:0;transform:translate(70px,-70px) rotate(14deg);}to{opacity:1;transform:none;}}
@keyframes hv-gold{from{opacity:0;transform:translate(14px,-90px) rotate(10deg) scale(.9);}to{opacity:1;transform:none;}}
@keyframes hv-cue{0%{transform:scaleY(0);opacity:1;}60%{transform:scaleY(1);opacity:1;}100%{transform:scaleY(1);opacity:0;}}

@media (max-width:900px){
  .hero-vivo{min-height:auto;}
  .hero-inner{grid-template-columns:1fr;gap:44px;padding-top:64px;padding-bottom:96px;}
  .hero-seal{width:min(280px,68vw);}
  .hero-vivo h1{max-width:14ch;}
  .hero-ondas{-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 55%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 55%,#000 100%);}
  .hero-cue{display:none;}
}
@media (max-width:720px){
  .hero-vivo .hero-ctas{flex-direction:column;align-items:flex-start;}
  .hero-vivo .hero-ctas .btn{width:100%;justify-content:center;}
}

/* ===== Home: serviços em destaque ===== */
.services-list--destaque{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px;}
.services-list--destaque .service-row{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:32px 30px;margin:0;border:1px solid var(--creme-200);border-radius:18px;background:var(--branco);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease;}
.services-list--destaque .service-row::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(174,133,53,.12),rgba(174,133,53,0) 72%);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,.61,.36,1);}
.services-list--destaque .service-row::after{content:"";position:absolute;left:30px;right:30px;bottom:0;height:2px;background:var(--dourado-400);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,.61,.36,1);}
.services-list--destaque .service-row > *{position:relative;z-index:1;}
.services-list--destaque .service-row:hover,.services-list--destaque .service-row:focus-visible{border-color:var(--dourado-400);box-shadow:0 18px 36px -26px rgba(5,38,27,.35);}
.services-list--destaque .service-row:hover::before,.services-list--destaque .service-row:focus-visible::before,.services-list--destaque .service-row:hover::after,.services-list--destaque .service-row:focus-visible::after{transform:scaleX(1);}
.sr-num{font-family:var(--display);font-size:1.05rem;font-weight:600;letter-spacing:0.14em;color:var(--dourado-texto);}
.services-list--destaque .service-row h3{margin-top:2px;font-size:clamp(1.15rem,1.6vw,1.32rem);line-height:1.2;color:var(--verde-800);transition:transform .45s cubic-bezier(.22,.61,.36,1),color .3s ease;}
.services-list--destaque .service-row p{font-size:0.96rem;color:var(--tinta-600);max-width:44ch;}
.sr-cta{margin-top:auto;padding-top:16px;font-weight:600;font-size:0.94rem;color:var(--verde-800);display:inline-flex;gap:6px;transition:color .25s ease,gap .3s ease;}
.services-list--destaque .service-row:hover h3,.services-list--destaque .service-row:focus-visible h3{transform:translateX(6px);color:var(--verde-950);}
.services-list--destaque .service-row:hover .sr-cta,.services-list--destaque .service-row:focus-visible .sr-cta{color:var(--dourado-texto);gap:12px;}
.services-list--destaque .service-row:focus-visible{outline:2px solid var(--dourado-500);outline-offset:2px;}
@media (max-width:900px){
  .services-list--destaque{grid-template-columns:1fr;gap:16px;}
  .services-list--destaque .service-row{padding:28px 24px;}
  .services-list--destaque .service-row h3{font-size:1.3rem;}
  .services-list--destaque .service-row:hover h3{transform:none;}
}

/* ===== Home: fundo interativo dos testemunhos ===== */
.testimonials[data-fundo-rede]{position:relative;overflow:hidden;}
.fundo-rede{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.testimonials[data-fundo-rede] > .wrap{position:relative;z-index:1;}

/* ===== Sobre nós: "Como chegámos até aqui" ===== */
.historia-viva{background-color:var(--creme-100);}
.historia-viva .section-head p{color:var(--tinta-600);}

.historia-timeline{margin-top:44px;}
.ht-stops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:8px;}
.ht-stops::before{content:"";position:absolute;top:10px;left:0;right:0;height:2px;background:rgba(8,61,44,.16);}
.ht-stop{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:none;border:0;padding:0 12px 0 0;margin:0;text-align:left;cursor:pointer;font-family:inherit;}
.ht-dot{position:relative;width:20px;height:20px;border-radius:50%;background:var(--creme-100);border:2px solid rgba(8,61,44,.32);display:flex;align-items:center;justify-content:center;transition:border-color .3s ease,background .3s ease;}
.ht-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:transparent;transition:background .3s ease;}
.ht-stop[aria-selected="true"] .ht-dot{border-color:var(--dourado-400);background:var(--creme-50);}
.ht-stop[aria-selected="true"] .ht-dot::after{background:var(--dourado-400);}
.ht-stop:hover .ht-dot{border-color:var(--dourado-texto);}
.ht-num{font-family:var(--display);font-size:0.74rem;letter-spacing:0.1em;color:var(--dourado-texto);font-weight:600;}
.ht-label{font-family:var(--serif);font-size:1.1rem;line-height:1.3;color:var(--tinta-600);transition:color .3s ease;}
.ht-stop[aria-selected="true"] .ht-label{color:var(--verde-950);font-weight:600;}
.ht-stop:hover .ht-label{color:var(--verde-800);}
.ht-stop:focus-visible{outline:2px solid var(--dourado-500);outline-offset:4px;border-radius:4px;}

.ht-panels{margin-top:40px;}
.ht-panel{position:relative;overflow:hidden;border-radius:20px;padding:46px 52px;color:var(--creme-50);background-color:var(--verde-800);background-image:var(--textura-ondas);background-size:260px 104px;background-position:0 0;}
.ht-panel[hidden]{display:none;}
.ht-panel.is-active{animation:dep-in .5s cubic-bezier(.22,.61,.36,1) both;}
.ht-panel-num{position:relative;display:block;font-family:var(--serif);font-size:3.4rem;line-height:1;color:var(--dourado-300);opacity:.45;}
.ht-tag{position:relative;display:block;margin-top:10px;font-weight:600;font-size:1.05rem;color:var(--dourado-300);}
.ht-panel p{position:relative;margin-top:16px;font-size:1rem;line-height:1.68;color:rgba(250,247,241,.86);max-width:66ch;}
@media (prefers-reduced-motion:reduce){ .ht-panel.is-active{animation:none;} }
@media (max-width:820px){
  .ht-stops{grid-template-columns:repeat(2,1fr);gap:22px 8px;}
  .ht-stops::before{display:none;}
  .ht-panel{padding:34px 26px;}
}
@media (max-width:520px){ .ht-stops{grid-template-columns:1fr 1fr;} }

/* ===== Sobre nós: equipa em cartas ===== */
.cartas{display:flex;justify-content:center;padding:64px 0 40px;}
.carta{--r:0deg;--y:0px;position:relative;width:250px;aspect-ratio:2/3;margin-left:-62px;perspective:1200px;transform:translateY(var(--y)) rotate(var(--r));transition:transform .55s cubic-bezier(.22,.61,.36,1);cursor:pointer;outline:none;z-index:1;-webkit-tap-highlight-color:transparent;}
.carta:first-child{margin-left:0;}
.carta:nth-child(1){--r:-10deg;--y:32px;}
.carta:nth-child(2){--r:-6deg;--y:14px;z-index:2;}
.carta:nth-child(3){--r:-2deg;--y:2px;z-index:3;}
.carta:nth-child(4){--r:2deg;--y:2px;z-index:4;}
.carta:nth-child(5){--r:6deg;--y:14px;z-index:2;}
.carta:nth-child(6){--r:10deg;--y:32px;}
.carta-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.22,.61,.36,1);}
.carta.is-flipped .carta-inner,.carta:focus-visible .carta-inner{transform:rotateY(180deg);}
.carta.is-flipped,.carta:focus-visible{transform:translateY(-34px) rotate(0deg) scale(1.06);z-index:10;}
@media (hover:hover){
  .carta:hover .carta-inner{transform:rotateY(180deg);}
  .carta:hover{transform:translateY(-34px) rotate(0deg) scale(1.06);z-index:10;}
}
.carta-frente,.carta-verso{position:absolute;inset:0;border-radius:16px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 26px 46px -24px rgba(5,38,27,.6),0 0 0 1px rgba(174,133,53,.6);}
.carta-frente::before,.carta-verso::before{content:"";position:absolute;inset:9px;border:1px solid rgba(174,133,53,.5);border-radius:10px;pointer-events:none;}
.carta-frente{background:linear-gradient(160deg,#FFFDF8 0%,#F4ECDB 100%);}
.carta-indice{position:absolute;top:18px;left:20px;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1;}
.carta-indice b{font-family:var(--display);font-weight:600;font-size:0.85rem;letter-spacing:0.06em;color:var(--dourado-texto);}
.carta-indice i{font-style:normal;font-size:0.6rem;color:var(--dourado-400);}
.carta-indice--b{top:auto;left:auto;bottom:18px;right:20px;transform:rotate(180deg);}
.carta-foto{position:absolute;left:17%;right:17%;top:15%;height:49%;border-radius:999px 999px 10px 10px;background:radial-gradient(circle at 50% 28%,#FBF6EA,#E9DEC5);box-shadow:inset 0 0 0 1px rgba(174,133,53,.45);display:grid;place-items:center;overflow:hidden;}
.carta-foto img{width:50%;height:auto;opacity:.9;}
.carta-foto img[src*="equipa-"]{width:100%;height:100%;object-fit:cover;opacity:1;}
.carta-nome{position:absolute;left:0;right:0;top:65.5%;padding:0 22px;text-align:center;font-size:1.08rem;line-height:1.2;color:var(--verde-950);}
.carta-frente .carta-cargo{position:absolute;left:0;right:0;top:77.5%;padding:0 22px;text-align:center;}
.carta-cargo{font-family:var(--display);font-weight:600;font-size:0.68rem;letter-spacing:0.07em;text-transform:uppercase;line-height:1.35;color:var(--dourado-texto);}
.carta-dica{position:absolute;left:0;right:0;bottom:8%;text-align:center;font-size:0.72rem;letter-spacing:0.08em;color:var(--tinta-600);opacity:.75;}
.carta-verso{transform:rotateY(180deg);background-color:var(--verde-800);background-image:var(--textura-ondas),radial-gradient(120% 90% at 80% 0%,var(--verde-600),var(--verde-800) 60%);background-size:240px 96px,cover;color:var(--creme-50);padding:30px 26px 26px;display:flex;flex-direction:column;gap:11px;}
.carta-verso .carta-cargo{color:var(--dourado-300);}
.carta-bio{font-size:0.82rem;line-height:1.5;color:rgba(250,247,241,.9);}
.carta-tags{display:flex;flex-wrap:wrap;gap:6px;}
.carta-tags .tag{font-size:0.64rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;color:var(--dourado-300);border:1px solid rgba(212,182,117,.5);padding:3px 8px;border-radius:2px;}
.carta-pessoal{margin-top:auto;padding-left:11px;border-left:2px solid var(--dourado-400);font-size:0.8rem;line-height:1.45;color:rgba(250,247,241,.88);}
.carta-pessoal span{display:block;margin-bottom:3px;font-family:var(--display);font-weight:600;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--dourado-300);}
@media (hover:hover){ .carta-dica{opacity:0;} }
@media (max-width:1099px){
  .cartas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px 26px;justify-items:center;padding:36px 0 10px;}
  .carta{width:100%;max-width:280px;margin-left:0;--r:0deg;--y:0px;}
  .carta:nth-child(n){--r:0deg;--y:0px;z-index:1;}
  .carta.is-flipped,.carta:focus-visible{transform:translateY(-8px) scale(1.03);}
  @media (hover:hover){ .carta:hover{transform:translateY(-8px) scale(1.03);} }
}
@media (max-width:560px){ .cartas{grid-template-columns:1fr;} .carta{max-width:300px;} }
@media (prefers-reduced-motion:reduce){ .carta,.carta-inner{transition:none;} }

/* Leque: o texto de cada carta fica do lado que não é tapado pela vizinha */
@media (min-width:1100px){
  .carta:nth-child(1) .carta-nome,.carta:nth-child(2) .carta-nome,.carta:nth-child(3) .carta-nome,
  .carta:nth-child(1) .carta-frente .carta-cargo,.carta:nth-child(2) .carta-frente .carta-cargo,.carta:nth-child(3) .carta-frente .carta-cargo{text-align:left;padding:0 80px 0 24px;}
  .carta:nth-child(5) .carta-nome,.carta:nth-child(6) .carta-nome,
  .carta:nth-child(5) .carta-frente .carta-cargo,.carta:nth-child(6) .carta-frente .carta-cargo{text-align:right;padding:0 24px 0 80px;}
  .carta:nth-child(1) .carta-dica,.carta:nth-child(2) .carta-dica,.carta:nth-child(3) .carta-dica{text-align:left;padding-left:24px;}
  .carta:nth-child(5) .carta-dica,.carta:nth-child(6) .carta-dica{text-align:right;padding-right:24px;}
}

/* Leque: cartas mais altas para o verso (descrição + áreas + detalhe pessoal) caber sempre */
@media (min-width:1100px){
  .carta{aspect-ratio:auto;height:430px;}
  .carta-verso{padding:28px 24px 24px;gap:10px;}
  .carta-bio{font-size:0.81rem;line-height:1.48;}
  .carta-pessoal{font-size:0.79rem;}
}

/* ===== Contactos: canais, mapa e formulário ===== */
.canais-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px;}
.canal{position:relative;display:flex;flex-direction:column;gap:8px;padding:36px 28px 30px;background:#fff;border:1px solid var(--creme-200);border-radius:18px;text-decoration:none;color:inherit;overflow:hidden;transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease,border-color .35s ease;}
.canal::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--dourado-400);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.61,.36,1);}
.canal:hover,.canal:focus-visible{transform:translateY(-6px);box-shadow:0 18px 36px -26px rgba(5,38,27,.4);border-color:var(--dourado-500);}
.canal:hover::before,.canal:focus-visible::before{transform:scaleX(1);}
.canal-ic{width:36px;height:36px;color:var(--verde-800);margin-bottom:10px;}
.canal-label{font-family:var(--display);font-weight:600;font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--dourado-texto);}
.canal-valor{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1.15;color:var(--verde-800);}
.canal-valor--sm{font-size:1.1rem;}
.canal-txt{flex:1;margin-top:4px;color:var(--tinta-600);font-size:0.95rem;}
.canal-cta{align-self:flex-start;margin-top:18px;padding-bottom:3px;border-bottom:1px solid var(--dourado-500);font-weight:600;font-size:0.95rem;color:var(--verde-800);}
.canal--destaque{background:var(--verde-800);border-color:var(--verde-800);}
.canal--destaque .canal-ic{color:var(--dourado-300);}
.canal--destaque .canal-label{color:var(--dourado-300);}
.canal--destaque .canal-valor{color:var(--creme-50);}
.canal--destaque .canal-txt{color:rgba(250,247,241,.82);}
.canal--destaque .canal-cta{color:var(--creme-50);border-bottom-color:var(--dourado-300);}
.canal-badge{position:absolute;top:16px;right:16px;padding:3px 9px;background:var(--dourado-400);color:var(--verde-950);font-size:0.68rem;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;}
.canal-redes{display:flex;gap:10px;margin-top:18px;}
.canal-redes a{width:46px;height:46px;border:1px solid var(--creme-200);border-radius:50%;display:grid;place-items:center;color:var(--verde-800);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;}
.canal-redes a:hover{background:var(--verde-800);color:var(--dourado-300);border-color:var(--verde-800);transform:translateY(-3px);}
.canal-redes svg{width:20px;height:20px;}

.mapa-sec{background-color:var(--verde-950);background-image:var(--textura-ondas),var(--textura-ondas),radial-gradient(120% 130% at 85% 0%,var(--verde-800),var(--verde-950) 65%);background-size:240px 96px,520px 208px,cover;background-position:0 0,90px 44px,center;color:var(--creme-50);}
.mapa-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:center;}
.mapa-copy .kicker{display:block;margin-bottom:14px;font-family:var(--display);font-weight:600;font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--dourado-300);}
.mapa-copy h2{color:var(--creme-50);}
.mapa-copy > p{margin-top:16px;color:rgba(250,247,241,.8);font-size:1.05rem;max-width:42ch;}
.mapa-morada{display:flex;gap:14px;align-items:flex-start;margin:28px 0 0;padding:18px 20px;border:1px solid rgba(212,182,117,.35);border-radius:12px;background:rgba(250,247,241,.04);font-style:normal;}
.mapa-morada .icon-md{color:var(--dourado-300);margin-top:2px;}
.mapa-morada strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.1rem;color:var(--creme-50);}
.mapa-morada span span,.mapa-morada > span{color:rgba(250,247,241,.78);}
.mapa-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:28px;}
.mapa-card{position:relative;padding:10px;border:1px solid rgba(212,182,117,.4);border-radius:18px;background:var(--verde-900);box-shadow:0 18px 36px -26px rgba(5,38,27,.5);}
.mapa-stage{position:relative;aspect-ratio:8/5.2;overflow:hidden;border-radius:10px;background:var(--verde-950);}
.mapa-leaflet{position:absolute;inset:0;width:100%;height:100%;background:var(--verde-950);}
.mapa-leaflet .leaflet-control-zoom{border:1px solid rgba(212,182,117,.5)!important;border-radius:8px!important;overflow:hidden;box-shadow:0 10px 22px -12px rgba(0,0,0,.6)!important;}
.mapa-leaflet .leaflet-control-zoom a{background:var(--verde-900)!important;color:var(--creme-50)!important;border-color:rgba(212,182,117,.3)!important;}
.mapa-leaflet .leaflet-control-zoom a:hover{background:var(--verde-800)!important;color:var(--dourado-300)!important;}
.mapa-pin-leaflet{pointer-events:none;z-index:3;}
.mapa-pin-leaflet .mapa-pin-ponto{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--dourado-400);border:2px solid var(--creme-50);box-shadow:0 4px 10px rgba(0,0,0,.4);}
.mapa-pin-leaflet .mapa-pin-anel{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border-radius:50%;border:1px solid var(--dourado-400);opacity:.7;animation:mapa-pulso 3.4s ease-out infinite;}
.mapa-pin-leaflet .mapa-tag{position:absolute;left:50%;top:14px;transform:translateX(-50%);white-space:nowrap;font-family:var(--display);font-weight:600;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--creme-50);background:rgba(4,35,26,.7);border:1px solid rgba(212,182,117,.4);padding:5px 13px;border-radius:999px;backdrop-filter:blur(2px);}
.mapa-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 6px 4px;}
.mapa-nota{font-size:0.85rem;color:rgba(250,247,241,.75);}
@keyframes mapa-pulso{0%{transform:scale(.7);opacity:.7;}100%{transform:scale(1.9);opacity:0;}}

.contacto-form-copy .kicker{display:block;margin-bottom:14px;font-family:var(--display);font-weight:600;font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;}
.contacto-form{background:var(--creme-100);}
.contacto-form-copy .kicker{color:var(--dourado-texto);}
.contacto-form-copy h2{color:var(--verde-800);}
.contacto-form-copy > p{margin-top:16px;color:var(--tinta-600);font-size:1.05rem;max-width:44ch;}
.contacto-notas{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.contacto-notas li{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:0.98rem;color:var(--tinta-900);}
.contacto-notas .icon-sm{color:var(--dourado-500);margin-top:4px;}
.contacto-notas a{color:var(--verde-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--dourado-500);text-underline-offset:3px;}
@media (max-width:1000px){ .canais-grid{grid-template-columns:repeat(2,1fr);} .mapa-grid{grid-template-columns:1fr;gap:44px;} }
@media (max-width:560px){ .canais-grid{grid-template-columns:1fr;} }
@media (prefers-reduced-motion:reduce){ .canal,.canal::before{transition:none;} }

/* ===== Home: testemunhos por setor ===== */
.depoimentos .section-head p{color:rgba(250,247,241,.7);}
.depoimentos .section-head .kicker{color:var(--dourado-300);}
.dep{display:grid;grid-template-columns:minmax(240px,.75fr) 1.75fr;gap:48px;align-items:stretch;margin-top:8px;}
.dep-tabs{display:flex;flex-direction:column;gap:6px;}
.dep-tabs button{display:flex;align-items:baseline;gap:16px;width:100%;padding:16px 18px;background:transparent;border:0;border-left:2px solid rgba(212,182,117,.25);color:rgba(250,247,241,.72);font-family:var(--serif);font-size:1.2rem;text-align:left;cursor:pointer;transition:color .25s ease,border-color .25s ease,background .35s ease,padding-left .3s ease;}
.dep-tabs button:hover{color:var(--creme-50);padding-left:24px;}
.dep-tabs button[aria-selected="true"]{color:var(--creme-50);border-left-color:var(--dourado-400);background:linear-gradient(90deg,rgba(212,182,117,.16),rgba(212,182,117,0));padding-left:24px;}
.dep-n{font-family:var(--display);font-weight:600;font-size:0.8rem;letter-spacing:0.14em;color:var(--dourado-300);}
.dep-panels{position:relative;}
.dep-panel{position:relative;margin:0;height:100%;display:flex;flex-direction:column;justify-content:center;padding:84px 60px 58px;border:1px solid rgba(212,182,117,.38);background:rgba(4,35,26,.6);backdrop-filter:blur(6px);animation:dep-in .6s cubic-bezier(.22,.61,.36,1) both;}
.dep-panel[hidden]{display:none;}
.dep-q{position:absolute;top:-4px;left:34px;font-family:var(--serif);font-size:8rem;line-height:1;color:var(--dourado-400);opacity:.3;pointer-events:none;}
.dep-panel blockquote{position:relative;margin:0;font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,1.95rem);line-height:1.42;color:var(--creme-50);}
.dep-panel figcaption{position:relative;margin-top:30px;font-family:var(--display);font-weight:600;font-size:0.82rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--dourado-300);}
.dep-panel figcaption strong{color:var(--creme-50);font-weight:600;}
@keyframes dep-in{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@media (max-width:900px){
  .dep{grid-template-columns:1fr;gap:26px;}
  .dep-tabs{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:thin;}
  .dep-tabs button{width:auto;flex:0 0 auto;padding:12px 16px;border-left:0;border-bottom:2px solid rgba(212,182,117,.25);font-size:1.02rem;white-space:nowrap;}
  .dep-tabs button:hover,.dep-tabs button[aria-selected="true"]{padding-left:16px;}
  .dep-tabs button[aria-selected="true"]{border-bottom-color:var(--dourado-400);background:linear-gradient(0deg,rgba(212,182,117,.14),rgba(212,182,117,0));}
  .dep-panel{padding:44px 26px 34px;}
  .dep-q{font-size:6.5rem;left:18px;}
}
@media (prefers-reduced-motion:reduce){ .dep-panel{animation:none;} }

/* ===== Home: fundos alternados (nunca duas secções seguidas com a mesma cor) ===== */
#faq{background:var(--creme-100);}

/* CTA final da Home: faixa editorial sóbria (substitui o cartão flutuante) */
.cta-final{background:var(--creme-50);padding:100px 0;border-top:1px solid rgba(9,61,44,.12);}
.cta-final-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:72px;align-items:center;}
.cta-final-copy h2{margin-top:14px;font-size:clamp(1.7rem,2.8vw,2.35rem);color:var(--verde-950);max-width:19ch;}
.cta-final-copy p{margin-top:16px;color:var(--tinta-600);max-width:46ch;font-size:1.05rem;line-height:1.6;}
.cta-final-copy .cta-actions{margin-top:34px;}
.cta-final-aside{position:relative;padding-left:48px;border-left:1px solid rgba(9,61,44,.16);display:flex;flex-direction:column;gap:20px;}
.cta-final-mono{width:40px;height:40px;opacity:.9;}
.cta-final-aside p{margin:0;font-family:var(--serif);font-style:italic;color:var(--verde-800);font-size:1.08rem;line-height:1.55;max-width:26ch;}
@media (max-width:880px){
  .cta-final{padding:72px 0;}
  .cta-final-grid{grid-template-columns:1fr;gap:36px;}
  .cta-final-aside{padding-left:0;border-left:0;padding-top:28px;border-top:1px solid rgba(9,61,44,.16);flex-direction:row;align-items:center;}
  .cta-final-mono{flex-shrink:0;}
}

.testimonials.depoimentos{background-image:none;background-color:var(--verde-900);}
.depoimentos .dep-panel{background:rgba(4,35,26,.45);backdrop-filter:none;}

/* Newsletter no footer: faixa em toda a largura, texto à esquerda e formulário numa linha */
.footer-newsletter{grid-column:1 / -1;order:-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:24px 56px;align-items:center;padding-bottom:44px;border-bottom:1px solid rgba(250,247,241,.14);}
.footer-newsletter .footer-title{margin:0 0 8px;font-size:1.05rem;letter-spacing:.14em;color:var(--dourado-300);}
.footer-nl-txt{margin:0;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;color:var(--creme-50);max-width:26ch;}
.footer-newsletter form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;align-items:end;}
.footer-newsletter .hp-field{grid-column:1 / -1;}
.footer-newsletter .field{margin:0;}
.footer-newsletter .field input{margin:0;padding:14px 0;font-size:1rem;}
.footer-newsletter form .btn{width:auto;min-width:160px;}
.footer-newsletter .consent{grid-column:1 / -1;margin:0;align-items:center;}
.footer-newsletter .consent input{-webkit-appearance:none;appearance:none;width:20px;height:20px;border:1.5px solid rgba(212,182,117,.7);border-radius:4px;background:transparent;display:grid;place-content:center;cursor:pointer;margin:0;}
.footer-newsletter .consent input::after{content:"";width:10px;height:10px;transform:scale(0);transition:transform .15s ease;background:var(--dourado-400);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);}
.footer-newsletter .consent input:checked::after{transform:scale(1);}
.footer-newsletter .form-status{grid-column:1 / -1;margin:0;}
@media (max-width:820px){
  .footer-newsletter{grid-template-columns:1fr;padding-bottom:36px;}
}
@media (max-width:520px){
  .footer-newsletter form{grid-template-columns:1fr;}
  .footer-newsletter form .btn{width:100%;}
}
.footer-newsletter{grid-template-rows:auto auto;align-content:center;row-gap:0;}
.footer-newsletter .footer-title{grid-column:1;grid-row:1;align-self:end;}
.footer-newsletter .footer-nl-txt{grid-column:1;grid-row:2;align-self:start;}
.footer-newsletter form{grid-column:2;grid-row:1 / span 2;}
@media (max-width:820px){
  .footer-newsletter{row-gap:0;}
  .footer-newsletter .footer-nl-txt{margin-bottom:22px;}
  .footer-newsletter form{grid-column:1;grid-row:3;}
}
.footer-newsletter form{position:relative;}
.footer-newsletter .hp-field{position:absolute;left:-9999px;grid-column:auto;}
.footer-newsletter form .field{grid-column:1;grid-row:1;}
.footer-newsletter form .btn{grid-column:2;grid-row:1;align-self:end;}
.footer-newsletter .consent{grid-row:2;}
.footer-newsletter .form-status{grid-row:3;}
@media (max-width:520px){
  .footer-newsletter form .field,.footer-newsletter form .btn{grid-column:1;}
  .footer-newsletter form .btn{grid-row:2;}
  .footer-newsletter .consent{grid-row:3;}
  .footer-newsletter .form-status{grid-row:4;}
}
@media (min-width:981px){ .footer-top{grid-template-columns:1.6fr 1fr 1fr;} }

/* ===== Páginas de serviço: painel visual do hero + cartões de detalhe + "Como funciona" ===== */
.service-hero .wrap{display:block;}
.service-hero-media{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:4/5;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background-color:var(--verde-900);background-image:var(--textura-ondas),radial-gradient(135% 150% at 78% 0%,var(--verde-700),var(--verde-950) 72%);background-size:240px 96px,cover;background-position:0 0,center;border:1px solid rgba(212,182,117,.3);box-shadow:0 44px 76px -38px rgba(5,38,27,.65);}
.shm-icon-big{position:absolute;top:-46px;right:-46px;width:230px;height:230px;color:rgba(212,182,117,.16);}
.shm-eyebrow{position:relative;font-family:var(--display);font-weight:600;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--dourado-300);}
.service-hero-media p{position:relative;margin-top:12px;font-family:var(--serif);font-size:1.4rem;line-height:1.35;color:var(--creme-50);max-width:17ch;}
@media (max-width:900px){
  .service-hero-media{aspect-ratio:16/9;max-width:480px;}
}

.service-detail .grid3{gap:0;border:1px solid var(--creme-200);border-radius:16px;overflow:hidden;background:var(--branco);}
.service-detail .grid3 > div{padding:32px 30px;border-left:1px solid var(--creme-200);position:relative;}
.service-detail .grid3 > div:first-child{border-left:none;}
.service-detail .grid3 .sd-ic{width:26px;height:26px;color:var(--dourado-500);margin-bottom:14px;}
@media (max-width:720px){
  .service-detail .grid3 > div{border-left:none;border-top:1px solid var(--creme-200);}
  .service-detail .grid3 > div:first-child{border-top:none;}
}

.service-process{background:var(--creme-100);padding:72px 0;}
.service-process .section-head{max-width:60ch;}
.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px;counter-reset:sp;}
.sp-step{position:relative;background:var(--creme-50);border:1px solid var(--creme-200);border-radius:16px;padding:30px 26px;}
.sp-step::before{counter-increment:sp;content:counter(sp,decimal-leading-zero);position:absolute;top:22px;right:24px;font-family:var(--serif);font-size:1.3rem;color:var(--creme-200);}
.sp-step svg{width:26px;height:26px;color:var(--dourado-500);margin-bottom:16px;}
.sp-step h3{font-size:1.05rem;color:var(--verde-950);}
.sp-step p{margin-top:8px;color:var(--tinta-600);font-size:0.94rem;}
@media (max-width:820px){ .sp-steps{grid-template-columns:1fr;} }

/* ===== Fotografias dos serviços (bloco em servicos.html + topo das páginas de serviço) ===== */
.service-destaque{background:var(--creme-100);}
.service-destaque .service-detail{padding-top:0;border-top:none;background:var(--creme-50);border:1px solid var(--creme-200);border-radius:24px;padding:48px;box-shadow:0 34px 60px -42px rgba(5,38,27,.3);}
.service-destaque .sd-text::before{content:"";display:block;width:56px;height:3px;border-radius:2px;background:var(--dourado-400);margin-bottom:26px;}
.service-destaque .kicker{display:block;margin-bottom:14px;font-family:var(--display);font-weight:600;font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--dourado-texto);}
.service-destaque h2{color:var(--verde-950);margin:0;}
.service-destaque .lead{margin-top:16px;color:var(--tinta-600);font-size:1.05rem;}
.service-destaque .grid3{grid-template-columns:1fr;}
.service-destaque .grid3 > div{border-left:none;border-top:1px solid var(--creme-200);}
.service-destaque .grid3 > div:first-child{border-top:none;}
@media (max-width:760px){ .service-destaque .service-detail{padding:30px 24px;border-radius:18px;} }

/* ===== Cowork: galeria de fotos ===== */
.cowork-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;}
.cowork-gallery img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:1px solid rgba(146,109,42,.22);box-shadow:0 20px 40px -30px rgba(5,38,27,.4);}
.cowork-gallery a:first-child{grid-column:span 2;grid-row:span 2;}
.cowork-gallery a:first-child img{aspect-ratio:1/1;}
@media (max-width:760px){
  .cowork-gallery{grid-template-columns:repeat(2,1fr);gap:12px;}
  .cowork-gallery a:first-child{grid-column:span 2;}
}
.escritorios-sec{background:var(--creme-100);}
.escritorios-sec .wrap{max-width:1180px;text-align:center;}
.escritorios-sec h2{color:var(--verde-950);}
.escritorios-sec p{margin-top:16px;color:var(--tinta-600);font-size:1.05rem;}
.escritorios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;text-align:left;}
.escritorio-card{background:var(--creme-50);border:1px solid var(--creme-200);border-radius:16px;padding:18px;box-shadow:0 20px 34px -26px rgba(5,38,27,.3);}
.escritorio-foto{aspect-ratio:4/3;border-radius:10px;overflow:hidden;}
.escritorio-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.escritorio-foto.is-placeholder{background:linear-gradient(155deg,var(--verde-900),var(--verde-950));display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;}
.escritorio-foto span{font-family:var(--serif);font-style:italic;color:var(--dourado-300);font-size:0.95rem;}
.escritorio-foto-trio{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:4px;}
.escritorio-foto-trio img{border-radius:0;}
.escritorio-foto-trio img:first-child{grid-row:span 2;}
.escritorio-card h3{margin-top:16px;font-size:1.1rem;color:var(--verde-950);}
.escritorio-card p{margin-top:4px;font-size:0.92rem;color:var(--tinta-600);}
.amenities-list{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;margin-top:40px;}
.amenity{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:0.88rem;font-weight:600;color:var(--verde-950);}
.amenity svg{width:30px;height:30px;color:var(--dourado-500);}
@media (max-width:760px){ .escritorios-grid{grid-template-columns:1fr;} }
.service-detail.has-photo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;}
.service-detail.has-photo.photo-left{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.service-detail.has-photo.photo-left .sd-photo{order:-1;}
.service-detail.has-photo .service-icon-row{margin-top:0;}
.sd-photo{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:20px;border:1px solid rgba(146,109,42,.28);box-shadow:0 30px 60px -38px rgba(5,38,27,.45);background:var(--creme-100);}
@media (max-width:900px){
  .service-detail.has-photo,.service-detail.has-photo.photo-left{grid-template-columns:1fr;gap:26px;}
  .service-detail.has-photo .sd-photo{order:-1;}
  }
/* ===== Topo das páginas de serviço: fotografia de fundo com gradiente verde ===== */
.service-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(380px,34vw,470px);}
.service-hero .wrap{position:relative;z-index:2;width:100%;}
.service-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:0;}
.service-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:var(--textura-ondas),linear-gradient(90deg,rgba(5,38,27,.97) 0%,rgba(8,61,44,.92) 36%,rgba(8,61,44,.66) 66%,rgba(8,61,44,.42) 100%);background-size:240px 96px,cover;background-repeat:repeat,no-repeat;background-position:0 0,center;}
@media (max-width:900px){
  .service-hero{min-height:0;}
  .service-hero::before{background-image:var(--textura-ondas),linear-gradient(180deg,rgba(5,38,27,.93) 0%,rgba(8,61,44,.84) 100%);}
}