/* Zi Vital — final visual pass before image production */

/* Conócenos: quieter hero hierarchy and cleaner spacing */
.zv-about-hero-v2__copy h1{max-width:690px!important;font-size:clamp(50px,4.9vw,72px)!important;line-height:.94!important}
.zv-about-hero-v2__lead{max-width:650px!important;margin-top:30px!important;font-size:13px!important;line-height:1.82!important}
.zv-about-hero-v2__copy .act-actions{margin-top:30px!important}
.zv-about-hero-v2__visual{min-height:610px!important}

/* Medical staff: all three cards share exactly the same geometry */
.zv-medical-team-grid{align-items:stretch!important}
.zv-medical-team-card{display:grid!important;grid-template-rows:auto 1fr;height:100%!important}
.zv-medical-team-card__visual{width:100%!important;aspect-ratio:4/5!important;min-height:0!important}
.zv-medical-team-card__visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
.zv-medical-team-card__body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-height:205px!important;padding:22px 24px 24px!important}
.zv-medical-team-card h3{font-size:27px!important;line-height:1.02!important}
.zv-medical-team-card__specialty{font-size:10px!important;line-height:1.55!important}
.zv-medical-team-card__cmp{margin-top:10px!important}
.zv-medical-team-card__copy{margin-top:14px!important;font-size:10px!important;line-height:1.6!important}

