/* RSA responsive layout: desktop styles remain in the source templates. */
.rsa-mobile-menu{display:none}
@media(max-width:1000px){
  .rsa-site-header>.rsa-header-inner{justify-content:space-between;gap:12px!important;padding:12px 20px!important}
  .rsa-desktop-nav,.rsa-desktop-actions{display:none!important}
  .rsa-mobile-menu{display:block;position:relative;margin-left:auto}
  .rsa-mobile-menu summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;border:1px solid #E5EAEA;border-radius:12px;padding:10px 14px;min-height:44px;background:#fff;color:#015F59;font-size:14px;font-weight:600}
  .rsa-mobile-menu summary::-webkit-details-marker{display:none}
  .rsa-mobile-menu summary::after{content:"☰";font-size:20px;line-height:1}
  .rsa-mobile-menu[open] summary::after{content:"×"}
  .rsa-mobile-menu nav{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 40px));max-height:calc(100dvh - 100px);overflow-y:auto;padding:12px;background:#fff;border:1px solid #E5EAEA;border-radius:18px;box-shadow:0 12px 30px #0f1b1a22;display:grid;gap:4px}
  .rsa-mobile-menu nav :is(button,a){width:100%;min-height:46px;text-align:left;padding:12px 14px;background:#fff;border:0;border-radius:10px;color:#015F59;cursor:pointer}
  .rsa-mobile-menu nav :is(button,a):last-child{background:#FFA669;color:#fff;text-align:center;margin-top:6px}
}
@media(max-width:640px){
  html{scroll-padding-top:80px}
  body{overflow-wrap:break-word}
  main,main section,main article,footer{min-width:0}
  .rsa-mobile-stack{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;min-width:0!important}
  .rsa-mobile-stack>*{min-width:0}
  .rsa-mobile-section{padding:40px 20px!important}
  .rsa-mobile-card{padding:24px 20px!important}
  main h1{font-size:clamp(34px,10vw,44px)!important;line-height:1.06!important}
  main h2{font-size:clamp(27px,8vw,34px)!important;line-height:1.12!important}
  main p{font-size:16px!important;line-height:1.65!important}
  main button,main a{white-space:normal!important}
  main button{min-height:44px}
  main input:not([type=checkbox]):not([type=radio]),main select,main textarea{font-size:16px!important;min-width:0;max-width:100%}
  main input[type=checkbox],main input[type=radio]{flex-shrink:0}
  .rsa-site-header img{height:26px!important;max-width:190px;object-fit:contain}
  .rsa-home-visual{min-height:0!important;aspect-ratio:4/5;width:100%;margin-top:4px}
  .rsa-home-photo{inset:0 10px 36px 10px!important;border-radius:24px!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;isolation:isolate}
  .rsa-home-photo .rsa-home-backdrop{inset:26% 4px 0!important;border-radius:38px 24px 46px 28px!important;transform:rotate(-6deg)!important}
  .rsa-home-photo img{object-position:center bottom!important;width:100%!important;height:100%!important;left:0!important;bottom:0!important;object-fit:contain!important;transform:scale(1.18)!important;transform-origin:center bottom!important}
  .rsa-home-visual>div:last-child{left:0!important;right:0;bottom:0!important;gap:6px!important;padding:6px!important;justify-content:center;white-space:normal}
  .rsa-home-visual>div:last-child>span{font-size:11px!important;letter-spacing:0!important}
  .rsa-hero-photo{margin-left:0!important;inset-inline:0!important;border-radius:24px!important}
  [data-cms-kind=bubble]{max-width:calc(100% - 12px)}
  [data-cms-kind=bubble]>div{max-width:100%}
  [data-cms-block=bub-about],[data-cms-block=bub-contact],[data-cms-block=bub-te-guardamos-un-lugar]{left:8px!important;bottom:16px!important}
  .rsa-method-mosaic{grid-template-rows:180px 140px!important;gap:10px!important}
  .rsa-registration-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:24px 0!important}
  .rsa-registration-steps>*{min-width:0}
  .rsa-register-trial-cta{width:100%}
  footer{padding:40px 20px 24px!important}
  footer>div>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
  footer>div>div:first-child>div:first-child{grid-column:1/-1}
  .rsa-promo-header>div{padding:12px 16px!important;gap:12px 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
  .rsa-promo-header a:first-child{grid-column:1;grid-row:1;justify-self:start;padding:10px!important;font-size:12px!important;gap:5px!important}
  .rsa-promo-header a:nth-child(2){grid-column:2;grid-row:1;justify-self:center;margin:0}
  .rsa-promo-header a:last-child{grid-column:1/-1;grid-row:2;width:100%;margin:0!important;justify-content:center}
  .rsa-promo-header img{height:24px!important;max-width:150px;object-fit:contain}
  .rsa-promo-header a:last-child{font-size:12px!important;padding:10px 12px!important;min-height:44px;display:flex;align-items:center;text-align:center;white-space:normal!important}
}
@media(max-width:360px){.rsa-promo-header img{max-width:120px!important;height:auto!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:640px){.rsa-season-visual{padding:0 20px 24px!important}.rsa-season-visual img{height:auto!important;object-fit:contain!important}}

.rsa-about-closing-copy{min-height:430px;padding-right:min(49%,600px)!important}
/* Match Home: closing photos are desktop-only (wide > 860px). */
@media(max-width:860px){
 .rsa-about-collage{display:none!important}
 .rsa-about-closing-copy{width:100%;min-height:0;padding:48px 24px!important}
}
@media(max-width:640px){.rsa-about-closing-copy{padding:40px 20px!important}}

/* Header announcement: gently blink the CTA while the text stays still. */
.rsa-header-banner-cta{display:inline-flex;align-items:center;gap:8px;animation:rsaBannerButtonBlink 2.8s ease-in-out infinite}
.rsa-header-banner-cta::after{content:"→";font-size:16px;line-height:1}
.rsa-header-banner-cta{will-change:opacity,transform}
.rsa-header-banner:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
@keyframes rsaBannerButtonBlink{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,0)}50%{opacity:.8;transform:scale(1.02);box-shadow:0 0 0 3px rgba(255,255,255,.12)}}
@media(prefers-reduced-motion:reduce){.rsa-header-banner-cta{animation:none!important;opacity:1;transform:none}}

