/* Zi Vital — interior polish v1
 * Scope: Conócenos, Domain pages and Approach pages.
 * Store is intentionally excluded / frozen.
 */

/* Shared premium button interaction */
.act-btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,background .28s ease,border-color .28s ease!important}
.act-btn::after{content:"";position:absolute;z-index:-1;top:-35%;left:-65%;width:34%;height:175%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.58),transparent);transform:rotate(14deg);transition:left .65s cubic-bezier(.2,.72,.2,1);pointer-events:none}
.act-btn:hover{transform:translateY(-2px)}
.act-btn:hover::after{left:135%}
.act-btn--primary:hover{box-shadow:0 17px 36px rgba(184,141,51,.27)!important}
.act-btn--ghost:hover{border-color:rgba(184,141,51,.34)!important;box-shadow:0 12px 30px rgba(74,53,31,.07)}

/* ---------- CONÓCENOS ---------- */
.act-about-page{background:linear-gradient(180deg,#fff 0%,#fffaf4 42%,#fff 100%)}
.act-about-page .act-container{width:min(calc(100% - 68px),1400px);max-width:none}
.act-about-page .act-section{padding:88px 0}

.zv-about-hero-v2{position:relative;overflow:hidden;padding:38px 0 92px;background:#fff}
.zv-about-hero-v2::before{content:"";position:absolute;inset:8% -8% auto 45%;height:72%;pointer-events:none;background:radial-gradient(circle at 45% 40%,rgba(238,220,195,.55),transparent 45%)}
.zv-about-hero-v2::after{content:"";position:absolute;right:-100px;top:90px;width:520px;height:520px;border:1px solid rgba(184,141,51,.13);border-radius:50%;pointer-events:none}
.zv-about-hero-v2__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.78fr);gap:76px;align-items:center}
.zv-about-hero-v2__copy h1{max-width:760px;margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(58px,6.1vw,88px);font-weight:500;line-height:.9;letter-spacing:-.04em;color:#302924}
.zv-about-hero-v2__lead{max-width:670px;margin:22px 0 0;color:#817468;font-size:14px;line-height:1.82}
.zv-about-hero-v2__visual{position:relative;min-height:650px}
.zv-about-hero-v2__frame{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(184,141,51,.16);border-radius:38px;background:linear-gradient(145deg,#f1e4d4,#fffaf4);box-shadow:0 28px 72px rgba(77,55,33,.1)}
.zv-about-hero-v2__frame::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.38),transparent 46%);pointer-events:none}
.zv-about-hero-v2__frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.zv-about-hero-v2__caption{position:absolute;left:24px;right:24px;bottom:22px;padding:17px 19px;border:1px solid rgba(255,255,255,.62);border-radius:20px;background:rgba(255,250,244,.84);backdrop-filter:blur(14px);box-shadow:0 15px 34px rgba(69,49,30,.07)}
.zv-about-hero-v2__caption span{display:block;color:#9b7121;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.zv-about-hero-v2__caption strong{display:block;margin-top:3px;font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:500;color:#3d322b}
.zv-about-hero-v2__caption small{display:block;margin-top:4px;color:#827469;font-size:9px}

.act-about-page .act-about-principles{gap:78px}
.act-about-page .act-section__title{font-size:clamp(44px,4.4vw,64px);line-height:.96}
.act-about-page .act-principle-grid article,.act-about-page .act-framework-grid article{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.act-about-page .act-principle-grid article:hover,.act-about-page .act-framework-grid article:hover{transform:translateY(-4px);border-color:rgba(184,141,51,.32);box-shadow:0 18px 42px rgba(73,53,33,.07)}

.zv-about-director-v2{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:72px;align-items:center}
.zv-about-director-v2__portrait{overflow:hidden;aspect-ratio:4/5;border:1px solid rgba(184,141,51,.16);border-radius:32px;background:#f2e5d6;box-shadow:0 24px 62px rgba(70,51,31,.09)}
.zv-about-director-v2__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
.zv-about-director-v2__copy h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(48px,4.7vw,68px);font-weight:500;line-height:.92;color:#312923}
.zv-about-director-v2__copy>p:not(.act-kicker){max-width:650px;color:#817468;font-size:13px;line-height:1.8}

.zv-medical-team-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);gap:54px;align-items:end;margin-bottom:36px}
.zv-medical-team-head h2{max-width:720px;margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(45px,4.5vw,64px);font-weight:500;line-height:.95;color:#312923}
.zv-medical-team-head>p{margin:0 0 3px;color:#84776c;font-size:12px;line-height:1.72}
.zv-medical-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.zv-medical-team-card{position:relative;overflow:hidden;border:1px solid rgba(184,141,51,.18);border-radius:28px;background:#fff;box-shadow:0 16px 40px rgba(71,52,32,.045);transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.zv-medical-team-card::after{content:"";position:absolute;top:-35%;left:-55%;width:34%;height:175%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:rotate(12deg);transition:left .72s cubic-bezier(.2,.72,.2,1);pointer-events:none}
.zv-medical-team-card:hover{transform:translateY(-5px);border-color:rgba(184,141,51,.34);box-shadow:0 24px 56px rgba(71,52,32,.08)}
.zv-medical-team-card:hover::after{left:135%}
.zv-medical-team-card__visual{aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#f3e6d7,#fff)}
.zv-medical-team-card__visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.zv-medical-team-card:hover .zv-medical-team-card__visual img{transform:scale(1.025)}
.zv-medical-team-card__placeholder{display:grid;place-items:center;width:100%;height:100%;font-family:"Cormorant Garamond",serif;font-size:54px;color:#b88d33}
.zv-medical-team-card__body{position:relative;z-index:1;padding:22px 23px 25px}
.zv-medical-team-card__role{margin:0 0 8px;color:#9b7121;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.zv-medical-team-card h3{margin:0;font-family:"Cormorant Garamond",serif;font-size:29px;font-weight:500;line-height:1;color:#372d26}
.zv-medical-team-card__specialty{margin:10px 0 0;color:#75685e;font-size:10px;line-height:1.55}
.zv-medical-team-card__cmp{display:inline-flex;margin-top:12px;padding:7px 9px;border:1px solid rgba(184,141,51,.18);border-radius:999px;background:#fffaf4;color:#8c6a33;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.zv-medical-team-card__copy{margin:13px 0 0;color:#8a7c70;font-size:10px;line-height:1.62}

.act-about-page .act-final-cta{padding-top:82px;padding-bottom:24px}
.act-about-page .act-final-cta__inner{padding:76px 68px}
.act-about-page .act-final-cta__inner h2{max-width:820px;font-size:clamp(44px,4.6vw,64px);line-height:.96}
.act-about-page .act-final-cta__inner>p:not(.act-kicker){margin:24px 0 0!important;line-height:1.75}
.act-about-page .act-final-cta__inner .act-actions{margin-top:30px}

/* ---------- APPROACH PAGES ---------- */
.act-approach-page-v2{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffaf4 52%,#fff 100%);color:#332a24}
.act-approach-page-v2 .act-container{width:min(calc(100% - 68px),1400px);max-width:none}
.zv-approach-hero-v2{position:relative;padding:46px 0 88px;background:#fff}
.zv-approach-hero-v2::before{content:"";position:absolute;left:-10%;top:16%;width:60%;height:65%;background:radial-gradient(circle at 50% 50%,rgba(236,216,188,.44),transparent 58%);pointer-events:none}
.zv-approach-hero-v2__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(410px,.78fr);gap:76px;align-items:center}
.zv-approach-hero-v2 h1{max-width:760px;margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(56px,6vw,88px);font-weight:500;line-height:.9;letter-spacing:-.04em;color:#302924}
.zv-approach-hero-v2__lead{max-width:670px;margin:22px 0 0;color:#817469;font-size:14px;line-height:1.82}
.zv-approach-hero-v2__visual{position:relative;min-height:610px}
.zv-approach-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-approach-hero-v2__frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.zv-approach-hero-v2__number{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-family:"Cormorant Garamond",serif;font-size:22px}
.zv-approach-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}
.zv-approach-section{padding:84px 0}
.zv-approach-section--soft{background:linear-gradient(180deg,#f9f0e6,#fffaf4)}
.zv-approach-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:78px;align-items:start}
.zv-approach-split h2,.zv-approach-heading h2{max-width:760px;margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(42px,4.4vw,62px);font-weight:500;line-height:.96;color:#332a24}
.zv-benefit-list{border-top:1px solid rgba(184,141,51,.18)}
.zv-benefit-list>div{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid rgba(184,141,51,.18)}
.zv-benefit-list span{font-family:"Cormorant Garamond",serif;font-size:23px;color:#c49f58}
.zv-benefit-list strong{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:500;color:#493b32}
.zv-approach-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.5fr);gap:52px;align-items:end;margin-bottom:32px}
.zv-approach-heading>p{margin:0 0 4px;color:#82756a;font-size:12px;line-height:1.72}
.zv-approach-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.zv-approach-tool{min-height:270px;padding:23px;border:1px solid rgba(184,141,51,.17);border-radius:24px;background:#fff;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.zv-approach-tool:hover{transform:translateY(-4px);border-color:rgba(184,141,51,.34);box-shadow:0 20px 45px rgba(71,52,32,.07)}
.zv-approach-tool>span{color:#b88d33;font-size:22px}
.zv-approach-tool h3{margin:72px 0 9px;font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:500;line-height:1.02;color:#3d322b}
.zv-approach-tool p{margin:0;color:#85786d;font-size:10px;line-height:1.65}
.act-approach-page-v2 .act-final-cta__inner{padding:74px 68px}
.act-approach-page-v2 .act-final-cta__inner h2{font-size:clamp(43px,4.6vw,64px)}
.act-approach-page-v2 .act-final-cta__inner>p:not(.act-kicker){margin:23px 0 0!important;line-height:1.72}
.act-approach-page-v2 .act-final-cta__inner .act-actions{margin-top:29px}

/* ---------- GUTENBERG DOMAIN POLISH ---------- */
.zv-domain-landing-page .zvdl-container,.zv-domain-landing-page .zvdl-hero__inner{width:min(calc(100% - 68px),1400px)!important;max-width:none!important}
.zv-domain-landing-page .zvdl-section-title{font-size:clamp(40px,4.2vw,60px)!important;line-height:.96!important}
.zv-domain-landing-page .zvdl-hero__copy h1{font-size:clamp(52px,5.8vw,82px)!important;line-height:.91!important}
.zv-domain-landing-page .zvdl-observe-card,.zv-domain-landing-page .zvdl-approach-card,.zv-domain-landing-page .zvdl-process-card,.zv-domain-landing-page .zvdl-faq-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.zv-domain-landing-page .zvdl-observe-card:hover,.zv-domain-landing-page .zvdl-approach-card:hover,.zv-domain-landing-page .zvdl-process-card:hover,.zv-domain-landing-page .zvdl-faq-card:hover{transform:translateY(-4px);border-color:rgba(184,141,51,.34);box-shadow:0 20px 46px rgba(70,51,32,.07)}
.zv-domain-landing-page .wp-block-button__link{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.zv-domain-landing-page .wp-block-button__link::after{content:"";position:absolute;z-index:-1;top:-35%;left:-65%;width:34%;height:175%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),transparent);transform:rotate(14deg);transition:left .65s cubic-bezier(.2,.72,.2,1)}
.zv-domain-landing-page .wp-block-button__link:hover{transform:translateY(-2px)}
.zv-domain-landing-page .wp-block-button__link:hover::after{left:135%}

@media(max-width:1000px){
  .zv-about-hero-v2__grid,.zv-about-director-v2,.zv-approach-hero-v2__grid,.zv-approach-split{grid-template-columns:1fr}
  .zv-about-hero-v2__visual,.zv-approach-hero-v2__visual{min-height:580px;max-width:660px;width:100%;margin-inline:auto;order:-1}
  .zv-medical-team-head,.zv-approach-heading{grid-template-columns:1fr;gap:14px}
  .zv-medical-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .zv-approach-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .act-about-page .act-container,.act-approach-page-v2 .act-container{width:calc(100% - 24px)}
  .act-about-page .act-section,.zv-approach-section{padding:62px 0}
  .zv-about-hero-v2,.zv-approach-hero-v2{padding:26px 0 62px}
  .zv-about-hero-v2__copy,.zv-approach-hero-v2__grid>div:first-child{text-align:left}
  .zv-about-hero-v2__copy h1,.zv-approach-hero-v2 h1{font-size:50px}
  .zv-about-hero-v2__visual,.zv-approach-hero-v2__visual{min-height:500px}
  .zv-medical-team-grid{grid-template-columns:1fr}
  .zv-medical-team-card{max-width:520px;width:100%;margin-inline:auto}
  .zv-approach-tools{grid-template-columns:1fr}
  .act-about-page .act-final-cta__inner,.act-approach-page-v2 .act-final-cta__inner{padding:48px 24px}
  .zv-domain-landing-page .zvdl-container,.zv-domain-landing-page .zvdl-hero__inner{width:calc(100% - 24px)!important}
}
