/* ===== SAVIA EDUCACIÓN — hoja de estilos compartida ===== */
:root{
  --green:#073F32; --green-deep:#012E25; --gold:#B89445; --gold-soft:#cba968;
  --ivory:#F8F6F1; --sand:#E8DDC8; --ink:#012E25; --ink-soft:#5a6661;
  --line:#e0d6c2; --wa:#25d366; --sh:rgba(7,63,50,0.10); --sh-lg:rgba(7,63,50,0.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--ink);background:var(--ivory);line-height:1.7;font-weight:300;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;line-height:1.15;color:var(--green)}
.kicker,.btn,nav a,.tag,.eyebrow{font-family:'Cinzel',serif}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
img{max-width:100%;display:block}
.gold{color:var(--gold)}
a{color:var(--green)}
.logo-svg{display:flex;align-items:center;flex-direction:column;line-height:1}
.logo-word{font-family:'Playfair Display',serif;font-weight:600;font-size:1.85rem;color:var(--green);letter-spacing:-0.01em;position:relative;display:inline-flex;align-items:flex-start}
.logo-word .plane{position:absolute;right:-8px;top:-13px;color:var(--gold);font-size:.9rem;transform:rotate(40deg)}
.logo-sub{font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.42em;color:var(--green);margin-top:3px;display:flex;align-items:center;gap:7px;padding-left:.42em}
.logo-sub::before,.logo-sub::after{content:"\2726";color:var(--gold);font-size:.5rem}
.topbar{background:var(--green-deep);color:var(--ivory);font-size:.76rem;padding:8px 0;font-family:'Cinzel',serif;letter-spacing:.04em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.topbar a{color:var(--gold-soft);text-decoration:none}
.topbar .l{display:flex;gap:20px;flex-wrap:wrap}
nav{position:sticky;top:0;z-index:100;background:rgba(248,246,241,.93);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.3s}
nav.scr{border-color:var(--line);box-shadow:0 6px 26px var(--sh)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:80px}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links>a,.nav-links .has-sub>a{text-decoration:none;color:var(--green);font-size:.8rem;font-weight:500;letter-spacing:.1em;transition:.2s;position:relative;text-transform:uppercase;font-family:'Cinzel',serif}
.nav-links>a::after,.nav-links .has-sub>a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);transform:scaleX(0);transition:.25s}
.nav-links>a:hover,.nav-links>a.active,.nav-links .has-sub:hover>a{color:var(--gold)}
.nav-links>a.active::after,.nav-links>a:hover::after,.nav-links .has-sub:hover>a::after{transform:scaleX(1)}
.has-sub{position:relative}
.submenu{position:absolute;top:135%;left:50%;transform:translateX(-50%) translateY(10px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px var(--sh-lg);padding:10px;min-width:330px;opacity:0;visibility:hidden;transition:.25s;z-index:50}
.has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.submenu a{display:block;padding:12px 15px;border-radius:9px;text-decoration:none;color:var(--green);font-family:'Montserrat',sans-serif;font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none;transition:.18s}
.submenu a:hover{background:var(--ivory);color:var(--gold)}
.submenu a b{display:block;font-weight:500;font-size:.92rem;margin-bottom:2px;font-family:'Cinzel',serif;letter-spacing:.02em}
.submenu a small{color:var(--ink-soft);font-size:.8rem}
.nav-cta{background:var(--green)!important;color:var(--ivory)!important;padding:12px 22px;border-radius:50px;font-size:.72rem;letter-spacing:.1em;display:inline-flex;align-items:center;gap:8px;transition:.2s;text-transform:uppercase;text-decoration:none}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--gold)!important;transform:translateY(-2px)}
.menu-btn{display:none;background:none;border:none;font-size:1.6rem;color:var(--green);cursor:pointer}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:50px;font-family:'Cinzel',serif;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-decoration:none;cursor:pointer;border:none;transition:.22s;text-transform:uppercase}
.btn-green{background:var(--green);color:var(--ivory);box-shadow:0 10px 26px var(--sh)}
.btn-green:hover{background:var(--green-deep);transform:translateY(-3px)}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 10px 26px rgba(184,148,69,.32)}
.btn-gold:hover{transform:translateY(-3px);background:var(--gold-soft)}
.btn-ghost{background:transparent;color:var(--green);border:1.5px solid var(--green)}
.btn-ghost:hover{background:var(--green);color:var(--ivory)}
.btn-ivory{background:var(--ivory);color:var(--green)}
.btn-ivory:hover{background:#fff;transform:translateY(-3px)}
.sec{padding:96px 0}
.sec-head{max-width:700px;margin:0 auto 56px;text-align:center}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.kicker::before,.kicker::after{content:"";width:28px;height:1px;background:var(--gold)}
.sec-head h2{font-size:clamp(2rem,3.8vw,2.9rem);margin-bottom:16px}
.sec-head p{color:var(--ink-soft);font-size:1.1rem;font-weight:300}
.page-hero{background:radial-gradient(ellipse 60% 80% at 88% 30%,rgba(184,148,69,.10),transparent 62%),linear-gradient(180deg,var(--ivory),#fff 55%,var(--ivory));color:var(--green);padding:88px 0 96px;text-align:center;position:relative;overflow:hidden}
/* mapa de Europa en filigrana dorada, lado derecho */
.page-hero::before{content:"";position:absolute;top:50%;right:-2%;transform:translateY(-50%);width:42%;height:118%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 360'%3E%3Cpath d='M205 18 C212 30 208 44 218 50 C228 56 236 48 240 58 C244 70 232 78 238 88 C244 98 258 96 256 110 C254 122 240 124 244 138 C247 150 262 152 258 166 L242 172 L250 188 L232 196 L240 210 C228 214 220 206 212 214 C206 222 214 232 204 238 L188 232 L182 248 L168 240 C160 252 168 264 156 268 L146 258 L138 272 L150 286 L132 292 L140 308 L120 304 L122 322 L104 314 L100 330 L86 318 C92 304 78 300 84 288 C90 278 102 282 100 270 L86 266 L96 252 L80 250 C86 238 74 232 82 222 L66 220 L74 206 C62 202 56 210 50 202 C45 194 54 186 46 180 L30 184 C36 170 22 166 30 154 C36 144 50 148 48 136 C46 124 32 126 36 112 C40 100 56 104 54 90 L70 86 L62 70 L80 66 C74 54 86 48 82 38 L100 42 L96 26 L116 32 C122 20 136 26 140 14 C146 4 160 10 166 4 C176 12 168 24 180 24 C190 24 196 12 205 18 Z' fill='none' stroke='%23B89445' stroke-width='1.3' opacity='0.5'/%3E%3Cpath d='M150 286 L156 304 L146 316 L154 330' fill='none' stroke='%23B89445' stroke-width='1.3' opacity='0.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;background-position:center;opacity:.6;z-index:0;pointer-events:none}
/* estela de avión punteada, lado izquierdo */
.page-hero::after{content:"";position:absolute;bottom:18%;left:-3%;width:30%;height:42%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'%3E%3Cpath d='M5 100 Q70 95 110 55 T185 18' fill='none' stroke='%23B89445' stroke-width='1.6' stroke-dasharray='2 7' stroke-linecap='round' opacity='0.6'/%3E%3Cg transform='translate(178 14) rotate(38)'%3E%3Cpath d='M0 4 L16 0 L13 5 L26 4 L13 7 L16 12 L0 8 Z' fill='%23B89445' opacity='0.85'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;z-index:0;pointer-events:none}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .eyebrow{color:var(--gold);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}
.page-hero .eyebrow::before,.page-hero .eyebrow::after{content:"\2726";color:var(--gold);font-size:.6rem}
.page-hero h1{color:var(--green);font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:18px;position:relative;display:inline-block}
.page-hero h1::after{content:"";display:block;width:70px;height:2px;background:var(--gold);margin:18px auto 0}
.page-hero p{color:var(--ink-soft);font-size:1.15rem;font-weight:300;max-width:620px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 30px;transition:.3s}
.card:hover{transform:translateY(-8px);box-shadow:0 26px 54px var(--sh)}
.card .ic{width:62px;height:62px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:22px;color:var(--green)}
.card h3{font-size:1.26rem;margin-bottom:12px}
.card p{color:var(--ink-soft);font-size:.97rem;font-weight:300}
.strip{background:var(--green);color:var(--ivory);padding:24px 0}
.strip .wrap{display:flex;justify-content:center;gap:46px;flex-wrap:wrap;font-family:'Cinzel',serif;font-size:.82rem;letter-spacing:.06em}
.strip span{display:inline-flex;align-items:center;gap:10px}
.strip .ic{color:var(--gold);font-size:1.1rem}
.strip .sep{color:var(--gold);opacity:.5}
footer{background:var(--green-deep);color:rgba(248,246,241,.65);padding:56px 0 30px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(184,148,69,.2)}
.foot-top p{font-size:.92rem;font-weight:300;max-width:280px;margin-top:14px}
.foot-col h4{color:var(--gold-soft);font-size:.76rem;letter-spacing:.1em;margin-bottom:16px;font-family:'Cinzel',serif;text-transform:uppercase}
.foot-col a{display:block;color:rgba(248,246,241,.65);text-decoration:none;font-size:.9rem;margin-bottom:10px;font-weight:300;transition:.2s}
.foot-col a:hover{color:var(--gold-soft)}
.foot-bot{padding-top:24px;text-align:center;font-size:.82rem;opacity:.6;font-weight:300;letter-spacing:.04em}
.wa-fab{position:fixed;bottom:26px;right:26px;width:60px;height:60px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(37,211,102,.5);z-index:200;animation:bob 2.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}
.rv.in{opacity:1;transform:none}
.cta-band{background:linear-gradient(135deg,var(--green),var(--green-deep));color:var(--ivory);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;top:50%;right:3%;transform:translateY(-50%);width:30%;height:130%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 360'%3E%3Cpath d='M205 18 C212 30 208 44 218 50 C228 56 236 48 240 58 C244 70 232 78 238 88 C244 98 258 96 256 110 C254 122 240 124 244 138 C247 150 262 152 258 166 L242 172 L250 188 L232 196 L240 210 C228 214 220 206 212 214 C206 222 214 232 204 238 L188 232 L182 248 L168 240 C160 252 168 264 156 268 L146 258 L138 272 L150 286 L132 292 L140 308 L120 304 L122 322 L104 314 L100 330 L86 318 C92 304 78 300 84 288 C90 278 102 282 100 270 L86 266 L96 252 L80 250 C86 238 74 232 82 222 L66 220 L74 206 C62 202 56 210 50 202 C45 194 54 186 46 180 L30 184 C36 170 22 166 30 154 C36 144 50 148 48 136 C46 124 32 126 36 112 C40 100 56 104 54 90 L70 86 L62 70 L80 66 C74 54 86 48 82 38 L100 42 L96 26 L116 32 C122 20 136 26 140 14 C146 4 160 10 166 4 C176 12 168 24 180 24 C190 24 196 12 205 18 Z' fill='none' stroke='%23B89445' stroke-width='1.3' opacity='0.5'/%3E%3Cpath d='M150 286 L156 304 L146 316 L154 330' fill='none' stroke='%23B89445' stroke-width='1.3' opacity='0.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;background-position:center;opacity:.3;pointer-events:none}
.cta-band::after{content:"\2726";position:absolute;top:26px;left:6%;color:var(--gold);opacity:.3;font-size:1.8rem}
.cta-band .wrap{position:relative;z-index:2;text-align:center}
.cta-band h2{color:var(--ivory);font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:16px}
.cta-band p{color:rgba(248,246,241,.85);font-size:1.12rem;font-weight:300;max-width:560px;margin:0 auto 30px}
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:13px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.25s}
.faq-item[open]{box-shadow:0 16px 36px var(--sh);border-color:var(--gold)}
.faq-item summary{padding:22px 26px;font-family:'Playfair Display',serif;font-size:1.06rem;font-weight:500;color:var(--green);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .pl{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--ivory);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:.3s;border:1px solid var(--gold)}
.faq-item[open] .pl{transform:rotate(45deg);background:var(--gold);color:#fff}
.faq-item .ans{padding:0 26px 24px;color:var(--ink-soft);font-size:.98rem;font-weight:300}
.btn-block{display:block}
@media(max-width:980px){
  .cards{grid-template-columns:1fr 1fr}
  .nav-links{display:none}.menu-btn{display:block}
  .foot-top{grid-template-columns:1fr 1fr}
  .sec{padding:68px 0}
}
@media(max-width:560px){.cards,.foot-top{grid-template-columns:1fr}}
