/* Spanish sunlight, garden green and ceramic blue. The original school logo is unchanged. */
.school-site .school-footer.footer-spain{position:relative;isolation:isolate;overflow:hidden;padding:76px 7% 0;background:#dcebd4;color:#123e32;border:0}
.school-site .school-footer.footer-spain::before{content:'';position:absolute;inset:0;height:auto;background:url('/school/spain-panorama-v1.webp') center bottom/cover no-repeat;opacity:.53;z-index:-2;pointer-events:none}
.school-site .school-footer.footer-spain::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f5faed9c,#edf5e6b3 42%,#e3efda80);z-index:-1;pointer-events:none}
.footer-spain .footer-welcome{text-align:center;max-width:1000px;margin:0 auto}
.footer-spain .footer-brand{display:inline-flex;justify-content:center;text-decoration:none;color:#07563f}
.footer-spain .footer-brand .prosperamos-brand{display:flex;flex-direction:column;align-items:center;gap:25px}
.footer-spain .footer-brand .prosperamos-brand-mark{width:176px;height:176px;border-radius:50%;outline:2px solid #c9ae55;outline-offset:9px;filter:drop-shadow(0 10px 20px #07563f25)}
.footer-spain .footer-brand .brand-wordmark{font:750 clamp(34px,4vw,53px)/1.15 'Segoe UI',Arial,sans-serif;letter-spacing:-.03em;color:#07563f}
.footer-spain .footer-motto{font-size:clamp(30px,3.3vw,43px);font-weight:750;line-height:1.35;color:#ae2b29;background:#fff0b5e8;border:1px solid #dbbd60;border-bottom:4px solid #c6a64a;border-radius:22px 22px 9px 22px;width:fit-content;max-width:36ch;padding:15px 28px;margin:29px auto 0;box-shadow:0 8px 20px #9d672218}
.footer-spain .footer-anywhere{display:flex;justify-content:center;align-items:center;gap:13px;width:fit-content;max-width:100%;font-size:24px;font-weight:600;line-height:1.5;color:#fff4c7;background:#07563f;border:1px solid #d4c276;border-radius:50px;padding:13px 24px;margin:23px auto 0;box-shadow:0 6px 18px #07563f1a}
.footer-globe{width:28px;height:28px;flex-shrink:0;color:#ffe18e}
.footer-spain .footer-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:1440px;margin:57px auto 54px;align-items:stretch}
.footer-spain .footer-panel{min-width:0;padding:34px;border:1px solid #ffffff85;border-radius:28px;box-shadow:0 10px 25px #174d3215}
.footer-spain .footer-panel h3{font:700 clamp(29px,3vw,38px)/1.25 'Segoe UI',Arial,sans-serif;color:#07563f;margin:0 0 30px;letter-spacing:-.03em;text-align:center;width:100%}
.footer-spain .footer-panel a,.footer-spain .footer-panel button{font-size:20px;line-height:1.5;text-decoration:none;min-width:0;transition:color .22s,background-color .22s,transform .22s,box-shadow .22s}
.footer-spain .footer-pages{grid-column:1/-1;background:linear-gradient(110deg,#e9f3e1ed 8%,#e9f3e1c9 59%,#e9f3e18c),url('/school/spain-panorama-v1.webp') center 65%/cover no-repeat;border-color:#ffffffb0;position:relative;overflow:hidden;isolation:isolate}
.footer-spain .footer-pages h3{color:#064b3b;font-size:clamp(32px,3.5vw,43px);position:relative;text-shadow:0 1px 8px #ffffffa8}
.footer-spain .footer-links-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;align-items:stretch}
.footer-spain .footer-links-columns>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:15px 17px;border-radius:25px;background:linear-gradient(125deg,#ffffff70,#ffffff28);border:1px solid #ffffffad;color:#07513c;font-weight:650;overflow-wrap:normal;word-break:normal;box-shadow:inset 0 1px 0 #ffffff80;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.footer-spain .footer-links-columns>a>span{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border-radius:50%;background:#ffedb66b;border:1px solid #be9c4c55;color:#927018}
.footer-spain .footer-languages{background:#c8e6ed;border-color:#8ebec7;background-image:linear-gradient(90deg,#ffffff18 1px,transparent 1px),linear-gradient(#ffffff18 1px,transparent 1px);background-size:28px 28px}
.footer-spain .footer-language-list{display:grid;gap:19px}
.footer-spain .footer-language-list>a{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:17px;padding:19px 22px;min-height:95px;border-radius:21px;border:1px solid #ffffff70;background:#075e46;color:#fffdf2;font-size:24px;font-weight:600;box-shadow:0 6px 0 #07563f0f}
.footer-spain .footer-language-list>a:nth-child(2){background:#b53632;color:#fffdf2}
.footer-spain .footer-language-list>a:nth-child(3){background:#ffe18e;color:#154732;border-color:#d8b957}
.footer-spain .footer-language-code{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ffffff24;border:1px solid #ffffff60;font-size:20px;font-weight:700;color:inherit}
.footer-spain .footer-language-list>a:nth-child(3) .footer-language-code{background:#07563f0d;border-color:#8e8a4680}
.footer-spain .footer-language-list>a>span:last-child{font-size:26px;color:inherit;transition:transform .22s}
.footer-spain .footer-contacts{display:flex;flex-direction:column;align-items:center;position:relative;isolation:isolate;overflow:hidden;min-height:350px;background:linear-gradient(100deg,#e9f3e1f0 15%,#e9f3e1cc 65%,#e9f3e178),url('/school/spain-courtyard.webp') center 60%/cover no-repeat;border-color:#ffffffb0}
.footer-spain .footer-email{display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:15px 19px;font-size:23px!important;font-weight:650;background:#fff3c5;color:#07563f;border:1px solid #d3b85c;border-radius:16px;text-align:center;overflow-wrap:anywhere;word-break:normal}
.footer-spain .footer-email>span:last-child{flex-shrink:0;color:#ad302c}
.footer-spain .footer-email .footer-email-address{min-width:0;color:#07563f;overflow-wrap:normal;word-break:normal}
.footer-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:23px}
.footer-spain .footer-social-grid .social-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:132px;padding:17px 10px;border:1px solid #ffffff60;border-radius:18px;color:#fff;font-size:20px;line-height:1.35;text-align:center;cursor:pointer}
.social-instagram{background:#a52d77}.social-whatsapp{background:#137b48}.social-telegram{background:#126c9e}.social-tiktok{background:#20332f}.social-facebook{background:#2157ae}.social-threads{background:#2a3731}
.social-icon{display:inline-block;flex-shrink:0;width:30px;height:30px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}
.social-tiktok .social-icon{filter:drop-shadow(-1px 0 #40e5df) drop-shadow(1px 1px #ff5574)}
.social-platform-name{font-weight:650;max-width:100%}
.social-channel-state{display:block;font-size:18px;line-height:1.4;max-width:100%;color:#ffffffeb}
.social-pending .social-channel-state{border:1px solid #ffffff65;border-radius:20px;padding:2px 9px;color:#fff1bc;font-weight:500}
.footer-spain .footer-meta{display:flex;justify-content:center;align-items:center;gap:10px;font-size:18px;line-height:1.5;text-align:center;color:#345543;margin:21px 0 0}
.footer-meta .social-icon{color:#2157ae;width:26px;height:26px}
.footer-spain .footer-review-links{display:grid;gap:8px;border-top:1px solid #c9b084;margin-top:22px;padding-top:18px;width:100%}
.footer-spain .footer-review-links>a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;min-height:44px;color:#17543c}
.footer-spain .footer-signature{display:flex;align-items:center;justify-content:center;gap:18px;padding:27px 7%;margin:0 -8.14%;background:#07563ff0;color:#fffdf0;border-top:1px solid #f0df9d80;text-align:center}
.footer-spain .footer-year{font-size:29px;font-weight:700;line-height:1.4;color:#ffe18e;font-variant-numeric:tabular-nums}
.footer-spain .footer-signature p{font-size:21px;line-height:1.6;color:#fffdf0;margin:0}
.footer-spain a:focus-visible,.footer-spain button:focus-visible,.messenger-dock :focus-visible,.contact-notice :focus-visible{outline:3px solid #b88817;outline-offset:5px}
.footer-spain .footer-links-columns>a:focus-visible{background:#ffe18e;color:#07563f}
.footer-spain .footer-links-columns>a:focus-visible>span{color:#07563f}
.footer-spain .footer-language-list>a:focus-visible,.footer-spain .social-tile:focus-visible{transform:translateY(-4px);box-shadow:0 12px 20px #07563f25}
/* Always-available contacts, outside page flow and above ordinary content. */
.messenger-dock{position:fixed;right:20px;bottom:max(24px,env(safe-area-inset-bottom));z-index:80;display:flex;flex-direction:column;gap:14px;align-items:center;animation:messenger-dock-enter .45s ease-out both}
.messenger-dock .messenger-button{position:relative;display:grid;place-items:center;width:58px;height:58px;min-width:58px;padding:0;border-radius:50%;border:2px solid #fff8;color:#fff;box-shadow:0 6px 20px #093c3240;cursor:pointer;transition:transform .22s,box-shadow .22s;line-height:1}
.messenger-whatsapp{background:#137b48}.messenger-telegram{background:#126c9e}
.messenger-dock .social-icon{width:31px;height:31px}
.messenger-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);width:max-content;max-width:230px;padding:9px 13px;background:#073e32;color:#fffdf0;border-radius:11px;font-size:18px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s}
.messenger-button:focus-visible .messenger-tooltip{opacity:1;visibility:visible}
.messenger-soon-mark{position:absolute;right:-4px;bottom:-1px;display:grid;place-items:center;width:25px;height:23px;border-radius:10px;background:#ffe18e;border:1px solid #ffe18e;color:#07563f;font-size:19px;font-weight:700;line-height:1}
.messenger-button:active{transform:scale(.94)}
.contact-notice{position:fixed;right:22px;bottom:177px;width:370px;max-width:calc(100vw - 32px);z-index:90;padding:29px;background:#fff8e8;color:#153f33;border:1px solid #b2c49e;border-top:5px solid #d7b35c;border-radius:22px;box-shadow:0 16px 50px #123e3238}
.contact-notice h3{font:650 24px/1.3 'Segoe UI',Arial,sans-serif;letter-spacing:-.025em;color:#07563f;padding-right:24px;margin:0 0 17px}
.contact-notice p{font-size:19px;line-height:1.65;margin:0 0 21px;color:#355a43}
.contact-notice-close{position:absolute;top:9px;right:8px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;font-size:30px;color:#07563f;cursor:pointer}
.contact-notice>a{display:flex;align-items:center;justify-content:center;gap:13px;min-height:50px;font-size:19px;font-weight:600;border-radius:12px;text-decoration:none;line-height:1.4;padding:12px 14px}
.contact-notice-telegram{background:#126c9e;color:#fff}.contact-notice-telegram .social-icon{width:24px;height:24px}
.contact-notice-email{color:#07563f;border:1px solid #a8bea0;margin-top:12px;background:#edf5e6}
@keyframes messenger-dock-enter{from{opacity:.6;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(hover:hover){
 .footer-spain .footer-links-columns>a:hover{background:#ffe18e;color:#07563f;transform:translateY(-3px);box-shadow:0 7px 18px #002e291f}
 .footer-spain .footer-links-columns>a:hover>span{color:#07563f}
 .footer-spain .footer-language-list>a:hover,.footer-spain .social-tile:hover{transform:translateY(-4px);box-shadow:0 12px 20px #07563f25}
 .footer-spain .footer-language-list>a:hover>span:last-child{transform:translate(3px,-3px)}
 .footer-spain .footer-email:hover{background:#ffe18e;transform:translateY(-2px)}
 .footer-spain .footer-review-links>a:hover{color:#ae2b29;text-decoration:underline;text-underline-offset:5px}
 .messenger-button:hover{transform:translateY(-3px);box-shadow:0 9px 24px #093c3259}
 .messenger-button:hover .messenger-tooltip{opacity:1;visibility:visible}
}
@media(max-width:1100px){
 .footer-spain .footer-links-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
 .footer-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-spain .footer-panel{padding:29px}
 .footer-spain .footer-language-list>a{padding:19px 17px;gap:13px}
}
@media(max-width:1000px){.footer-spain .footer-grid{grid-template-columns:1fr}}
@media(max-width:700px){
 .school-site .school-footer.footer-spain{padding:61px 7% 0}
 .footer-spain .footer-brand .prosperamos-brand-mark{width:144px;height:144px;outline-offset:8px}
 .footer-spain .footer-brand .brand-wordmark{font-size:34px}
 .footer-spain .footer-motto{font-size:29px;line-height:1.35;padding:14px 18px;margin-top:25px;border-radius:19px 19px 8px 19px}
 .footer-spain .footer-anywhere{font-size:21px;line-height:1.45;padding:13px 18px;margin-top:23px;gap:10px;border-radius:25px}
 .footer-globe{width:25px;height:25px}
 .footer-spain .footer-grid{grid-template-columns:1fr;gap:25px;margin:37px auto 41px}
 .footer-spain .footer-panel{padding:27px 24px;border-radius:24px}
 .footer-spain .footer-panel h3{font-size:32px;margin-bottom:25px}
 .footer-spain .footer-pages h3{font-size:34px}
 .footer-spain .footer-links-columns{grid-template-columns:1fr 1fr;gap:12px}
 .footer-spain .footer-links-columns>a{padding:13px 12px;min-height:80px;font-size:20px;gap:6px}
 .footer-spain .footer-links-columns>a>span{font-size:18px}
 .footer-spain .footer-language-list>a{padding:19px 16px;grid-template-columns:44px minmax(0,1fr) 21px;gap:13px;font-size:23px;min-height:88px}
 .footer-spain .footer-language-code{width:44px;height:44px;font-size:20px}
 .footer-spain .footer-email{font-size:21px!important;gap:8px;padding:14px 12px}
 .footer-social-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:23px}
 .footer-spain .footer-social-grid .social-tile{min-height:137px}
 .footer-spain .footer-meta{font-size:18px;align-items:flex-start}
 .footer-spain .footer-signature{flex-direction:column;gap:10px;padding:26px 7% 104px}
 .footer-spain .footer-signature p{font-size:20px;max-width:28ch}
 .messenger-dock{flex-direction:row;right:17px;bottom:max(17px,env(safe-area-inset-bottom));gap:12px}
 .messenger-dock .messenger-button{width:56px;height:56px;min-width:56px}
 .messenger-tooltip{display:none}
 .contact-notice{right:16px;bottom:91px;width:350px;padding:26px}
 .contact-notice h3{font-size:23px}
}
@media(max-width:360px){
 .footer-spain .footer-panel{padding:25px 21px}
 .footer-spain .footer-links-columns{grid-template-columns:1fr}
 .footer-spain .footer-links-columns>a{min-height:58px}
 .footer-spain .footer-language-list>a{padding:17px 12px;gap:11px;font-size:21px}
 .footer-spain .footer-language-list>a{grid-template-columns:minmax(0,1fr) 22px;padding:17px 16px;gap:12px}
 .footer-spain .footer-language-code{display:none}
 .footer-social-grid{grid-template-columns:1fr}
 .footer-spain .footer-social-grid .social-tile{min-height:130px}
 .footer-spain .footer-email{font-size:20px!important}
 .footer-spain .footer-email>span:last-child{display:none}
 .footer-spain .footer-brand .brand-wordmark{font-size:31px}
}
@media(prefers-reduced-motion:reduce){.footer-spain *,.messenger-dock,.messenger-dock *,.contact-notice *{transition:none!important;animation:none!important}.footer-spain a:is(:hover,:focus-visible,:active),.footer-spain button:is(:hover,:focus-visible,:active),.messenger-button:is(:hover,:focus-visible,:active){transform:none!important}}

.footer-spain .footer-contacts h3{color:#064b3b;text-shadow:0 1px 8px #ffffffb0}
.footer-spain .footer-pages .footer-links-columns{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-spain .footer-pages .footer-links-columns>a[href^='/account?']{grid-column:2;grid-row:3;justify-content:center;margin-top:8px}
.footer-spain .footer-pages .footer-links-columns>a[href='/crm']{grid-column:3;grid-row:3;justify-content:center;margin-top:8px}
@media(max-width:1100px){.footer-spain .footer-pages .footer-links-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-spain .footer-pages .footer-links-columns>a[href^='/account?']{grid-column:1;grid-row:5}.footer-spain .footer-pages .footer-links-columns>a[href='/crm']{grid-column:2;grid-row:5}}
@media(max-width:520px){.footer-spain .footer-pages .footer-links-columns{grid-template-columns:minmax(0,1fr)}.footer-spain .footer-pages .footer-links-columns>a[href^='/account?'],.footer-spain .footer-pages .footer-links-columns>a[href='/crm']{grid-column:1;grid-row:auto}}
.footer-spain .footer-contacts .footer-email{background:#07563fdc;color:#fff0b5;border:1px solid #e4c86b80;border-radius:16px;padding:17px 25px;box-shadow:0 5px 18px #07563f18;max-width:100%;width:fit-content}
.footer-spain .footer-contacts .footer-email .footer-email-address{color:#fff5d2}
.footer-spain .footer-contacts .footer-email>span:last-child{color:#ffe18e}
.footer-spain .footer-contacts .footer-social-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px;align-items:center;width:min(680px,100%);margin:34px auto 8px}
.footer-spain .footer-social-grid .social-tile{position:relative;display:grid;place-items:center;background:none;border:0;border-radius:0;box-shadow:none;min-height:66px;min-width:0;padding:9px;gap:0;color:#064b3b}
.footer-spain .footer-social-grid .social-tile .social-icon{width:45px;height:45px}
.footer-spain .footer-social-grid .social-platform-name,.footer-spain .footer-social-grid .social-channel-state{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-spain .social-instagram .social-icon{background:radial-gradient(circle at 30% 105%,#feda75 8%,#fa7e1e 28%,#d62976 55%,#962fbf 78%,#4f5bd5 100%)}
.footer-spain .social-whatsapp .social-icon{color:#159b55}
.footer-spain .social-telegram .social-icon{color:#229ed9}
.footer-spain .social-facebook .social-icon{color:#1877f2}
.footer-spain .social-tiktok .social-icon{color:#101918}
.footer-spain .social-threads .social-icon{color:#101918}
@media(hover:hover){.footer-spain .footer-social-grid .social-tile:hover{background:none;box-shadow:none;transform:translateY(-4px)}.footer-spain .footer-contacts .footer-email:hover{background:#064b3bf2}}
@media(max-width:720px){.footer-spain .footer-contacts{min-height:390px;background-position:center 55%}.footer-spain .footer-contacts .footer-social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;width:min(360px,100%);margin-top:28px}.footer-spain .footer-social-grid .social-tile{min-height:64px}.footer-spain .footer-social-grid .social-tile .social-icon{width:43px;height:43px}.footer-spain .footer-contacts .footer-email{padding:15px 17px}}
