/* ═══════════════════════════════════════════════════════════════════
   CAVINI WOMAN · CAVINI MAN — folha isolada (prefixo .wm-)
   Não altera SLIM, PERFORMANCE nem a homepage: todas as regras vivem
   sob body.wm. Mesma família tipográfica e linguagem dos componentes
   das páginas oficiais (Instrument Serif + Instrument Sans).
   ═══════════════════════════════════════════════════════════════════ */

body.wm{
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',Arial,Helvetica,sans-serif;
  --ink:#16170f;        /* grafite profundo — rodapé, botões */
  --graphite:#30312f;   /* texto */
  --muted:#5f5e5a;
  --paper:#fbfbfa;
  --mist:#f4f2ef;
  --line:#d9d5cf;
  --sec:clamp(72px,8vw,124px);
  --gut:clamp(22px,5.4vw,84px);
  --max:1320px;
  margin:0;background:var(--paper);color:var(--graphite);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* WOMAN — sensorial, quente, acolhedora */
body.wm--woman{
  --accent:#9b5a44;      /* cobre rosado (mesma família do SLIM) */
  --accent-soft:#d9ad98;
  --deep:#2a2326;        /* ameixa grafite */
  --tint:#f4ebe3;        /* papel quente */
  --tint-2:#ece1d8;
  --on-deep:#efe6df;
}
/* MAN — mineral, acolhedor, objetivo */
body.wm--man{
  --accent:#2f5a4c;      /* verde profundo */
  --accent-soft:#9cbcae;
  --deep:#26332d;        /* verde grafite */
  --tint:#efeee9;        /* pedra clara */
  --tint-2:#e5e5de;
  --on-deep:#e4e9e5;
}
body.wm *,body.wm *::before,body.wm *::after{box-sizing:border-box}
body.wm img{max-width:100%;height:auto;display:block}
body.wm a{color:inherit}
body.wm h1,body.wm h2,body.wm h3,body.wm p,body.wm ul,body.wm ol,body.wm figure{margin:0}
body.wm ul,body.wm ol{padding:0;list-style:none}
body.wm :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wm .nb{white-space:nowrap}
.wm .pular{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;text-decoration:none}
.wm .pular:focus{left:12px}

/* ── tipografia comum ───────────────────────────────────────────── */
.wm-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.wm-eyebrow.on-dark{color:var(--accent-soft)}
.wm-h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,74px);line-height:1.03;letter-spacing:-.035em;text-wrap:balance}
.wm-h2 em{font-style:italic}
.wm-lead{font-size:clamp(17px,1.45vw,20px);line-height:1.6;color:var(--muted);max-width:60ch}
.wm-wrap{max-width:var(--max);margin:0 auto}
.wm-sec{padding:var(--sec) var(--gut)}
.wm-num{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--accent);font-variant-numeric:tabular-nums}

/* ── botões (mesma linguagem: bloco escuro + seta) ─────────────── */
.wm-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:15px 22px;background:var(--ink);color:#fff!important;text-decoration:none;font-weight:600;font-size:15px;line-height:1.2;border:1px solid var(--ink);transition:background .2s ease,transform .2s ease;cursor:pointer;font-family:var(--sans)}
.wm-btn:hover{background:#000;transform:translateY(-1px)}
.wm-btn svg{flex:none}
.wm-btn--light{background:#fff;color:var(--ink)!important;border-color:#fff}
.wm-btn--light:hover{background:var(--tint)}
.wm-btn--ghost{background:transparent;color:var(--ink)!important;border-color:currentColor}
.wm-btn--ghost:hover{background:rgba(0,0,0,.04)}
.wm-btn--ghost-light{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.5)}
.wm-btn--ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.wm-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:600;text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}

/* ── cabeçalho ──────────────────────────────────────────────────── */
.wm-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--gut)}
.wm-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.wm-brand img{width:132px;height:auto}
.wm-brand em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.2em;padding-left:14px;border-left:1px solid currentColor;line-height:1.1}
.wm-nav{display:flex;align-items:center;gap:28px;font-size:14px}
.wm-nav a{text-decoration:none;opacity:.86}
.wm-nav a:hover{opacity:1}
.wm-nav .wm-nav-cta{opacity:1;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid currentColor;font-weight:600}
.wm-menu-btn{display:none;background:none;border:1px solid currentColor;color:inherit;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:11px 14px;cursor:pointer}

