/* =========================================================
   INSTITUTO LA VARENNE — Identidad visual unificada
   Azul institucional + dorado + marfil
   ========================================================= */
:root{
  --primary:#13284a!important;
  --primary-strong:#091830!important;
  --primary-soft:#f6ecd6!important;
  --secondary:#9c7a3c!important;
  --accent:#c9a227!important;
  --accent-soft:#fbf1da!important;
  --bg:#faf6ec!important;
  --surface:#ffffff!important;
  --surface-2:#fffdf8!important;
  --text:#221f2c!important;
  --muted:#6b6355!important;
  --border:rgba(19,40,74,.11)!important;
  --shadow:0 20px 55px rgba(42,31,13,.12)!important;
  --shadow-hover:0 28px 65px rgba(42,31,13,.18)!important;
}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{
  background:
    radial-gradient(circle at 10% 4%,rgba(201,162,39,.11),transparent 24%),
    radial-gradient(circle at 90% 20%,rgba(19,40,74,.07),transparent 26%),
    linear-gradient(180deg,#fffdf8 0%,#f8f2e5 100%)!important;
}
::selection{background:rgba(201,162,39,.28);color:var(--primary-strong)}

/* Barra superior de progreso */
#lvScrollProgress{position:fixed;left:0;top:0;height:3px;width:0;z-index:99999;background:linear-gradient(90deg,var(--accent),#f0d77d,var(--primary));box-shadow:0 0 18px rgba(201,162,39,.45);transition:width .08s linear}

/* Navbar homogéneo */
.navbar-custom{background:rgba(255,253,248,.90)!important;border-bottom:1px solid rgba(19,40,74,.08)!important;box-shadow:0 12px 35px rgba(19,40,74,.08)!important;backdrop-filter:blur(18px) saturate(1.15)}
.navbar-custom.scrolled{background:rgba(255,253,248,.97)!important;box-shadow:0 16px 42px rgba(19,40,74,.13)!important}
.brand-logo-wrapper{background:linear-gradient(145deg,#fff,#fbf3df)!important;border-color:rgba(201,162,39,.26)!important;box-shadow:0 12px 28px rgba(19,40,74,.10)!important;position:relative;overflow:hidden}
.brand-logo-wrapper:after{content:"";position:absolute;inset:-80% auto -80% -45%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:rotate(22deg);animation:lvLogoShine 5.5s ease-in-out infinite}
@keyframes lvLogoShine{0%,70%{left:-50%}90%,100%{left:140%}}
.brand-title,.section-title{color:var(--primary-strong)!important}
.custom-link{color:var(--primary-strong)!important;position:relative;overflow:hidden}
.custom-link:after{content:"";position:absolute;left:50%;right:50%;bottom:5px;height:2px;background:linear-gradient(90deg,var(--accent),var(--secondary));transition:.3s ease}
.custom-link:hover:after,.custom-link.active:after{left:16px;right:16px}
.custom-link:hover,.custom-link.active{background:rgba(201,162,39,.10)!important;color:var(--secondary)!important}

/* Botones */
.btn-registro,.btn-main,.btn-custom,.btn-flyer-main{
  background:linear-gradient(135deg,var(--primary),#1d3d6f 58%,var(--secondary))!important;
  box-shadow:0 13px 30px rgba(19,40,74,.20)!important;
  position:relative;overflow:hidden;isolation:isolate
}
.btn-registro:before,.btn-main:before,.btn-custom:before,.btn-flyer-main:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 15%,rgba(255,255,255,.24) 45%,transparent 75%);transform:translateX(-130%);transition:.65s ease}
.btn-registro:hover:before,.btn-main:hover:before,.btn-custom:hover:before,.btn-flyer-main:hover:before{transform:translateX(130%)}
.btn-registro:hover,.btn-main:hover,.btn-custom:hover,.btn-flyer-main:hover{transform:translateY(-3px) scale(1.015)!important;box-shadow:0 18px 38px rgba(19,40,74,.28)!important}
.btn-outline-main,.btn-outline-soft,.btn-light-action,.btn-outline-hero,.btn-flyer-second{border-color:rgba(19,40,74,.16)!important;color:var(--primary-strong)!important;background:#fffdf8!important}

/* Heroes interiores */
.page-hero,.program-hero,.plans-hero{
  background:
    linear-gradient(120deg,rgba(9,24,48,.96),rgba(19,40,74,.89) 55%,rgba(156,122,60,.75)),
    url('../img/logoP.jpg') center/cover no-repeat!important;
  position:relative;isolation:isolate
}
.page-hero:before,.program-hero:before,.plans-hero:before{content:"";position:absolute!important;inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;background:
  radial-gradient(circle at 82% 20%,rgba(201,162,39,.28),transparent 23%),
  radial-gradient(circle at 12% 80%,rgba(255,255,255,.10),transparent 22%)!important;z-index:-1;animation:lvHeroGlow 8s ease-in-out infinite alternate}
@keyframes lvHeroGlow{from{filter:saturate(.9);transform:scale(1)}to{filter:saturate(1.2);transform:scale(1.025)}}
.page-hero h1,.program-hero h1,.plans-hero h1{letter-spacing:-.025em;text-shadow:0 5px 28px rgba(0,0,0,.22)}
.breadcrumb-pill,.hero-label,.section-kicker{background:rgba(251,241,218,.92)!important;color:#765712!important;border:1px solid rgba(201,162,39,.34)!important;box-shadow:0 8px 24px rgba(0,0,0,.08)}

/* Decoración ambiental */
.lv-ambient{position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(2px);opacity:.42;animation:lvFloat 11s ease-in-out infinite alternate}
.lv-ambient.a{width:260px;height:260px;left:-110px;top:28%;background:radial-gradient(circle,rgba(201,162,39,.25),transparent 70%)}
.lv-ambient.b{width:330px;height:330px;right:-150px;top:62%;background:radial-gradient(circle,rgba(19,40,74,.14),transparent 70%);animation-delay:-5s}
@keyframes lvFloat{0%{transform:translate3d(0,0,0) scale(.95)}100%{transform:translate3d(0,-35px,0) scale(1.08)}}

/* Tarjetas y superficies */
.path-card,.profile-card,.study-card,.semester-card,.objective-card,.competency-card,.info-item,.valor-card,.oferta-card,.institution-card,.intro-card,.hero-aside-card,.form-wrapper,.form-card,.content-card,.card{
  border-color:rgba(19,40,74,.10)!important;
  box-shadow:0 15px 42px rgba(42,31,13,.08)!important;
  transition:transform .4s cubic-bezier(.2,.75,.25,1),box-shadow .4s ease,border-color .4s ease!important;
}
.lv-tilt{transform-style:preserve-3d;will-change:transform}
.lv-tilt:hover{box-shadow:0 28px 64px rgba(42,31,13,.16)!important;border-color:rgba(201,162,39,.30)!important}
.path-icon,.oferta-icon,.valor-icon{background:linear-gradient(145deg,var(--accent-soft),#fff)!important;color:var(--secondary)!important}

/* Títulos con acento */
.section-title:after{content:"";display:block;width:76px;height:4px;margin-top:15px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--secondary));transform-origin:left;animation:lvUnderline 2.8s ease-in-out infinite alternate}
.text-center .section-title:after,.section-head.text-center .section-title:after{margin-left:auto;margin-right:auto}
@keyframes lvUnderline{from{transform:scaleX(.55);opacity:.7}to{transform:scaleX(1.15);opacity:1}}

/* Reveal system */
.lv-reveal{opacity:0;transition:opacity .78s ease,transform .78s cubic-bezier(.2,.75,.25,1),filter .78s ease;will-change:transform,opacity}
.lv-reveal.lv-up{transform:translateY(45px)}
.lv-reveal.lv-left{transform:translateX(-55px)}
.lv-reveal.lv-right{transform:translateX(55px)}
.lv-reveal.lv-scale{transform:scale(.88);filter:blur(7px)}
.lv-reveal.lv-rotate{transform:translateY(25px) rotate(-2.2deg);filter:blur(4px)}
.lv-reveal.lv-visible{opacity:1;transform:none;filter:none}

/* Micro animaciones */
.lv-pulse-icon i{animation:lvIconPulse 2.2s ease-in-out infinite}
@keyframes lvIconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12) rotate(2deg)}}
.lv-float{animation:lvGentleFloat 4.5s ease-in-out infinite}
@keyframes lvGentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* Formularios */
.form-control,.form-select,input,textarea,select{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease!important}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:rgba(201,162,39,.72)!important;box-shadow:0 0 0 .24rem rgba(201,162,39,.12)!important;transform:translateY(-1px)}
.form-header{background:linear-gradient(135deg,var(--primary-strong),var(--primary) 62%,var(--secondary))!important;position:relative;overflow:hidden}
.form-header:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-65px;top:-90px;background:radial-gradient(circle,rgba(201,162,39,.35),transparent 68%)}

