/* B Migrants / art direction: one photographic scene, one stable component language.
   Functional state styles remain owned by each service. */
:root{--bm-white:#fff;--bm-paper:#f5f5f1;--bm-ink:#313237;--bm-red:#c80710;--bm-action:#9b0710;--bm-blue:#00397c;--bm-yellow:#f7ba0a;--bm-line:#deded8;--bm-font:Helvetica,"Helvetica Neue",Arial,sans-serif;--bm-radius:12px;--bm-photo:8px 96px 8px 8px}
body.brand-system{--ink:var(--bm-ink);--paper:var(--bm-white);--cream:var(--bm-paper);--red:var(--bm-red);--blue:var(--bm-blue);--yellow:var(--bm-yellow);--line:var(--bm-line);background:var(--bm-white);color:var(--bm-ink);font-family:var(--bm-font)}
.brand-system :is(h1,h2,h3,h4,button,input,select,textarea){font-family:var(--bm-font)}
.brand-system :is(h1,h2,h3){font-weight:700;letter-spacing:-.045em}
.brand-system :is(h1,h2,h3,p){overflow-wrap:break-word}
.brand-system :is(.portal-header,.header,.acogida-header,.site-header,.flow-header){background:var(--bm-white);border-bottom:1px solid var(--bm-line);box-shadow:none}
.brand-system :is(.portal-brand,.brand,.acogida-brand){font-family:var(--bm-font);font-weight:700;letter-spacing:-.035em}
.brand-system :is(.portal-brand,.brand,.acogida-brand)>img{width:35px;height:42px;object-fit:contain;flex-shrink:0}
.brand-system :is(.portal-brand,.brand,.acogida-brand) b{color:var(--bm-red)}
.brand-system :is(.portal-nav,.flow-nav,.navigation-gauntlet) a{font-family:var(--bm-font)}
.brand-system :is(.cta,.primary,.button,.acogida-button,.flow-cta){border-radius:8px;min-height:46px;background:var(--bm-action);border-color:var(--bm-action);color:#fff;box-shadow:none;text-decoration:none;font-weight:700;transition:background .18s ease,box-shadow .18s ease}
.brand-system :is(.cta,.primary,.button,.acogida-button,.flow-cta):not(:disabled):not([aria-disabled=true]):hover{background:#79050c;color:#fff;transform:none;box-shadow:0 4px 12px #31323716}
.brand-system :is(.secondary,.text-action){border-radius:8px;color:var(--bm-ink);background:transparent;box-shadow:none}
.brand-system :is(.secondary,.text-action):hover{color:var(--bm-blue);background:#f2f5f9;transform:none}
.brand-system :is(button,input,select,textarea):disabled,.brand-system [aria-disabled=true]{cursor:not-allowed;box-shadow:none}
.brand-system :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--bm-blue);outline-offset:4px}
.brand-system :is(.footer,.flow-footer,.acogida-footer,.colaborar-footer,.contact,.acogida-contact,.contact-band) :is(a,button):focus-visible{outline-color:var(--bm-yellow)}
.brand-system :is(.hero-page,.hero,.acogida-start,.intro:has(>.editorial-photo),.editorial-service-hero,.editorial-lab-grid,.editorial-side-hero,.blab-intro){background:var(--bm-white);color:var(--bm-ink)}
.brand-system :is(.hero-page,.hero,.acogida-start,.intro:has(>.editorial-photo),.editorial-lab-grid,.editorial-side-hero){gap:40px;padding-block:28px 32px}
.brand-system :is(.hero-page,.hero,.acogida-start,.intro:has(>.editorial-photo)) h1{line-height:1.03;font-size:clamp(2.5rem,4.5vw,4.25rem);letter-spacing:-.055em}
.brand-system :is(.hero-page,.hero,.acogida-start,.intro:has(>.editorial-photo)) h1 em{color:var(--bm-red);background:none;font-style:normal}
.brand-system :is(.editorial-photo,.hero-page figure,.hero-image){border-radius:var(--bm-photo);overflow:hidden;background:var(--bm-paper);transform:none;box-shadow:none;margin:0;isolation:auto}
.brand-system :is(.editorial-photo,.hero-page figure,.hero-image)::before,.brand-system :is(.editorial-photo,.hero-page figure,.hero-image)::after{display:none}
.brand-system :is(.editorial-photo,.hero-page figure,.hero-image) img{border-radius:0;transform:none}
.brand-system :is(.editorial-photo,.hero-page figure,.hero-image) figcaption{position:absolute;left:0;right:0;bottom:0;max-width:100%;padding:10px 16px;background:#fff;color:var(--bm-ink);border-top:1px solid var(--bm-line);border-radius:0;transform:none;font-size:.78rem;line-height:1.4;font-weight:400}
.brand-system :is(.hero-page figure,.hero-image,.editorial-photo):has(figcaption)>img{height:calc(100% - 38px)}
.brand-system :is(.card,.course-card,.day-card,.feature,.acogida-facts article,.account-panel){border:1px solid var(--bm-line);border-radius:var(--bm-radius);box-shadow:none;background:#fff}
.brand-system :is(.card,.course-card,.day-card,.feature):has(a):hover{border-color:#b9b9b3;box-shadow:0 7px 24px #31323709}
.brand-system :is(.section.alt,.context-bar,.ways){background:var(--bm-paper);color:var(--bm-ink)}
.brand-system .context-bar :is(p,strong,span){background:transparent;color:var(--bm-ink)}
.brand-system :is(.acogida-visit,.first-step){background:var(--bm-paper);border:1px solid var(--bm-line);border-radius:12px;color:var(--bm-ink)}
.brand-system :is(.acogida-visit,.first-step) .eyebrow{color:var(--bm-blue)}
.brand-system :is(.footer,.flow-footer,.acogida-footer,.colaborar-footer){background:var(--bm-ink);color:#fff}
.brand-system :is(.footer,.acogida-footer,.colaborar-footer) :is(.brand,.footer-brand) b{color:#fff}
.brand-system :is(.contact,.acogida-contact,.bs-care){background:var(--bm-blue);border-radius:0}
.brand-system :is(.contact,.acogida-contact,.bs-care) :is(.eyebrow,.acogida-eyebrow,.bs-label){color:#fff}
.brand-system .ui-icon-badge{border-radius:8px;box-shadow:none}
.brand-system.editorial-colaborar .intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;color:var(--bm-ink);border-radius:0}
.brand-system.editorial-colaborar .intro .jump{display:inline-flex;align-items:center;gap:20px;border-radius:8px;padding:12px 18px;background:var(--bm-action);color:white;text-decoration:none}
.brand-system.editorial-colaborar .cards{gap:20px}
.brand-system.editorial-colaborar .cards .card{margin-top:0;border:1px solid var(--bm-line);border-radius:12px;background:#fff;padding:24px}
.brand-system.editorial-colaborar .cards .number{color:var(--bm-blue);font-size:.75rem;letter-spacing:.06em;border:0;background:none;padding:0}
.brand-system.editorial-colaborar .first-step{border-top:1px solid var(--bm-line)}
.brand-system .bs-hero img{border-radius:var(--bm-photo)}
.brand-system .bs-opening{background:var(--bm-paper);border-left:3px solid var(--bm-blue);border-radius:0 8px 8px 0}
.brand-system .blab-space{border:1px solid var(--bm-line);border-radius:12px;overflow:hidden}
.brand-system.editorial-account .account-editorial-intro figure{border-radius:var(--bm-photo);overflow:hidden;transform:none;box-shadow:none;background:var(--bm-paper)}
.brand-system.editorial-account .account-editorial-intro figure img{display:block;border-radius:0}
.brand-system.editorial-account .account-editorial-intro figcaption{position:static;background:white;color:var(--bm-ink);padding:10px 14px;border-top:1px solid var(--bm-line);font-size:.78rem;font-weight:400}
.brand-system.editorial-account .account-panel{border-top:1px solid var(--bm-line)}
.brand-system.editorial-account .access-contact{border-color:var(--bm-line)}
.brand-system :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:8px}
.brand-system [hidden]{display:none!important}
@media(max-width:700px){
 .brand-system{--bm-photo:8px 32px 8px 8px}
 .brand-system :is(.hero-page,.hero,.acogida-start,.intro:has(>.editorial-photo),.editorial-lab-grid,.editorial-side-hero){grid-template-columns:1fr;gap:20px;padding-block:20px 24px}
 .brand-system :is(.hero-page,.hero,.acogida-start,.intro:has(>.editorial-photo)) h1{font-size:clamp(2.15rem,8.8vw,3.25rem);line-height:1.05}
 .brand-system :is(.editorial-photo,.hero-page figure,.hero-image){border-radius:var(--bm-photo)}
 .brand-system :is(.editorial-photo,.hero-page figure,.hero-image) figcaption{font-size:.75rem;padding:9px 12px}
 .brand-system.editorial-colaborar .intro{grid-template-columns:1fr}
 .brand-system.editorial-colaborar .cards .card{padding:22px}
 .brand-system .navigation-gauntlet.navigation-ready{padding:12px 16px;gap:10px;min-height:72px;flex-wrap:nowrap}
 .brand-system .navigation-gauntlet.navigation-ready .brand{min-width:0;gap:8px;font-size:.72rem;letter-spacing:-.025em}
 .brand-system .navigation-gauntlet.navigation-ready .brand img{width:32px;height:36px}
 .brand-system .navigation-gauntlet.navigation-ready .navigation-toggle{margin-left:auto;min-width:62px;padding:8px 10px;font:700 .85rem var(--bm-font);border-radius:8px;flex-shrink:0}
 .brand-system .flow-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 20px;height:auto;min-height:0}
 .brand-system .flow-header .brand{flex:0 1 auto;min-width:0}
 .brand-system .flow-header .flow-nav{display:flex;position:static;flex:1 0 100%;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px;max-width:100%;margin:0}
 .brand-system .flow-header .flow-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:normal;position:static}
}
@media(prefers-reduced-motion:reduce){.brand-system *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Service surfaces share the system without changing their state or interaction. */
.brand-system :is(.service-notice,.personal-help,.form-guide,.profile-line){background:var(--bm-paper);color:var(--bm-ink);border-color:var(--bm-line);border-radius:8px}
.brand-system :is(.service-notice,.personal-help){border-left:3px solid var(--bm-blue)}
.brand-system :is(.form-section,.account-gate){border:1px solid var(--bm-line);border-radius:12px;background:#fff}
.brand-system :is(button,input,select,textarea):disabled{opacity:.55}
.brand-system [aria-invalid=true]{outline:2px solid #9b0710;outline-offset:2px}
.brand-system .course[aria-pressed=true]{border:2px solid var(--bm-blue);background:#eef3fa;color:var(--bm-blue)}
.brand-system .course[aria-pressed=true] .course-summary{color:var(--bm-ink)}
body.brand-system{font-weight:400}
/* One public navigation across the site. Transaction flows keep a short nav. */
body.brand-system .site-header.navigation-gauntlet{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;height:auto;padding:14px clamp(20px,4.5vw,72px);background:#fff;border-bottom:1px solid var(--bm-line);position:relative;z-index:30}
body.brand-system .site-header.navigation-gauntlet .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 .88rem/1.15 var(--bm-font);letter-spacing:-.035em;flex-shrink:0;color:var(--bm-ink)}
body.brand-system .site-header.navigation-gauntlet .brand img{display:block;width:35px;height:42px;object-fit:contain}
body.brand-system .site-header.navigation-gauntlet .brand b{color:var(--bm-red)}
body.brand-system .navigation-gauntlet .site-nav{gap:16px;font-family:var(--bm-font);font-size:.875rem}
body.brand-system .navigation-gauntlet .site-nav>a,body.brand-system .navigation-gauntlet summary,body.brand-system .navigation-gauntlet .nav-group a{color:var(--bm-ink)}
body.brand-system .navigation-gauntlet .site-nav .navigation-collaborate{padding:10px 16px;border:1px solid var(--bm-action);border-radius:8px;background:var(--bm-action);color:white;justify-content:center;text-decoration:none}
body.brand-system .navigation-gauntlet .site-nav .navigation-collaborate:hover{background:#79050c;color:white}
body.brand-system .navigation-gauntlet .site-nav .navigation-account{padding:10px 16px;border:1px solid var(--bm-ink);border-radius:8px;background:white;color:var(--bm-ink);justify-content:center;text-decoration:none}
body.brand-system .navigation-gauntlet .site-nav .navigation-account:hover{background:var(--bm-paper);color:var(--bm-ink)}
body.brand-system .navigation-gauntlet .navigation-toggle{border:1px solid var(--bm-ink);border-radius:8px;color:var(--bm-ink);font-family:var(--bm-font)}
body.brand-system .navigation-gauntlet .nav-group>div{border-radius:8px;border-color:var(--bm-line);box-shadow:0 8px 28px #31323710}
@media(max-width:1279px){body.brand-system .site-header.navigation-gauntlet.navigation-ready{position:sticky;top:0}body.brand-system .navigation-gauntlet .site-nav{gap:4px}body.brand-system .navigation-gauntlet .nav-group>div{border-radius:0;box-shadow:none}body.brand-system .navigation-gauntlet .site-nav .navigation-collaborate{margin-top:8px}body.brand-system .navigation-gauntlet .site-nav .navigation-account{margin-top:4px}}
@media(max-width:700px){body.brand-system .site-header.navigation-gauntlet{min-height:72px;padding:12px 16px;gap:10px}body.brand-system .site-header.navigation-gauntlet .brand{gap:8px;font-size:.72rem}body.brand-system .site-header.navigation-gauntlet .brand img{width:32px;height:36px}}
.brand-system :is(.hero-link,.contact-primary){background:var(--bm-action);color:#fff;border:1px solid var(--bm-action);border-radius:8px;box-shadow:none;font-weight:700}
.brand-system :is(.hero-link,.contact-primary):hover{background:#79050c;color:#fff;box-shadow:0 4px 12px #31323716}
.brand-system .card-action{color:var(--bm-action)}
@media(max-width:700px){.brand-system.access-page .account-editorial-intro figure{display:none}.brand-system.access-page .account-editorial-intro{margin-bottom:16px}.brand-system.access-page .account-editorial-intro h1{font-size:2.2rem}.brand-system.access-page .intro{font-size:1rem;line-height:1.5}}
body.brand-system .site-header.navigation-gauntlet{flex-direction:row}
.brand-system .navigation-gauntlet .nav-item-icon{background:transparent;color:var(--bm-action);border:0;border-radius:0;width:24px;height:24px;flex-basis:24px}
.brand-system .navigation-gauntlet .nav-item-icon .ui-icon{width:22px;height:22px}
.brand-system footer :is(.brand,.footer-brand) b{color:#fff}
.brand-system .help-title-icon{color:var(--bm-action)}