/* ── HERO ───────────────────────────────────────────────────────── */
.wm-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:min(100vh,900px)}
.wm-hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:150px var(--gut) 72px}
.wm-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6.4vw,104px);line-height:.98;letter-spacing:-.04em;margin:0 0 32px;text-wrap:balance;padding-bottom:.06em}
.wm-hero h1 span{display:block}
.wm-hero-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.62;max-width:52ch;margin-bottom:34px}
.wm-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.wm-hero-note{margin-top:26px;font-size:13px;line-height:1.6;opacity:.82}
.wm-hero-note .sep{padding:0 7px;opacity:.6}
.wm-hero-media{position:relative;overflow:hidden;min-height:420px}
.wm-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ── seções genéricas ──────────────────────────────────────────── */
.wm-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,7vw,110px);align-items:start}
.wm-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(28px,7vw,100px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.wm-head .wm-lead{margin:0}
.wm-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:78ch}

/* identificação (vozes) */
.wm-voices{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,6vw,96px);align-items:center}
.wm-voices-photo{position:relative;aspect-ratio:4/5;overflow:hidden;max-width:100%}
.wm-voices-photo img{width:100%;height:100%;object-fit:cover}
.wm-voices-list{border-top:1px solid var(--line)}
.wm-voices-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.wm-voices-list q{font-family:var(--serif);font-size:clamp(25px,2.4vw,36px);line-height:1.15;letter-spacing:-.02em;quotes:"“" "”"}

/* sinais */
.wm-signs{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.wm-signs li{padding:12px 18px;border:1px solid var(--line);background:rgba(255,255,255,.55);font-size:15px;line-height:1.3}
.wm-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 34px;align-items:center;margin-top:clamp(36px,4vw,52px);padding:clamp(24px,3vw,36px) clamp(24px,3vw,40px);background:var(--deep);color:var(--on-deep)}
.wm-callout strong{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.1;color:#fff}
.wm-callout p{font-size:15px;line-height:1.6;max-width:62ch}

/* territórios — seletor editorial */
.wm-atlas{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;border-top:1px solid var(--line)}
.wm-atlas-list{border-right:1px solid var(--line)}
.wm-atlas-tab{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:10px;width:100%;padding:20px 22px 20px 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;color:var(--graphite);font:inherit;transition:color .2s ease,background .2s ease}
.wm-atlas-tab span{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--accent)}
.wm-atlas-tab b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,34px);line-height:1.1;letter-spacing:-.02em}
.wm-atlas-tab i{width:20px;height:1px;background:currentColor;opacity:.3;transition:width .25s ease,opacity .25s ease}
.wm-atlas-tab[aria-selected="true"]{color:var(--ink)}
.wm-atlas-tab[aria-selected="true"] i{width:24px;opacity:1;background:var(--accent)}
.wm-atlas-tab:hover b{color:var(--accent)}
.wm-atlas-panels{position:relative}
.wm-atlas-panel{padding:clamp(28px,3.4vw,52px) 0 clamp(28px,3.4vw,52px) clamp(28px,4vw,64px)}
.wm-atlas-panel h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,54px);line-height:1.04;letter-spacing:-.03em;margin:10px 0 18px}
.wm-atlas-panel p{color:var(--muted);max-width:52ch}
.wm-atlas-panel ul{margin-top:24px;border-top:1px solid var(--line)}
.wm-atlas-panel li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:12px}
.wm-atlas-panel li::before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--accent)}
.wm-atlas-panel .wm-atlas-care{margin-top:22px;font-size:13px;color:var(--muted)}
.wm-js .wm-atlas-panel[hidden]{display:none}
.wm-js .wm-atlas-panel.is-in{animation:wmFade .45s ease both}
@keyframes wmFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* abordagem / princípios */
.wm-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid currentColor;border-color:rgba(255,255,255,.22)}
.wm-principles article{padding:34px 30px 6px 0}
.wm-principles article+article{padding-left:30px;border-left:1px solid rgba(255,255,255,.22)}
.wm-principles h3{font-family:var(--serif);font-weight:400;font-size:clamp(27px,2.5vw,36px);line-height:1.1;margin:18px 0 14px;color:#fff;letter-spacing:-.02em}
.wm-principles p{font-size:15px;line-height:1.6;color:var(--on-deep);opacity:.86}
.wm-dark{background:var(--deep);color:var(--on-deep)}
.wm-dark .wm-h2{color:#fff}
.wm-dark .wm-lead{color:var(--on-deep);opacity:.86}

/* jornada */
.wm-journey{position:relative}
.wm-journey-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;margin-top:clamp(36px,4vw,56px)}
.wm-journey-track::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:var(--line)}
.wm-journey-track::after{content:"";position:absolute;left:0;top:27px;height:1px;width:var(--wm-progress,0%);background:var(--accent);transition:width 1.6s cubic-bezier(.2,.7,.2,1)}
.wm-step{position:relative;padding-right:28px}
.wm-step-dot{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--paper);border:1px solid var(--accent);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:26px}
.wm-step h3{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.wm-step p{font-size:15px;line-height:1.6;color:var(--muted);max-width:30ch}
.wm-journey-foot{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:24px 48px;align-items:center;margin-top:clamp(40px,4.4vw,60px);padding-top:28px;border-top:1px solid var(--line)}
.wm-journey-foot p{font-size:14px;line-height:1.65;color:var(--muted);max-width:72ch}

/* consulta estratégica (faixa) */
.wm-consulta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,90px);align-items:center;position:relative;overflow:hidden}
.wm-consulta-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.wm-consulta-facts div{padding:20px 18px 20px 0;border-bottom:1px solid var(--line)}
.wm-consulta-facts div:nth-child(2n){padding-left:18px;border-left:1px solid var(--line)}
.wm-consulta-facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.1;color:var(--ink);margin-bottom:6px}
.wm-consulta-facts span{font-size:14px;color:var(--muted);line-height:1.5}
.wm-watermark{position:absolute;right:-60px;bottom:-70px;width:min(420px,46vw);opacity:.06;pointer-events:none}

