/* Seções do site, na ordem da página. Prefixos: av avaliação, qu quedas, ca em casa, co consultório, so quem sou, vo famílias, pe perguntas, fe fecho, ro rodapé. */

/* ===== av ===== */
.av{background:var(--marfim);padding:var(--respiro) var(--margem) calc(var(--respiro) * .85);position:relative;overflow:hidden;isolation:isolate}
/* a foto dissolve na parede, como no hero */
.av-foto{position:absolute;top:0;right:0;width:46vw;height:min(60vh,520px);margin:0;z-index:-1;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 46%),linear-gradient(to top,transparent 0,#000 42%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 46%),linear-gradient(to top,transparent 0,#000 42%);mask-composite:intersect}
.av-foto img{width:100%;height:100%;object-fit:cover;object-position:30% 22%;display:block}
.av-topo{max-width:min(38rem,48vw)}
.av-topo .s-h2{margin-top:18px}
.av-lead{margin-top:22px;font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.35;color:var(--tinta)}
.av-quem{margin-top:12px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--madeira);font-weight:500}

.av-pista{position:relative;margin-top:clamp(70px,13vh,130px);--p:0}
.av-linha{position:absolute;left:44px;right:36px;top:8px;height:2px;background:rgba(29,42,39,.16)}
.av-linha i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p) * 100%);background:var(--unha)}
.av-linha b{position:absolute;top:50%;left:calc(var(--p) * 100%);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--unha);box-shadow:0 0 0 7px rgba(196,36,60,.14)}
.av-linha svg{position:absolute;bottom:-1px;fill:none;stroke:var(--tinta);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.av-pol{left:-44px;width:34px;height:38px}
.av-cone{right:-36px;width:28px;height:26px;stroke:var(--unha) !important}
.av-passos{list-style:none;padding:0 36px 0 44px;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,36px)}
.av-passos li{padding-top:36px;position:relative;opacity:.5;transition:opacity .6s}
.av-passos li.on{opacity:1}
.av-passos li::before{content:"";position:absolute;left:0;top:3px;width:1px;height:12px;background:rgba(29,42,39,.45)}
.av-marca{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--madeira);font-weight:500}
.av-passos h3{font-family:var(--f-titulo);font-weight:400;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.12;margin-top:10px}
.av-passos p{margin-top:10px;color:var(--tinta-2);font-size:.98rem}
/* a volta: a reavaliação */
.av-volta{position:relative;margin:34px 36px 0 44px;padding:54px 0 0}
.av-volta svg{position:absolute;left:0;top:0;width:100%;height:40px;overflow:visible;fill:none;stroke:rgba(29,42,39,.45);stroke-width:1.5;stroke-dasharray:5 7}
.av-volta svg path{vector-effect:non-scaling-stroke}
.av-volta .av-seta{stroke-dasharray:none}
.av-volta{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:baseline;justify-content:space-between}
.av-volta p{color:var(--tinta-2);max-width:34rem}
.av-volta p b{font-family:var(--f-titulo);font-style:italic;font-weight:500;font-size:1.25em;color:var(--tinta);margin-right:4px}
.av-ir{display:inline-flex;gap:10px;align-items:center;color:var(--tinta);font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--unha);padding-bottom:3px}
.av-ir span{transition:transform .3s}.av-ir:hover span{transform:translateX(4px)}
@media (max-width:860px){
  .av-foto{position:relative;width:auto;height:250px;margin:calc(var(--respiro) * -1) calc(var(--margem) * -1) 6px;
    -webkit-mask-image:linear-gradient(to top,transparent 0,#000 40%);mask-image:linear-gradient(to top,transparent 0,#000 40%);-webkit-mask-composite:initial;mask-composite:initial}
  .av-foto img{object-position:50% 18%}
  .av-topo{max-width:none}
  .av-pista{margin-top:44px}
  .av-linha{left:13px;right:auto;top:40px;bottom:calc(100% - var(--fim,100%));width:2px;height:auto}
  .av-linha i{width:auto;right:0;bottom:auto;height:calc(var(--p) * 100%)}
  .av-linha b{left:50%;top:calc(var(--p) * 100%)}
  .av-pol{left:-13px;top:-40px;bottom:auto;width:28px;height:32px}
  .av-cone{right:auto;left:-12px;bottom:-30px;width:26px;height:24px}
  .av-passos{grid-template-columns:1fr;gap:30px;padding:46px 0 0 44px}
  .av-passos li{padding-top:0;opacity:.72}
  .av-passos li::before{left:-30px;top:10px;width:12px;height:1px}
  .av-volta{margin:64px 0 0;padding-top:0;flex-direction:column;gap:18px}
  .av-volta svg{display:none}
}
@media (prefers-reduced-motion:reduce){.av-passos li{opacity:1;transition:none}}

/* ===== qu ===== */
/* a única seção escura do site */
.qu{background:var(--noite);color:#eef1ec;padding:var(--respiro) var(--margem);position:relative;isolation:isolate}
.qu-luz{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(46% 34% at 8% 10%,rgba(196,150,110,.28),transparent 70%),radial-gradient(40% 30% at 96% 92%,rgba(90,130,120,.3),transparent 70%)}
.qu .s-parada{color:#c9bfb2}
.qu-h2{font-family:var(--f-titulo);font-weight:400;font-style:italic;font-size:clamp(2rem,4.4vw,4rem);line-height:1.08;letter-spacing:-.02em;margin-top:22px;max-width:56rem;text-wrap:balance}
.qu-h2 em,.qu-saida em{color:#ff8f9c;font-style:italic}
.qu-quem{margin-top:16px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#c9bfb2;font-weight:500;display:flex;align-items:center;gap:12px}
.qu-quem::before{content:"";width:28px;height:1px;background:#c9bfb2}
.qu-corpo{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,80px);margin-top:clamp(40px,8vh,84px);align-items:start}
.qu-sinais{position:sticky;top:14vh}
.qu-sinais h3{font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;color:#c9bfb2;font-family:var(--f-texto)}
.qu-sinais ul{list-style:none;padding:0;margin-top:16px}
.qu-sinais li{padding:13px 0 13px 26px;border-top:1px solid rgba(238,241,236,.14);position:relative;color:#d9dfd9}
.qu-sinais li::before{content:"";position:absolute;left:2px;top:1.35em;width:8px;height:8px;border-radius:50%;border:1.5px solid #ff8f9c}
.qu-linhas{list-style:none;padding:0}
.qu-linhas li{border-top:1px solid rgba(238,241,236,.2)}
.qu-linhas li:last-child{border-bottom:1px solid rgba(238,241,236,.2)}
.qu-linhas a{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:6px 28px;padding:24px 14px 24px 0;align-items:baseline;color:inherit;text-decoration:none;position:relative;transition:padding .5s var(--entra),background .5s}
.qu-linhas a::before{content:"";position:absolute;inset:0 -18px;z-index:-1;border-radius:16px;background:rgba(238,241,236,.07);opacity:0;transition:opacity .4s}
.qu-linhas a:hover,.qu-linhas a:focus-visible{padding-left:14px}
.qu-linhas a:hover::before,.qu-linhas a:focus-visible::before{opacity:1}
.qu-quando{grid-column:1/-1;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#ff8f9c;font-weight:500}
.qu-linhas h3{font-family:var(--f-titulo);font-weight:400;font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.1}
.qu-linhas p{color:#c5cec8;font-size:.98rem}
.qu-seta{font-size:1.3rem;color:#ff8f9c;align-self:center;transition:transform .4s var(--entra)}
.qu-linhas a:hover .qu-seta{transform:translateX(6px)}
.qu-fecho{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,5vw,80px);align-items:end;margin-top:clamp(56px,10vh,110px)}
.qu-saida{font-family:var(--f-titulo);font-style:italic;font-size:clamp(2.2rem,5.4vw,5rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.qu-fecho div p{color:#d9dfd9}
.qu-fecho .qu-nota{margin-top:14px;padding-top:14px;border-top:1px solid rgba(238,241,236,.18);font-size:.86rem;color:#aab6af}
@media (max-width:860px){
  .qu-corpo{grid-template-columns:1fr}
  .qu-sinais{position:static}
  .qu-linhas a{grid-template-columns:1fr auto;padding:22px 0;gap:8px 16px}
  .qu-linhas h3{grid-column:1}
  .qu-linhas p{grid-column:1;margin-top:2px}
  .qu-seta{grid-column:2;grid-row:2/4}
  .qu-fecho{grid-template-columns:1fr}
}

/* ===== ca ===== */
.ca{background:var(--marfim);padding:var(--respiro) var(--margem);position:relative;isolation:isolate;overflow:hidden}
/* luz morna: em casa */
.ca-luz{position:absolute;inset:0;z-index:-2;background:radial-gradient(48% 40% at 12% 26%,rgba(241,214,186,.8),transparent 70%),radial-gradient(44% 34% at 70% 96%,rgba(241,214,186,.55),transparent 70%)}
/* a foto grande sobe até o topo e dissolve na parede */
.ca-f1{position:absolute;top:0;right:0;width:44vw;height:min(84vh,700px);margin:0;z-index:-1;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 40%),linear-gradient(to top,transparent 0,#000 30%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 40%),linear-gradient(to top,transparent 0,#000 30%);mask-composite:intersect}
.ca-f1 img,.ca-f2 img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.76) contrast(.97) sepia(.1)}
.ca-f1 img{object-position:60% 40%}
.ca-topo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.34fr) minmax(0,.42fr);gap:clamp(20px,3vw,48px);align-items:start;min-height:min(62vh,520px)}
.ca-txt .s-h2{margin-top:18px}
.ca-fala{margin-top:26px;font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.28;max-width:34rem;color:var(--tinta)}
.ca-apoio{margin-top:18px;color:var(--tinta-2);max-width:31rem}
.ca-f2{margin:clamp(120px,24vh,220px) 0 0;grid-column:2}
.ca-f2 img{aspect-ratio:3/4;height:auto;border-radius:22px;border:6px solid var(--luz);box-shadow:0 24px 50px rgba(29,42,39,.18)}
.ca-f2 figcaption{font-family:var(--f-titulo);font-style:italic;font-size:.98rem;line-height:1.35;color:var(--tinta-2);margin-top:12px}

/* a conta: o que a casa tem + o que ela leva + consistência */
.ca-conta{display:grid;grid-template-columns:1fr auto 1fr auto 1.1fr;gap:clamp(14px,2.4vw,40px);align-items:start;margin-top:clamp(40px,7vh,80px);padding:clamp(24px,4vh,40px) 0;border-top:1px solid rgba(29,42,39,.16);border-bottom:1px solid rgba(29,42,39,.16)}
.ca-conta>span{font-family:var(--f-titulo);font-size:clamp(2rem,3vw,2.8rem);line-height:1;color:var(--unha);align-self:center}
.ca-conta h3{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--madeira);font-weight:500;font-family:var(--f-texto)}
.ca-conta p{font-family:var(--f-titulo);font-size:clamp(1.4rem,2.3vw,2.1rem);line-height:1.18;margin-top:10px;text-wrap:balance}
.ca-res p{font-style:italic;color:var(--unha)}

.ca-pe{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 56px;align-items:end;margin-top:clamp(28px,5vh,48px)}
.ca-quem{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,44px)}
.ca-quem li{color:var(--tinta-2);font-size:.98rem;padding-left:18px;position:relative}
.ca-quem li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--unha)}
.ca-ir{display:inline-flex;gap:10px;align-items:center;color:var(--tinta);font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--unha);padding-bottom:3px;white-space:nowrap}
.ca-ir span{transition:transform .3s}.ca-ir:hover span{transform:translateX(4px)}
@media (max-width:860px){
  .ca-f1{position:relative;width:auto;height:300px;margin:calc(var(--respiro) * -1) calc(var(--margem) * -1) 0;
    -webkit-mask-image:linear-gradient(to top,transparent 0,#000 38%);mask-image:linear-gradient(to top,transparent 0,#000 38%);-webkit-mask-composite:initial;mask-composite:initial}
  .ca-topo{grid-template-columns:1fr;min-height:0}
  .ca-f2{grid-column:1;margin:10px 0 0;display:grid;grid-template-columns:42% 1fr;gap:16px;align-items:end}
  .ca-f2 figcaption{margin:0 0 6px}
  .ca-conta{grid-template-columns:1fr;gap:10px}
  .ca-conta>span{justify-self:start;font-size:1.6rem}
  .ca-conta p{font-size:1.45rem}
  .ca-pe{grid-template-columns:1fr}
  .ca-quem{grid-template-columns:1fr;gap:12px}
  .ca-ir{white-space:normal;justify-self:start}
}

/* ===== co ===== */
.co{background:var(--papel);padding:var(--respiro) var(--margem) calc(var(--respiro) + 40px);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,6vw,96px);align-items:center}
/* luz fria: o consultório */
.co-luz{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 50% at 80% 40%,rgba(198,217,222,.95),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(219,227,223,.9),transparent 70%)}
.co-data{margin-left:6px;padding-left:14px;border-left:1px solid rgba(29,42,39,.25);color:var(--tinta-2)}
.co-h2{font-family:var(--f-titulo);font-weight:400;font-style:italic;font-size:clamp(1.7rem,3.1vw,2.8rem);line-height:1.14;letter-spacing:-.015em;margin-top:20px;text-wrap:balance}
.co-h2 em{color:var(--unha)}
.co-end{font-style:normal;margin-top:34px;display:grid;gap:2px;color:var(--tinta-2)}
.co-end strong{font-family:var(--f-titulo);font-weight:400;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.05;color:var(--tinta);letter-spacing:-.02em}
.co-acoes{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:26px}
.co .botao{background:var(--tinta)}
.co-rota{color:var(--tinta);font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--unha);padding-bottom:3px;display:inline-flex;gap:10px}
.co-nota{margin-top:34px;padding-top:18px;border-top:1px solid rgba(29,42,39,.14);color:var(--tinta-2);max-width:33rem}
.co-nota b{font-family:var(--f-titulo);font-style:italic;font-weight:500;font-size:1.18em;color:var(--tinta);display:block;margin-bottom:4px}

.co-quem{margin-top:14px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--madeira);font-weight:500;display:flex;align-items:center;gap:12px}
.co-quem::before{content:"";width:28px;height:1px;background:var(--madeira)}
.co-fatos{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:18px}
.co-fatos li{font-size:.86rem;font-weight:400;color:var(--tinta);background:rgba(251,249,244,.7);border:1px solid rgba(29,42,39,.12);border-radius:999px;padding:6px 14px}

/* a porta da parada 4: o mapa está atrás dela */
.co-porta{position:relative;justify-self:end;margin-right:clamp(0px,3vw,48px);width:min(100%,380px);aspect-ratio:10/16.4;perspective:2200px;perspective-origin:30% 50%}
.co-vao{position:absolute;inset:0;border:12px solid #8f7563;border-bottom-width:0;border-radius:6px 6px 0 0;overflow:hidden;background:#cfe3ea}
.co-vao iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.45) contrast(.95) brightness(1.03)}
.co-folha{position:absolute;inset:12px 12px 0 12px;background:linear-gradient(90deg,#e4ddd0 0,#fbf9f4 22%,#f3eee4 100%);border-radius:2px;transform-origin:left center;transition:transform 1.8s cubic-bezier(.3,.7,.2,1) .5s;box-shadow:inset 0 0 0 1px rgba(29,42,39,.08),18px 0 40px -18px rgba(29,42,39,.3);pointer-events:none;z-index:2}
.co-folha span{position:absolute;left:50%;top:20%;transform:translateX(-50%);font-family:var(--f-titulo);font-size:1.5rem;letter-spacing:.08em;color:var(--madeira)}
.co-folha i{position:absolute;right:16px;top:52%;width:10px;height:44px;border-radius:6px;background:#8f7563}
.co-porta.vis .co-folha{transform:rotateY(-77deg)}
.co-etq{position:absolute;right:26px;top:26px;z-index:1;background:rgba(251,249,244,.92);color:var(--tinta);font-size:.82rem;font-weight:500;padding:7px 12px;border-radius:999px;box-shadow:0 6px 18px rgba(29,42,39,.16);pointer-events:none}
/* soleira e luz fria no chão */
.co-porta::after{content:"";position:absolute;left:-26px;right:-26px;bottom:-6px;height:6px;border-radius:3px;background:#8f7563}
.co-chao{position:absolute;left:-8%;right:-30%;top:100%;height:90px;background:linear-gradient(to bottom,rgba(190,220,232,.9),rgba(190,220,232,0));clip-path:polygon(8% 0,74% 0,100% 100%,0 100%);filter:blur(10px);opacity:0;transition:opacity 1.6s ease .9s;pointer-events:none}
.co-porta.vis .co-chao{opacity:1}
@media (max-width:860px){
  .co{grid-template-columns:1fr}
  .co-porta{justify-self:center;margin:10px 0 60px 22%;width:min(70%,300px)}
  .co-etq{font-size:.78rem;right:20px;top:20px}
}
@media (prefers-reduced-motion:reduce){.co-folha{transition:none;transform:rotateY(-77deg)}.co-chao{transition:none;opacity:1}}

/* ===== so ===== */
.so{background:var(--marfim);padding:var(--respiro) var(--margem);position:relative;isolation:isolate;overflow:hidden}
/* morna de um lado (a casa), fria do outro (o consultório) */
.so-luz{position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 50% at 12% 56%,rgba(241,214,186,.8),transparent 70%),radial-gradient(40% 50% at 90% 50%,rgba(198,217,222,.85),transparent 70%)}
.so-topo{text-align:center;margin:0 auto}
.so-topo .s-olho{justify-content:center}
.so-topo .s-h2{margin-top:16px;font-size:clamp(2.2rem,4.8vw,4.4rem);text-wrap:initial}
.so-topo .s-h2 span,.so-topo .s-h2 em{display:block}
.so-lados{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr) minmax(0,1fr);gap:clamp(16px,2.6vw,44px);align-items:center;margin-top:clamp(10px,3vh,30px)}
.so-lado h3{font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--madeira);font-weight:500;font-family:var(--f-texto);margin-bottom:14px}
.so-a{text-align:right}
.so-datas{list-style:none;padding:0}
.so-datas li{padding:12px 0;border-top:1px solid rgba(29,42,39,.14);color:var(--tinta);display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline}
.so-datas b{order:2;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:1.15rem;color:var(--unha);min-width:5.4em;text-align:left}
.so-a>p{margin-top:16px;color:var(--tinta-2);font-size:.98rem}
.so-reg{font-size:.86rem !important;line-height:1.5}
.so-reg b{display:block;color:var(--tinta);font-weight:500}
.so-b blockquote{font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.3;color:var(--tinta)}
.so-quem{margin-top:12px;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--madeira);font-weight:500}
.so-b>p:not(.so-quem){margin-top:16px;color:var(--tinta-2)}
.so-fora{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(29,42,39,.14)}
.so-fora img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:55% 40%;flex:none}
.so-fora p{font-family:var(--f-titulo);font-style:italic;font-size:1.08rem;color:var(--tinta)}
.so-figura{margin:0;position:relative;height:clamp(420px,70vh,640px);display:flex;justify-content:center;align-items:flex-end}
.so-soleira{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(29,42,39,.3) 20%,rgba(29,42,39,.3))}
.so-halo{position:absolute;left:44%;bottom:10%;width:110%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 46% 38%,#fffdf6 0,rgba(255,250,240,.8) 34%,rgba(255,250,240,0) 70%)}
/* o corpo dela fica em cima da soleira; a bola, do lado da fisioterapeuta */
.so-rec{position:relative;height:100%;display:block;filter:drop-shadow(0 26px 30px rgba(29,42,39,.18));transform:translateX(-23%)}
.so-rec img{height:100%;width:auto;max-width:none;display:block;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 98%);mask-image:linear-gradient(to bottom,#000 78%,transparent 98%)}
.so-a{position:relative;z-index:1;padding-right:clamp(0px,5vw,84px)}
.so-assina{text-align:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.1;margin-top:clamp(30px,6vh,64px)}
@media (max-width:860px){
  .so-topo{text-align:left}
  .so-topo .s-olho{justify-content:flex-start}
  .so-lados{grid-template-columns:1fr;gap:26px}
  .so-figura{order:-1;height:400px}
  .so-rec{transform:translateX(-14%)}
  .so-soleira{left:59%}
  .so-a{text-align:left;padding-right:0}
  .so-datas li{grid-template-columns:auto 1fr}
  .so-datas b{order:0}
  .so-reg{background:rgba(251,249,244,.7);border:1px solid rgba(29,42,39,.12);border-radius:14px;padding:12px 16px;display:inline-block}
  .so-assina{text-align:left}
}

/* ===== vo ===== */
.vo{background:#e3e9e3;padding:var(--respiro) var(--margem);display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,88px);align-items:start;position:relative;isolation:isolate;overflow:hidden}
.vo-luz{position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 60% at 6% 20%,rgba(251,249,244,.9),transparent 70%),radial-gradient(44% 60% at 96% 86%,rgba(201,211,203,.95),transparent 70%)}
.vo-nota{display:flex;align-items:flex-end;gap:18px;margin-top:14px;font-weight:400}
.vo-nota span{font-family:var(--f-titulo);font-size:clamp(5.5rem,13vw,11rem);line-height:.82;letter-spacing:-.04em}
.vo-nota small{font-family:var(--f-texto);font-size:.96rem;font-weight:400;color:var(--tinta-2);padding-bottom:.6em;line-height:1.4}
.vo-nota small b{display:block;color:var(--unha);letter-spacing:.14em;font-size:1.05rem;font-weight:400}
.vo-quem{margin-top:28px;padding-top:20px;border-top:1px solid rgba(29,42,39,.16);color:var(--tinta-2);max-width:25rem}
.vo-quem b{display:block;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(1.8rem,2.8vw,2.4rem);line-height:1;color:var(--tinta);margin-bottom:6px}
.vo-ir{margin-top:24px;background:var(--tinta)}
.vo-data{margin-top:12px;font-size:.8rem;color:var(--tinta-2)}
.vo-voz{border-left:1px solid rgba(29,42,39,.16);padding-left:clamp(24px,4vw,64px);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.vo-rot{font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--madeira);font-weight:500}
.vo-falas{display:grid;margin-top:18px}
.vo-falas figure{grid-area:1/1;margin:0;opacity:0;transform:translateY(16px);transition:opacity .7s,transform .8s var(--entra);pointer-events:none}
.vo-falas figure.on{opacity:1;transform:none;pointer-events:auto}
.vo-falas blockquote{font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.8rem,3.7vw,3.3rem);line-height:1.12;letter-spacing:-.018em;text-wrap:balance}
.vo-falas em{color:var(--unha);text-decoration:underline 2px transparent;text-underline-offset:.12em;transition:text-decoration-color .9s ease .5s}
.vo-falas figure.on em{text-decoration-color:var(--unha)}
.vo-falas figcaption{margin-top:16px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--madeira);font-weight:500;display:flex;align-items:center;gap:12px}
.vo-falas figcaption::before{content:"";width:28px;height:1px;background:var(--madeira)}
.vo-pontos{display:flex;gap:8px;margin-top:26px}
.vo-pontos button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(29,42,39,.22);background:rgba(251,249,244,.6);font-family:var(--f-titulo);font-size:1.05rem;color:var(--tinta);cursor:pointer;transition:background .4s,color .4s,border-color .4s}
.vo-pontos button.on{background:var(--unha);color:#fff8f6;border-color:transparent}
.vo-ress{margin-top:18px;color:var(--tinta-2);font-size:.94rem;max-width:30rem}
@media (max-width:860px){
  .vo{grid-template-columns:1fr}
  .vo-voz{border-left:0;padding-left:0;border-top:1px solid rgba(29,42,39,.16);padding-top:28px}
}
@media (prefers-reduced-motion:reduce){.vo-falas figure,.vo-falas em{transition:none}}

/* ===== pe ===== */
.pe{background:var(--marfim);padding:var(--respiro) var(--margem);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;gap:0 clamp(28px,6vw,100px);align-items:start;position:relative;isolation:isolate}
.pe-luz{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(40% 40% at 8% 30%,rgba(241,214,186,.6),transparent 70%)}
.pe-topo{grid-column:1;grid-row:1}
.pe-topo .s-h2{margin-top:16px;font-size:clamp(2rem,3.6vw,3.2rem)}
.pe-lista{grid-column:2;grid-row:1/3}
.pe-outra{grid-column:1;grid-row:2;position:sticky;top:14vh;margin-top:30px;padding-top:22px;border-top:1px solid rgba(29,42,39,.14);display:flex;gap:16px;align-items:center}
.pe-outra img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.pe-outra p{font-family:var(--f-titulo);font-style:italic;font-size:1.3rem;line-height:1.2}
.pe-ir{display:inline-flex;gap:10px;align-items:center;margin-top:10px;color:var(--tinta);font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--unha);padding-bottom:3px}
.pe-ir span{transition:transform .3s}.pe-ir:hover span{transform:translateX(4px)}
.pe details{border-top:1px solid rgba(29,42,39,.16)}
.pe details:last-child{border-bottom:1px solid rgba(29,42,39,.16)}
.pe summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1.6em 1fr auto;gap:8px 12px;align-items:baseline;padding:22px 0;font-family:var(--f-titulo);font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.2}
.pe summary::-webkit-details-marker{display:none}
.pe summary b{font-style:italic;font-weight:400;color:var(--unha);font-size:.8em}
.pe summary i{align-self:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(29,42,39,.25);position:relative;transition:background .4s,border-color .4s,transform .5s var(--entra)}
.pe summary i::before,.pe summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--tinta);transform:translate(-50%,-50%);transition:background .4s}
.pe summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.pe details[open] summary i{background:var(--unha);border-color:transparent;transform:rotate(45deg)}
.pe details[open] summary i::before,.pe details[open] summary i::after{background:#fff8f6}
.pe-r{padding:0 54px 26px calc(1.6em + 22px);max-width:42rem}
.pe details[open] .pe-r{animation:pe-abre .6s var(--entra) both}
@keyframes pe-abre{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.pe-curta{font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.25rem,1.7vw,1.5rem);color:var(--tinta)}
.pe-r p+p{margin-top:8px;color:var(--tinta-2)}
.pe-r a{color:var(--tinta);font-weight:500;text-decoration:underline;text-decoration-color:var(--unha);text-underline-offset:4px;white-space:nowrap}
@media (max-width:860px){
  .pe{grid-template-columns:1fr;grid-template-rows:auto}
  .pe-topo,.pe-lista,.pe-outra{grid-column:1;grid-row:auto}
  .pe-lista{margin-top:26px}
  .pe-outra{position:static}
  .pe-r{padding:0 0 24px calc(1.6em + 12px)}
  .pe-r a{white-space:normal}
}
@media (prefers-reduced-motion:reduce){.pe details[open] .pe-r{animation:none}}

/* ===== fe ===== */
.fe{background:var(--papel);padding:calc(var(--respiro) * 1.1) var(--margem);position:relative;isolation:isolate;overflow:hidden;min-height:min(86vh,760px);display:flex;align-items:center}
.fe-luz{position:absolute;inset:0;z-index:-2;transition:opacity 1.4s ease}
.fe-morna{background:radial-gradient(60% 70% at 16% 60%,rgba(241,214,186,.85),transparent 70%),radial-gradient(40% 40% at 44% 10%,rgba(255,242,220,.8),transparent 70%)}
.fe-fria{background:radial-gradient(60% 70% at 16% 60%,rgba(198,217,222,.9),transparent 70%),radial-gradient(40% 40% at 44% 10%,rgba(236,244,246,.9),transparent 70%);opacity:0}
html[data-onde="sala"] .fe-morna{opacity:0}
html[data-onde="sala"] .fe-fria{opacity:1}
/* a mesma foto do hero, agora de perto: a mão dela */
.fe-foto{position:absolute;top:0;right:0;bottom:0;width:54vw;margin:0;z-index:-1;
  -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.6) 18%,#000 36%);mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.6) 18%,#000 36%)}
.fe-foto img{width:100%;height:100%;object-fit:cover;object-position:30% 70%;display:block}
.fe-txt{max-width:min(40rem,46vw)}
.fe-txt .s-h2{margin-top:16px;font-size:clamp(2.3rem,4.8vw,4.4rem)}
.fe-perg{margin-top:26px;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--madeira);font-weight:500}
.fe-onde{margin-top:14px;color:var(--tinta);font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.4rem);min-height:1.6em}
.fe-assina{margin-top:22px;font-size:.86rem;font-weight:400;color:var(--tinta-2)}
.fe-assina b{color:var(--tinta);font-weight:500}
.fe-assina span{color:var(--unha);letter-spacing:.1em;margin:0 6px 0 4px}
.fe-mais{margin-top:6px;font-size:.86rem;font-weight:400;color:var(--tinta-2)}
.fe-mais a{color:var(--tinta);font-weight:500;text-decoration:underline;text-decoration-color:var(--unha);text-underline-offset:4px}
html[data-onde="sala"] .fe .onde i{transform:translateX(100%)}
.fe .onde{margin-top:10px}
.fe-acoes{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:18px}
.fe-fone{font-family:var(--f-titulo);font-size:clamp(1.5rem,2.2vw,2rem);color:var(--tinta);text-decoration:none;border-bottom:1.5px solid var(--unha)}
@media (max-width:860px){
  .fe{display:block;min-height:0;padding-top:0}
  .fe-foto{position:relative;width:auto;height:300px;margin:0 calc(var(--margem) * -1) 10px;
    -webkit-mask-image:linear-gradient(to top,transparent 0,#000 34%);mask-image:linear-gradient(to top,transparent 0,#000 34%)}
  .fe-foto img{object-position:20% 88%}
  .fe-txt{max-width:none}
  .fe-onde{min-height:3em}
  .fe .onde{display:grid;width:100%}
  .fe .botao{width:100%;justify-content:center}
}

/* ===== ro ===== */
.ro{background:var(--marfim);padding:clamp(44px,7vh,72px) var(--margem) 30px;font-size:.92rem;color:var(--tinta-2);border-top:1px solid rgba(29,42,39,.12)}
.ro-grade{display:grid;grid-template-columns:1.3fr 1.3fr .8fr .8fr;gap:clamp(20px,4vw,60px)}
.ro-nome{font-family:var(--f-titulo);font-size:1.6rem;color:var(--tinta);line-height:1.1;margin-bottom:8px}
.ro h3{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--madeira);font-weight:500;font-family:var(--f-texto);margin-bottom:10px}
.ro-grade p+p{margin-top:8px}
.ro-grade a{display:block;color:var(--tinta);text-decoration:none;padding:5px 0}
.ro-grade a:hover{text-decoration:underline;text-decoration-color:var(--unha);text-underline-offset:4px}
.ro-pe{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;margin-top:clamp(32px,6vh,56px);padding-top:18px;border-top:1px solid rgba(29,42,39,.12);font-size:.84rem}
.ro-selo a{color:var(--tinta);font-weight:500;text-decoration:underline;text-decoration-color:var(--unha);text-underline-offset:4px}
@media (max-width:860px){.ro-grade{grid-template-columns:1fr 1fr;gap:28px 20px}.ro-grade>div:first-child,.ro-grade>div:nth-child(2){grid-column:1/-1}.ro{padding-bottom:36px}}
.ro-paradas a{display:flex;align-items:center;gap:12px;padding:6px 0}
.ro-paradas b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--unha);color:#fff8f6;font-family:var(--f-titulo);font-weight:500;font-size:.92rem;flex:none}
.ro-lema{font-family:var(--f-titulo);font-style:italic;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--tinta);margin-top:clamp(32px,6vh,60px);line-height:1.1}
.ro-pe{margin-top:18px}

/* rótulos: nada abaixo de 12 px (quem lê tem 45 a 75 anos) */
.marca small{font-size:.76rem}
.co-data,.fe-assina,.fe-mais,.vo-data,.co-fatos li{font-size:.86rem}
.olho,.g-olho,.s-olho,.s-parada,.fe-perg,.vo-rot,.qu-sinais h3,.so-lado h3,.ro h3,.ca-conta h3{font-size:.8rem}
.av-marca,.qu-quando,.av-quem,.qu-quem,.co-quem,.so-quem,.vo-falas figcaption,.relogio .rot{font-size:.78rem}
@media (max-width:860px){.olho{font-size:.76rem}.g-trilho button{font-size:.78rem}}
