/* =========================================================================
   EXTENSÃO PSICOLOGIA · "A Sala"
   Um mundo quente e material: você entra numa sala onde quer sentar.
   Gesso, nogueira, terracota, latão, verde-profundo. Foto real como alma.
   HTML/CSS/JS puro, sem build.
   ========================================================================= */

/* ---------- Fontes (self-hosted) --------------------------------------- */
@font-face { font-family:"Lora"; src:url("../fonts/lora-latin.woff2") format("woff2"); font-weight:400 700; font-style:normal; font-display:swap; }
@font-face { font-family:"Lora"; src:url("../fonts/lora-italic-latin.woff2") format("woff2"); font-weight:400 700; font-style:italic; font-display:swap; }
/* Cormorant = substituta temporaria de "The Seasons" (a licenciada entra depois) */
@font-face { font-family:"Cormorant"; src:url("../fonts/cormorant-latin.woff2") format("woff2"); font-weight:400 600; font-style:normal; font-display:swap; }
/* THE SEASONS (secundaria oficial, comercial/paga). Coloque os .woff2 e descomente:
@font-face { font-family:"The Seasons"; src:url("../fonts/theseasons-regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; } */

/* ---------- Tokens ------------------------------------------------------ */
:root{
  --paper:#ece2cd;        /* gesso quente (fundo) */
  --paper-2:#e4d8bf;
  --card:#f6efe0;         /* papel creme (cartoes) */
  --ink:#2b2219;          /* nogueira (texto) */
  --ink-soft:#5b4c3c;     /* marrom morno (texto secundario) */
  --terra:#a54d28;        /* terracota (acento quente principal) */
  --terra-deep:#853c1c;
  --ochre:#c1832a;        /* mostarda/latao */
  --forest:#333f2e;       /* verde-profundo (secoes fundas) */
  --forest-2:#28331f;
  --brass:#b3873f;
  --teal:#2e8394;         /* glaze de ceramica (acento raro da marca) */
  --on-dark:#f0e7d5;      /* texto sobre verde/nogueira */
  --dim-on-dark:#c3b79d;
  --line:rgba(43,34,25,.16);
  --line-soft:rgba(43,34,25,.09);

  --font-display:"The Seasons","Cormorant","Lora",Georgia,serif;
  --font-serif:"Lora",Georgia,"Times New Roman",serif;
  --font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --shadow-sm:0 8px 20px -12px rgba(50,34,18,.4);
  --shadow:0 26px 54px -30px rgba(50,34,18,.55);
  --shadow-lg:0 40px 90px -46px rgba(40,26,12,.62);

  --gutter:clamp(1.25rem,4vw,3rem);
  --maxw:1200px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease:cubic-bezier(.3,.7,.3,1);
}

/* ---------- Reset ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  font-family:var(--font-serif);font-size:clamp(1.02rem,.97rem + .22vw,1.16rem);
  line-height:1.62;color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img,svg,picture{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;color:inherit;}
:focus-visible{outline:2.5px solid var(--terra);outline-offset:3px;border-radius:2px;}
::selection{background:var(--ochre);color:#241503;}

/* grao de papel quente, sutil, sobre tudo */
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* imagem tratada: leve unificacao quente */
.warm{filter:saturate(1.05) contrast(1.03);}

/* grade quente: mascara amarela suave p/ harmonizar as fotos com a paleta.
   NAO inclui a hero (.hero__img), que fica no tratamento original. */
.figure img,.care__media img,.breather__img,.pcard__photo img,
.p-top__photo img,.p-about__media img{
  filter:saturate(1.06) contrast(1.02) sepia(.26) hue-rotate(-8deg) brightness(1.03);
}

/* ---------- Tipografia -------------------------------------------------- */
h1,h2,h3{font-weight:500;letter-spacing:-.02em;line-height:1.06;}
.display{font-family:var(--font-serif);font-weight:500;font-size:clamp(2.7rem,1.7rem + 4.6vw,5.6rem);line-height:1.0;letter-spacing:-.03em;}
.title{font-family:var(--font-serif);font-weight:500;font-size:clamp(2rem,1.4rem + 2.6vw,3.6rem);line-height:1.04;letter-spacing:-.025em;}
.script{font-family:var(--font-display);font-style:italic;font-weight:500;}
.terra{color:var(--terra);} .ochre-t{color:var(--ochre);}
.lead{font-size:clamp(1.18rem,1.02rem + .7vw,1.6rem);line-height:1.42;color:var(--ink-soft);}
.muted{color:var(--ink-soft);}