/* médico */
.wm-doctor{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch}
.wm-doctor-photo{position:relative;min-height:520px;overflow:hidden;background:#1d1d1b}
.wm-doctor-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.wm-doctor-copy{padding:var(--sec) var(--gut);display:flex;flex-direction:column;justify-content:center}
.wm-doctor-copy p{max-width:60ch}
.wm-sign{margin-top:30px;padding-top:24px;border-top:1px solid currentColor;border-color:var(--line)}
.wm-sign strong{display:block;font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1}
.wm-sign>span{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:8px}
.wm-sign small{display:block;font-size:13px;margin-top:4px;opacity:.75}
.wm-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.wm-facts span{padding:10px 14px;border:1px solid var(--line);font-size:13px;font-weight:600;letter-spacing:.02em}

/* FAQ */
.wm-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,7vw,110px)}
.wm-faq-list{border-top:1px solid var(--line)}
.wm-faq details{border-bottom:1px solid var(--line)}
.wm-faq summary{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:10px;align-items:baseline;padding:22px 0;cursor:pointer;list-style:none;font-weight:600;font-size:17px;line-height:1.4;color:var(--ink)}
.wm-faq summary::-webkit-details-marker{display:none}
.wm-faq summary span{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--accent)}
.wm-faq summary b{font-weight:400;font-size:22px;line-height:1;color:var(--accent);transition:transform .25s ease;text-align:right}
.wm-faq details[open] summary b{transform:rotate(45deg)}
.wm-faq details>div{padding:0 34px 24px 54px;color:var(--muted);font-size:16px;line-height:1.65}