/* Footer */
.footer-custom,.footer{background:linear-gradient(135deg,var(--primary-strong),var(--primary) 65%,#203d68)!important;position:relative;overflow:hidden}
.footer-custom:after,.footer:after{content:"";position:absolute;width:320px;height:320px;right:-150px;bottom:-180px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.17),transparent 70%);pointer-events:none}
.footer-social a,.socials a{transition:.3s ease!important}
.footer-social a:hover,.socials a:hover{transform:translateY(-5px) rotate(5deg)!important;background:var(--accent)!important;color:var(--primary-strong)!important}

/* Botón volver arriba */
#lvBackTop{position:fixed;right:20px;bottom:22px;width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 12px 28px rgba(19,40,74,.28);z-index:999;opacity:0;visibility:hidden;transform:translateY(15px);transition:.3s ease}
#lvBackTop.show{opacity:1;visibility:visible;transform:none}
#lvBackTop:hover{transform:translateY(-4px) scale(1.05)}

@media(max-width:991px){
  .navbar-collapse{background:#fffdf8!important}
  .page-hero,.program-hero,.plans-hero{padding-top:105px!important}
}
@media(max-width:576px){
  .lv-ambient{display:none}
  .page-hero h1,.program-hero h1,.plans-hero h1{font-size:clamp(2rem,10vw,2.7rem)!important}
  #lvBackTop{width:44px;height:44px;right:14px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .lv-reveal{opacity:1!important;transform:none!important;filter:none!important}
}
