:root{color-scheme:light;--paper:#F3F0E9;--ink:#26241F;--sub:#65645D;--line:#D9D4CA;--white:#F8F5EF;--serif:"Iowan Old Style",Baskerville,"Palatino Linotype","Book Antiqua",Georgia,serif;--sans:"Helvetica Neue",Arial,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button{cursor:pointer}a:focus-visible, button:focus-visible{outline:2px solid #d8a863;outline-offset:4px}img{max-width:100%;display:block}.container{width:min(100% - 112px,1360px);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:10px;z-index:30;background:#fff;color:#222;padding:12px}.skip-link:focus{top:10px}.header{position:absolute;inset:0 0 auto;z-index:5;color:var(--white)}.header-inner{min-height:102px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;border-bottom:1px solid rgba(255,255,255,.3)}.brand{display:flex;flex-direction:column;width:max-content}.brand span{font:400 25px/.95 var(--serif);letter-spacing:-.045em}.brand small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:8px}.nav{display:flex;gap:clamp(20px,2.5vw,42px)}.nav a{font-size:12px;white-space:nowrap}.header-contact{justify-self:end;font-size:11px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:12px;white-space:nowrap}.header-contact span{font-size:18px;padding-left:18px;font-weight:400}.menu-button{display:none}.photo-section{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}.photo-section:before{position:absolute;inset:0;content:"";pointer-events:none}.hero{min-height:100svh;min-height:max(700px,100svh);background-image:url("assets/inicio.webp");background-position:center 58%;display:flex;align-items:flex-end;color:var(--white);padding:170px 0 102px}.hero:before{background:linear-gradient(90deg,rgba(17,17,15,.68) 0%,rgba(17,17,15,.43) 43%,rgba(17,17,15,.06) 85%),linear-gradient(0deg,rgba(16,16,15,.55),transparent 58%)}.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(34px,5vw,72px);align-items:end}.hero-content{position:relative;z-index:1;max-width:760px}.hero-portrait-frame{position:relative;align-self:end;margin:0;width:min(100%,340px);aspect-ratio:.82;background:rgba(243,240,233,.94);padding:12px;box-shadow:0 22px 46px rgba(0,0,0,.26);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.hero-portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:15px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:#5D5A53}.eyebrow--light{color:rgba(255,255,255,.85)}.rule-short{height:1px;width:27px;display:inline-block;background:currentColor;opacity:.62}.hero h1,.serif-title,.practice-detail-intro h3{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.hero h1{font-size:clamp(58px,6.4vw,96px);line-height:.99;max-width:820px;margin:28px 0 22px;text-wrap:balance}.hero h1 i,.serif-title i,.practice-detail-intro i{font-weight:400}.hero-lead{font:400 clamp(21px,1.95vw,29px)/1.32 var(--serif);max-width:500px;margin:0 0 30px}.hero-actions{display:flex;gap:36px;flex-wrap:wrap;align-items:center}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:13px 21px;border:1px solid transparent;font-size:12px;font-weight:600;transition:background .18s,color .18s}.button span,.underlink span{font-weight:400;font-size:18px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#fff}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#494740}.underlink{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:10px;font-size:12px;font-weight:600}.underlink--light{color:var(--white);border-color:rgba(255,255,255,.6)}.photo-credit{position:absolute;bottom:42px;right:56px;color:rgba(255,255,255,.65);font-size:9px;letter-spacing:.1em}.practice-photo{min-height:740px;background-image:url("assets/pratica.webp");background-position:57% 50%;color:var(--white);display:flex;align-items:center;padding:110px 0}.practice-photo:before{background:linear-gradient(90deg,rgba(17,15,13,.82) 0%,rgba(17,15,13,.45) 49%,rgba(17,15,13,.13) 93%)}.practice-foreground{position:relative;z-index:1}.serif-title{font-size:clamp(50px,5vw,82px);line-height:1.05;margin:20px 0 0;text-wrap:balance}.practice-photo .serif-title{max-width:700px;font-size:clamp(60px,6.2vw,96px);margin:38px 0 18px}.practice-thought{max-width:520px;font:400 clamp(20px,2.2vw,29px)/1.36 var(--serif);letter-spacing:-.015em}.practice-learn{display:flex;align-items:end;justify-content:space-between;gap:26px;border-top:1px solid rgba(255,255,255,.55);max-width:550px;margin-top:52px;padding-top:20px;font-size:13px;line-height:1.65}.practice-learn-arrow{font-size:23px}.practice-detail{padding-top:96px;padding-bottom:92px;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(34px,4vw,58px);align-items:stretch}.practice-detail-intro h3{font-size:clamp(44px,4.6vw,72px);line-height:1.08;margin:0 0 28px}.practice-detail-intro p{max-width:500px;font-size:15px;line-height:1.82;color:#58574f}.practice-detail-list{padding-top:8px}.practice-detail-copy{display:grid;grid-template-columns:.92fr .96fr;gap:8%;align-items:start}.practice-detail-image{position:relative;margin:0;min-height:760px;align-self:stretch}.practice-detail-image img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.practice-detail-image figcaption{position:absolute;right:12px;bottom:12px;font-size:9px;letter-spacing:.08em;color:white;text-shadow:0 1px 10px rgba(0,0,0,.9)}.practice-detail-list>.eyebrow{margin-bottom:28px}.practice-detail-list>p:not(.eyebrow){font:400 clamp(20px,1.8vw,25px)/1.35 var(--serif);letter-spacing:-.012em;max-width:500px;margin:0;padding:18px 0;border-top:1px solid var(--line)}.side-note{font-size:13px;color:#6c6962;display:block;margin-top:26px;line-height:1.7}.voices{border-top:1px solid var(--line);padding:40px 0 125px}.voices-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:clamp(40px,6vw,92px);align-items:stretch}.voices-copy{display:flex;flex-direction:column;justify-content:center}.voices-heading{display:flex;justify-content:flex-start;gap:20px;align-items:center;padding-bottom:28px}.voices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}.voices-grid p{border-top:1px solid var(--line);font:400 clamp(19px,1.7vw,25px)/1.32 var(--serif);letter-spacing:-.02em;margin:0;padding:22px 8px 24px 0;min-height:128px}.voices-image{position:relative;margin:0;min-height:560px;align-self:stretch}.voices-image img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.voices-image figcaption{position:absolute;right:12px;bottom:12px;font-size:9px;letter-spacing:.08em;color:white;text-shadow:0 1px 10px rgba(0,0,0,.9)}.modalities{background:#E9E7DF;padding:120px 0}.modalities-inner{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.15fr);gap:clamp(36px,5vw,72px);align-items:stretch}.modalities .serif-title{max-width:670px;margin-bottom:46px}.option{display:grid;grid-template-columns:115px 1fr;gap:22px;border-top:1px solid #C6C5BC;padding:22px 0 29px}.option-index{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6a685e;padding-top:5px}.option h3{font:400 clamp(24px,2.3vw,35px)/1.14 var(--serif);letter-spacing:-.025em;margin:0 0 13px}.option p{font-size:13px;line-height:1.7;color:#5a5a54;margin:0 0 10px}.modalities-content>.underlink{margin-top:25px}.modalities-image{margin:0;align-self:stretch;min-height:860px;position:relative}.modalities-image img{height:100%;width:100%;object-fit:cover;object-position:center 44%}.modalities-image figcaption,.about-image figcaption{position:absolute;right:12px;bottom:12px;font-size:9px;letter-spacing:.08em;color:white;text-shadow:0 1px 10px rgba(0,0,0,.9)}.about{background:var(--paper);padding:130px 0}.about-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.82fr);align-items:stretch;gap:clamp(34px,5vw,72px)}.about-image{position:relative;margin:0;min-height:860px;align-self:stretch}.about-image > img{width:100%;height:100%;object-fit:cover;object-position:58% center}
.about .serif-title{margin:30px 0 22px}.about-lead{font:400 clamp(22px,2vw,28px)/1.34 var(--serif);letter-spacing:-.025em;max-width:450px;margin-bottom:44px}.bio-block{border-top:1px solid var(--line);padding:20px 0 14px}.bio-block h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#69665f;margin:0 0 20px}.bio-block p{font-size:14px;line-height:1.8;color:#53544f;max-width:480px;margin:0 0 16px}.contact{background-image:url("assets/contacto.webp");background-position:50% 55%;color:var(--white);padding:130px 0}.contact:before{background:linear-gradient(90deg,rgba(5,10,20,.84) 0%,rgba(5,10,20,.61) 45%,rgba(5,10,20,.32) 100%),linear-gradient(0deg,rgba(6,12,25,.46),transparent 80%)}.contact-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.72fr);align-items:center;gap:clamp(62px,9vw,140px)}.contact .serif-title{font-size:clamp(46px,4.5vw,72px);max-width:650px;margin:34px 0 46px}.contact-direct{display:flex;align-items:center;gap:32px}.contact-direct>span{font-size:12px;opacity:.7}.contact-direct a{font-size:13px;display:inline-flex;gap:50px;align-items:center;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:12px}.contact-direct a span{font-size:20px}.footer{background:var(--paper)}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;padding:35px 0}.footer-inner>div{display:flex;flex-direction:column}.footer-inner strong{font:400 20px var(--serif)}.footer-inner small,.footer-inner a{font-size:11px;color:#79766e}.footer-inner>a{text-decoration:underline;text-underline-offset:4px}.footer-inner>small{justify-self:end}
@media(max-width:1120px){.container{width:min(100% - 64px,1360px)}.header-inner{grid-template-columns:1fr auto}.menu-button{display:flex;width:46px;height:46px;justify-content:center;flex-direction:column;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.45);background:transparent}.menu-button span{height:1px;width:19px;background:var(--white)}.header-contact{display:none}.nav{display:none}.nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;background:#24231f;color:#fff;flex-direction:column;padding:25px 33px;gap:17px}.nav.is-open a{font-size:16px}.hero-layout{grid-template-columns:260px 1fr;gap:32px}.practice-detail{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:32px}.practice-detail-copy{grid-template-columns:1fr;gap:26px}.modalities-inner,.about-inner{gap:34px}.modalities-image{min-height:700px}.about-image{min-height:700px}.option{grid-template-columns:1fr;gap:7px}}
@media(max-width:760px){.container{width:min(100% - 40px,1360px)}.header-inner{min-height:76px}.brand span{font-size:23px}.brand small{font-size:8px}.hero{min-height:100svh;min-height:max(660px,100svh);background-position:54% center;padding:180px 0 72px}.hero:before{background:linear-gradient(0deg,rgba(11,11,10,.9),rgba(11,11,10,.36) 65%,rgba(11,11,10,.44))}.hero-layout{grid-template-columns:1fr;gap:20px;align-items:end}.hero-portrait-frame{width:180px;padding:8px}.hero h1{font-size:clamp(50px,10.8vw,78px);margin:24px 0 18px}.hero-lead{font-size:clamp(21px,5vw,29px);max-width:420px;margin-bottom:24px}.hero-actions{gap:19px}.hero .eyebrow{font-size:9px}.photo-credit{display:none}.practice-photo{min-height:660px;padding:100px 0 75px;background-position:62% center}.practice-photo:before{background:linear-gradient(0deg,rgba(14,12,10,.84),rgba(14,12,10,.31)),linear-gradient(90deg,rgba(14,12,10,.36),transparent)}.practice-photo .serif-title{font-size:clamp(54px,11vw,78px)}.practice-thought{font-size:23px}.practice-learn{margin-top:40px;font-size:12px}.practice-detail{grid-template-columns:1fr;gap:26px;padding:78px 0 68px}.practice-detail-copy{grid-template-columns:1fr;gap:22px}.practice-detail-image{min-height:0;aspect-ratio:.9}.practice-detail-image img{position:absolute;inset:0;object-position:center 46%}.practice-detail-intro h3{font-size:clamp(48px,10vw,70px)}.voices{padding-bottom:85px}.voices-layout{grid-template-columns:1fr;gap:28px}.voices-heading{align-items:start;flex-direction:column;gap:8px}.voices-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.voices-image{min-height:0;aspect-ratio:1.03}.voices-image img{position:absolute;inset:0}.voices-grid p{font-size:clamp(18px,4.5vw,23px);min-height:118px}.modalities{padding:83px 0}.modalities-inner{grid-template-columns:1fr;gap:26px}.modalities .serif-title{font-size:clamp(49px,10vw,72px);margin-bottom:34px}.option{grid-template-columns:110px 1fr;gap:15px}.modalities-image{min-height:0;aspect-ratio:1.32}.modalities-image img{position:absolute;inset:0;object-position:center 42%}.about{padding:83px 0}.about-inner{grid-template-columns:1fr;gap:24px}.about-image{min-height:0;aspect-ratio:1.22;order:2}.about-image > img{position:absolute;inset:0;object-position:center 50%}.about-content{order:1}.about .serif-title{font-size:clamp(52px,11vw,76px)}.about-lead{margin-bottom:37px}.contact{padding:92px 0;background-position:63% center}.contact:before{background:linear-gradient(0deg,rgba(6,10,20,.85),rgba(6,10,20,.42))}.contact-inner{grid-template-columns:1fr;gap:45px}.contact .serif-title{font-size:clamp(44px,9vw,64px);margin:24px 0 36px}.footer-inner{grid-template-columns:1fr auto;gap:20px}.footer-inner>small{grid-column:1 / -1;justify-self:start}}
@media(max-width:440px){.hero h1{font-size:clamp(42px,10.8vw,56px)}.hero-portrait-frame{width:150px}.hero-actions{align-items:flex-start;flex-direction:column}.practice-photo .serif-title{font-size:clamp(48px,11.2vw,60px)}.voices-grid{grid-template-columns:1fr}.voices-grid p{min-height:unset;padding:21px 0}.option{grid-template-columns:1fr;gap:6px}.contact .serif-title{font-size:clamp(39px,9.4vw,49px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Versão 9: molduras editoriais nas superfícies claras. */
.paper-stage { position: relative; background: var(--paper); isolation: isolate; }
.ice-frame { position: relative; isolation: isolate; }
.ice-frame::after {
  content: "";
  position: absolute;
  z-index: 2;
  pointer-events: none;
  inset: clamp(14px, 2vw, 29px);
  border: 1px solid rgba(116, 105, 92, .36);
  border-radius: 1px;
}
.paper-stage .container,
.modalities .container,
.about .container { position: relative; z-index: 1; }
.paper-stage .practice-detail { padding-top: clamp(95px, 9vw, 150px); }
.paper-stage .voices { padding-bottom: clamp(110px, 9vw, 158px); }
.modalities { padding-top: clamp(125px, 9vw, 158px); padding-bottom: clamp(125px, 9vw, 158px); }
.about { padding-top: clamp(132px, 10vw, 170px); padding-bottom: clamp(132px, 10vw, 170px); }

@media (max-width: 760px) {
  .ice-frame::after { inset: 11px; border-color: rgba(116, 105, 92, .30); }
  .paper-stage .practice-detail { padding-top: 66px; }
  .paper-stage .voices { padding-bottom: 80px; }
  .modalities, .about { padding-top: 78px; padding-bottom: 78px; }
}

/* Versão 13: regressa ao primeiro granulado discreto da versão 10,
   agora numa textura incorporada para aparecer de modo fiável. */
body, .paper-stage, .about, .footer{
  background-color: #F3F0E9;
  background-image: url("assets/textura-mineral-gelo.webp");
  background-repeat: repeat;
  background-size: 640px 640px;
}
.modalities {
  background-color: #E9E7DF;
  background-image: url("assets/textura-mineral-localizacao.webp");
  background-repeat: repeat;
  background-size: 640px 640px;
}
/* As molduras finas e as fotografias não são alteradas. */

/* Versão 14: continuidade e pausa de leitura na experiência analítica. */
.practice-learn { align-items: flex-end; max-width: 580px; }
.practice-learn-text { max-width: 505px; }
.practice-learn-main { margin: 0; font-size: 14px; line-height: 1.7; }
.practice-learn-continuation { margin: 23px 0 0; max-width: 460px; font: normal 16px/1.6 var(--serif); color: rgba(248,245,239,.9); letter-spacing: -.008em; }
.practice-learn-arrow { flex: 0 0 auto; }
@media (max-width:760px) {
  .practice-photo { min-height: 730px; }
  .practice-learn { max-width: 100%; }
  .practice-learn-main { font-size: 13px; }
  .practice-learn-continuation { margin-top: 20px; font-size: 15px; line-height: 1.65; }
}

/* Versão 15 — Sobre mim apenas editorial, sem fotografia. */
.about { padding-top: clamp(120px, 10vw, 172px); padding-bottom: clamp(120px, 10vw, 172px); }
.about .about-inner { display: block; width: min(100% - 112px, 980px); max-width: 980px; }
.about .about-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(36px, 6vw, 96px); row-gap: 0; }
.about-content > .eyebrow,
.about-content > .serif-title,
.about-content > .about-lead { grid-column: 1 / -1; }
.about .serif-title { margin: 28px 0 24px; }
.about .about-lead { max-width: 750px; margin: 0 0 70px; }
.about .bio-block { padding-top: 24px; }
.about .bio-block p { max-width: 430px; }
@media (max-width: 1120px) {
  .about .about-inner { width: min(100% - 64px, 980px); }
}
@media (max-width: 760px) {
  .about { padding-top: 91px; padding-bottom: 99px; }
  .about .about-inner { width: min(100% - 64px, 980px); }
  .about .about-content { grid-template-columns: 1fr; }
  .about .serif-title { margin: 21px 0 20px; }
  .about .about-lead { margin-bottom: 39px; }
  .about .bio-block { padding-top: 23px; }
}
@media (max-width: 440px) {
  .about .about-inner { width: min(100% - 58px, 980px); }
}

/* Versão 16 — melhor aproveitamento do espaço na secção "Um espaço de escuta".
   Mantém a fotografia e o texto, reunindo título e propostas numa coluna editorial. */
@media (min-width: 761px) {
  .paper-stage .practice-detail {
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.18fr);
    gap: clamp(44px, 5vw, 82px);
    align-items: stretch;
    padding-bottom: clamp(84px, 7vw, 118px);
  }
  .practice-detail-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: clamp(44px, 5vw, 75px);
    min-width: 0;
    padding: 22px 0;
  }
  .practice-detail-intro h3 {
    max-width: 530px;
    margin: 0;
    font-size: clamp(55px, 5.25vw, 80px);
    line-height: 1.08;
  }
  .practice-detail-list { max-width: 475px; padding-top: 0; }
  .practice-detail-list > .eyebrow { margin: 0 0 19px; }
  .practice-detail-list > p:not(.eyebrow) {
    max-width: 460px;
    padding: 17px 0 20px;
    font-size: clamp(24px, 2vw, 29px);
    line-height: 1.35;
  }
  .practice-detail-list .side-note { margin-top: 20px; }
  .practice-detail-image {
    height: clamp(670px, 56vw, 795px);
    min-height: 0;
    align-self: stretch;
    overflow: hidden;
  }
  .practice-detail-image img { position: absolute; inset: 0; object-position: 50% 49%; }
}
@media (min-width: 761px) and (max-width: 1120px) {
  .paper-stage .practice-detail { gap: 38px; }
  .practice-detail-copy { gap: 38px; }
  .practice-detail-intro h3 { font-size: clamp(43px, 5.2vw, 58px); }
  .practice-detail-list > p:not(.eyebrow) { font-size: clamp(21px, 2.5vw, 26px); }
  .practice-detail-image { height: 695px; }
}
@media (max-width: 760px) {
  .practice-detail-copy { display: flex; flex-direction: column; gap: 29px; }
  .practice-detail-intro h3 { margin: 0; max-width: 430px; }
  .practice-detail-list { padding-top: 0; }
  .practice-detail-list > .eyebrow { margin: 0 0 16px; }
  .practice-detail-list > p:not(.eyebrow) { padding: 17px 0 19px; }
  .practice-detail-list .side-note { margin-top: 17px; }
  .practice-detail-image { width: 100%; }
}


/* Versão 17: botões de contacto via WhatsApp. Tom verde contido e legível.
   Mantém o restante layout editorial. */
:root { --wa-green: #198356; --wa-green-hover: #126844; }
a.wa-cta,
a.wa-cta:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 49px;
  width: fit-content;
  max-width: 100%;
  padding: 12px 20px;
  background: var(--wa-green);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 2px;
  box-shadow: 0 3px 12px rgba(14,58,37,.13);
  text-decoration: none;
  text-shadow: none;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .018em;
  line-height: 1.3;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
a.wa-cta:hover { background: var(--wa-green-hover); box-shadow: 0 5px 17px rgba(14,58,37,.20); transform: translateY(-1px); }
a.wa-cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
a.wa-cta .wa-icon { display: block; flex: 0 0 19px; width: 19px; height: 19px; }
a.wa-cta .wa-label { flex: 1 1 auto; white-space: nowrap; padding-left: 0; font-size: 12px; }
a.header-contact.wa-cta .wa-label { font-size: 11px; }
.contact-direct a.wa-cta .wa-label { font-size: 13px; }
a.wa-cta .wa-arrow { flex: 0 0 auto; font-size: 16px; font-weight: 400; margin-left: 10px; padding-left: 0; line-height: 1; }
a.header-contact.wa-cta { justify-self: end; padding: 10px 15px; min-height: 43px; font-size: 11px; }
a.header-contact.wa-cta .wa-arrow { margin-left: 3px; }
@media (max-width: 1120px) { a.header-contact.wa-cta { display: none; } }
a.button.wa-cta { min-height: 51px; }
a.modalities-content .wa-cta { margin-top: 23px; }
.contact-direct { flex-wrap: wrap; }
a.contact-direct .wa-cta { min-width: 166px; }
@media (max-width: 760px) {
  a.wa-cta { padding: 12px 17px; }
  a.wa-cta .wa-arrow { margin-left: 3px; }
  .contact-direct { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { a.wa-cta { transition: none; } a.wa-cta:hover { transform: none; } }


/* Medição: aviso de consentimento neutro, sem alterar a composição editorial. */
.cookie-banner[hidden]{display:none!important}
.cookie-banner{position:fixed;bottom:18px;left:18px;right:18px;z-index:100;max-width:700px;margin-inline:auto;display:flex;align-items:center;gap:28px;justify-content:space-between;background:#F3F0E9;border:1px solid rgba(116,105,92,.4);box-shadow:0 15px 45px rgba(20,18,15,.18);color:#26241F;padding:19px 22px}
.cookie-banner-copy{max-width:445px}
.cookie-banner-copy strong{font:400 22px/1.15 var(--serif)}
.cookie-banner-copy p{font:12px/1.6 var(--sans);margin:9px 0 0;color:#56524b}
.cookie-banner-actions{display:flex;flex-direction:column;flex-shrink:0;gap:9px}
.cookie-banner-actions button{font:600 11px var(--sans);letter-spacing:.02em;min-height:37px;border:1px solid #7a776f;white-space:nowrap;padding:8px 13px}
.cookie-decline{color:#34312c;background:transparent}
.cookie-accept{color:#fff;background:#3d614f;border-color:#3d614f!important}
.cookie-settings{justify-self:end;border:0;border-bottom:1px solid #99938b;background:transparent;color:#79766e;padding:3px 0;font:11px var(--sans);cursor:pointer}
.footer-inner{grid-template-columns:1fr auto auto auto}
@media(max-width:760px){.cookie-banner{left:11px;right:11px;bottom:11px;display:block;padding:18px}.cookie-banner-actions{margin-top:15px;flex-direction:row}.cookie-banner-actions button{flex:1}.footer-inner{grid-template-columns:1fr auto}.cookie-settings{justify-self:start;grid-column:2;grid-row:2}.footer-inner>small{grid-column:1;grid-row:2}}
@media(max-width:360px){.cookie-banner-actions{flex-direction:column}}


/* Versão 19 — contacto apenas pelo WhatsApp; composição fotográfica editorial.
   Mantém a fotografia ao fundo, sem cartão/formulário e sem novo texto. */
.contact {
  padding: 0;
  background-position: center 55%;
}
.contact:before {
  background: linear-gradient(90deg, rgba(5,10,20,.86) 0%, rgba(5,10,20,.72) 35%, rgba(5,10,20,.37) 71%, rgba(5,10,20,.16) 100%), linear-gradient(0deg,rgba(6,12,25,.36),transparent 85%);
}
.contact-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: clamp(640px, 77svh, 850px);
  padding-top: 120px;
  padding-bottom: 120px;
}
.contact-content { width: min(100%, 760px); }
.contact .serif-title {
  font-size: clamp(48px, 5vw, 74px);
  line-height: 1.075;
  max-width: 740px;
  margin: 36px 0 58px;
}
.contact-direct {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 30px;
  width: min(100%, 505px);
  border-top: 1px solid rgba(255,255,255,.44);
  padding-top: 27px;
}
.contact-direct > span {
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: .82;
}
.contact-direct a.wa-cta { border: 1px solid rgba(255,255,255,.14); padding: 12px 22px; min-width: 174px; }
@media (max-width: 760px) {
  .contact { background-position: 65% center; }
  .contact:before { background: linear-gradient(0deg,rgba(5,10,20,.88),rgba(5,10,20,.52)), linear-gradient(90deg,rgba(5,10,20,.46),transparent); }
  .contact-inner { min-height: 615px; padding-top: 105px; padding-bottom: 105px; }
  .contact-content { width: 100%; }
  .contact .serif-title { font-size: clamp(44px, 8.8vw, 64px); margin: 27px 0 47px; max-width: 620px; }
  .contact-direct { max-width: 420px; padding-top: 23px; gap: 18px 25px; }
}
@media (max-width: 440px) {
  .contact-inner { min-height: 600px; padding-top: 90px; padding-bottom: 90px; }
  .contact .serif-title { font-size: clamp(40px, 9.2vw, 50px); margin-bottom: 41px; }
  .contact-direct { align-items: flex-start; flex-direction: column; gap: 20px; }
}

/* Versão 20 — elementos de privacidade e página legal, na mesma linguagem editorial. */
.cookie-banner-copy a { text-decoration: underline; text-underline-offset: 2px; color: #3c5949; }
.cookie-banner button:focus-visible, .cookie-settings:focus-visible, .legal-pref-button:focus-visible { outline: 2px solid #198356; outline-offset: 3px; }
.footer .footer-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 15px clamp(16px, 2.5vw, 36px); }
.footer .footer-inner > div { margin-right: auto; min-width: 185px; }
.footer .footer-inner > a { flex: 0 0 auto; }
.footer .footer-inner > small { justify-self: auto; }
.footer .footer-inner .cookie-settings { flex: 0 0 auto; justify-self: auto; }
.legal-page { background-color: var(--paper); }
.legal-header { padding: 22px 0; background: #292b29; color: #f7f2e8; }
.legal-header-inner { display:flex; align-items:center; justify-content: space-between; gap: 25px; }
.legal-header .brand { color: inherit; }
.legal-header .brand span { font-size: 24px; }
.legal-back { font-size: 12px; color: rgba(255,255,255,.9); border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 5px; white-space: nowrap; }
.legal-back span { margin-left: 14px; }
.legal-main { background: #f3f0e9 url('assets/textura-mineral-gelo.webp') repeat 0 0 / 640px 640px; padding: clamp(84px,8vw,130px) 0; }
.legal-article { width: min(100% - 80px, 800px); position:relative;z-index:3; }
.legal-article > h1 { font: 400 clamp(46px, 6.7vw, 88px)/1.05 var(--serif); letter-spacing: -.045em; margin: 32px 0 24px; }
.legal-article > h1 i { font-weight:400; }
.legal-intro { font:400 clamp(19px,2vw,25px)/1.55 var(--serif); max-width: 680px; color: #4d5048; }
.legal-updated { font:11px/1.6 var(--sans); letter-spacing:.06em; color: #76746d; margin: 25px 0 60px; }
.legal-article section { border-top:1px solid #d1ccc2; padding:30px 0 30px; scroll-margin-top:35px; }
.legal-article section h2 { font:400 clamp(23px, 2.8vw, 31px)/1.23 var(--serif); margin:0 0 20px; letter-spacing:-.02em; }
.legal-article section p { font:14px/1.85 var(--sans); color:#55564f; margin:0 0 17px; }
.legal-article section p:last-child { margin-bottom:0; }
.legal-article section a { text-decoration: underline; text-decoration-color: #9b9c8f; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-article section strong { color: #2d302b; font-weight:600; }
.legal-article section code { font-size:12px; }
.legal-small { font-size:12px!important; }
.legal-pref-button { margin: 0 0 24px; padding:12px 20px; background:#426950;color:#fff; border:0; font-size:12px; cursor:pointer; }
.legal-pref-button:hover { background: #2f5240; }
.legal-end { margin-top:52px; }
.legal-end a { font: 12px var(--sans); border-bottom:1px solid #a8a097; padding-bottom:8px; }
@media (max-width:760px) {
  .footer .footer-inner { display:flex; flex-wrap: wrap; align-items: start; }
  .footer .footer-inner > div { width:100%; margin-right:0; }
  .footer .footer-inner > * { min-width:0; }
  .cookie-banner-copy { max-width: unset; }
  .legal-article { width: min(100% - 62px, 800px); }
  .legal-header-inner { gap: 15px; }
  .legal-article > h1 { font-size: clamp(43px, 10vw, 68px); }
}
@media (max-width:390px){ .legal-article { width: min(100% - 52px, 800px); } .legal-header .brand span { font-size:21px; } .legal-back { font-size:11px; } }

/* V21 — textura mineral responsiva: mantém o granulado original no computador;
   no telemóvel aumenta ligeiramente a definição da imagem, sem filtros que
   suavizem o relevo e sem alterar as fotografias ou a tipografia. */
@media screen and (max-width: 760px) {
  body, .paper-stage, .about, .footer {
    background-color: #F3F0E9;
    background-image: url("assets/textura-mineral-gelo-mobile.webp");
    background-repeat: repeat;
    background-size: 640px 640px;
  }
  .modalities {
    background-color: #E9E7DF;
    background-image: url("assets/textura-mineral-localizacao-mobile.webp");
    background-repeat: repeat;
    background-size: 640px 640px;
  }
  .legal-main {
    background-color: #F3F0E9;
    background-image: url("assets/textura-mineral-gelo-mobile.webp");
    background-repeat: repeat;
    background-size: 640px 640px;
  }
}