/* Supporting edge and soft backing preserve approved orange and white labels. */
:where(a,button)[style*="background:#FFA669;color:#fff"],:where(a,button)[style*="background: rgb(255, 166, 105)"],:where(a,button)[style*="background-color: rgb(255, 166, 105)"],.bc-cta,.rsa-mobile-menu nav :is(button,a):last-child{background-image:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0) 60%)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 2px 0 rgba(225,146,94,.38),0 5px 12px rgba(190,101,42,.14),0 9px 20px rgba(15,27,26,.05)!important}
.rsa-faq-number{background-image:linear-gradient(180deg,rgba(255,255,255,.18),transparent 65%);box-shadow:inset 0 1px 1px rgba(255,255,255,.6),inset 0 -1px 2px rgba(15,27,26,.05),0 2px 0 rgba(15,27,26,.04),0 5px 10px rgba(15,27,26,.08)}
/* Decorative step relief: no movement or interactive affordance. */
.rsa-step-number,.rsa-path-level{text-shadow:0 1px 0 rgba(255,255,255,.8),0 2px 0 rgba(15,27,26,.10),0 5px 10px rgba(15,27,26,.10)}
.rsa-bootcamp .bc-number{background-image:linear-gradient(180deg,rgba(255,255,255,.18),transparent 65%);box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -1px 2px rgba(190,101,42,.10),0 2px 0 rgba(225,146,94,.25),0 5px 10px rgba(15,27,26,.09)}
/* Keyboard focus and reduced motion preserve the default approved presentation. */
.rsa-skip-link{position:fixed;left:16px;top:12px;z-index:2147483647;transform:translateY(-200%);background:#fff;color:#015F59;padding:12px 18px;border:2px solid #015F59;border-radius:12px;font:600 16px system-ui;text-decoration:underline}
.rsa-skip-link:focus{transform:translateY(0)}
#rsa-main-content{scroll-margin-top:100px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #015F59!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* FAQ uses the same RSA card, type and pastel system as the main pages. */
.rsa-faq-answer{background:#fff;border:1px solid #E5EAEA;border-radius:22px;box-shadow:0 8px 20px rgba(15,27,26,.04);transition:background 240ms,border-color 240ms,box-shadow 240ms}
.rsa-faq-answer summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:23px 24px;font-family:var(--font-display);font-weight:500;font-size:16px;line-height:1.45;color:#0F1B1A}
.rsa-faq-answer summary::-webkit-details-marker{display:none}
.rsa-faq-qnum{font-size:11px;letter-spacing:.04em;color:#5B6B6A}
.rsa-faq-toggle{position:relative;flex:none;width:30px;height:30px;border-radius:50%;background:#DDF7F5;transition:background 220ms,transform 220ms}
.rsa-faq-toggle::before,.rsa-faq-toggle::after{content:"";position:absolute;left:10px;top:14px;width:10px;height:2px;background:#015F59;border-radius:2px}
.rsa-faq-toggle::after{transform:rotate(90deg);transition:transform 220ms}
.rsa-offer-price{display:inline-block;transform-origin:center;animation:rsaOfferPricePulse 2.6s ease-in-out infinite}
@keyframes rsaOfferPricePulse{0%,100%{opacity:1;transform:scale(1);text-shadow:0 0 0 transparent}50%{opacity:.6;transform:scale(1.07);text-shadow:0 3px 12px rgba(15,181,171,.22)}}
@media(prefers-reduced-motion:reduce){.rsa-offer-price{animation:none}}
.rsa-faq-answer[open]{background:#FDEBE2;border-color:#F1D9CB;box-shadow:0 10px 24px rgba(15,27,26,.05)}
.rsa-faq-answer[open] .rsa-faq-toggle{background:#fff}
.rsa-faq-answer[open] .rsa-faq-toggle::after{transform:rotate(0)}
.rsa-faq-response{padding:0 24px 24px 52px}
.rsa-faq-response p{margin:0;font-size:15px;line-height:1.75;color:#5B6B6A}
.rsa-faq-answer[open] .rsa-faq-response{animation:rsaPop 260ms ease-out both}
@media(hover:hover){.rsa-faq-answer:hover{border-color:#B8DDDA;box-shadow:0 10px 24px rgba(15,27,26,.07)}}
@media(max-width:760px){.rsa-faq-group{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;padding:26px 0 32px!important}.rsa-faq-group>div>p{max-width:none!important}.rsa-faq-answer summary{padding:20px 18px;gap:10px;font-size:15px}.rsa-faq-response{padding:0 18px 22px}.rsa-faq-qnum{display:none}.rsa-faq-photos{max-width:340px;margin:12px auto 0;gap:12px!important}}

/* FAQ launch polish: visible keyboard focus and consistent responsive CTAs. */
.rsa-faq a:focus-visible,.rsa-faq-answer summary:focus-visible{outline:2px solid #015F59;outline-offset:4px;border-radius:8px}
.rsa-faq-answer summary:focus-visible .rsa-faq-toggle{box-shadow:0 0 0 2px #015F59}

/* Blog and article controls follow the approved RSA CTA styling. */
.rsa-blog-ui button{font-family:var(--font-display);min-height:44px}
.rsa-blog-ui :is(button,a):focus-visible{outline:2px solid #015F59;outline-offset:4px}
@media(hover:hover){.rsa-blog-ui button:hover{box-shadow:0 4px 12px rgba(15,27,26,.09)}}

/* Blog: use exactly the approved Home CTA metrics and typography. */
.rsa-blog-ui :is(a,button):focus-visible{outline:2px solid #015F59;outline-offset:4px}

/* Shared visual treatment matching the approved Home primary pill CTA. */
.rsa-blog-ui .rsa-blog-primary-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;max-width:100%;min-height:44px;text-align:center!important;background:#FFA669!important;color:#fff!important;border:1px solid #FFA669!important;border-radius:999px!important;padding:12px 22px!important;font-family:var(--font-display)!important;font-weight:600!important;font-size:14px!important;line-height:1.4!important;text-decoration:none!important;white-space:normal!important}
.rsa-blog-ui .rsa-blog-filter{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;border-radius:999px!important;padding:12px 22px!important;font-family:var(--font-display)!important;font-weight:600!important;font-size:14px!important;line-height:1.4!important}
.rsa-blog-ui .rsa-blog-primary-cta:hover{opacity:.92}

/* Blog card CTA labels are spans; the approved a/button 3D rule does not match spans. */
.rsa-blog-ui .rsa-blog-primary-cta{background-image:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0) 60%)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 2px 0 rgba(225,146,94,.38),0 5px 12px rgba(190,101,42,.14),0 9px 20px rgba(15,27,26,.05)!important}

/* Enrollment options: student-facing level and schedule hierarchy. */
.rsa-group-label{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;color:#5B6B6A;margin-bottom:4px}
.rsa-group-value{display:block;font-size:15px;font-weight:500;line-height:1.5;color:#0F1B1A;overflow-wrap:anywhere}
@media(max-width:420px){.rsa-group-option{padding:18px!important}.rsa-group-details{gap:14px 12px!important}.rsa-group-value{font-size:14px}}
