/* Escala de leitura comum: texto principal 18 px, 17 px no telemóvel. */
.cadastral-hero .territory-tint{background:linear-gradient(180deg,transparent 35%,rgba(247,245,238,.7) 60%,rgba(247,245,238,.98) 100%)}
.cadastral-hero .territory-caption{color:var(--green)}
.cadastral-hero .territory-caption>.eyebrow{color:#3b5743}
.cadastral-hero .territory-caption em{color:#8a6c2b}
.cadastral-hero .territory-caption small{color:#52624f}
.cadastral-hero .map-footer{color:var(--green);border-color:#203e3430}
:root{--copy-size:1.125rem;--secondary-size:1rem;--meta-size:.875rem;--header-offset:152px}
html{scroll-padding-top:var(--header-offset)}
.header-inner{min-height:140px;padding-block:10px}
.header .brand-logo>img{width:210px}
.footer .brand-logo>img{width:224px}
body{font-size:var(--copy-size);line-height:1.75}
.text-link,.button,.hero-actions .text-link,.hero-actions .button,.service-card .text-link,.faq-intro .text-link,.process .text-link{font-size:1rem}
.button{min-height:50px;padding:15px 22px}
.button-small{font-size:.9375rem;min-height:48px;padding:13px 18px}
.header nav{font-size:1rem;gap:25px}
.hero-intro{font-size:var(--copy-size);line-height:1.8;max-width:27rem}
.hero-actions{flex-wrap:wrap;gap:16px 24px}
.hero-note{font-size:.9375rem;line-height:1.6;letter-spacing:.2px}
.eyebrow,.hero-copy .eyebrow{font-size:.8125rem;letter-spacing:1.3px;line-height:1.6}
.section-heading>p{font-size:var(--copy-size);line-height:1.7;max-width:25rem}
.territory-caption>.eyebrow{font-size:.75rem;letter-spacing:1.2px}
.territory-caption>span:not(.eyebrow){font-size:2.5rem}
.territory-caption small{font-size:.875rem;letter-spacing:.2px;line-height:1.5}
.territory-image .map-footer{font-size:.75rem;line-height:1.4;letter-spacing:.8px;gap:16px}
.map-footer>span:first-child{max-width:75%}
.credentials-inner{font-size:1rem;line-height:1.6;min-height:80px;gap:16px}
.credentials b{font-size:.9375rem;margin-left:6px}
.case-option{font-size:1.0625rem;min-height:96px;line-height:1.55}
.case-result h3{font-size:1.9375rem}
.case-result>p:not(.eyebrow){font-size:var(--copy-size);line-height:1.7}
.prepare strong{font-size:1rem}
.prepare p{font-size:1rem;line-height:1.7}
.service-top>span{font-size:.8125rem;letter-spacing:1.2px}
.service-card>p{font-size:var(--copy-size);line-height:1.7;max-width:none}
.service-list strong{font-size:1.125rem;line-height:1.5}
.service-list li span{font-size:1.0625rem;line-height:1.7}
.service-list li{padding-block:19px}
.section-note{font-size:1rem;line-height:1.7}
.about-copy>p:not(.eyebrow){font-size:var(--copy-size);line-height:1.75}
.professional-details{flex-wrap:wrap;gap:22px}
.professional-details>span,.professional-details strong{font-size:1rem;line-height:1.6}
.portrait-card figcaption>span{font-size:.9375rem;line-height:1.6}
.steps h3{font-size:1.5rem;line-height:1.35}
.steps p{font-size:var(--copy-size);line-height:1.7;max-width:none}
.mini-label{font-size:.875rem;letter-spacing:1.2px}
.faq-list summary{font-size:var(--copy-size);line-height:1.6;padding-block:23px;min-height:78px}
.faq-answer{font-size:var(--copy-size);line-height:1.75}
.article-heading>span{font-size:.875rem;letter-spacing:1px}
.article-category{font-size:.8125rem;letter-spacing:1px;gap:12px;line-height:1.6}
.article-category>span{font-size:1rem}
.article-card{min-height:265px}
.article-card>strong{font-size:1.75rem;line-height:1.35}
.article-bottom{font-size:1rem}
.contact-info>p:not(.eyebrow){font-size:var(--copy-size);line-height:1.75}
.contact-links>div>span{font-size:.875rem;letter-spacing:1.2px}
.contact-links>div>a:not(.map-link){font-size:1.5rem;overflow-wrap:anywhere;gap:20px}
.contact-links small{font-size:.9375rem;line-height:1.6}
.contact-links address{font-size:var(--copy-size);line-height:1.8}
.map-link{font-size:1rem;padding-block:12px}
.contact-form-card h3{font-size:2rem;line-height:1.3}
.form-intro{font-size:1rem;line-height:1.7;max-width:none}
.field{margin-bottom:21px}
.field label{font-size:1rem;line-height:1.5;margin-bottom:8px}
.optional{font-size:.875rem}
.field input,.field select,.field textarea{font-size:1.0625rem;line-height:1.5;min-height:50px;padding:12px 13px}
.field input::placeholder,.field textarea::placeholder{font-size:1rem}
.field textarea{min-height:145px}
.field small{font-size:.875rem;line-height:1.6}
.checkbox{font-size:.9375rem;line-height:1.65;gap:11px}
.checkbox input{width:20px;height:20px;margin-top:3px}
.required-note{font-size:.875rem;line-height:1.6}
.form-submit,.email-actions .button,.copy-button{font-size:1rem}
.email-result p,.email-result label,.email-result textarea{font-size:1rem;line-height:1.7}
.footer-top>.text-link{font-size:1rem}
.footer-bottom{font-size:.875rem;line-height:1.7;flex-wrap:wrap}
.footer-bottom>div{flex-wrap:wrap;gap:18px 24px}
#dialog-body{font-size:var(--copy-size);line-height:1.75}
#dialog-body h3{font-size:1.625rem;line-height:1.4}
#dialog-body .dialog-note{font-size:1rem}
#dialog-body .text-link{font-size:1rem}
dialog{max-width:760px}
.guide-layout>*,.service-columns>*,.about>*,.article-grid>*,.contact-layout>*{min-width:0}

@media(max-width:1100px){
  .header nav{gap:18px}
}
@media(max-width:1000px){
  :root{--header-offset:136px}
  .header-inner{min-height:124px;padding-block:8px}
  .header .brand-logo>img{width:170px}
  .menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);padding:12px 14px;color:var(--green);font-size:1rem;min-height:48px}
  .menu-lines{width:18px;height:12px;border-block:1px solid currentColor;position:relative}
  .menu-lines:after{content:'';position:absolute;left:0;right:0;top:5px;border-top:1px solid currentColor}
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 32px 25px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #203e340a;font-size:1.0625rem}
  .header nav.open{display:flex}
  .header nav>a:not(.button){padding:14px 0;border-bottom:1px solid var(--line)}
  .header nav>.button{margin-top:20px;align-self:flex-start}
  .credentials-inner{flex-wrap:wrap;justify-content:center;padding-block:19px;gap:9px 20px}
  .credentials .credential-star{display:none}
  .credentials-inner>span:last-child{flex-basis:100%;text-align:center;font-size:.9375rem;opacity:1}
}
@media(max-width:900px){
  .contact-layout{grid-template-columns:1fr;gap:38px}
  .contact-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .contact-links>div{margin:0}
  .contact-links>div:last-child{grid-column:1/-1}
  .form-grid{grid-template-columns:1fr 1fr;gap:0 20px}
}
@media(max-width:760px){
  .guide-layout,.service-columns,.faq-layout{grid-template-columns:1fr}
  .case-result{border-left:0;border-top:1px solid var(--line);padding:30px 26px}
  .about{display:flex;flex-direction:column;align-items:stretch;gap:35px}
  .portrait-card{align-self:center}
  .professional-details{flex-direction:column}
  .article-grid{grid-template-columns:1fr}
  .article-card{min-height:230px}
  .faq-intro h3 br{display:none}
  .section-heading{align-items:flex-start;flex-wrap:wrap;gap:22px}
  .section-heading>p{max-width:none}
}
@media(max-width:600px){
  :root{--copy-size:1.0625rem;--header-offset:112px}
  .header-inner{min-height:100px}
  .header .brand-logo>img{width:150px}
  .footer .brand-logo>img{width:192px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:16px}
  .hero-copy .eyebrow{font-size:.75rem;letter-spacing:1px}
  .hero-note{font-size:.875rem}
  .header nav{padding-inline:20px}
  .territory-image{min-height:370px}
  .territory-caption{bottom:78px}
  .territory-caption>span:not(.eyebrow){font-size:2rem}
  .territory-caption>.eyebrow{font-size:.75rem;letter-spacing:.9px;margin-bottom:12px}
  .territory-caption small{font-size:.8125rem}
  .territory-image .map-footer{font-size:.75rem;letter-spacing:.5px}
  .credentials-inner{flex-direction:column;gap:9px;font-size:.9375rem}
  .credentials-inner>span:nth-child(3){border:0;padding-left:0}
  .credentials-inner>span:last-child{font-size:.9375rem}
  .credentials b{font-size:.875rem}
  .section-heading>p{margin-top:0}
  .case-option{font-size:1.0625rem;padding:20px;gap:15px;min-height:86px}
  .case-result h3{font-size:1.75rem}
  .service-card{padding:29px 24px}
  .service-list strong{font-size:1.0625rem}
  .service-list li span{font-size:1rem}
  .section-note{font-size:.9375rem}
  .professional-details>span,.professional-details strong{font-size:.9375rem}
  .steps h3{font-size:1.5rem}
  .article-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .article-card>strong{font-size:1.625rem}
  .contact-links{grid-template-columns:1fr;gap:25px}
  .contact-links>div>a:not(.map-link){font-size:1.375rem}
  .contact-links>div:last-child{grid-column:auto}
  .contact-form-card{padding:28px 22px}
  .form-grid{grid-template-columns:1fr;gap:0}
  .footer-top{align-items:center;gap:20px;flex-wrap:wrap}
  .footer-top>.text-link{font-size:.9375rem}
  .footer-bottom{font-size:.875rem}
  #dialog-body{font-size:1.0625rem}
}

/* Composição horizontal do logótipo aprovado, preservando o símbolo e o nome. */
.brand-horizontal{gap:15px;width:365px;max-width:100%;line-height:1.4}
.brand-symbol{display:block;width:139px;height:106px;flex:none}
.brand-lockup{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.brand-name{display:block;width:100%;height:auto}
.brand-specialties{font-size:14px;line-height:1.5;letter-spacing:.65px;color:var(--green)}
.hero-services{font-size:1.25rem;line-height:1.5;font-weight:500;color:var(--green);margin:0 0 20px}
.hero-services>span{color:#947b45;padding-inline:4px}
@media(max-width:1100px){.brand-horizontal{width:335px;gap:12px}.brand-symbol{width:122px;height:93px}.header nav{gap:16px}}
@media(max-width:1000px){.brand-horizontal{width:350px}.brand-symbol{width:130px;height:99px}}
@media(max-width:600px){
  .header-inner{gap:12px}.brand-horizontal{width:246px;gap:10px}.brand-symbol{width:88px;height:67px}
  .brand-lockup{gap:6px}.brand-specialties{font-size:12px;letter-spacing:.15px;line-height:1.4}
  .hero-services{font-size:1.125rem;max-width:18rem}
}
@media(max-width:400px){
  .brand-horizontal{width:226px;gap:8px}.brand-symbol{width:80px;height:61px}
  .menu-toggle{width:44px;min-height:44px;padding:12px;justify-content:center;flex:none}
  .menu-toggle>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* Contacto direto: estados de envio e campo anti-spam fora da navegação. */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:22px;padding:18px 20px;background:#edf2eb;border-left:3px solid var(--green);font-size:1rem;line-height:1.7;overflow-wrap:anywhere}
.form-status[data-state="error"]{background:#fff5e8;border-color:#967136}
.form-submit:disabled{opacity:.65;cursor:wait;transform:none}
.form-submit[data-sent="true"]{cursor:default}
