/* ═══════════════════════════════════════════════
   STYLE — Psicología Isui
   ═══════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--white);font-family:var(--font-sans);color:var(--ink);overflow-x:hidden}
a{text-decoration:none}
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0.7rem 4rem;background:rgba(255,255,255,0.97);border-bottom:1px solid var(--border)}
.logo img{height:65px;width:auto;display:block}
.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center}
.nav-links a{font-size:12px;font-weight:300;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);transition:color 0.2s}
.nav-links a:hover{color:var(--pk)}
.nav-social{display:flex;gap:14px;align-items:center;margin-left:1rem;padding-left:1.5rem;border-left:1px solid var(--border)}
.nav-social a{display:flex;align-items:center;color:var(--muted);transition:color 0.2s}
.nav-social a:hover{color:var(--pk)}
.nav-social svg{width:16px;height:16px}
.btn-nav{font-size:11px;font-weight:300;letter-spacing:0.15em;text-transform:uppercase;padding:0.6rem 1.6rem;border:1px solid var(--pk);color:var(--pk);background:transparent;cursor:pointer;transition:all 0.25s;font-family:var(--font-sans);display:inline-flex;align-items:center;gap:8px}
.btn-nav:hover{background:var(--pk);color:white}
.btn-nav svg{width:14px;height:14px}

/* ── Menú móvil (oculto en escritorio) ──────── */
.btn-testi-mobile,.hamburger{display:none}
.mobile-menu,.mobile-menu-overlay{display:none}
.hero-banner{width:100%;position:relative;background:var(--pk-mid);display:block;animation:fadeUp 0.8s ease both}
.hero-banner img{width:100%;height:auto;display:block;object-fit:contain}
.hero-banner-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(213,37,112,0.06) 0%,transparent 50%);pointer-events:none}
.hero{min-height:88vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;position:relative;overflow:hidden}
.hero-left{padding:5rem 4rem;position:relative;z-index:2}
.hero-right{position:relative;height:100%;min-height:88vh;background:var(--pk-pale);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;overflow:hidden}
.hero-shapes{position:absolute;inset:0}
.hero-shapes svg{width:100%;height:100%}
.hero-logo-big{position:relative;z-index:2;width:300px}
.hero-logo-big img{width:100%;height:auto}
.hero-tagline{position:relative;z-index:2;font-family:var(--font-serif);font-size:15px;font-style:italic;font-weight:300;color:var(--pk);letter-spacing:0.04em;text-align:center;padding:0 2rem}
.tag-line{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:var(--pk);margin-bottom:2rem;font-weight:300;display:flex;align-items:center;gap:12px}
.tag-line::before{content:'';width:28px;height:1px;background:var(--pk);display:block}
.hero h1{font-family:var(--font-serif);font-size:clamp(42px,4.5vw,66px);font-weight:300;line-height:1.1;color:var(--ink);margin-bottom:2rem}
.hero h1 em{font-style:italic;color:var(--pk)}
.hero-desc{font-size:14px;font-weight:300;line-height:1.9;color:var(--muted);max-width:400px;margin-bottom:3rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary{font-size:11px;font-weight:300;letter-spacing:0.15em;text-transform:uppercase;padding:1rem 2.5rem;background:var(--pk);color:white;border:none;cursor:pointer;font-family:var(--font-sans);transition:background 0.25s;display:inline-flex;align-items:center;gap:10px}
.btn-primary:hover{background:var(--pk-dark)}
.btn-primary svg,.btn-secondary svg{width:16px;height:16px}
.btn-secondary{font-size:11px;font-weight:300;letter-spacing:0.15em;text-transform:uppercase;padding:1rem 2rem;background:transparent;color:var(--pk);border:1px solid var(--pk-light);cursor:pointer;font-family:var(--font-sans);transition:all 0.25s;display:inline-flex;align-items:center;gap:10px}
.btn-secondary:hover{border-color:var(--pk);background:var(--pk-pale)}
.hero-stats{display:flex;gap:3rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--border)}
.s-num{font-family:var(--font-serif);font-size:34px;font-weight:300;color:var(--pk);display:block;line-height:1}
.s-label{font-size:10px;letter-spacing:0.08em;color:var(--muted);font-weight:300;margin-top:4px;display:block}
.corner-tl{position:absolute;top:3rem;left:3rem;width:40px;height:40px;border-top:1px solid var(--pk-light);border-left:1px solid var(--pk-light)}
.corner-br{position:absolute;bottom:5rem;right:1.5rem;width:40px;height:40px;border-bottom:1px solid var(--pk-light);border-right:1px solid var(--pk-light)}
.pillars{background:var(--pk-pale);padding:4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.pillar{padding:2.2rem 1.8rem;background:white;border:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;transition:box-shadow 0.3s,transform 0.3s}
.pillar:hover{box-shadow:0 6px 28px rgba(213,37,112,0.1);transform:translateY(-2px)}
.pillar::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--pk);transition:width 0.4s ease}
.pillar:hover::after{width:100%}
.pillar-icon svg{width:36px;height:36px}
.pillar-title{font-size:16px;font-weight:400;color:var(--ink);letter-spacing:0.01em;font-family:var(--font-serif)}
.pillar-desc{font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}
section{padding:6rem 4rem}
.sec-tag{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:var(--pk);margin-bottom:1rem;font-weight:300;display:flex;align-items:center;gap:12px}
.sec-tag::before{content:'';width:28px;height:1px;background:var(--pk);display:block}
.sec-h2{font-family:var(--font-serif);font-size:46px;font-weight:300;color:var(--ink);line-height:1.1;letter-spacing:-0.01em}
.about{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;background:var(--white);position:relative;overflow:hidden}
.about-shapes{position:absolute;right:-60px;bottom:-60px;opacity:0.04;pointer-events:none}
.about-image-wrap{position:relative}
.about-img-box{width:100%;aspect-ratio:4/5;background:var(--pk-pale);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.about-img-box img{width:80%;height:auto;object-fit:contain}
.about-deco-rect{position:absolute;bottom:-20px;right:-20px;width:120px;height:150px;border:1px solid var(--pk-light);z-index:-1}
.about-deco-circle{position:absolute;top:-16px;left:-16px;width:60px;height:60px;border-radius:50%;border:1px solid var(--pk-light);z-index:-1}
.about p{font-size:14px;font-weight:300;line-height:1.95;color:var(--muted);margin-bottom:1.4rem;margin-top:1.6rem}
.credentials{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0.9rem}
.cred{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:300;color:#555}
.cred-dash{width:18px;height:1px;background:var(--pk-mid);flex-shrink:0}
.trust-strip{display:flex;align-items:center;justify-content:center;gap:1.8rem;padding:3.5rem 4rem;background:var(--pk-pale)}
.trust-strip img{width:150px;height:auto}
.trust-strip span{font-size:13px;letter-spacing:0.03em;color:var(--ink);text-align:center;white-space:nowrap}
.hero-seal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-top:1.4rem}
.hero-seal img{width:140px;height:auto}
.hero-seal span{font-size:11px;color:var(--muted);white-space:nowrap}
.services{background:var(--light-gray);position:relative;overflow:hidden}
.svc-deco{position:absolute;top:-80px;right:-80px;width:220px;height:220px;border-radius:50%;border:1px solid var(--border);opacity:.6;pointer-events:none}
.svc-deco2{position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;border:1px solid var(--pk-light);opacity:.4;pointer-events:none}
.svc-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem}
.svc-header-right{font-size:12px;font-weight:300;color:var(--muted);max-width:280px;line-height:1.7}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px}
.svc-card{background:white;padding:2.8rem 2.2rem;position:relative;overflow:hidden;transition:box-shadow 0.3s}
.svc-card:hover{box-shadow:0 2px 24px rgba(213,37,112,0.08)}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--pk);transition:width 0.4s ease}
.svc-card:hover::after{width:100%}
.svc-num{font-family:var(--font-serif);font-size:44px;font-weight:300;color:var(--pk-light);line-height:1;margin-bottom:1.2rem}
.svc-title{font-family:var(--font-serif);font-size:23px;font-weight:400;color:var(--ink);margin-bottom:0.8rem;letter-spacing:0.01em}
.svc-desc{font-size:12px;font-weight:300;line-height:1.85;color:var(--muted)}
.svc-badge{display:inline-block;margin-top:1.6rem;font-size:9px;letter-spacing:0.15em;text-transform:uppercase;padding:0.3rem 0.75rem;background:var(--pk-pale);color:var(--pk);border:1px solid var(--pk-light);font-weight:300}
.quote-band{background:var(--pk);padding:5rem 4rem;text-align:center;position:relative;overflow:hidden}
.quote-band::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:300px;height:300px;border-radius:50%;border:1px solid rgba(255,255,255,0.12)}
.quote-band::after{content:'';position:absolute;bottom:-80px;left:50%;transform:translateX(-50%);width:200px;height:200px;border-radius:50%;border:1px solid rgba(255,255,255,0.1)}
.quote-mark{font-family:var(--font-serif);font-size:80px;color:rgba(255,255,255,0.15);line-height:0.5;display:block;margin-bottom:1rem}
.quote-text{font-family:var(--font-serif);font-size:36px;font-weight:300;font-style:italic;color:white;line-height:1.45;max-width:660px;margin:0 auto;position:relative;z-index:1;letter-spacing:0.01em}
.quote-author{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-top:1.8rem;font-weight:300}
.contact{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.contact h2{font-family:var(--font-serif);font-size:42px;font-weight:300;color:var(--ink);line-height:1.2;margin-bottom:1.2rem}
.contact-intro{font-size:14px;font-weight:300;line-height:1.9;color:var(--muted);margin-bottom:2.5rem;margin-top:1rem}
.c-info{display:flex;flex-direction:column;gap:1.2rem}
.map-embed{margin-top:1.5rem;border-radius:4px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.map-embed iframe{display:block}
.c-item{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:300;color:#555;transition:color 0.2s}
.c-item:hover{color:var(--pk)}
.c-icon{width:38px;height:38px;border:1px solid var(--pk-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.2s}
.c-item:hover .c-icon{border-color:var(--pk)}
.c-icon svg{width:14px;height:14px;stroke:var(--pk);fill:none;stroke-width:1.5}
.avail{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}
.avail-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--pk);margin-bottom:1rem;font-weight:300}
.avail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem}
.avail-item{font-size:12px;font-weight:300;color:#666;display:flex;align-items:center;gap:8px}
.avail-dot{width:5px;height:5px;border-radius:50%;background:var(--pk-mid);flex-shrink:0}
.social-row{display:flex;gap:12px;margin-top:2rem}
.social-btn{display:inline-flex;align-items:center;gap:8px;padding:0.6rem 1.2rem;border:1px solid var(--pk-light);font-size:11px;font-weight:300;color:var(--muted);letter-spacing:0.06em;transition:all 0.2s;font-family:var(--font-sans)}
.social-btn:hover{border-color:var(--pk);color:var(--pk)}
.social-btn svg{width:14px;height:14px}
.form-g{margin-bottom:1.2rem}
.form-g label{display:block;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem;font-weight:300}
.form-g input,.form-g select,.form-g textarea{width:100%;padding:0.85rem 1rem;background:white;border:1px solid var(--border);font-family:var(--font-sans);font-size:13px;font-weight:300;color:var(--ink);outline:none;transition:border-color 0.2s;appearance:none}
.form-g input:focus,.form-g select:focus,.form-g textarea:focus{border-color:var(--pk)}
.form-g textarea{resize:vertical;min-height:90px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.btn-submit{width:100%;padding:1.1rem;background:var(--pk);color:white;border:none;cursor:pointer;font-family:var(--font-sans);font-size:11px;font-weight:300;letter-spacing:0.15em;text-transform:uppercase;transition:background 0.25s;margin-top:0.5rem;display:flex;align-items:center;justify-content:center;gap:10px}
.btn-submit:hover{background:var(--pk-dark)}
.btn-submit svg{width:16px;height:16px}
footer{background:var(--ink);padding:3rem 4rem}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,0.07);margin-bottom:2rem}
.footer-logo img{height:65px;width:auto;filter:brightness(0) invert(1)}
.footer-tagline{font-size:12px;font-weight:200;color:rgba(255,255,255,0.3);margin-top:8px;letter-spacing:0.04em}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}
.footer-social{display:flex;gap:12px}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);transition:all 0.2s}
.footer-social a:hover{border-color:var(--pk-mid);color:var(--pk-mid)}
.footer-social svg{width:15px;height:15px}
.footer-links{display:flex;gap:2rem;list-style:none}
.footer-links a{font-size:11px;font-weight:300;color:rgba(255,255,255,0.3);letter-spacing:0.06em;transition:color 0.2s}
.footer-links a:hover{color:var(--pk-mid)}
.footer-copy{font-size:11px;font-weight:200;color:rgba(255,255,255,0.2);letter-spacing:0.04em}
.wa-float{position:fixed;bottom:2rem;right:2rem;z-index:999;width:56px;height:56px;border-radius:50%;background:#25D366;color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.35);transition:transform 0.25s;animation:waPulse 2.5s infinite}
.wa-float:hover{transform:scale(1.1);animation:none}
.wa-float svg{width:28px;height:28px}

.hero-left>*{animation:fadeUp 0.75s ease both}
.tag-line{animation-delay:0.05s}
.hero h1{animation-delay:0.2s}
.hero-desc{animation-delay:0.35s}
.hero-btns{animation-delay:0.5s}
.hero-stats{animation-delay:0.6s}
.hero-right{animation:fadeUp 1s 0.2s ease both}

/* ── PREMIUM ANIMATIONS ── */

/* Initial hidden state for scroll-reveal elements */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity 0.75s cubic-bezier(0.22,1,0.36,1),transform 0.75s cubic-bezier(0.22,1,0.36,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity 0.75s cubic-bezier(0.22,1,0.36,1),transform 0.75s cubic-bezier(0.22,1,0.36,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(0.93);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1)}
.reveal-scale.visible{opacity:1;transform:scale(1)}

/* Staggered children */
.stagger>*{opacity:0;transform:translateY(22px);transition:opacity 0.6s cubic-bezier(0.22,1,0.36,1),transform 0.6s cubic-bezier(0.22,1,0.36,1)}
.stagger.visible>*{opacity:1;transform:translateY(0)}
.stagger.visible>*:nth-child(1){transition-delay:0s}
.stagger.visible>*:nth-child(2){transition-delay:0.1s}
.stagger.visible>*:nth-child(3){transition-delay:0.2s}
.stagger.visible>*:nth-child(4){transition-delay:0.3s}
.stagger.visible>*:nth-child(5){transition-delay:0.4s}
.stagger.visible>*:nth-child(6){transition-delay:0.5s}

/* Hero */
.hero-left>*{animation:none}

/* Enhanced hover transitions */
.svc-card{transition:box-shadow 0.35s cubic-bezier(0.22,1,0.36,1),transform 0.35s cubic-bezier(0.22,1,0.36,1)}
.svc-card:hover{box-shadow:0 8px 32px rgba(213,37,112,0.1);transform:translateY(-3px)}
.pillar{transition:box-shadow 0.35s cubic-bezier(0.22,1,0.36,1),transform 0.35s cubic-bezier(0.22,1,0.36,1)}
.pillar:hover{box-shadow:0 6px 28px rgba(213,37,112,0.1);transform:translateY(-2px)}
nav{transition:box-shadow 0.3s ease}

/* Page transitions */
body{animation:pageIn 0.5s ease both}