/* ---------- Layout ------------------------------------------------------ */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.wrap--wide{max-width:1360px;}
.wrap--tight{max-width:760px;}
.section{padding-block:clamp(3.5rem,8vw,7rem);position:relative;}
.prose-measure{max-width:64ch;}

/* ---------- Botoes ------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-sans);font-weight:600;font-size:.9rem;
  letter-spacing:.01em;padding:.95em 1.6em;border-radius:2px;border:1px solid transparent;
  transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);}
.btn svg{width:1.15em;height:1.15em;}
.btn:hover{transform:translateY(-2px);}
.btn--wa{background:var(--terra);color:var(--card);}
.btn--wa:hover{background:var(--terra-deep);}
.btn--line{border-color:var(--line);color:var(--ink);background:transparent;}
.btn--line:hover{border-color:var(--ink);}
.btn--onDark{background:var(--card);color:var(--ink);}
.btn--onDark:hover{background:#fff;}
.btn--lineDark{border-color:rgba(240,231,213,.5);color:#fdf7ea;background:rgba(20,13,5,.32);}
.btn--lineDark:hover{border-color:var(--on-dark);background:rgba(20,13,5,.5);}
.btn--block{width:100%;justify-content:center;}

/* ---------- Cabecalho --------------------------------------------------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:60;color:var(--on-dark);}
.site-header.is-solid{position:fixed;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line-soft);
  animation:dropIn .5s var(--ease-out);}
@keyframes dropIn{from{transform:translateY(-100%);}to{transform:translateY(0);}}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:clamp(1rem,2vw,1.5rem);}
.nav__links{display:flex;align-items:center;gap:clamp(1.2rem,2.4vw,2.4rem);list-style:none;}
.nav__links a{font-family:var(--font-sans);font-size:.88rem;font-weight:500;position:relative;padding-block:.35em;}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.nav__links a:hover::after{transform:scaleX(1);}
.nav__right{display:flex;align-items:center;gap:1rem;}

.brand{display:inline-flex;flex-direction:column;line-height:1;gap:.2em;color:inherit;}
.brand__wave{width:100px;height:15px;}
.brand__name{font-family:var(--font-serif);font-weight:600;font-size:1.3rem;letter-spacing:.02em;}
.brand__sub{font-family:var(--font-sans);font-size:.55rem;font-weight:600;letter-spacing:.44em;text-transform:uppercase;padding-left:.12em;}

.burger{display:none;width:46px;height:46px;border:1px solid currentColor;border-radius:2px;background:transparent;place-items:center;opacity:.85;}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:18px;height:1.6px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s;}
.burger span{position:relative;}
.burger span::before{position:absolute;top:-6px;}
.burger span::after{position:absolute;top:6px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

/* ---------- HERO -------------------------------------------------------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--forest);}
.hero__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  animation:heroZoom 24s var(--ease) infinite alternate;transform-origin:65% 40%;}
@keyframes heroZoom{from{transform:scale(1.02);}to{transform:scale(1.12);}}
@media (prefers-reduced-motion:reduce){.hero__img{animation:none;transform:scale(1.04);}}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(26,18,9,.9) 0%,rgba(26,18,9,.66) 46%,rgba(26,18,9,.34) 78%,rgba(26,18,9,.12) 100%),
             linear-gradient(180deg,rgba(26,18,9,.5) 0%,transparent 20%),
             linear-gradient(0deg,rgba(26,18,9,.68) 0%,transparent 48%);}
.hero__inner{padding-block:clamp(3rem,8vh,7rem);padding-top:8rem;max-width:44rem;color:var(--on-dark);}
.hero h1{color:#fdf7ea;text-shadow:0 2px 30px rgba(20,12,4,.4);max-width:15ch;}
.hero h1 .script{color:#f0c98a;}
.hero__lead{margin-top:1.5rem;max-width:34ch;font-size:clamp(1.12rem,1rem + .5vw,1.45rem);line-height:1.5;color:#efe3cd;text-shadow:0 1px 20px rgba(20,12,4,.55);}
.hero__actions{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:1rem;}
/* linha de acolhimento junto ao CTA */
.reassure{display:flex;align-items:center;gap:.55em;margin-top:1.3rem;max-width:42ch;
  font-family:var(--font-sans);font-size:.85rem;line-height:1.4;color:#e2d4ba;}
.reassure svg{width:1.05em;height:1.05em;flex:none;color:#e3b877;}
.contact .reassure{color:#d9cbb0;}
/* entrada orquestrada (o unico momento autoral) */
.rise{opacity:0;transform:translateY(24px);animation:rise 1s var(--ease-out) forwards;}
.rise-1{animation-delay:.15s;} .rise-2{animation-delay:.35s;} .rise-3{animation-delay:.55s;} .rise-4{animation-delay:.72s;}
@keyframes rise{to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;animation:none;}}
.hero__scroll{position:absolute;left:var(--gutter);bottom:1.6rem;z-index:1;display:flex;align-items:center;gap:.7rem;
  font-family:var(--font-sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,231,213,.72);}
.hero__scroll i{width:46px;height:1px;background:linear-gradient(90deg,var(--brass),transparent);position:relative;overflow:hidden;}
.hero__scroll i::after{content:"";position:absolute;inset:0;background:#fff;animation:sweep 2.6s var(--ease) infinite;}
@keyframes sweep{0%{transform:translateX(-100%);}60%,100%{transform:translateX(100%);}}
@media (prefers-reduced-motion:reduce){.hero__scroll i::after{animation:none;}}

/* ---------- Manifesto (texto + foto) ----------------------------------- */
.manifesto{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.manifesto__text .title{margin-bottom:1.3rem;max-width:15ch;}
.manifesto__text p{max-width:44ch;color:var(--ink-soft);}
.manifesto__text p + p{margin-top:1rem;}
.figure{position:relative;border-radius:3px;overflow:hidden;box-shadow:var(--shadow);}
.figure img{width:100%;height:100%;object-fit:cover;}
.figure--tall{aspect-ratio:4/5;}
.figure__cap{margin-top:.85rem;font-family:var(--font-sans);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}

/* ---------- Como cuidamos (foto + lista editorial) --------------------- */
.care{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.care__media{aspect-ratio:4/5;border-radius:3px;overflow:hidden;box-shadow:var(--shadow-lg);}
.care__media img{width:100%;height:100%;object-fit:cover;}
.care__list{list-style:none;}
.care__list .title{margin-bottom:1.4rem;max-width:16ch;}
.svc{padding-block:1.4rem;border-top:1px solid var(--line);}
.svc:last-child{border-bottom:1px solid var(--line);}
.svc h3{font-family:var(--font-serif);font-size:clamp(1.3rem,1.1rem + .7vw,1.75rem);font-weight:500;color:var(--ink);margin-bottom:.35rem;}
.svc p{color:var(--ink-soft);font-size:1rem;max-width:46ch;}

/* ---------- Respiro (foto full + frase) -------------------------------- */
.breather{position:relative;min-height:60vh;display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate;}
.breather__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.breather__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(30,20,10,.7),rgba(30,20,10,.45));}
.breather p{font-family:var(--font-display);font-style:italic;font-weight:400;color:#fdf7ea;max-width:20ch;
  font-size:clamp(1.9rem,1.2rem + 3.4vw,4rem);line-height:1.08;letter-spacing:-.02em;text-shadow:0 2px 40px rgba(20,12,4,.5);}
.breather cite{display:block;margin-top:1.2rem;font-family:var(--font-sans);font-style:normal;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);}

/* ---------- Equipe ------------------------------------------------------ */
.team__head{max-width:26ch;margin-bottom:clamp(2rem,4vw,3rem);}
.team__head p{color:var(--ink-soft);margin-top:.9rem;max-width:46ch;}
.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);}
.pcard{display:flex;flex-direction:column;background:var(--card);border-radius:3px;overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.pcard__photo{aspect-ratio:1/1;overflow:hidden;background:var(--paper-2);}
.pcard__photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform 1s var(--ease);}
.pcard:hover .pcard__photo img{transform:scale(1.05);}
.pcard__body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1;}
.pcard__name{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--ink);letter-spacing:-.02em;}
.pcard__role{font-family:var(--font-sans);font-size:.85rem;font-weight:600;color:var(--terra);margin-top:.25rem;}
.pcard__crp{font-family:var(--font-sans);font-size:.74rem;color:var(--ink-soft);margin-top:.15rem;}
.pcard__desc{font-size:.98rem;color:var(--ink-soft);margin-top:.9rem;line-height:1.5;}
.pcard__more{margin-top:auto;padding-top:1.1rem;font-family:var(--font-sans);font-weight:600;font-size:.85rem;color:var(--terra);display:inline-flex;align-items:center;gap:.5em;}
.pcard__more svg{width:1em;height:1em;transition:transform .3s var(--ease);}
.pcard:hover .pcard__more svg{transform:translateX(4px);}