/* Domain landing heroes: same open editorial system used on Home */
.zv-domain-landing-page .zvdl-hero{position:relative!important;overflow:hidden!important;padding:44px 0 80px!important;background:linear-gradient(180deg,#fff 0%,#fffaf4 100%)!important}
.zv-domain-landing-page .zvdl-hero::before{content:"";position:absolute;left:-10%;bottom:-35%;width:72%;height:75%;background:radial-gradient(circle at 52% 46%,rgba(236,217,192,.45),transparent 58%);pointer-events:none}
.zv-domain-landing-page .zvdl-hero::after{right:-110px!important;bottom:-170px!important;width:460px!important;height:460px!important;border-color:rgba(184,141,51,.12)!important}
.zv-domain-landing-page .zvdl-hero__inner{position:relative;z-index:1;grid-template-columns:minmax(0,1.04fr) minmax(410px,.76fr)!important;gap:74px!important}
.zv-domain-landing-page .zvdl-hero__copy h1{max-width:720px!important;font-size:clamp(50px,5.1vw,74px)!important;line-height:.93!important}
.zv-domain-landing-page .zvdl-hero__lead{max-width:650px!important;margin-top:28px!important;font-size:13px!important;line-height:1.82!important}
.zv-domain-landing-page .zvdl-hero .wp-block-buttons{margin-top:30px!important}
.zv-domain-landing-page .zvdl-hero__image{border-radius:36px!important;box-shadow:0 28px 70px rgba(67,48,31,.09)!important}
.zv-domain-landing-page .zvdl-hero__note{border-radius:18px!important}

/* Approach hero */
.zv-approach-hero-v2 h1{max-width:700px!important;font-size:clamp(50px,5vw,74px)!important;line-height:.93!important}
.zv-approach-hero-v2__lead{margin-top:28px!important;font-size:13px!important}
.zv-approach-hero-v2 .act-actions{margin-top:30px!important}

/* Treatment fallback hero follows the same family */
.act-treatment-page-v2{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffaf4 52%,#fff 100%)}
.zv-treatment-hero-v2{position:relative;overflow:hidden;padding:44px 0 84px;background:linear-gradient(180deg,#fff 0%,#fffaf4 100%)}
.zv-treatment-hero-v2::before{content:"";position:absolute;left:-10%;bottom:-35%;width:70%;height:75%;background:radial-gradient(circle at 52% 46%,rgba(236,217,192,.45),transparent 58%);pointer-events:none}
.zv-treatment-hero-v2__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(410px,.76fr);gap:74px;align-items:center}
.zv-treatment-hero-v2 h1{max-width:700px;margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(50px,5vw,74px);font-weight:500;line-height:.93;letter-spacing:-.04em;color:#302924}
.zv-treatment-hero-v2__lead{max-width:650px;margin:28px 0 0;color:#817469;font-size:13px;line-height:1.82}
.zv-treatment-hero-v2 .act-actions{margin-top:30px}
.zv-treatment-hero-v2__visual{position:relative;min-height:610px}
.zv-treatment-hero-v2__frame{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(184,141,51,.17);border-radius:36px;background:linear-gradient(145deg,#f0e2d1,#fffaf4);box-shadow:0 28px 70px rgba(73,52,31,.09)}
.zv-treatment-hero-v2__frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.zv-treatment-hero-v2__label{position:absolute;z-index:2;left:22px;top:22px;padding:9px 11px;border:1px solid rgba(184,141,51,.2);border-radius:999px;background:rgba(255,251,246,.86);backdrop-filter:blur(10px);color:#966c29;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.zv-treatment-hero-v2__note{position:absolute;z-index:2;right:-20px;bottom:34px;max-width:250px;padding:16px 18px;border:1px solid rgba(184,141,51,.18);border-radius:18px;background:rgba(255,251,246,.92);box-shadow:0 16px 34px rgba(63,46,29,.08);color:#77685b;font-size:10px;line-height:1.55}

/* Skin Signature V3 — richer editorial approach page */
.zv-approach-v3{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffaf5 44%,#fff 100%)}
.zv-approach-v3 .zv-approach-section{position:relative;padding:92px 0}
.zv-approach-v3 .zv-approach-section--soft{background:linear-gradient(180deg,rgba(252,246,238,.78),rgba(255,251,246,.96))}
.zv-approach-v3 h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(42px,4vw,64px);font-weight:500;line-height:.98;letter-spacing:-.035em;color:#302924}
.zv-approach-v3 h3{font-family:"Cormorant Garamond",serif;font-weight:500;color:#342b25}
.zv-approach-v3 p{color:#82756a}
.zv-approach-v3__intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.55fr);gap:90px;align-items:end;margin-bottom:42px}
.zv-approach-v3__intro-grid>p{max-width:510px;font-size:13px;line-height:1.8}
.zv-signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zv-signal-card,.zv-journey-card,.zv-approach-tool--rich,.zv-expect-grid article{position:relative;overflow:hidden;border:1px solid rgba(184,141,51,.18);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 14px 38px rgba(61,45,30,.04);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}
.zv-signal-card{min-height:210px;padding:26px}
.zv-signal-card>span,.zv-approach-tool--rich>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff8ee;border:1px solid rgba(184,141,51,.22);color:#b18434;font-size:16px}
.zv-signal-card h3{margin:34px 0 8px;font-size:29px;line-height:1}
.zv-signal-card p,.zv-journey-card p,.zv-approach-tool--rich p,.zv-expect-grid p{margin:0;font-size:11px;line-height:1.65}
.zv-approach-v3__evaluate{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.1fr);gap:90px;align-items:start}
.zv-approach-v3__sticky-copy{position:sticky;top:150px}
.zv-approach-v3__sticky-copy>p:last-child{max-width:460px;margin-top:26px;font-size:13px;line-height:1.8}
.zv-evaluate-list{border-top:1px solid rgba(184,141,51,.17)}
.zv-evaluate-row{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:27px 16px;border-bottom:1px solid rgba(184,141,51,.17);transition:padding .3s ease,background .3s ease}
.zv-evaluate-row>span{font-family:"Cormorant Garamond",serif;font-size:18px;color:#b18434}
.zv-evaluate-row h3{margin:0 0 7px;font-size:31px;line-height:1}
.zv-evaluate-row p{margin:0;font-size:11px;line-height:1.6}
.zv-evaluate-row:hover{padding-left:26px;background:rgba(255,250,243,.7)}
.zv-journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:42px}
.zv-journey-card{min-height:220px;padding:24px}
.zv-journey-card>span{font-family:"Cormorant Garamond",serif;color:#b18434;font-size:20px}
.zv-journey-card h3{margin:54px 0 10px;font-size:29px;line-height:1}
.zv-approach-v3 .zv-benefit-list>div{transition:background .3s ease,padding-left .3s ease}
.zv-approach-v3 .zv-benefit-list>div:hover{padding-left:12px;background:rgba(255,249,240,.6)}
.zv-approach-v3 .zv-approach-tools{gap:16px}
.zv-approach-tool--rich{min-height:270px;padding:26px!important}
.zv-approach-tool--rich .zv-tool-role{margin:26px 0 6px;color:#ae7f2d;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.zv-approach-tool--rich h3{margin:0 0 12px;font-size:31px;line-height:1}
.zv-approach-v3__less{padding-top:18px!important}
.zv-approach-v3__less-card{position:relative;overflow:hidden;padding:74px 78px;border:1px solid rgba(184,141,51,.2);border-radius:34px;background:linear-gradient(135deg,#fffdf9 0%,#fbefdc 48%,#f7e3bd 100%);box-shadow:0 28px 70px rgba(86,59,27,.08)}
.zv-approach-v3__less-card::after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border:1px solid rgba(184,141,51,.16);border-radius:50%}
.zv-approach-v3__less-card h2{max-width:700px}
.zv-approach-v3__less-card>p:last-child{max-width:780px;margin-top:22px;font-size:13px;line-height:1.8}
.zv-expect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}
.zv-expect-grid article{padding:25px;min-height:190px}
.zv-expect-grid article>span{font-family:"Cormorant Garamond",serif;font-size:18px;color:#b18434}
.zv-expect-grid h3{margin:45px 0 9px;font-size:28px;line-height:1}
.zv-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:42px}
.zv-faq-item{border:1px solid rgba(184,141,51,.18);border-radius:18px;background:#fff;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease}
.zv-faq-item:hover{border-color:rgba(184,141,51,.34);box-shadow:0 14px 34px rgba(66,47,29,.06)}
.zv-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;padding:20px 22px;color:#3a3029;font-family:"Cormorant Garamond",serif;font-size:22px;line-height:1.1}
.zv-faq-item summary::-webkit-details-marker{display:none}
.zv-faq-item summary b{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#fff7e8;color:#b18434;font:500 18px/1 Arial;transition:transform .25s ease}
.zv-faq-item[open] summary b{transform:rotate(45deg)}
.zv-faq-item>p{margin:0;padding:0 22px 22px;font-size:11px;line-height:1.7}
.zv-hover-glow::before{content:"";position:absolute;inset:-35%;z-index:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.72) 50%,transparent 62%);transform:translateX(-58%) rotate(4deg);opacity:0;transition:transform .7s ease,opacity .35s ease;pointer-events:none}
.zv-hover-glow:hover::before{transform:translateX(58%) rotate(4deg);opacity:.72}
.zv-hover-glow>*{position:relative;z-index:1}
.zv-hover-glow:hover{transform:translateY(-4px);border-color:rgba(184,141,51,.35);box-shadow:0 20px 48px rgba(68,47,25,.09)}
.zv-approach-v3 .zv-approach-hero-v2__frame img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease}
.zv-approach-v3 .zv-approach-hero-v2__frame:hover img{transform:scale(1.025);filter:brightness(1.025)}
.zv-reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
.zv-reveal.is-visible{opacity:1;transform:none}
.zv-approach-v3 .act-final-cta__inner{background:linear-gradient(135deg,#fffdf9 0%,#fbefdc 48%,#f4ddb2 100%)!important;border:1px solid rgba(184,141,51,.18)!important;color:#302924!important}
.zv-approach-v3 .act-final-cta__inner h2,.zv-approach-v3 .act-final-cta__inner p{color:inherit!important}

@media(max-width:1000px){
  .zv-domain-landing-page .zvdl-hero__inner,.zv-treatment-hero-v2__grid{grid-template-columns:1fr!important}
  .zv-treatment-hero-v2__visual{min-height:560px;max-width:660px;width:100%;margin-inline:auto;order:-1}
  .zv-approach-v3__intro-grid,.zv-approach-v3__evaluate{grid-template-columns:1fr;gap:38px}
  .zv-approach-v3__sticky-copy{position:static}
  .zv-signal-grid{grid-template-columns:repeat(2,1fr)}
  .zv-journey-grid{grid-template-columns:repeat(2,1fr)}
  .zv-journey-card:last-child{grid-column:span 2}
  .zv-expect-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .zv-about-hero-v2__copy h1,.zv-domain-landing-page .zvdl-hero__copy h1,.zv-approach-hero-v2 h1,.zv-treatment-hero-v2 h1{font-size:48px!important}
  .zv-about-hero-v2__lead,.zv-domain-landing-page .zvdl-hero__lead,.zv-approach-hero-v2__lead,.zv-treatment-hero-v2__lead{margin-top:22px!important}
  .zv-medical-team-card__body{min-height:0!important}
  .zv-treatment-hero-v2{padding:30px 0 62px}
  .zv-treatment-hero-v2__visual{min-height:500px}
  .zv-approach-v3 .zv-approach-section{padding:66px 0}
  .zv-approach-v3 h2{font-size:44px}
  .zv-signal-grid,.zv-journey-grid,.zv-expect-grid,.zv-faq-grid{grid-template-columns:1fr}
  .zv-journey-card:last-child{grid-column:auto}
  .zv-signal-card,.zv-journey-card,.zv-approach-tool--rich,.zv-expect-grid article{min-height:0}
  .zv-signal-card h3,.zv-journey-card h3,.zv-expect-grid h3{margin-top:28px}
  .zv-approach-v3__less-card{padding:48px 26px;border-radius:26px}
  .zv-evaluate-row{grid-template-columns:44px 1fr;padding-inline:0}
}
@media(prefers-reduced-motion:reduce){
  .zv-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .zv-hover-glow,.zv-hover-glow::before,.zv-approach-v3 .zv-approach-hero-v2__frame img{transition:none!important;transform:none!important}
}