/* formulário / CTA final */
.wm-lead-sec{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,6vw,96px);align-items:start;background:var(--deep);color:var(--on-deep)}
.wm-lead-sec .wm-h2{color:#fff}
.wm-lead-sec .wm-lead{color:var(--on-deep);opacity:.86}
.wm-promises{margin-top:30px;display:grid;gap:10px;font-size:14px}
.wm-promises li{display:flex;gap:12px;align-items:baseline}
.wm-promises li::before{content:"";flex:none;width:14px;height:1px;background:var(--accent-soft);transform:translateY(-4px)}
.wm-direct{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.wm-phone{margin-top:18px;font-size:14px;opacity:.86}
.wm-phone b{font-weight:600;letter-spacing:.02em;user-select:all}
.wm-form{background:#fff;color:var(--graphite);padding:clamp(24px,3vw,40px);display:grid;gap:18px;box-shadow:0 30px 60px -40px rgba(0,0,0,.6)}
.wm-form .wm-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wm-form label{display:grid;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.wm-form label small{font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}
.wm-form input:not([type=checkbox]),.wm-form select{width:100%;min-height:52px;padding:12px 14px;border:1px solid #cfcac4;background:#fff;color:var(--ink);font:400 16px/1.3 var(--sans);letter-spacing:0;text-transform:none;border-radius:0;-webkit-appearance:none;appearance:none}
.wm-form select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.wm-form input::placeholder{color:#78736d;opacity:1}
.wm-form input:focus,.wm-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.wm-form .wm-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--graphite);line-height:1.5}
.wm-form .wm-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}
.wm-form .wm-btn{width:100%}
.wm-form .form-erro{margin:0;padding:12px 14px;background:#fbeceb;color:#8a1f1a;font-size:14px;line-height:1.45}
.wm-form .wm-alt{justify-self:start;font-size:14px}
.wm-form .wm-privacy{font-size:12.5px;line-height:1.55;color:var(--muted)}

/* rodapé — mesma estrutura do rodapé oficial */
.wm-footer{background:var(--ink);color:#fff;padding:clamp(46px,6vw,80px) var(--gut) clamp(96px,8vw,80px)}
.wm-footer .wm-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:end;max-width:var(--max);margin:0 auto}
.wm-footer img{width:170px}
.wm-footer .wm-frase{font-family:var(--serif);font-size:1.25rem;margin-top:16px;letter-spacing:-.02em}
.wm-footer p{font-size:.82rem;line-height:1.8;color:rgba(255,255,255,.66)}
.wm-footer a{color:rgba(255,255,255,.86);text-underline-offset:3px}
.wm-footer nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:14px;font-size:.82rem}

/* barra fixa mobile */
.wm-bar{display:none}

/* ── animação discreta ─────────────────────────────────────────── */
@media (prefers-reduced-motion:no-preference){
  .wm-js .wm-reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
  .wm-js .wm-reveal.is-in{opacity:1;transform:none}
  .wm-hero-media img{animation:wmZoom 14s ease-out both}
  @keyframes wmZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
}
@media (prefers-reduced-motion:reduce){
  body.wm *,body.wm *::before,body.wm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ═══════════════  WOMAN — camada editorial própria  ═══════════════ */
.wm--woman .wm-header{color:var(--ink)}
.wm--woman .wm-hero{background:var(--tint);color:var(--ink)}
.wm--woman .wm-hero h1 span{font-style:italic;color:var(--accent)}
.wm--woman .wm-hero-lead{color:#4f4744}
.wm--woman .wm-hero-media{margin:18px 18px 18px 0;border-radius:0 0 0 220px}
.wm--woman .wm-phases{display:flex;flex-wrap:wrap;gap:0;margin:0 0 30px;border:1px solid rgba(42,35,38,.18);width:max-content;max-width:100%}
.wm--woman .wm-phases li{padding:9px 14px;font-size:12px;font-weight:600;letter-spacing:.06em;color:#5b4f4b}
.wm--woman .wm-phases li+li{border-left:1px solid rgba(42,35,38,.18)}
.wm--woman .wm-phases li.is-now{background:var(--deep);color:#fff}
.wm--woman .wm-sec--tint{background:var(--tint)}
.wm--woman .wm-voices-photo{border-radius:240px 240px 0 0}
.wm--woman .wm-voices-list q{font-style:italic}
.wm--woman .wm-atlas-panel figure{margin-top:28px;aspect-ratio:16/10;overflow:hidden;border-radius:0 0 0 120px}
.wm--woman .wm-atlas-panel figure img{width:100%;height:100%;object-fit:cover}
.wm--woman .wm-doctor{background:var(--tint-2)}
.wm--woman .wm-doctor-photo{border-radius:260px 0 0 0}

/* Nas duas páginas, o retrato olha para o texto. */
.wm--woman .wm-doctor,.wm--man .wm-doctor{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
.wm--woman .wm-doctor-photo,.wm--man .wm-doctor-photo{order:2}
.wm--woman .wm-doctor-copy,.wm--man .wm-doctor-copy{order:1}

/* ═══════════════  MAN — camada editorial própria  ═══════════════ */
.wm--man .wm-header{color:var(--ink)}
.wm--man .wm-hero{background:var(--tint);color:var(--ink);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.wm--man .wm-hero-copy{order:2}
.wm--man .wm-hero-media{order:1;margin:18px 0 18px 18px;border-radius:0 0 220px 0}
.wm--man .wm-hero-media img{object-position:50% 42%}
.wm--man .wm-hero h1{font-size:clamp(50px,5.4vw,88px)}
.wm--man .wm-hero h1 span{color:var(--accent);font-style:italic}
.wm--man .wm-hero-lead{color:#4b544e}
.wm--man .wm-focus{display:flex;flex-wrap:wrap;margin:0 0 30px;border:1px solid rgba(38,51,45,.2);width:max-content;max-width:100%}
.wm--man .wm-focus li{padding:9px 14px;font-size:12px;font-weight:600;letter-spacing:.05em;color:#42584e}
.wm--man .wm-focus li+li{border-left:1px solid rgba(38,51,45,.2)}
.wm--man .wm-sec--tint{background:var(--tint)}
.wm--man .wm-rows{border-top:1px solid var(--ink)}
.wm--man .wm-rows li{display:grid;grid-template-columns:72px minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line)}
.wm--man .wm-rows strong{font-family:var(--serif);font-weight:400;font-size:clamp(25px,2.4vw,34px);line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.wm--man .wm-rows p{font-size:15px;color:var(--muted)}
.wm--man .wm-man-life{background:#e9eae4}
.wm--man .wm-man-life .wm-h2{max-width:15ch}
.wm--man .wm-man-life-gallery{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(16px,2vw,30px);align-items:start}
.wm--man .wm-man-life-gallery figure:nth-child(2){padding-top:clamp(36px,5vw,72px)}
.wm--man .wm-man-life-gallery img{width:100%;height:clamp(360px,39vw,520px);object-fit:cover}
.wm--man .wm-man-life-gallery figure:first-child img{object-position:50% 36%}
.wm--man .wm-man-life-gallery figure:nth-child(2) img{object-position:50% 42%}
.wm--man .wm-man-life-gallery figcaption{padding-top:12px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.wm--man .wm-beyond{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--line);margin-top:clamp(36px,4vw,56px)}
.wm--man .wm-beyond>div{padding:clamp(26px,3vw,42px)}
.wm--man .wm-beyond>div+div{border-left:1px solid var(--line);background:#fff}
.wm--man .wm-beyond h3{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;color:var(--muted)}
.wm--man .wm-beyond>div+div h3{color:var(--accent)}
.wm--man .wm-beyond li{padding:12px 0;border-top:1px solid var(--line);font-size:16px;display:flex;gap:12px;align-items:baseline}
.wm--man .wm-beyond li::before{content:"—";color:var(--muted)}
.wm--man .wm-beyond>div+div li::before{content:"+";color:var(--accent);font-weight:700}
.wm--man .wm-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.wm--man .wm-tile{background:var(--paper);padding:28px 26px 30px;min-height:250px;display:flex;flex-direction:column;transition:background .25s ease,color .25s ease}
.wm--man .wm-tile h3{font-family:var(--serif);font-weight:400;font-size:clamp(25px,2.2vw,32px);line-height:1.1;letter-spacing:-.02em;margin:auto 0 12px;color:var(--ink);padding-top:44px}
.wm--man .wm-tile p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.wm--man .wm-tile:hover{background:var(--deep)}
.wm--man .wm-tile:hover h3{color:#fff}
.wm--man .wm-tile:hover p{color:#c6cdc8}
.wm--man .wm-tile--photo{grid-row:span 1;padding:0;position:relative;overflow:hidden;background:var(--deep)}
.wm--man .wm-tile--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.88}
.wm--man .wm-tile--photo:hover{background:var(--deep)}
.wm--man .wm-journey-v{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px)}
.wm--man .wm-vsteps{border-left:1px solid var(--line);position:relative}
.wm--man .wm-vsteps::before{content:"";position:absolute;left:-1px;top:0;width:1px;height:var(--wm-progress,0%);background:var(--accent);transition:height 1.6s cubic-bezier(.2,.7,.2,1)}
.wm--man .wm-vsteps li{position:relative;padding:4px 0 34px 42px}
.wm--man .wm-vsteps li::before{content:"";position:absolute;left:-6px;top:10px;width:11px;height:11px;background:var(--paper);border:1px solid var(--accent)}
.wm--man .wm-vsteps h3{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:6px 0 10px}
.wm--man .wm-vsteps p{font-size:16px;color:var(--muted);max-width:52ch}
.wm--man .wm-doctor{background:#26332d;color:#e4e9e5}
.wm--man .wm-doctor-photo{border-radius:260px 0 0 0}
.wm--man .wm-doctor .wm-h2{color:#fff}
.wm--man .wm-doctor .wm-sign{border-color:rgba(255,255,255,.2)}
.wm--man .wm-doctor .wm-sign strong{color:#fff}
.wm--man .wm-doctor .wm-facts span{border-color:rgba(255,255,255,.22);color:#e6ebe7}
.wm--man .wm-cross{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding:clamp(26px,3vw,40px);border:1px solid var(--line);background:#fff}
.wm--man .wm-cross h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.12;color:var(--ink);margin-bottom:8px}
.wm--man .wm-cross p{font-size:15px;color:var(--muted);max-width:66ch}

/* ═══════════════  RESPONSIVO  ═══════════════ */
@media (max-width:1100px){
  .wm--man .wm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-journey-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .wm-journey-track::before,.wm-journey-track::after{display:none}
}
@media (max-width:960px){
  body.wm{font-size:16px}
  .wm-nav{display:none}
  .wm-menu-btn{display:inline-block}
  .wm-nav.is-open{display:flex;position:absolute;top:100%;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:0;background:#fff;color:var(--ink);box-shadow:0 20px 40px -20px rgba(0,0,0,.45);padding:8px 0}
  .wm-nav.is-open a{padding:14px 20px;opacity:1;border-bottom:1px solid var(--line)}
  .wm-nav.is-open .wm-nav-cta{margin:12px 20px 8px;justify-content:center;background:var(--ink);color:#fff;border-color:var(--ink)}
  .wm-hero,.wm--man .wm-hero{grid-template-columns:1fr;min-height:0}
  .wm-hero-copy{padding:118px var(--gut) 44px}
  .wm-hero-media{min-height:0;aspect-ratio:4/3.4}
  .wm--woman .wm-hero-media{margin:0 var(--gut) 0;border-radius:0 0 0 120px}
  .wm--man .wm-hero-copy{order:1}
  .wm--man .wm-hero-media{order:2;margin:0 var(--gut);border-radius:0 0 120px 0}
  .wm--woman .wm-doctor-photo,.wm--man .wm-doctor-photo{order:1}
  .wm--woman .wm-doctor-copy,.wm--man .wm-doctor-copy{order:2}
  .wm-head,.wm-split,.wm-voices,.wm-atlas,.wm-consulta,.wm-faq,.wm-lead-sec,.wm--man .wm-journey-v{grid-template-columns:1fr}
  .wm--woman .wm-doctor,.wm--man .wm-doctor{grid-template-columns:minmax(0,1fr)}
  .wm-atlas-list{border-right:0}
  .wm-atlas-panel{padding-left:0}
  .wm-principles{grid-template-columns:1fr}
  .wm-principles article,.wm-principles article+article{padding:26px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .wm-doctor-photo{min-height:0;aspect-ratio:4/4.4}
  .wm--woman .wm-doctor-photo,.wm--man .wm-doctor-photo{border-radius:0 160px 0 0}
  .wm-voices-photo{max-width:420px}
  .wm--man .wm-rows li{grid-template-columns:52px minmax(0,1fr)}
  .wm--man .wm-rows li p{grid-column:2}
  .wm--man .wm-man-life-gallery{grid-template-columns:1fr 1fr}
  .wm--man .wm-man-life-gallery img{height:clamp(300px,48vw,420px)}
  .wm--man .wm-beyond{grid-template-columns:1fr}
  .wm--man .wm-beyond>div+div{border-left:0;border-top:1px solid var(--line)}
  .wm-journey-foot,.wm--man .wm-cross{grid-template-columns:1fr}
  .wm-footer .wm-grid{grid-template-columns:1fr}
  }
@media (max-width:640px){
  .wm-brand img{width:112px}
  .wm-brand em{font-size:10px;padding-left:10px}
  .wm-hero h1,.wm--man .wm-hero h1{font-size:clamp(44px,12.4vw,60px)}
  .wm-hero-actions .wm-btn{width:100%;min-width:0;text-align:center;white-space:normal}
  .wm--man .wm-focus{width:auto;border:0;gap:8px}
  .wm--man .wm-focus li,.wm--man .wm-focus li+li{border:1px solid rgba(38,51,45,.2);padding:8px 12px}
  .wm-journey-track{grid-template-columns:1fr;row-gap:30px}
  .wm-step{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 18px;padding-right:0}
  .wm-step-dot{margin:0;grid-row:span 2}
  .wm-step p{max-width:none}
  .wm--man .wm-tiles{grid-template-columns:1fr}
  .wm--man .wm-man-life-gallery{grid-template-columns:1fr;gap:28px}
  .wm--man .wm-man-life-gallery figure:nth-child(2){padding-top:0}
  .wm--man .wm-man-life-gallery img{height:clamp(310px,92vw,420px)}
  .wm--man .wm-man-life-gallery figure:nth-child(2) img{height:clamp(260px,72vw,340px)}
  .wm--man .wm-tile{min-height:0}
  .wm--man .wm-tile h3{padding-top:22px}
  .wm--man .wm-tile--photo{min-height:260px}
  .wm-form .wm-row{grid-template-columns:1fr}
  .wm-consulta-facts{grid-template-columns:1fr}
  .wm-consulta-facts div:nth-child(2n){padding-left:0;border-left:0}
  .wm-faq summary{grid-template-columns:34px minmax(0,1fr) 20px;font-size:16px}
  .wm-faq details>div{padding:0 0 22px 44px}
  .wm-callout{grid-template-columns:1fr}
  .wm--man .wm-hero-index{display:none}
  .wm-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;align-items:center;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:rgba(22,23,15,.96);backdrop-filter:blur(8px);transform:translateY(0);transition:transform .3s ease}
  .wm-bar.is-hidden{transform:translateY(110%)}
  .wm-bar .wm-btn{flex:1;min-height:50px;background:#fff;color:var(--ink)!important;border-color:#fff}
  .wm-bar .wm-bar-zap{flex:none;min-height:50px;padding:0 14px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;font-size:13px;font-weight:600}
}

/* Sete frentes preenchem a grade sem fotografia decorativa. */
.wm--man .wm-tiles>.wm-tile:last-child{grid-column:span 2}
@media (max-width:640px){.wm--man .wm-tiles>.wm-tile:last-child{grid-column:auto}}

/* Refino de ritmo: entra em sequência, sem esconder conteúdo se o script falhar. */
.wm--woman .wm-woman-life{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:560px;background:#e8ded5;color:var(--ink)}
.wm--woman .wm-woman-life-photo{position:relative;min-height:560px;overflow:hidden}
.wm--woman .wm-woman-life-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 48%}
.wm--woman .wm-woman-life-copy{padding:clamp(62px,7.5vw,120px) var(--gut);display:flex;flex-direction:column;justify-content:center}
.wm--woman .wm-woman-life-copy .wm-h2{max-width:13ch}
.wm--woman .wm-woman-life-copy .wm-lead{margin-top:25px;max-width:48ch}
.wm-atlas-tab[aria-selected="true"]{background:color-mix(in srgb,var(--tint) 65%,transparent);padding-left:14px;border-left:2px solid var(--accent)}
@media(prefers-reduced-motion:no-preference){
  .wm-signs.is-in li,.wm-principles.is-in article,.wm-consulta-facts.is-in div{animation:wmItem .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--wm-i,0) * 65ms)}
  .wm-signs li:nth-child(2),.wm-principles article:nth-child(2),.wm-consulta-facts div:nth-child(2){--wm-i:1}
  .wm-signs li:nth-child(3),.wm-principles article:nth-child(3),.wm-consulta-facts div:nth-child(3){--wm-i:2}
  .wm-signs li:nth-child(4),.wm-consulta-facts div:nth-child(4){--wm-i:3}
  .wm-signs li:nth-child(5){--wm-i:4}.wm-signs li:nth-child(6){--wm-i:5}.wm-signs li:nth-child(7){--wm-i:6}
  .wm-signs li:nth-child(8){--wm-i:7}.wm-signs li:nth-child(9){--wm-i:8}.wm-signs li:nth-child(10){--wm-i:9}
  .wm-signs li:nth-child(11){--wm-i:10}.wm-signs li:nth-child(12){--wm-i:11}
  @keyframes wmItem{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .wm--woman .wm-woman-life-photo img{transition:transform 1.2s ease}
  .wm--woman .wm-woman-life:hover .wm-woman-life-photo img{transform:scale(1.035)}
}
@media(max-width:960px){
  .wm--woman .wm-woman-life{grid-template-columns:1fr}
  .wm--woman .wm-woman-life-photo{min-height:0;aspect-ratio:16/10}
  .wm--woman .wm-woman-life-copy{padding:65px var(--gut) 74px}
}
@media(max-width:640px){
  .wm--woman .wm-woman-life-photo{aspect-ratio:4/3.1}
  .wm--woman .wm-woman-life-copy{padding:58px var(--gut) 66px}
}
/* CAVINI · camada premium: abertura curta (1ª visita da sessão), marca d'água e faixa da caneta */
.cav-veil{position:fixed;inset:0;z-index:99999;background:radial-gradient(120% 90% at 50% 40%,#2f2d27 0%,#1b1a16 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:transform .75s cubic-bezier(.77,0,.18,1);cursor:pointer}
.cav-veil.out{transform:translateY(-100%)}
.cav-veil img.sym{width:min(120px,30vw);height:auto;-webkit-mask:conic-gradient(from 200deg,#000 var(--cava),transparent 0);mask:conic-gradient(from 200deg,#000 var(--cava),transparent 0);animation:cavDraw .7s cubic-bezier(.6,0,.2,1) .05s forwards}
.cav-veil img.word{width:min(150px,38vw);height:auto;opacity:0;transform:translateY(8px);animation:cavUp .45s ease .5s forwards}
@property --cava{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes cavDraw{to{--cava:360deg}}
@keyframes cavUp{to{opacity:1;transform:none}}
@keyframes cavFloat{from{transform:rotate(-8deg) translateY(0)}to{transform:rotate(6deg) translateY(36px)}}
.cav-wm-host{position:relative;overflow:hidden;isolation:isolate}
.cav-wm-host>.cav-wm{position:absolute;z-index:-1;pointer-events:none;width:min(640px,110vw);height:auto;opacity:.05;right:-10vw;top:-40px;animation:cavFloat 18s ease-in-out infinite alternate}
.cav-wm-host.wm-left>.cav-wm{right:auto;left:-14vw;top:auto;bottom:-80px}
.cav-caneta{background:#1b1a16;color:#f3eee6;padding:clamp(48px,6vw,80px) clamp(24px,8vw,130px);display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,5vw,70px);align-items:center}
.cav-caneta .eyebrow{color:#d39a7c!important;margin:0 0 16px}
.cav-caneta h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(34px,4.2vw,56px);line-height:1;margin:0 0 16px;color:#fff!important}
.cav-caneta h2 em{font-style:italic;color:#e2b9a3}
.cav-caneta p{color:#d9cfc2!important;max-width:58ch;margin:0}
.cav-caneta .cav-caneta-act{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cav-caneta .cav-caneta-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#b07650,#8d5c3d);color:#fff!important;text-decoration:none!important;font:600 15px/1 'Instrument Sans',sans-serif;padding:18px 26px;border-radius:999px;box-shadow:0 14px 30px -14px rgba(0,0,0,.7);transition:transform .2s,filter .2s}
.cav-caneta .cav-caneta-btn:hover{transform:translateY(-2px);filter:brightness(1.07)}
.cav-caneta .cav-caneta-btn span{transition:transform .2s}.cav-caneta .cav-caneta-btn:hover span{transform:translateX(4px)}
.cav-caneta small{color:#a9a094;font-size:12px}
.lead-form.sq-host{position:relative;overflow:hidden;padding:clamp(24px,3vw,38px)!important}
@media(max-width:900px){.cav-caneta{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cav-veil{display:none!important}.cav-wm-host>.cav-wm{animation:none}}

/* faixa com os questionários (página inicial) */
.cav-quiz-band{background:#1b1a16;color:#f3eee6;padding:clamp(56px,7vw,96px) clamp(24px,7vw,120px)}
.cav-quiz-band .cqb-head{max-width:720px;margin:0 0 clamp(28px,4vw,44px)}
.cav-quiz-band .eyebrow{color:#d39a7c!important;margin:0 0 16px}
.cav-quiz-band h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(36px,4.6vw,60px);line-height:1;margin:0 0 16px;color:#fff!important}
.cav-quiz-band h2 em{font-style:italic;color:#e2b9a3}
.cav-quiz-band .cqb-head p{color:#d9cfc2!important;margin:0;max-width:58ch}
.cav-quiz-band .cqb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cav-quiz-band a.cqb-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;min-height:250px;padding:clamp(24px,3vw,36px);border-radius:24px;text-decoration:none!important;color:#f3eee6!important;background:linear-gradient(160deg,#2c2a25 0%,#201f1b 100%);border:1px solid #3a3731;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.cav-quiz-band a.cqb-card:hover{transform:translateY(-4px);border-color:#9d6a49;box-shadow:0 24px 50px -28px rgba(0,0,0,.8)}
.cav-quiz-band .cqb-card small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#d39a7c;font-weight:700}
.cav-quiz-band .cqb-card b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(28px,2.8vw,38px);line-height:1.05;color:#fff}
.cav-quiz-band .cqb-card span.d{color:#cdbfae;font-size:15px;line-height:1.55;flex:1}
.cav-quiz-band .cqb-card span.go{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;background:linear-gradient(135deg,#b07650,#8d5c3d);color:#fff;font:600 14px/1 'Instrument Sans',sans-serif;padding:15px 22px;border-radius:999px;transition:transform .2s}
.cav-quiz-band .cqb-card:hover span.go{transform:translateX(4px)}
.cav-quiz-band .cqb-card img.cqb-sym{position:absolute;right:-50px;bottom:-50px;width:220px;opacity:.06;pointer-events:none;transition:transform .6s ease}
.cav-quiz-band .cqb-card:hover img.cqb-sym{transform:rotate(-12deg) scale(1.05)}
@media(max-width:760px){.cav-quiz-band .cqb-grid{grid-template-columns:1fr}.cav-quiz-band a.cqb-card{min-height:0}}