/* ---------- Contato (verde-profundo) ----------------------------------- */
.contact{background:var(--forest);color:var(--on-dark);position:relative;overflow:hidden;}
.contact::before{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;
  background:radial-gradient(60% 80% at 85% 20%,var(--brass),transparent 70%);}
.contact__grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.contact .title{color:#fdf7ea;margin-bottom:1rem;max-width:16ch;}
.contact__lead{color:#e6d9c0;max-width:40ch;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);line-height:1.45;}
.contact__actions{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:1rem;}
.info{list-style:none;display:grid;gap:1.3rem;background:rgba(240,231,213,.05);border:1px solid rgba(240,231,213,.14);border-radius:4px;padding:1.8rem;}
.info dt{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:.25rem;}
.info dd{color:var(--on-dark);font-size:1.02rem;}
.info a:hover{color:#f0c98a;}

/* ---------- Rodape ------------------------------------------------------ */
.site-footer{background:var(--forest-2);color:var(--dim-on-dark);padding-block:clamp(2.6rem,5vw,4rem) 2.2rem;}
.footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.6rem;align-items:flex-start;}
.footer__links{display:flex;flex-wrap:wrap;gap:.9rem 1.8rem;list-style:none;font-family:var(--font-sans);font-size:.86rem;}
.footer__links a:hover{color:#f0c98a;}
.footer__bottom{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid rgba(240,231,213,.12);font-family:var(--font-sans);font-size:.78rem;color:#b3a488;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:space-between;}
.footer__bottom strong{color:#f0c98a;}

/* ---------- Pagina de perfil ------------------------------------------- */
/* cabecalho sempre solido (masthead do perfil e claro) */
.site-header--onlight{position:fixed;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line-soft);}

.p-top{position:relative;}
.p-top__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-top:clamp(7rem,10vw,9rem);padding-bottom:clamp(2rem,4vw,3.5rem);}
.p-top__photo{aspect-ratio:4/5;border-radius:3px;overflow:hidden;box-shadow:var(--shadow-lg);width:100%;max-width:480px;background:var(--paper-2);}
.p-top__photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.p-lead{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);line-height:1.45;color:var(--ink);margin-top:1.1rem;max-width:36ch;}
.p-name{font-family:var(--font-serif);font-weight:500;font-size:clamp(2.6rem,1.8rem + 3vw,4.6rem);color:var(--ink);letter-spacing:-.03em;line-height:1.0;}
.p-role{font-family:var(--font-sans);font-weight:600;font-size:.95rem;color:var(--terra);margin-top:.7rem;letter-spacing:.02em;}
.p-crp{font-family:var(--font-sans);font-size:.82rem;color:var(--ink-soft);margin-top:.25rem;}
.p-quote{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.35rem,1.05rem + .9vw,2rem);line-height:1.26;color:var(--ink);margin-top:1.5rem;max-width:30ch;}
.p-quote::before{content:"";display:block;width:46px;height:2px;background:var(--brass);margin-bottom:1.1rem;}
.p-actions{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:1rem;}
.p-top .reassure{color:var(--ink-soft);margin-top:1.2rem;}
.p-top .reassure svg{color:var(--terra);}

.p-main{display:grid;grid-template-columns:1.5fr .8fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.prose{max-width:62ch;}
.prose h2{font-family:var(--font-serif);font-size:clamp(1.4rem,1.15rem + .9vw,1.9rem);font-weight:500;color:var(--ink);margin:2.2rem 0 .8rem;}
.prose h2:first-child{margin-top:0;}
.prose p{color:var(--ink-soft);}
.prose p + p{margin-top:1rem;}
.focus{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 2.4rem;margin-top:1.1rem;}
.focus li{font-family:var(--font-serif);font-size:1.06rem;color:var(--ink);padding:.6em 0;border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:.7em;}
.focus li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--terra);flex:none;}
.aside{position:sticky;top:6rem;background:var(--card);border:1px solid var(--line-soft);border-radius:4px;padding:1.8rem;box-shadow:var(--shadow-sm);}
.aside h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:500;margin-bottom:1.1rem;}
.aside dl{display:grid;gap:1rem;margin-bottom:1.5rem;}
.aside dt{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);}
.aside dd{font-size:.98rem;color:var(--ink);}
.back{font-family:var(--font-sans);font-weight:600;font-size:.85rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.5em;margin-bottom:1.8rem;}
.back:hover{color:var(--terra);}
.back svg{width:1em;height:1em;}

/* corpo do perfil: bio + imagem quente ao lado (mata o vazio) */
.p-about{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.p-about__media{position:sticky;top:6rem;aspect-ratio:4/5;border-radius:3px;overflow:hidden;box-shadow:var(--shadow);}
.p-about__media img{width:100%;height:100%;object-fit:cover;}
.prose .lead{font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);line-height:1.4;color:var(--ink);margin-bottom:1.1rem;}

/* faixa de fatos: areas de atuacao + card de atendimento, balanceados */
.p-facts{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:start;
  margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line);}
.p-facts h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);color:var(--ink);letter-spacing:-.02em;}
.p-facts__intro{color:var(--ink-soft);margin:.7rem 0 0;max-width:44ch;}
.p-facts .aside{position:static;box-shadow:var(--shadow);}

/* conheca tambem os outros psicologos */
.p-others{margin-top:clamp(2.5rem,5vw,4rem);}
.p-others h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.4rem,1.15rem + 1vw,2rem);color:var(--ink);letter-spacing:-.02em;margin-bottom:1.3rem;}
.p-others__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}

/* fecho quente (verde-profundo), no lugar de terminar em placeholders */
.p-close{background:var(--forest);color:var(--on-dark);text-align:center;position:relative;overflow:hidden;}
.p-close::before{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;background:radial-gradient(60% 80% at 50% 0%,var(--brass),transparent 70%);}
.p-close__inner{position:relative;padding-block:clamp(3rem,6vw,5rem);}
.p-close h2{color:#fdf7ea;margin-bottom:.9rem;max-width:20ch;margin-inline:auto;}
.p-close p{color:#e6d9c0;max-width:40ch;margin:0 auto 1.6rem;font-size:1.1rem;line-height:1.45;}
.p-close .btn{margin-inline:auto;}

/* "com o que posso ajudar": frase quente no lugar da lista fria */
.p-help{font-family:var(--font-serif);font-size:clamp(1.2rem,1.05rem + .6vw,1.6rem);line-height:1.5;color:var(--ink);max-width:34ch;margin-top:.9rem;}

/* player de voz do especialista (custom, on-brand) */
.voice{display:flex;align-items:center;gap:.85rem;margin-top:1.5rem;max-width:420px;
  background:var(--card);border:1px solid var(--line-soft);border-radius:100px;padding:.45rem .95rem .45rem .5rem;box-shadow:var(--shadow-sm);}
.voice__btn{width:46px;height:46px;flex:none;border-radius:50%;background:var(--terra);color:var(--card);border:0;display:grid;place-items:center;transition:background .3s var(--ease),transform .2s var(--ease);}
.voice__btn:hover{background:var(--terra-deep);transform:scale(1.04);}
.voice__btn svg{width:18px;height:18px;}
.voice__btn .i-pause{display:none;}
.voice.is-playing .voice__btn .i-play{display:none;}
.voice.is-playing .voice__btn .i-pause{display:block;}
.voice__body{flex:1;min-width:0;}
.voice__label{font-family:var(--font-sans);font-size:.86rem;font-weight:600;color:var(--ink);display:block;}
.voice__bar{height:3px;border-radius:3px;background:var(--line);margin:.45rem 0 .2rem;overflow:hidden;cursor:pointer;}
.voice__fill{display:block;height:100%;width:0;background:var(--brass);transition:width .1s linear;}
.voice__time{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.03em;color:var(--ink-soft);}
.voice--soon{opacity:.75;}
.voice--soon .voice__btn{background:var(--paper-2);color:var(--ink-soft);cursor:default;}
.voice--soon .voice__bar{display:none;} .voice--soon .voice__time{display:none;}

/* ---------- Responsivo -------------------------------------------------- */
@media (max-width:880px){
  .manifesto,.care,.contact__grid,.p-top__grid,.p-about,.p-facts{grid-template-columns:1fr;}
  .care__media{order:-1;max-width:520px;}
  .roster,.p-others__grid{grid-template-columns:1fr 1fr;}
  .aside,.p-about__media{position:static;}
  .p-about__media{max-width:460px;margin-top:1.5rem;}
  .p-top__photo{max-width:300px;}
  .nav__links{position:fixed;inset:0 0 0 auto;width:min(82vw,320px);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.7rem;padding:2.4rem;background:var(--paper);color:var(--ink);box-shadow:-30px 0 60px -30px rgba(40,26,12,.5);transform:translateX(100%);transition:transform .4s var(--ease-out);z-index:70;}
  .nav__links.open{transform:translateX(0);}
  .nav__links a{font-size:1.35rem;font-family:var(--font-serif);}
  body.menu-open{overflow:hidden;}
  .burger{display:grid;}
  .site-header:not(.is-solid):not(.site-header--onlight) .nav__right .btn--wa{display:none;}
}
@media (max-width:520px){
  .hero__actions .btn,.contact__actions .btn,.p-actions .btn{width:100%;justify-content:center;}
  .nav__right .btn{width:auto;}
  .roster,.p-others__grid{grid-template-columns:1fr;max-width:420px;}
  .focus{grid-template-columns:1fr;}
  .hero__scroll{display:none;}
}
