
@font-face {
  font-family: "TT Ramillas";
  src: url("/assets/font/tt_ramillas/tt ramillas trial regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Ramillas";
  src: url("/assets/font/tt_ramillas/tt ramillas trial bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root{
  --black:#050505;
  --white:#fff;
  --muted:#8f8f8f;
  --line:#111;
  --soft:#e8eef7;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#fff;color:var(--black);font-family:Arial,Helvetica,sans-serif;overflow:hidden}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.application-page{position:relative;width:100vw;height:100svh;min-height:620px;background:#fff;overflow:hidden}
.application-lang{position:fixed;left:20px;top:20px;z-index:50;display:flex;gap:8px}
.application-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(17,17,17,.12);box-shadow:0 8px 22px rgba(0,0,0,.10);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em;backdrop-filter:blur(8px)}
body.lang-en .application-lang-en,body.lang-fr .application-lang-fr{background:#111;color:#fff}
.application-signature{position:fixed;top:26px;right:44px;z-index:35;width:132px;height:auto;display:block}
.application-m{position:fixed;left:64px;bottom:32px;z-index:4;width:150px;height:auto;display:block}
.application-footer{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:4;font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:14px;line-height:1;color:#111;white-space:nowrap}
.application-counter{position:fixed;right:58px;bottom:36px;z-index:4;font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:32px;line-height:1}
.application-shell{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:88px 46px 92px}
.application-card{width:min(920px,70vw);min-height:420px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin:0 auto;opacity:1;transform:translateX(0);transition:opacity .36s var(--ease),transform .36s var(--ease)}
.application-card.is-leaving{opacity:0;transform:translateX(-16px)}
.application-card.is-entering{opacity:0;transform:translateX(16px)}
.step-kicker{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.20em;text-transform:uppercase;color:#999;margin:0 0 14px}
.step-title{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-weight:400;font-size:58px;line-height:.98;margin:0 0 26px;letter-spacing:-.03em}
.step-question{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-weight:400;font-size:38px;line-height:1.08;margin:0 0 30px;letter-spacing:-.018em}
.step-help{max-width:760px;margin:-12px 0 28px;font-size:16px;line-height:1.45;color:#6a6a6a}
.application-input,.application-textarea,.application-select{
  width:min(860px,100%);
  border:2px solid #111;
  border-radius:14px;
  outline:none;
  background:#fff;
  color:#111;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  padding:18px 22px;
}
.application-input{height:78px}
.application-textarea{height:220px;resize:none;line-height:1.35}
.application-select{height:78px;appearance:none}
.options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;width:min(890px,100%);align-self:center}
.option-card{position:relative;aspect-ratio:1/1.18;border:none;border-radius:18px;overflow:hidden;background:#f2f2f2;padding:0;box-shadow:0 16px 34px rgba(0,0,0,.05);transition:transform .25s var(--ease),box-shadow .25s var(--ease),outline .25s var(--ease);outline:0 solid transparent}
.option-card:hover,.option-card.is-selected{transform:translateY(-3px);box-shadow:0 22px 44px rgba(0,0,0,.10);outline:2px solid rgba(17,17,17,.22)}
.option-card img,.option-card video{width:100%;height:100%;display:block;object-fit:cover}
.option-label{position:absolute;left:0;right:0;bottom:20px;text-align:center;font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:38px;line-height:1;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.38)}
.option-card[data-value="model"] .option-label{color:#000;text-shadow:none}
.choice-list{display:grid;grid-template-columns:1fr;gap:12px;width:min(780px,100%)}
.choice-btn{min-height:62px;border:2px solid #111;border-radius:16px;background:#fff;color:#111;text-align:left;padding:14px 20px;font-size:18px;line-height:1.25;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.choice-btn:hover,.choice-btn.is-selected{background:#111;color:#fff;transform:translateY(-1px)}
.upload-zone{width:min(860px,100%);border:2px dashed rgba(17,17,17,.45);border-radius:18px;min-height:180px;padding:26px;background:#fff;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.upload-zone input{width:100%}
.upload-list{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:#555}
.upload-chip{border:1px solid rgba(17,17,17,.12);border-radius:999px;padding:8px 12px;background:#fafafa}
.nav-buttons{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:24px}
.nav-img-button{border:none;background:transparent;padding:0;opacity:.98;transition:opacity .2s var(--ease),transform .2s var(--ease),filter .2s var(--ease)}
.nav-img-button img{height:50px;width:auto;display:block}
.nav-img-button:hover{transform:translateY(-1px)}
.nav-img-button:disabled{opacity:.34;cursor:not-allowed;filter:grayscale(1)}
.confirm-button{border:none;background:transparent;padding:0;margin:26px auto 0;display:block;transition:transform .2s var(--ease),opacity .2s var(--ease)}
.confirm-button img{height:56px;width:auto;display:block}
.confirm-button:hover{transform:translateY(-1px)}
.confirm-button:disabled{opacity:.35;cursor:not-allowed}
.selection-card .step-title{font-size:66px}
.selection-card .step-question{font-size:38px;margin-bottom:46px}
.message-small{font-size:14px;color:#777;margin-top:14px}
.error-note{color:#9a1b1b;font-size:15px;min-height:22px;margin-top:12px}
.summary-box{width:min(860px,100%);border:2px solid #111;border-radius:18px;padding:24px 26px;max-height:360px;overflow:auto;font-size:15px;line-height:1.45;background:#fff}
.summary-box strong{display:inline-block;min-width:160px}
.terms-box{width:min(860px,100%);font-size:15px;line-height:1.5;color:#222}
.terms-check{display:flex;gap:12px;align-items:flex-start;margin-top:18px}
.terms-check input{width:22px;height:22px;margin-top:1px}
.payment-layout{width:min(860px,100%);display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
.payment-card{border:2px solid #111;border-radius:20px;padding:24px;background:#fff}
.payment-price{font-family:"TT Ramillas","Times New Roman",Georgia,serif;font-size:54px;line-height:1;margin:0 0 8px}
.payment-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.application-primary,.application-secondary{min-height:50px;border-radius:999px;padding:0 22px;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.application-primary{background:#111;color:#fff;border:2px solid #111;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.application-secondary{background:#fff;color:#111;border:2px solid #111}
.calendly-wrap{display:none;width:min(920px,86vw);height:min(700px,70vh);border:2px solid #111;border-radius:22px;overflow:hidden;background:#fff}
.calendly-wrap.is-visible{display:block}
.calendly-inline-widget{width:100%;height:100% !important}
.final-card{align-items:center;text-align:center;width:min(960px,88vw)}
.final-card .step-question{max-width:760px}
.lock-card{align-items:center;text-align:center}
.lock-card .application-input{max-width:520px;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.private-note{position:fixed;left:50%;top:26px;transform:translateX(-50%);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#b7b7b7}
@media (max-width: 900px){
  .application-page{min-height:0}
  .application-lang{left:14px;top:14px}
  .application-lang a{min-width:38px;height:38px;font-size:12px}
  .application-signature{width:104px;right:18px;top:22px}
  .private-note{display:none}
  .application-shell{padding:78px 22px 96px;align-items:center}
  .application-card{width:min(350px,92vw);min-height:0;height:auto;max-height:calc(100svh - 178px);overflow:visible;justify-content:center}
  .step-kicker{font-size:9px;margin-bottom:10px}
  .step-title{font-size:38px;margin-bottom:18px}
  .step-question{font-size:26px;line-height:1.05;margin-bottom:20px}
  .step-help{font-size:13px;margin:-8px 0 18px}
  .application-input,.application-select{height:58px;border-radius:10px;font-size:16px;padding:12px 14px}
  .application-textarea{height:150px;border-radius:12px;font-size:16px;padding:14px}
  .options-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(350px,92vw)}
  .option-card{border-radius:13px}
  .option-label{font-size:22px;bottom:10px}
  .selection-card .step-title{font-size:42px}
  .selection-card .step-question{font-size:24px;margin-bottom:24px}
  .choice-list{gap:9px}
  .choice-btn{min-height:48px;font-size:13px;border-radius:12px;padding:10px 12px}
  .upload-zone{min-height:132px;border-radius:14px;padding:16px;font-size:13px}
  .summary-box{max-height:260px;font-size:12px;border-radius:14px;padding:16px}
  .summary-box strong{min-width:108px}
  .terms-box{font-size:12px}
  .payment-price{font-size:40px}
  .payment-card{border-radius:16px;padding:18px}
  .payment-actions{gap:8px}
  .application-primary,.application-secondary{min-height:42px;font-size:11px;padding:0 14px}
  .calendly-wrap{width:92vw;height:calc(100svh - 150px);border-radius:16px}
  .application-m{width:82px;left:16px;bottom:22px;opacity:.95}
  .application-footer{font-size:10px;bottom:20px}
  .application-counter{font-size:24px;right:18px;bottom:26px}
  .nav-buttons{bottom:62px;gap:12px}
  .nav-img-button img{height:38px}
  .confirm-button img{height:42px}
}
@media (max-height: 680px) and (max-width: 900px){
  .application-shell{padding-top:62px;padding-bottom:76px}
  .application-card{max-height:calc(100svh - 142px)}
  .step-title{font-size:34px}
  .step-question{font-size:22px}
  .application-textarea{height:112px}
  .selection-card .step-question{margin-bottom:16px}
  .nav-buttons{bottom:50px}
  .application-footer{display:none}
}


/* Application form refinements: exact visual assets, cleaner mobile, gated Calendly */
.option-label{display:none !important}
.option-card{aspect-ratio:321.75 / 432 !important;border-radius:18px !important;background:transparent !important}
.option-card img,.option-card video{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important}
.option-card img[src$=".svg"]{object-fit:contain !important}
.options-grid{align-items:start !important}
.application-card.selection-card{width:min(980px,74vw) !important}
.application-card.final-card{width:min(940px,82vw) !important}
.paypal-button-zone{width:min(420px,100%);margin:18px auto 4px}
.payment-card{text-align:center}
.payment-card .payment-actions{justify-content:center}
.payment-secure-note{margin-top:14px;color:#777;font-size:13px;line-height:1.35}
.application-calendly-open .application-m,
.application-calendly-open .application-footer,
.application-calendly-open .application-counter,
.application-calendly-open .nav-buttons{display:none !important}
.calendly-card{width:min(1080px,88vw) !important;align-items:center !important;text-align:center !important}
.calendly-card .step-title{font-size:42px;margin-bottom:12px}
.calendly-card .step-question{font-size:22px;margin-bottom:18px;color:#555;font-family:Arial,Helvetica,sans-serif;letter-spacing:0;line-height:1.35}
.calendly-card .calendly-wrap{display:block;width:min(980px,86vw);height:min(690px,72vh);border:2px solid #111;border-radius:22px;overflow:hidden;background:#fff}
.calendly-card .calendly-inline-widget{width:100%;height:100% !important}
@media (min-width:901px){
  .selection-card .options-grid{width:min(900px,100%);gap:42px}
  .selection-card .confirm-button{margin-top:34px}
  .payment-card{padding:34px 36px}
}
@media (max-width:900px){
  .application-shell{padding:66px 22px 96px !important;align-items:center !important}
  .application-card{margin-top:-5svh;width:min(360px,92vw) !important;max-height:calc(100svh - 168px) !important}
  .lock-card,.selection-card{margin-top:-7svh !important}
  .selection-card .options-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(350px,92vw)}
  .option-card{border-radius:14px !important;box-shadow:0 12px 28px rgba(0,0,0,.05)}
  .selection-card .confirm-button{margin-top:20px}
  .nav-buttons{bottom:74px !important;gap:10px !important;z-index:25}
  .nav-img-button img{height:34px !important}
  .application-counter{right:20px !important;bottom:34px !important;font-size:24px !important}
  .application-footer{bottom:26px !important;font-size:9.2px !important;max-width:70vw;text-align:center;white-space:normal;line-height:1.08}
  .application-m{width:76px !important;left:18px !important;bottom:32px !important}
  .payment-card{max-height:calc(100svh - 180px);overflow:auto;padding:20px 18px;border-radius:16px}
  .payment-price{font-size:42px}
  .paypal-button-zone{width:100%;max-width:320px;margin:16px auto 0}
  .calendly-card{margin-top:0 !important;width:94vw !important;max-height:calc(100svh - 104px) !important}
  .calendly-card .step-title{font-size:27px;margin-bottom:8px}
  .calendly-card .step-question{font-size:13px;margin-bottom:10px}
  .calendly-card .calendly-wrap{width:94vw;height:calc(100svh - 164px);border-radius:16px}
}
@media (max-height:680px) and (max-width:900px){
  .application-card{margin-top:-3svh;max-height:calc(100svh - 132px) !important}
  .lock-card,.selection-card{margin-top:-5svh !important}
  .selection-card .options-grid{width:min(330px,90vw);gap:9px}
  .nav-buttons{bottom:54px !important}
  .application-counter{bottom:18px !important}
  .application-m{bottom:20px !important}
}


/* Final application readability + button clearance adjustments */
@media (min-width:901px){
  .application-card{
    min-height:0 !important;
    width:min(860px,66vw) !important;
  }
  .application-card.selection-card{
    width:min(940px,72vw) !important;
  }
  .step-title{
    font-size:48px !important;
    line-height:.98 !important;
    margin-bottom:18px !important;
  }
  .step-question{
    font-size:31px !important;
    line-height:1.06 !important;
    margin-bottom:22px !important;
  }
  .selection-card .step-title{
    font-size:54px !important;
  }
  .selection-card .step-question{
    font-size:31px !important;
    margin-bottom:30px !important;
  }
  .choice-list{
    width:min(800px,100%) !important;
    gap:9px !important;
  }
  .choice-btn{
    min-height:50px !important;
    padding:11px 18px !important;
    font-size:16px !important;
  }
  .application-textarea{
    height:168px !important;
  }
  .summary-box{
    max-height:292px !important;
    font-size:14px !important;
  }
  .terms-box{
    font-size:14px !important;
    line-height:1.42 !important;
  }
  .terms-box p{
    margin:0 0 12px !important;
  }
  .payment-card{
    max-height:54vh !important;
    overflow:auto !important;
  }
  .nav-buttons{
    bottom:74px !important;
  }
}

@media (max-width:900px){
  .application-shell{
    padding:60px 22px 142px !important;
    align-items:center !important;
  }
  .application-card{
    width:min(350px,90vw) !important;
    max-height:calc(100svh - 220px) !important;
    margin-top:-6svh !important;
  }
  .lock-card,.selection-card{
    margin-top:-8svh !important;
  }
  .step-title{
    font-size:30px !important;
    line-height:1 !important;
    margin-bottom:12px !important;
  }
  .step-question{
    font-size:21px !important;
    line-height:1.06 !important;
    margin-bottom:15px !important;
  }
  .selection-card .step-title{
    font-size:34px !important;
  }
  .selection-card .step-question{
    font-size:19px !important;
    line-height:1.08 !important;
    margin-bottom:16px !important;
  }
  .choice-list{
    gap:8px !important;
  }
  .choice-btn{
    min-height:42px !important;
    padding:9px 11px !important;
    font-size:12.3px !important;
    border-radius:11px !important;
  }
  .application-input,.application-select{
    height:54px !important;
    font-size:15px !important;
  }
  .application-textarea{
    height:118px !important;
    font-size:15px !important;
  }
  .summary-box{
    max-height:224px !important;
    font-size:11.4px !important;
    line-height:1.32 !important;
  }
  .terms-box{
    font-size:12px !important;
    line-height:1.36 !important;
  }
  .terms-box p{
    margin:0 0 10px !important;
  }
  .terms-check{
    margin-top:10px !important;
  }
  .nav-buttons{
    bottom:112px !important;
    gap:8px !important;
    z-index:35 !important;
  }
  .nav-img-button img{
    height:31px !important;
  }
  .application-m{
    width:70px !important;
    left:18px !important;
    bottom:30px !important;
  }
  .application-counter{
    font-size:22px !important;
    right:18px !important;
    bottom:40px !important;
  }
  .application-footer{
    bottom:18px !important;
    font-size:8.5px !important;
    max-width:64vw !important;
  }
  .payment-card{
    max-height:calc(100svh - 238px) !important;
  }
}

@media (max-height:680px) and (max-width:900px){
  .application-shell{
    padding-top:50px !important;
    padding-bottom:122px !important;
  }
  .application-card{
    margin-top:-5svh !important;
    max-height:calc(100svh - 178px) !important;
  }
  .step-title{
    font-size:26px !important;
  }
  .step-question{
    font-size:18px !important;
  }
  .choice-btn{
    min-height:38px !important;
    font-size:11.4px !important;
  }
  .application-input,.application-select{
    height:48px !important;
  }
  .application-textarea{
    height:94px !important;
  }
  .nav-buttons{
    bottom:88px !important;
  }
  .nav-img-button img{
    height:28px !important;
  }
  .application-counter{
    bottom:28px !important;
  }
  .application-m{
    bottom:22px !important;
    width:64px !important;
  }
  .application-footer{
    display:block !important;
    bottom:12px !important;
    font-size:7.4px !important;
  }
}


/* Candidate exit path + final mobile refinements */
.exit-card{
  align-items:center !important;
  text-align:center !important;
  width:min(840px,72vw) !important;
}
.exit-card .step-question{
  max-width:680px;
}
.exit-copy{
  max-width:700px !important;
  margin:0 auto 26px !important;
  font-size:18px !important;
  line-height:1.48 !important;
  color:#222 !important;
}
.exit-home-link{
  text-decoration:none;
  margin-top:10px;
}

/* Stronger PayPal / Calendly warning note */
.payment-secure-note{
  color:#9a1b1b !important;
  font-weight:700;
  max-width:680px;
  margin:16px auto 0 !important;
}

/* Slightly higher mobile content, larger selection visuals, safer nav spacing */
@media (max-width:900px){
  .application-card{
    margin-top:-8svh !important;
    max-height:calc(100svh - 230px) !important;
  }
  .lock-card,.selection-card{
    margin-top:-10svh !important;
  }
  .selection-card .options-grid{
    width:min(372px,94vw) !important;
    gap:9px !important;
  }
  .selection-card .option-card{
    border-radius:14px !important;
  }
  .selection-card .confirm-button{
    margin-top:18px !important;
  }
  .nav-buttons{
    bottom:118px !important;
  }
  .exit-card{
    width:min(350px,90vw) !important;
  }
  .exit-copy{
    font-size:13px !important;
    line-height:1.42 !important;
    max-width:330px !important;
  }
}

@media (max-height:680px) and (max-width:900px){
  .application-card{
    margin-top:-7svh !important;
    max-height:calc(100svh - 190px) !important;
  }
  .lock-card,.selection-card{
    margin-top:-9svh !important;
  }
  .selection-card .options-grid{
    width:min(350px,94vw) !important;
    gap:8px !important;
  }
  .nav-buttons{
    bottom:94px !important;
  }
}


/* Maison Bellanov Casablanca application blue trust system */
html,body{
  background:#023da5 !important;
}
.application-page,
.application-request-page{
  background:#023da5 !important;
  color:#fff !important;
}
body.mbc-dark .application-page,
body.mbc-dark .application-request-page{
  background:#030303 !important;
}

.application-page::before,
.application-page::after,
.application-request-page::before,
.application-request-page::after{
  content:"";
  position:absolute;
  inset:-15%;
  pointer-events:none;
  z-index:0;
  opacity:.28;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.96) 0 1.6px, transparent 2px),
    radial-gradient(circle at 32% 78%, rgba(255,225,150,.72) 0 1.5px, transparent 2px),
    radial-gradient(circle at 62% 28%, rgba(255,255,255,.82) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 82% 66%, rgba(255,225,150,.66) 0 1.4px, transparent 2px),
    linear-gradient(45deg, transparent 0 49%, rgba(255,255,255,.42) 49% 51%, transparent 51% 100%);
  background-size:220px 220px,280px 280px,340px 340px,260px 260px,180px 180px;
  animation:mbcConfettiDrift 24s linear infinite;
}
.application-page::after,
.application-request-page::after{
  opacity:.16;
  transform:rotate(16deg);
  animation-duration:34s;
  animation-direction:reverse;
}
@keyframes mbcConfettiDrift{
  from{background-position:0 0, 40px 120px, 110px 50px, 0 90px, 20px 40px;}
  to{background-position:0 -520px, 40px -360px, 110px -470px, 0 -430px, 20px -480px;}
}
.application-shell,
.application-request-shell{
  z-index:1;
}
.application-card,
.application-request-card{
  position:relative;
  z-index:2;
}
.step-title,
.step-question,
.application-counter,
.application-footer,
.payment-price,
.request-title,
.request-copy,
.request-button{
  color:#fff !important;
}
.step-kicker,
.step-help,
.private-note,
.request-kicker,
.request-subcopy{
  color:rgba(255,255,255,.62) !important;
}
.application-signature,
.application-m{
  filter:brightness(0) invert(1) !important;
}
.application-signature{
  cursor:pointer;
}
.application-home-mark{
  position:fixed;
  left:64px;
  bottom:32px;
  z-index:5;
  display:block;
  width:150px;
  line-height:0;
}
.application-home-mark .application-m{
  position:static !important;
  width:100% !important;
  height:auto !important;
  display:block;
}
.application-lang a{
  background:rgba(255,255,255,.96) !important;
  color:#111 !important;
}
body.lang-en .application-lang-en,
body.lang-fr .application-lang-fr{
  background:#111 !important;
  color:#fff !important;
}
.application-input,
.application-textarea,
.application-select,
.choice-btn,
.upload-zone,
.summary-box,
.payment-card{
  background:rgba(255,255,255,.98) !important;
  color:#111 !important;
  border-color:rgba(255,255,255,.95) !important;
}
.choice-btn{
  border-color:rgba(255,255,255,.95) !important;
}
.choice-btn:hover,
.choice-btn.is-selected{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}
.terms-box,
.terms-box p{
  color:#fff !important;
}
.terms-check span{
  color:#fff !important;
}
.payment-card p:not(.payment-price):not(.error-note):not(.payment-secure-note){
  color:#111 !important;
}
.summary-box p,
.summary-box strong{
  color:#111 !important;
}
.error-note,
.payment-secure-note{
  color:#ffe7e7 !important;
}

/* PC: slightly smaller typography and raised content to clear navigation */
@media (min-width:901px){
  .application-card{
    width:min(820px,64vw) !important;
    min-height:0 !important;
    margin:-5svh auto 0 !important;
  }
  .application-card.selection-card{
    width:min(930px,72vw) !important;
    margin:-4svh auto 0 !important;
  }
  .step-title{
    font-size:42px !important;
    line-height:.98 !important;
    margin-bottom:14px !important;
  }
  .step-question{
    font-size:27px !important;
    line-height:1.05 !important;
    margin-bottom:18px !important;
  }
  .selection-card .step-title{
    font-size:46px !important;
  }
  .selection-card .step-question{
    font-size:27px !important;
    margin-bottom:26px !important;
  }
  .choice-list{
    width:min(780px,100%) !important;
    gap:8px !important;
  }
  .choice-btn{
    min-height:42px !important;
    padding:9px 16px !important;
    font-size:15px !important;
  }
  .application-input,
  .application-select{
    height:62px !important;
    font-size:18px !important;
  }
  .application-textarea{
    height:148px !important;
    font-size:17px !important;
  }
  .summary-box{
    max-height:270px !important;
  }
  .nav-buttons{
    bottom:76px !important;
  }
}

/* Mobile: slightly higher content and a little larger selection visuals */
@media (max-width:900px){
  .application-page{min-height:0 !important;}
  .application-card{
    margin-top:-9svh !important;
    max-height:calc(100svh - 230px) !important;
  }
  .lock-card,.selection-card{
    margin-top:-10svh !important;
  }
  .selection-card .options-grid{
    width:min(378px,95vw) !important;
    gap:9px !important;
  }
  .selection-card .option-card{
    border-radius:14px !important;
  }
  .application-home-mark{
    left:18px !important;
    bottom:30px !important;
    width:70px !important;
  }
  .nav-buttons{
    bottom:118px !important;
  }
}
@media (max-height:680px) and (max-width:900px){
  .application-card{
    margin-top:-8svh !important;
    max-height:calc(100svh - 190px) !important;
  }
  .lock-card,.selection-card{
    margin-top:-9svh !important;
  }
  .selection-card .options-grid{
    width:min(352px,94vw) !important;
    gap:8px !important;
  }
  .nav-buttons{
    bottom:94px !important;
  }
}

/* Public application request page */
.application-request-page{
  position:relative;
  width:100vw;
  height:100svh;
  min-height:620px;
  overflow:hidden;
}
.application-request-shell{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:96px 42px 118px;
}
.application-request-card{
  width:min(880px,72vw);
  text-align:center;
  margin:-2svh auto 0;
}
.request-kicker{
  margin:0 0 18px;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.request-title{
  font-family:"TT Ramillas","Times New Roman",Georgia,serif;
  font-size:56px;
  line-height:.96;
  font-weight:400;
  letter-spacing:-.03em;
  margin:0 0 24px;
}
.request-copy{
  font-family:"TT Ramillas","Times New Roman",Georgia,serif;
  font-size:28px;
  line-height:1.13;
  font-weight:400;
  max-width:760px;
  margin:0 auto 18px;
}
.request-subcopy{
  max-width:680px;
  margin:0 auto 34px;
  font-size:16px;
  line-height:1.45;
}
.request-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:min(920px,100%);
  margin:0 auto;
}
.request-button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:68px;
  padding:14px 18px;
  text-align:center;
  text-decoration:none;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.74);
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.45), 0 18px 44px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
  font-weight:700;
  letter-spacing:.02em;
  transition:transform .24s var(--ease), background .24s var(--ease), box-shadow .24s var(--ease);
}
.request-button:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.58), 0 22px 52px rgba(0,0,0,.20);
}
@media (max-width:900px){
  .application-request-page{min-height:0;}
  .application-request-shell{
    padding:84px 24px 132px;
  }
  .application-request-card{
    width:min(360px,92vw);
    margin:-4svh auto 0;
  }
  .request-title{
    font-size:38px;
    margin-bottom:16px;
  }
  .request-copy{
    font-size:22px;
    line-height:1.08;
  }
  .request-subcopy{
    font-size:13px;
    margin-bottom:22px;
  }
  .request-buttons{
    grid-template-columns:1fr;
    gap:10px;
  }
  .request-button{
    min-height:54px;
    font-size:13px;
  }
}


/* Final access-step placement + no first-frame counter */
body.application-access-step .application-page .application-counter{
  display:none !important;
}
body.application-access-step .application-page .pathway-trigger{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:fixed !important;
  right:28px !important;
  bottom:34px !important;
  z-index:60 !important;
  margin:0 !important;
  transform:none !important;
}
body:not(.application-access-step) .application-page .pathway-trigger{
  display:none !important;
}

@media (max-width:900px){
  body.application-access-step .application-page .pathway-trigger{
    right:18px !important;
    bottom:28px !important;
  }
}


/* === REPAIR PATCH: request page + process popup + application counter === */

/* Request buttons must be stacked and image-based on PC + mobile */
.application-request-page .request-buttons{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  width:min(440px,88vw) !important;
  margin:0 auto !important;
}
.application-request-page .request-image-button{
  display:block !important;
  width:min(410px,86vw) !important;
  line-height:0 !important;
  text-decoration:none !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:999px !important;
  overflow:visible !important;
  transition:transform .22s var(--ease), filter .22s var(--ease), opacity .22s var(--ease) !important;
}
.application-request-page .request-image-button:hover{
  transform:translateY(-2px) !important;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.18)) !important;
}
.application-request-page .request-image-button img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  pointer-events:none !important;
}

/* Process button, hidden on application after ID, visible on request */
.pathway-trigger{
  position:fixed !important;
  right:28px !important;
  bottom:34px !important;
  z-index:60 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:142px !important;
  height:48px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.52) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(0,0,0,.18), inset 0 1px 1px rgba(255,255,255,.42) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  margin:0 !important;
  transform:none !important;
}
.application-page .pathway-trigger{
  display:none !important;
}
body.application-access-step .application-page .pathway-trigger{
  display:inline-flex !important;
}
body:not(.application-access-step) .application-page .pathway-trigger{
  display:none !important;
}

/* No 1/20 on ID page, but counter returns after ID */
body.application-access-step .application-page .application-counter{
  display:none !important;
}
body:not(.application-access-step) .application-page .application-counter{
  display:block !important;
}

/* Popup must never appear as raw HTML */
.pathway-popup{
  position:fixed !important;
  inset:0 !important;
  z-index:80 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transition:opacity .28s var(--ease) !important;
}
.pathway-popup.is-open{
  opacity:1 !important;
  pointer-events:auto !important;
}
.pathway-dim{
  position:absolute !important;
  inset:0 !important;
  background:rgba(1,15,45,.42) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
body.mbc-dark .pathway-dim{
  background:rgba(0,0,0,.55) !important;
}
.pathway-panel{
  position:absolute !important;
  right:36px !important;
  bottom:36px !important;
  width:min(1100px,calc(100vw - 72px)) !important;
  max-height:calc(100svh - 72px) !important;
  overflow:auto !important;
  border-radius:38px !important;
  padding:28px 28px 24px !important;
  border:1px solid rgba(255,255,255,.56) !important;
  background:linear-gradient(145deg, rgba(2,61,165,.86), rgba(1,25,75,.86)) !important;
  color:#fff !important;
  box-shadow:0 34px 80px rgba(0,0,0,.30), inset 0 1px 1px rgba(255,255,255,.34) !important;
  backdrop-filter:blur(22px) !important;
  -webkit-backdrop-filter:blur(22px) !important;
  transform:translateY(20px) scale(.97) !important;
  transition:transform .32s var(--ease) !important;
}
.pathway-popup.is-open .pathway-panel{
  transform:translateY(0) scale(1) !important;
}
body.mbc-dark .pathway-panel{
  background:linear-gradient(145deg, rgba(17,17,17,.92), rgba(0,0,0,.86)) !important;
}
.pathway-close{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:46px !important;
  height:46px !important;
  z-index:25 !important;
  pointer-events:auto !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  color:#111 !important;
  font-size:28px !important;
  line-height:1 !important;
}
.pathway-kicker{
  margin:0 56px 14px 0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:11px !important;
  letter-spacing:.20em !important;
  text-transform:uppercase !important;
}
.pathway-media-wrap{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16/7 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.10) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22) !important;
  isolation:isolate !important;
}
.pathway-media{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.pathway-media-wrap.is-loading::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  background:linear-gradient(135deg, rgba(2,61,165,.30), rgba(255,255,255,.06)) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
}
.pathway-media-wrap.is-loading::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:34px !important;
  height:34px !important;
  margin:-17px 0 0 -17px !important;
  z-index:5 !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.34) !important;
  border-top-color:#fff !important;
  animation:mbcPathwaySpin .78s linear infinite !important;
  box-shadow:0 0 26px rgba(255,255,255,.20) !important;
}
@keyframes mbcPathwaySpin{to{transform:rotate(360deg)}}
.pathway-count{
  margin:18px 0 8px !important;
  color:rgba(255,255,255,.62) !important;
  font-size:12px !important;
  letter-spacing:.18em !important;
}
.pathway-title{
  font-family:"TT Ramillas","Times New Roman",Georgia,serif !important;
  font-weight:400 !important;
  font-size:40px !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
  margin:0 0 12px !important;
  color:#fff !important;
  max-width:900px !important;
}
.pathway-copy{
  margin:0 !important;
  font-size:16px !important;
  line-height:1.48 !important;
  color:rgba(255,255,255,.86) !important;
  max-width:960px !important;
}
.pathway-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-top:18px !important;
}
.pathway-nav-button{
  min-width:92px !important;
  height:36px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.42) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:12px !important;
}
.pathway-dots{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
}
.pathway-dots span{
  width:7px !important;
  height:7px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.34) !important;
}
.pathway-dots span.is-active{
  width:22px !important;
  background:#fff !important;
}

@media (max-width:900px){
  .application-request-page .request-buttons{
    width:min(330px,86vw) !important;
    gap:10px !important;
  }
  .application-request-page .request-image-button{
    width:min(318px,84vw) !important;
  }
  .pathway-trigger{
    right:18px !important;
    bottom:28px !important;
    min-width:118px !important;
    height:42px !important;
    padding:0 16px !important;
    font-size:10px !important;
  }
  .pathway-panel{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    width:auto !important;
    max-height:calc(100svh - 32px) !important;
    border-radius:28px !important;
    padding:18px 18px 16px !important;
  }
  .pathway-media-wrap{
    aspect-ratio:16/10 !important;
    border-radius:20px !important;
  }
  .pathway-title{
    font-size:26px !important;
  }
  .pathway-copy{
    font-size:13px !important;
    line-height:1.46 !important;
  }
}


/* Final request/demande process alignment with M */
.application-request-page .pathway-trigger{
  bottom:82px !important;
  min-width:142px !important;
  height:48px !important;
}
@media (max-width:900px){
  .application-request-page .pathway-trigger{
    bottom:48px !important;
    min-width:112px !important;
    height:40px !important;
    padding:0 14px !important;
    font-size:9.5px !important;
  }
}


/* Request/Demande final process alignment */
.application-request-page .pathway-trigger{
  bottom:70px !important;
}
@media (max-width:900px){
  .application-request-page .pathway-trigger{
    bottom:58px !important;
    min-width:108px !important;
    height:38px !important;
    padding:0 14px !important;
    font-size:9px !important;
  }
  .application-request-page .application-home-mark{
    left:18px !important;
  }
}

/* === GOGOGO patch: process button identical across application/request/pro pages === */
body.application-access-step .application-page .pathway-trigger{
  right:28px!important;
  bottom:70px!important;
  min-width:142px!important;
  height:48px!important;
  padding:0 22px!important;
  font-size:12px!important;
}
@media (max-width:900px){
  body.application-access-step .application-page .pathway-trigger{
    right:18px!important;
    bottom:58px!important;
    min-width:108px!important;
    height:38px!important;
    padding:0 14px!important;
    font-size:9px!important;
  }
}

/* === Interactive brochure prologue before talent selection === */
.brochure-skip-trigger{
  position:fixed !important;
  right:28px !important;
  bottom:70px !important;
  z-index:60 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:142px !important;
  height:48px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.52) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(0,0,0,.18), inset 0 1px 1px rgba(255,255,255,.42) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  margin:0 !important;
  transform:none !important;
}
body.application-brochure-step .application-page .brochure-skip-trigger{
  display:inline-flex !important;
}
body.application-brochure-step .application-page .pathway-trigger,
body.application-brochure-step .application-page .application-counter{
  display:none !important;
}
body.application-brochure-step .application-shell{
  padding:74px 92px 104px !important;
  align-items:center !important;
}
body.application-brochure-step .application-card.brochure-card{
  width:min(1120px,78vw) !important;
  max-height:calc(100svh - 178px) !important;
  min-height:0 !important;
  margin:-2svh auto 0 !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:none !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
  padding:0 4px !important;
}
body.application-brochure-step .application-card.brochure-card::-webkit-scrollbar{
  display:none !important;
}
.brochure-panel{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  color:#fff !important;
}
.brochure-intro-panel{
  min-height:420px !important;
  justify-content:center !important;
  padding:32px 18px !important;
}
.brochure-count{
  margin:0 0 16px !important;
  font-size:12px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.62) !important;
}
.brochure-kicker{
  margin:0 0 18px !important;
  font-size:12px !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.70) !important;
}
.brochure-title{
  max-width:940px !important;
  margin:0 auto 18px !important;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif !important;
  font-weight:400 !important;
  font-size:clamp(36px,4.4vw,66px) !important;
  line-height:.96 !important;
  letter-spacing:-.035em !important;
  color:#fff !important;
}
.brochure-subtitle,
.brochure-copy{
  max-width:850px !important;
  margin:0 auto 24px !important;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif !important;
  font-size:clamp(18px,1.7vw,28px) !important;
  line-height:1.15 !important;
  color:rgba(255,255,255,.88) !important;
}
.brochure-intro-copy{
  max-width:720px !important;
}
.brochure-card-grid{
  width:100% !important;
  display:grid !important;
  gap:18px !important;
  margin:6px auto 22px !important;
}
.brochure-card-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.brochure-card-grid-two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:860px !important;
}
.brochure-visual-card{
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 24px 56px rgba(0,0,0,.18), inset 0 1px 1px rgba(255,255,255,.16) !important;
}
.brochure-visual-card img{
  display:block !important;
  width:100% !important;
  aspect-ratio:1200/630 !important;
  object-fit:cover !important;
  pointer-events:none !important;
}
.brochure-visual-card figcaption{
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 14px !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
  color:#fff !important;
  background:rgba(0,0,0,.22) !important;
}
.brochure-social-proof{
  width:min(560px,92%) !important;
  margin:4px auto 0 !important;
  padding:12px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.16), inset 0 1px 1px rgba(255,255,255,.18) !important;
}
.brochure-social-proof img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  border-radius:16px !important;
  pointer-events:none !important;
}
.brochure-social-proof figcaption{
  margin:10px 4px 2px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
.brochure-social-proof-major{
  width:min(640px,94%) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.18), rgba(236,207,130,.16)) !important;
  border:1px solid rgba(236,207,130,.56) !important;
  box-shadow:0 26px 62px rgba(0,0,0,.24), 0 0 44px rgba(236,207,130,.12), inset 0 1px 1px rgba(255,255,255,.30) !important;
}
.brochure-social-proof-major figcaption{
  color:#fff !important;
  font-weight:700 !important;
}
.brochure-decision-box{
  width:min(760px,100%) !important;
  margin:22px auto 0 !important;
  padding:22px 24px 12px !important;
  border-radius:28px !important;
  background:rgba(0,0,0,.20) !important;
  border:1px solid rgba(255,255,255,.22) !important;
}
.brochure-decision-box p{
  margin:0 auto !important;
  max-width:680px !important;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif !important;
  font-size:clamp(18px,1.55vw,24px) !important;
  line-height:1.18 !important;
  color:#fff !important;
}
.brochure-confirm{
  margin-top:18px !important;
}
.brochure-professional-note{
  width:min(760px,100%) !important;
  margin:18px auto 8px !important;
  padding:16px 18px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.08) !important;
}
.brochure-professional-note p{
  margin:0 0 10px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.brochure-professional-note a{
  color:#fff !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  font-size:12px !important;
}
body.application-brochure-step .nav-buttons{
  left:0 !important;
  right:0 !important;
  top:50% !important;
  bottom:auto !important;
  width:100vw !important;
  transform:translateY(-50%) !important;
  justify-content:space-between !important;
  padding:0 30px !important;
  pointer-events:none !important;
  z-index:55 !important;
}
body.application-brochure-step .nav-img-button{
  pointer-events:auto !important;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.22)) !important;
}
body.application-brochure-step .nav-img-button img{
  height:54px !important;
}
body.application-brochure-step .nav-img-button:hover{
  transform:scale(1.03) !important;
}

@media (max-width:900px){
  .brochure-skip-trigger{
    right:18px !important;
    bottom:58px !important;
    min-width:108px !important;
    height:38px !important;
    padding:0 14px !important;
    font-size:9px !important;
  }
  body.application-brochure-step .application-shell{
    padding:68px 46px 102px !important;
  }
  body.application-brochure-step .application-card.brochure-card{
    width:min(390px,86vw) !important;
    max-height:calc(100svh - 178px) !important;
    margin:-5svh auto 0 !important;
  }
  .brochure-intro-panel{
    min-height:calc(100svh - 240px) !important;
    padding:16px 0 !important;
  }
  .brochure-title{
    font-size:clamp(31px,9vw,42px) !important;
  }
  .brochure-subtitle,
  .brochure-copy{
    font-size:19px !important;
    line-height:1.14 !important;
  }
  .brochure-card-grid,
  .brochure-card-grid-three,
  .brochure-card-grid-two{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .brochure-visual-card{
    border-radius:18px !important;
  }
  .brochure-visual-card figcaption{
    min-height:44px !important;
    font-size:11px !important;
    padding:10px !important;
  }
  .brochure-social-proof{
    width:100% !important;
    border-radius:20px !important;
  }
  .brochure-decision-box{
    border-radius:22px !important;
    padding:18px 16px 8px !important;
  }
  .brochure-decision-box p{
    font-size:18px !important;
  }
  body.application-brochure-step .nav-buttons{
    padding:0 8px !important;
  }
  body.application-brochure-step .nav-img-button img{
    height:38px !important;
  }
}

/* === Brochure polish: compact navigation, intro video, lightbox, smaller social proof === */
body.application-brochure-step .application-card.brochure_intro-card{
  width:min(1180px,82vw) !important;
}
.brochure-intro-layout{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(320px,.86fr) minmax(360px,1fr) !important;
  gap:34px !important;
  align-items:center !important;
}
.brochure-intro-text{
  text-align:left !important;
}
.brochure-intro-text .brochure-title{
  font-size:clamp(34px,3.35vw,54px) !important;
  max-width:560px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.brochure-intro-text .brochure-copy{
  font-size:clamp(16px,1.26vw,22px) !important;
  max-width:540px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.brochure-video-card{
  margin:0 !important;
  border-radius:30px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 26px 68px rgba(0,0,0,.22), inset 0 1px 1px rgba(255,255,255,.22) !important;
  cursor:zoom-in !important;
}
.brochure-video-card video{
  display:block !important;
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  background:#061f54 !important;
}
.brochure-visual-card,
.brochure-social-proof-major{
  cursor:zoom-in !important;
}
.brochure-social-proof-major{
  width:min(410px,78%) !important;
  padding:9px !important;
  border-radius:20px !important;
  margin-top:10px !important;
}
.brochure-social-proof-major img{
  border-radius:13px !important;
}
.brochure-social-proof-major figcaption{
  font-size:12px !important;
  line-height:1.25 !important;
  margin-top:8px !important;
}
body.application-brochure-step .nav-buttons{
  padding:0 18px !important;
}
body.application-brochure-step .nav-img-button{
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.14) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.20), inset 0 1px 1px rgba(255,255,255,.42) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  color:#fff !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif !important;
  font-size:34px !important;
  line-height:1 !important;
}
body.application-brochure-step .nav-img-button img{
  display:none !important;
}
body.application-brochure-step .nav-img-button[data-prev]::before{content:"‹"; transform:translateY(-2px);}
body.application-brochure-step .nav-img-button[data-next]::before{content:"›"; transform:translateY(-2px);}
body.application-brochure-step .nav-img-button:disabled{
  opacity:.24 !important;
  pointer-events:none !important;
}
.brochure-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:34px !important;
  background:rgba(0,0,0,.82) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.brochure-lightbox-inner{
  width:min(1180px,94vw) !important;
  max-height:92svh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}
.brochure-lightbox-inner img,
.brochure-lightbox-inner video{
  max-width:100% !important;
  max-height:82svh !important;
  object-fit:contain !important;
  border-radius:24px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.42) !important;
  background:#061f54 !important;
}
.brochure-lightbox-inner p{
  margin:0 !important;
  color:#fff !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  font-size:13px !important;
}
.brochure-lightbox-close{
  position:fixed !important;
  right:24px !important;
  top:22px !important;
  width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  font-size:32px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
@media (max-width:900px){
  body.application-brochure-step .application-card.brochure_intro-card{
    width:min(390px,86vw) !important;
  }
  .brochure-intro-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
  }
  .brochure-intro-text{
    text-align:center !important;
  }
  .brochure-intro-text .brochure-title{
    font-size:clamp(26px,7.2vw,34px) !important;
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .brochure-intro-text .brochure-copy{
    font-size:15.5px !important;
    line-height:1.18 !important;
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .brochure-video-card{
    border-radius:20px !important;
    width:100% !important;
  }
  .brochure-social-proof-major{
    width:88% !important;
    padding:8px !important;
  }
  .brochure-social-proof-major figcaption{
    font-size:11px !important;
  }
  body.application-brochure-step .nav-buttons{
    padding:0 10px !important;
  }
  body.application-brochure-step .nav-img-button{
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    font-size:26px !important;
  }
  .brochure-lightbox{
    padding:18px !important;
  }
  .brochure-lightbox-inner img,
  .brochure-lightbox-inner video{
    max-height:78svh !important;
    border-radius:18px !important;
  }
  .brochure-lightbox-close{
    right:14px !important;
    top:14px !important;
    width:38px !important;
    height:38px !important;
    font-size:28px !important;
  }
}


/* === Finalisation payment compactness + neutral note + mobile scroll repair === */
.application-card.final-card .payment-layout{
  width:min(720px,100%) !important;
}
.application-card.final-card .payment-card{
  padding:24px 32px !important;
  min-height:0 !important;
  max-height:none !important;
}
.application-card.final-card .payment-card p:not(.error-note):not(.payment-secure-note){
  max-width:640px !important;
  margin:0 auto 10px !important;
  color:#111 !important;
  font-size:16px !important;
  line-height:1.35 !important;
}
.application-card.final-card .paypal-button-zone{
  margin:14px auto 0 !important;
}
.application-card.final-card .payment-secure-note{
  color:#303030 !important;
  background:rgba(0,0,0,.045) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  padding:10px 12px !important;
  font-weight:700 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  max-width:620px !important;
  margin:14px auto 0 !important;
}
.application-card.final-card .error-note[data-payment-status]{
  color:#303030 !important;
  font-weight:700 !important;
}
@media (min-width:901px){
  .application-card.final-card:not(.calendly-card):not(.exit-card){
    width:min(840px,76vw) !important;
    margin:-4svh auto 0 !important;
  }
  .application-card.final-card:not(.calendly-card):not(.exit-card) .step-title{
    margin-bottom:10px !important;
  }
  .application-card.final-card:not(.calendly-card):not(.exit-card) .step-question{
    margin-bottom:16px !important;
  }
}
@media (max-width:900px){
  .application-card.final-card{
    max-height:calc(100svh - 148px) !important;
    overflow:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 2px 12px !important;
  }
  .application-card.final-card::-webkit-scrollbar{
    display:none !important;
  }
  .application-card.final-card:not(.calendly-card):not(.exit-card){
    margin-top:-4svh !important;
  }
  .application-card.final-card .payment-layout{
    width:100% !important;
  }
  .application-card.final-card .payment-card{
    padding:16px 16px !important;
    border-radius:16px !important;
  }
  .application-card.final-card .payment-card p:not(.error-note):not(.payment-secure-note){
    font-size:14px !important;
    line-height:1.28 !important;
    margin-bottom:8px !important;
  }
  .application-card.final-card .paypal-button-zone{
    max-width:312px !important;
    margin:12px auto 0 !important;
  }
  .application-card.final-card .payment-secure-note{
    font-size:12px !important;
    line-height:1.28 !important;
    padding:9px 10px !important;
    margin-top:12px !important;
  }
}

/* === Final brochure detail: intro video in 9/16 portrait format === */
body.application-brochure-step .application-card.brochure_intro-card{
  width:min(1080px,82vw) !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-layout{
  grid-template-columns:minmax(320px,1fr) minmax(230px,330px) !important;
  justify-content:center !important;
  gap:clamp(24px,4vw,56px) !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card{
  width:min(330px,100%) !important;
  justify-self:center !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card video{
  aspect-ratio:9 / 16 !important;
  height:auto !important;
  object-fit:cover !important;
  object-position:center !important;
}

@media (max-width:900px){
  body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card{
    width:clamp(210px,58vw,260px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card video{
    aspect-ratio:9 / 16 !important;
  }
}

/* === Final brochure intro spacing: tighter desktop + scrollable compact mobile === */
@media (min-width:901px){
  body.application-brochure-step .application-card.brochure_intro-card{
    width:min(980px,72vw) !important;
    max-height:calc(100svh - 156px) !important;
    margin:-1svh auto 0 !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-layout{
    grid-template-columns:minmax(380px,500px) minmax(230px,300px) !important;
    gap:clamp(18px,2.1vw,30px) !important;
    justify-content:center !important;
    align-items:center !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-panel{
    padding:22px 12px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-text .brochure-title{
    max-width:500px !important;
    font-size:clamp(34px,3.05vw,50px) !important;
    line-height:.98 !important;
    margin-bottom:14px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-text .brochure-copy{
    max-width:490px !important;
    font-size:clamp(16px,1.18vw,20px) !important;
    line-height:1.14 !important;
    margin-bottom:0 !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card{
    width:min(300px,100%) !important;
  }
}

@media (max-width:900px){
  body.application-brochure-step .application-shell{
    align-items:flex-start !important;
    padding:62px 42px 126px !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body.application-brochure-step .application-card.brochure-card{
    max-height:calc(100svh - 128px) !important;
    overflow-y:auto !important;
    margin:-1svh auto 0 !important;
    overscroll-behavior:contain !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card{
    width:min(360px,86vw) !important;
    max-height:calc(100svh - 124px) !important;
    overflow-y:auto !important;
    padding:0 2px 8px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-panel{
    min-height:0 !important;
    padding:4px 0 20px !important;
    justify-content:flex-start !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-layout{
    gap:10px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-count{
    margin-bottom:8px !important;
    font-size:10px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-kicker{
    margin-bottom:9px !important;
    font-size:10px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-text .brochure-title{
    max-width:320px !important;
    font-size:clamp(25px,7vw,31px) !important;
    line-height:.94 !important;
    margin-bottom:10px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-text .brochure-copy{
    max-width:315px !important;
    font-size:14px !important;
    line-height:1.12 !important;
    margin-bottom:0 !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card{
    width:clamp(176px,50vw,220px) !important;
    margin-top:4px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card video{
    aspect-ratio:9 / 16 !important;
  }
}


.application-fee-confirm {
  margin: 18px 0 14px;
  padding: 14px;
  border: 1px solid rgba(198, 161, 91, .25);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
}
.application-payment-confirm {
  width: 100%;
  margin-top: 8px;
}
.application-payment-confirm:disabled {
  opacity: .45;
  cursor: not-allowed;
}

/* === GLOBAL MBC APP-LIKE MOTION POLISH | 2026-05-11 === */
@media (prefers-reduced-motion: no-preference) {
  .application-shell,
  .application-card,
  .private-note,
  .application-lang,
  .application-home-mark,
  .pathway-trigger,
  .brochure-skip-trigger,
  .application-footer,
  .application-request-card,
  .request-image-button {
    animation: mbcAppRevealSoft .64s cubic-bezier(.2,.72,.18,1) both;
  }
  .application-card { animation-delay: .04s; }
  .request-image-button:nth-child(2) { animation-delay: .05s; }
  .request-image-button:nth-child(3) { animation-delay: .09s; }
  .request-image-button:nth-child(4) { animation-delay: .13s; }
  .pathway-popup.is-open .pathway-panel,
  .brochure-lightbox.is-open .brochure-lightbox-inner {
    animation: mbcPanelUpSoft .42s cubic-bezier(.2,.72,.18,1) both;
  }
  .pathway-popup.is-open .pathway-dim,
  .brochure-lightbox.is-open {
    animation: mbcOverlaySoft .24s ease both;
  }
  .application-card,
  .nav-img-button,
  .pathway-trigger,
  .brochure-skip-trigger,
  .application-home-mark,
  .application-lang a {
    transition: transform .26s cubic-bezier(.2,.72,.18,1), opacity .26s ease, filter .26s ease, box-shadow .26s ease, border-color .26s ease;
  }
}
@keyframes mbcAppRevealSoft {
  from { opacity: 0; transform: translate3d(0,16px,0) scale(.994); filter: blur(8px); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}
@keyframes mbcPanelUpSoft {
  from { opacity: 0; transform: translate3d(0,20px,0) scale(.985); filter: blur(10px); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}
@keyframes mbcOverlaySoft { from { opacity: 0; } to { opacity: 1; } }

/* === MBC final precision: centered software notes + white/gold application particles | 2026-05-11 === */
.private-note,
.application-footer{
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  max-width:100vw !important;
  transform:none !important;
  text-align:center !important;
  margin:0 !important;
  padding-left:calc(env(safe-area-inset-left, 0px) + 14px) !important;
  padding-right:calc(env(safe-area-inset-right, 0px) + 14px) !important;
  pointer-events:none !important;
}
.private-note{
  top:26px !important;
}
.application-footer{
  bottom:18px !important;
  white-space:normal !important;
  line-height:1.12 !important;
}
@media (max-width:900px){
  .private-note{
    display:block !important;
    top:18px !important;
    font-size:8.6px !important;
    letter-spacing:.16em !important;
    opacity:.72 !important;
  }
  .application-footer{
    bottom:10px !important;
    font-size:7.4px !important;
    line-height:1.08 !important;
  }
}

body.mbc-dark .application-card,
body.mbc-dark .pathway-panel,
body.mbc-dark .brochure-intro-panel,
body.mbc-dark .brochure-visual-card,
body.mbc-dark .brochure-social-proof,
body.mbc-dark .brochure-decision-box,
body.mbc-dark .payment-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.mbc-dark .application-card > *,
body.mbc-dark .pathway-panel > *,
body.mbc-dark .brochure-intro-panel > *,
body.mbc-dark .brochure-visual-card > *,
body.mbc-dark .brochure-social-proof > *,
body.mbc-dark .brochure-decision-box > *,
body.mbc-dark .payment-card > *{
  position:relative;
  z-index:2;
}
body.mbc-dark .application-card.lock-card::before,
body.mbc-dark .application-card.selection-card::before,
body.mbc-dark .application-card.final-card::before,
body.mbc-dark .application-card.exit-card::before,
body.mbc-dark .application-card.brochure-card::before,
body.mbc-dark .pathway-panel::before,
body.mbc-dark .payment-card::before{
  content:"";
  position:absolute;
  pointer-events:none;
  right:-16%;
  bottom:-22%;
  width:58%;
  height:68%;
  z-index:1;
  opacity:.52;
  background:
    radial-gradient(circle at 10% 80%, rgba(255,255,255,.85) 0 1px, transparent 3px),
    radial-gradient(circle at 28% 66%, rgba(255,226,164,.82) 0 1.4px, transparent 3.5px),
    radial-gradient(circle at 48% 49%, rgba(255,255,255,.72) 0 1px, transparent 3.2px),
    radial-gradient(circle at 68% 31%, rgba(198,161,91,.80) 0 1.2px, transparent 3.6px),
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.62) 0 1px, transparent 3px);
  filter:blur(.1px) drop-shadow(0 0 14px rgba(255,225,170,.18));
  transform:rotate(-18deg) translate3d(0,0,0);
  animation:mbcApplicationPearlDrift 9.4s cubic-bezier(.42,0,.2,1) infinite;
}
body.mbc-dark .application-card.lock-card::after,
body.mbc-dark .application-card.selection-card::after,
body.mbc-dark .application-card.brochure-card::after,
body.mbc-dark .pathway-panel::after,
body.mbc-dark .payment-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
  right:-24%;
  bottom:-30%;
  width:68%;
  height:78%;
  z-index:1;
  opacity:.28;
  background:
    radial-gradient(circle at 15% 72%, rgba(255,255,255,.72) 0 1px, transparent 3px),
    radial-gradient(circle at 36% 54%, rgba(198,161,91,.72) 0 1px, transparent 3px),
    radial-gradient(circle at 62% 34%, rgba(255,238,194,.78) 0 1.3px, transparent 3.5px),
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.66) 0 1px, transparent 3px);
  filter:blur(.2px) drop-shadow(0 0 12px rgba(255,255,255,.10));
  transform:rotate(-18deg) translate3d(0,0,0);
  animation:mbcApplicationPearlDrift 12.6s cubic-bezier(.42,0,.2,1) infinite reverse;
}
@keyframes mbcApplicationPearlDrift{
  0%{transform:rotate(-18deg) translate3d(18%,24%,0) scale(.92);opacity:.08;}
  18%{opacity:.56;}
  52%{opacity:.42;}
  100%{transform:rotate(-18deg) translate3d(-62%,-74%,0) scale(1.08);opacity:.10;}
}

/* === 2026-05-12 Application conversion and Calendly repair === */
.brochure-founder-proof{
  margin:clamp(18px,2.2vw,30px) auto 0;
  width:min(880px,100%);
  text-align:center;
}
.brochure-founder-proof > p{
  margin:0 0 14px;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif;
  font-size:clamp(20px,2.3vw,30px);
  line-height:1.12;
  color:#fff;
  letter-spacing:-.02em;
}
.brochure-founder-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.brochure-founder-card{
  margin:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  box-shadow:0 20px 58px rgba(0,0,0,.24), inset 0 1px 1px rgba(255,255,255,.18);
  cursor:zoom-in;
}
.brochure-founder-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}
.brochure-system-copy{
  width:min(1100px,100%);
  margin:clamp(18px,2vw,26px) auto 0;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif;
  font-size:clamp(21px,2.1vw,31px);
  line-height:1.18;
  color:rgba(255,255,255,.92);
  text-align:center;
  letter-spacing:-.02em;
}
.brochure-difference-copy{
  width:min(1120px,100%);
  margin:clamp(16px,2vw,24px) auto 0;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif;
  font-size:clamp(28px,3vw,46px);
  line-height:1.04;
  color:#fff;
  text-align:center;
  letter-spacing:-.035em;
}
.brochure-google-proof{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:clamp(16px,2vw,26px) auto 0;
  width:max-content;
  max-width:min(520px,92vw);
  color:#fff;
  text-align:center;
  text-decoration:none;
}
.brochure-google-proof img{
  width:clamp(116px,12vw,168px);
  height:auto;
  display:block;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.28));
}
.brochure-google-proof span{
  display:block;
  font-size:clamp(12px,1.1vw,15px);
  line-height:1.35;
  color:rgba(255,255,255,.84);
  text-decoration:none;
}
.brochure-visual-card{cursor:zoom-in;}
.application-card.framework-card{
  width:min(980px,84vw) !important;
  align-items:center;
  text-align:center;
}
.application-framework-panel{
  width:min(880px,100%);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.application-framework-logo{
  width:clamp(72px,8vw,118px);
  height:auto;
  display:block;
  margin:0 0 18px;
  filter:brightness(0) invert(1) drop-shadow(0 18px 34px rgba(255,255,255,.14));
}
.framework-card .step-title,
.framework-card .step-question,
.framework-card .framework-box,
.framework-card .framework-box p,
.framework-card .terms-check{
  color:#fff;
}
.framework-card .step-question{
  max-width:860px;
  font-family:"TT Ramillas","Times New Roman",Georgia,serif;
  font-size:clamp(28px,3.1vw,44px);
  line-height:1.06;
}
.framework-box{
  width:min(820px,100%);
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:26px;
  background:rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.30), inset 0 1px 1px rgba(255,255,255,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  text-align:left;
}
.framework-box p{
  font-size:16px;
  line-height:1.55;
  margin:0 0 12px;
}
.framework-box .terms-check{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.18);
  font-weight:700;
}
.framework-box input{accent-color:#fff;}
.application-booking-card{
  position:relative;
  border-color:rgba(255,255,255,.36) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.28) !important;
}
.payment-calendly-logo{
  width:clamp(92px,9vw,136px);
  height:auto;
  display:block;
  margin:0 auto 14px;
  object-fit:contain;
}
.application-booking-card .application-primary{
  margin-top:16px;
  background:#111;
  border-color:#111;
  color:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}
.application-booking-card .payment-secure-note{
  color:#444;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}
.calendly-card{
  margin-top:0 !important;
}
.calendly-card .step-title,
.calendly-card .step-question{
  color:#fff !important;
  text-shadow:0 14px 32px rgba(0,0,0,.22);
}
.calendly-card .calendly-wrap{
  border:0 !important;
  border-radius:0 !important;
  background:#fff;
  box-shadow:0 28px 90px rgba(0,0,0,.32);
}
.brochure-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(14px,3vw,34px);
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.brochure-lightbox-inner{
  position:relative;
  width:min(1180px,92vw);
  max-height:86svh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.brochure-lightbox-inner img,
.brochure-lightbox-inner video{
  display:block;
  max-width:100%;
  max-height:80svh;
  object-fit:contain;
  border-radius:22px;
  box-shadow:0 28px 100px rgba(0,0,0,.48);
  background:#111;
}
.brochure-lightbox-inner p{
  margin:0;
  color:#fff;
  font-size:14px;
  letter-spacing:.04em;
  text-align:center;
}
.brochure-lightbox-close{
  position:fixed;
  top:18px;
  right:18px;
  z-index:10000;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#111;
  font-size:30px;
  line-height:1;
}
@media (max-width:900px){
  body.application-brochure-step .application-card.brochure-card{
    max-height:calc(100svh - 160px) !important;
  }
  .brochure-founder-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .brochure-founder-proof > p{
    font-size:20px;
  }
  .brochure-system-copy{
    font-size:18px;
    line-height:1.24;
  }
  .brochure-difference-copy{
    font-size:24px;
    line-height:1.08;
  }
  .application-card.framework-card{
    width:min(360px,94vw) !important;
    max-height:calc(100svh - 164px) !important;
    overflow:auto !important;
    margin-top:-4svh !important;
  }
  .application-framework-logo{
    width:74px;
    margin-bottom:12px;
  }
  .framework-card .step-title{
    font-size:34px;
    margin-bottom:12px;
  }
  .framework-card .step-question{
    font-size:22px;
    margin-bottom:16px;
  }
  .framework-box{
    padding:18px;
    border-radius:20px;
  }
  .framework-box p{
    font-size:13px;
  }
  .payment-calendly-logo{width:90px;}
  .calendly-card .calendly-wrap{
    width:94vw !important;
    height:calc(100svh - 158px) !important;
  }
  .brochure-lightbox-inner img,
  .brochure-lightbox-inner video{
    max-height:76svh;
    border-radius:16px;
  }
}

/* === 2026-05-12 final correction: Google logo order + proof cards full format + framework button polish === */
.brochure-founder-proof{
  width:min(980px,100%) !important;
}
.brochure-founder-proof > p{
  margin-bottom:18px !important;
  text-align:center !important;
}
.brochure-founder-grid{
  align-items:stretch !important;
}
.brochure-founder-card{
  min-height:0 !important;
  background:rgba(0,0,0,.20) !important;
}
.brochure-founder-card img{
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  background:#000 !important;
  max-height:min(255px,27vh) !important;
}
.brochure-google-proof{
  gap:8px !important;
  margin-top:clamp(16px,2vw,24px) !important;
}
.brochure-google-proof span{
  order:1 !important;
}
.brochure-google-proof img{
  order:2 !important;
  width:clamp(92px,9vw,126px) !important;
}
.framework-next{
  margin-top:20px !important;
  background:rgba(255,255,255,.92) !important;
  color:#101010 !important;
  border-color:rgba(255,255,255,.72) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.20) !important;
}
.framework-next:disabled{
  background:rgba(255,255,255,.30) !important;
  color:rgba(255,255,255,.68) !important;
  border-color:rgba(255,255,255,.22) !important;
}
.application-framework-panel{
  padding-bottom:18px !important;
}
@media (max-width:900px){
  .brochure-founder-proof{
    width:100% !important;
  }
  .brochure-founder-proof > p{
    max-width:320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .brochure-founder-card img{
    width:100% !important;
    max-height:none !important;
  }
  .brochure-google-proof{
    width:min(300px,88vw) !important;
  }
  .brochure-google-proof img{
    width:96px !important;
  }
  .framework-next{
    margin-top:18px !important;
    margin-bottom:10px !important;
  }
}


/* === 2026-05-12 final micro-polish: fullscreen proof natural size + cleaner booking spacing === */
.brochure-lightbox-inner p:empty{
  display:none !important;
}
.brochure-lightbox-inner img{
  width:auto !important;
  height:auto !important;
  max-width:min(96vw, 1280px) !important;
  max-height:88svh !important;
  object-fit:contain !important;
  border-radius:0 !important;
  background:transparent !important;
}
.brochure-lightbox-inner video{
  max-width:min(96vw, 1280px) !important;
  max-height:88svh !important;
  object-fit:contain !important;
}
.application-booking-card{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  align-items:center !important;
}
.application-booking-card p{
  margin-bottom:0 !important;
}
.application-payment-confirm{
  margin-top:8px !important;
  margin-bottom:2px !important;
}
.application-card.final-card .error-note[data-payment-status]{
  margin-top:8px !important;
}
@media (max-width:900px){
  .brochure-lightbox-inner img,
  .brochure-lightbox-inner video{
    max-width:94vw !important;
    max-height:82svh !important;
  }
  .application-booking-card{
    gap:12px !important;
  }
  .application-payment-confirm{
    margin-top:10px !important;
  }
}


/* === 2026-05-12 final mobile + Calendly embed correction === */
body.application-brochure-step .application-shell{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
}
.brochure-founder-grid{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:16px !important;
}
.brochure-founder-card{
  width:auto !important;
  max-width:min(470px,46vw) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:0 !important;
}
.brochure-founder-card img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:min(255px,28svh) !important;
  object-fit:contain !important;
  display:block !important;
}
.brochure-lightbox-inner p:empty,
.brochure-lightbox-inner p[hidden]{
  display:none !important;
}
.calendly-card{
  width:min(1120px,94vw) !important;
}
.calendly-card .calendly-wrap{
  width:min(1040px,94vw) !important;
  height:min(700px,72svh) !important;
  min-height:520px !important;
  overflow:hidden !important;
}
.calendly-card .calendly-inline-widget,
.application-calendly-embed{
  min-width:320px !important;
  height:700px !important;
}
@media (max-width:900px){
  body.application-brochure-step .application-shell{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    padding-top:92px !important;
    padding-bottom:118px !important;
  }
  body.application-brochure-step .application-card.brochure-card{
    width:min(390px,92vw) !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    margin-top:0 !important;
    margin-bottom:28px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card{
    width:min(390px,92vw) !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-panel{
    padding-top:0 !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-text .brochure-title{
    margin-top:0 !important;
    font-size:clamp(27px,7.4vw,35px) !important;
    line-height:.96 !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-text .brochure-copy{
    font-size:14.5px !important;
    line-height:1.14 !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-video-card{
    width:clamp(190px,56vw,250px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .brochure-founder-proof{
    margin-top:18px !important;
  }
  .brochure-founder-proof > p{
    font-size:clamp(19px,6vw,26px) !important;
    line-height:1.06 !important;
    max-width:340px !important;
  }
  .brochure-founder-grid{
    flex-direction:column !important;
    gap:12px !important;
  }
  .brochure-founder-card{
    max-width:min(340px,88vw) !important;
  }
  .brochure-founder-card img{
    max-width:100% !important;
    max-height:none !important;
  }
  .application-card.selection-card{
    width:min(390px,94vw) !important;
    max-height:none !important;
    margin-top:0 !important;
    overflow:visible !important;
    align-items:center !important;
    text-align:left !important;
  }
  body:not(.application-brochure-step) .application-shell{
    padding-top:88px !important;
    padding-bottom:112px !important;
  }
  .selection-card .step-title,
  .selection-card .step-question{
    width:min(350px,92vw) !important;
    align-self:center !important;
  }
  .selection-card .step-title{
    font-size:38px !important;
    margin-bottom:12px !important;
  }
  .selection-card .step-question{
    font-size:20px !important;
    line-height:1.12 !important;
    margin-bottom:18px !important;
  }
  .selection-card .options-grid{
    width:min(360px,92vw) !important;
    gap:8px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .selection-card .option-card{
    border-radius:14px !important;
    min-width:0 !important;
  }
  .selection-card .confirm-button{
    margin-top:18px !important;
  }
  .selection-card .confirm-button img{
    max-width:min(240px,74vw) !important;
    height:auto !important;
  }
  .calendly-card{
    width:100vw !important;
    max-height:none !important;
    overflow:visible !important;
    margin-top:0 !important;
    padding-bottom:0 !important;
  }
  .calendly-card .step-title{
    font-size:26px !important;
    line-height:1 !important;
    margin-bottom:8px !important;
  }
  .calendly-card .step-question{
    width:min(360px,88vw) !important;
    font-size:14px !important;
    line-height:1.18 !important;
    margin:0 auto 12px !important;
  }
  .calendly-card .calendly-wrap{
    width:min(390px,100vw) !important;
    height:calc(100svh - 148px) !important;
    min-height:560px !important;
    border-radius:0 !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .calendly-card .calendly-inline-widget,
  .application-calendly-embed{
    width:100% !important;
    min-width:320px !important;
    height:700px !important;
  }
}
@media (max-height:720px) and (max-width:900px){
  body.application-brochure-step .application-shell{
    padding-top:80px !important;
  }
  .selection-card .step-title{font-size:34px !important;}
  .selection-card .step-question{font-size:18px !important;margin-bottom:14px !important;}
  .selection-card .options-grid{width:min(338px,91vw) !important;gap:7px !important;}
  .calendly-card .calendly-wrap{height:calc(100svh - 128px) !important;}
}

/* === 2026-05-12 Cleo final: founder proof full-width cards + clean title wrapping === */
body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof{
  width:100% !important;
  max-width:none !important;
  margin:clamp(22px,2.6vw,34px) auto 0 !important;
  padding:0 !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof > p{
  width:min(100%, 980px) !important;
  max-width:980px !important;
  margin:0 auto clamp(16px,1.8vw,24px) !important;
  font-size:clamp(20px,1.95vw,30px) !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
  text-wrap:balance !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-grid{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:clamp(18px,2.2vw,28px) !important;
  align-items:start !important;
  justify-content:stretch !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card{
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#000 !important;
}
body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block !important;
  background:#000 !important;
}
@media (min-width:901px){
  body.application-brochure-step .application-card.brochure_intro-card{
    width:min(980px,72vw) !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-panel{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}
@media (max-width:900px){
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof{
    margin-top:20px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof > p{
    width:min(100%, 340px) !important;
    max-width:340px !important;
    font-size:clamp(18px,5.2vw,22px) !important;
    line-height:1.05 !important;
    margin-bottom:14px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-grid{
    gap:14px !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card{
    width:100% !important;
    max-width:none !important;
    border-radius:18px !important;
  }
}


/* === 2026-05-12 PC HOTFIX | brochure + Calendly scroll repair === */
@media (min-width:901px){
  body.application-brochure-step,
  body.application-calendly-open{
    overflow:hidden !important;
  }

  body.application-brochure-step .application-page,
  body.application-calendly-open .application-page{
    overflow:hidden !important;
  }

  body.application-brochure-step .application-shell,
  body.application-calendly-open .application-shell{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    padding-top:clamp(72px,8vh,96px) !important;
    padding-bottom:132px !important;
  }

  body.application-brochure-step .application-card.brochure-card,
  body.application-brochure-step .application-card.brochure_intro-card{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 auto 56px !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card{
    width:min(1080px,76vw) !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-panel{
    min-height:0 !important;
    justify-content:flex-start !important;
    padding-top:0 !important;
    padding-bottom:44px !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-intro-layout{
    width:100% !important;
    max-width:1080px !important;
    margin:0 auto !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof{
    width:100% !important;
    max-width:1080px !important;
    margin-top:clamp(26px,3vh,42px) !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof > p{
    max-width:760px !important;
    font-size:clamp(20px,1.55vw,27px) !important;
    line-height:1.08 !important;
    margin-bottom:18px !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-grid{
    width:100% !important;
    max-width:1080px !important;
    margin:0 auto !important;
    gap:18px !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card{
    width:100% !important;
    max-width:1080px !important;
    max-height:none !important;
    overflow:visible !important;
    background:#000 !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card img{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  body.application-calendly-open .application-card.calendly-card{
    width:min(1160px,86vw) !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 auto 64px !important;
    align-items:center !important;
  }

  body.application-calendly-open .calendly-card .step-title{
    margin-top:0 !important;
    margin-bottom:12px !important;
  }

  body.application-calendly-open .calendly-card .step-question{
    max-width:920px !important;
    margin-bottom:24px !important;
  }

  body.application-calendly-open .calendly-card .calendly-wrap{
    width:min(1080px,86vw) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    border-radius:0 !important;
    box-shadow:0 28px 90px rgba(0,0,0,.32) !important;
  }

  body.application-calendly-open .calendly-card .calendly-inline-widget,
  body.application-calendly-open .application-calendly-embed{
    width:100% !important;
    min-width:320px !important;
    height:820px !important;
    min-height:820px !important;
  }
}

/* === 2026-05-12 PC HOTFIX 2 | founder proofs visible, not giant === */
@media (min-width:901px){
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card{
    overflow:hidden !important;
  }
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card img{
    width:100% !important;
    height:min(620px,64svh) !important;
    max-height:min(620px,64svh) !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* === 2026-05-12 FINAL CLEO PATCH | application social proof desktop + framework copy === */
@media (min-width: 901px) {
  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof {
    width: 100% !important;
    max-width: 1080px !important;
    margin-top: clamp(22px, 2.5vh, 34px) !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-proof > p {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 18px !important;
    font-size: clamp(20px, 1.55vw, 27px) !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-grid {
    width: 100% !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: #000 !important;
  }

  body.application-brochure-step .application-card.brochure_intro-card .brochure-founder-card img {
    display: block !important;
    width: min(520px, 36vw) !important;
    max-width: min(520px, 36vw) !important;
    min-width: 340px !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
  }
}

/* === 2026-05-13 MBC copy update | proof stats + softer application framework === */
.application-proof-stats{
  width:min(100%, 1080px);
  margin:clamp(18px,2.4vw,30px) auto 0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
.application-proof-stat{
  min-height:92px;
  padding:16px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 16px 48px rgba(0,0,0,.14);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
}
.application-proof-stat strong{
  display:block;
  font-family:var(--font-serif);
  font-weight:400;
  font-size:clamp(28px,3vw,46px);
  line-height:.95;
  letter-spacing:-.04em;
}
.application-proof-stat span{
  display:block;
  max-width:260px;
  margin-top:8px;
  font-size:clamp(11px,.9vw,13px);
  line-height:1.28;
  color:rgba(255,255,255,.78);
}
.application-proof-stats-management{
  margin-top:clamp(18px,2vw,26px);
  margin-bottom:clamp(20px,2.4vw,34px);
}
.application-framework-panel .framework-box p{
  font-size:clamp(15px,1.05vw,18px);
  line-height:1.58;
}

@media (max-width:900px){
  .application-proof-stats{
    grid-template-columns:1fr;
    width:min(100%, 360px);
    gap:10px;
  }
  .application-proof-stat{
    min-height:78px;
    padding:14px 13px;
    border-radius:18px;
  }
  .application-proof-stat strong{
    font-size:clamp(26px,8vw,36px);
  }
  .application-proof-stat span{
    font-size:12px;
  }
  .application-proof-stats-intro{
    margin-top:18px;
  }
}


/* === Typeform application update === */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap');
body.application-typeform-mode,
body.application-access-step,
body.application-brochure-step,
body.application-calendly-open {
  background:#0642a8 !important;
  color:#fff;
  overflow:hidden;
}
body.application-typeform-mode::before,
body.application-access-step::before,
body.application-brochure-step::before,
body.application-calendly-open::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.13), transparent 24%),
    linear-gradient(115deg, transparent 0 35%, rgba(255,255,255,.07) 35% 36%, transparent 36% 52%, rgba(255,255,255,.08) 52% 53%, transparent 53%),
    #0642a8;
}
body.mbc-dark.application-typeform-mode::before,
body.mbc-dark.application-access-step::before,
body.mbc-dark.application-brochure-step::before,
body.mbc-dark.application-calendly-open::before { background:#060606; }
.application-typeform-mode .application-page,
.application-access-step .application-page,
.application-brochure-step .application-page,
.application-calendly-open .application-page {
  min-height:100svh;
  height:100svh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
}
.application-typeform-mode .private-note,
.application-typeform-mode .application-signature,
.application-typeform-mode .application-home-mark,
.application-typeform-mode .application-footer,
.application-typeform-mode .pathway-trigger,
.application-typeform-mode .brochure-skip-trigger,
.application-typeform-mode .nav-buttons,
.application-typeform-mode .application-counter,
.application-calendly-open .nav-buttons,
.application-calendly-open .application-counter,
.application-access-step .nav-buttons,
.application-access-step .application-counter { display:none !important; }
.application-typeform-mode .application-lang,
.application-access-step .application-lang,
.application-brochure-step .application-lang,
.application-calendly-open .application-lang {
  position:fixed !important;
  top:28px !important;
  left:28px !important;
  z-index:20 !important;
  display:flex !important;
  gap:10px !important;
}
.application-typeform-mode .application-lang a,
.application-access-step .application-lang a,
.application-brochure-step .application-lang a,
.application-calendly-open .application-lang a {
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  text-decoration:none;
  font:700 14px/1 Inter, system-ui, sans-serif;
  color:#000;background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
}
body.lang-fr .application-lang-fr, body.lang-en .application-lang-en { background:#050505 !important; color:#fff !important; }
.application-typeform-mode .application-shell,
.application-access-step .application-shell,
.application-brochure-step .application-shell,
.application-calendly-open .application-shell {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:0;
}
.application-typeform-mode .application-card,
.application-access-step .application-card,
.application-brochure-step .application-card,
.application-calendly-open .application-card {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:0;
}
.tf-panel {
  position:relative;
  width:100vw;
  height:100svh;
  box-sizing:border-box;
  color:#fff;
  display:grid;
  align-items:center;
  padding:7vh 8vw;
  overflow:auto;
  scrollbar-width:thin;
}
.tf-brand-m {
  position:fixed;
  top:34px;
  left:clamp(90px, 7vw, 130px);
  z-index:12;
  font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(48px, 7vw, 96px);
  line-height:.8;
  color:#fff;
  pointer-events:none;
}
.tf-kicker { text-transform:uppercase; letter-spacing:.22em; opacity:.75; font:600 12px/1.3 Inter,system-ui,sans-serif; }
.tf-panel h1 { margin:0 0 28px; max-width:900px; font-size:clamp(38px, 6.5vw, 92px); line-height:.96; font-weight:500; letter-spacing:-.04em; }
.tf-question-zone { width:min(880px, 88vw); margin:auto; }
.tf-question { font-size:clamp(23px, 3.1vw, 42px); line-height:1.14; font-weight:400; letter-spacing:-.025em; }
.tf-question p { margin:0 0 1em; }
.tf-rich strong { font-weight:700; }
.required-star { font-family:Inter,system-ui,sans-serif; color:#fff; margin-left:.15em; }
.required-star.standalone { display:inline-block; transform:translateY(-.15em); }
.tf-number { display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 7px; margin:0 0 18px; border-radius:6px; background:#fff; color:#0642a8; font:800 13px/1 Inter,system-ui,sans-serif; }
.tf-subtext { margin-top:22px; max-width:780px; color:rgba(255,255,255,.70); font-size:clamp(15px,1.45vw,21px); line-height:1.45; font-style:italic; }
.tf-subtext p { margin:0 0 .9em; }
.tf-choice-list { display:grid; gap:12px; margin-top:34px; width:min(760px, 100%); }
.tf-choice { appearance:none; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.09); color:#fff; border-radius:12px; padding:17px 20px; text-align:left; cursor:pointer; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:flex-start; font-family:'Playfair Display', Georgia, serif; font-size:clamp(18px,1.7vw,26px); line-height:1.2; transition:background .2s ease, transform .2s ease, border-color .2s ease; }
.tf-choice:hover,.tf-choice.is-selected { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.42); transform:translateY(-1px); }
.tf-choice span { min-width:28px;height:28px;border-radius:6px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);font:800 13px/1 Inter,system-ui,sans-serif; }
.tf-choice strong { font-weight:500; }
.tf-button { border:0; border-radius:12px; padding:15px 28px; min-height:54px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:10px; font:800 16px/1 Inter,system-ui,sans-serif; transition:opacity .18s ease, transform .18s ease; margin-top:26px; }
.tf-primary { color:#0642a8; background:#fff; box-shadow:0 16px 50px rgba(0,0,0,.18); }
.tf-secondary { color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); }
.tf-button:hover { transform:translateY(-1px); }
.tf-pulse { animation:tfPulse .42s ease both; }
@keyframes tfPulse { 0%{opacity:1} 48%{opacity:.18} 100%{opacity:1} }
.tf-fields { display:grid; gap:18px; margin-top:34px; width:min(620px,100%); }
.tf-field { display:grid; gap:8px; color:#fff; font-size:18px; }
.tf-field span { color:#fff; }
.tf-input,.tf-textarea { width:min(620px,100%); box-sizing:border-box; border:0; border-bottom:1px solid rgba(255,255,255,.42); background:transparent; color:#fff; padding:12px 0 14px; font-family:'Playfair Display', Georgia, serif; font-size:clamp(23px,2vw,34px); outline:none; }
.tf-input::placeholder,.tf-textarea::placeholder { color:rgba(255,255,255,.45); }
.tf-textarea { min-height:170px; resize:vertical; border:1px solid rgba(255,255,255,.22); border-radius:12px; padding:18px; background:rgba(255,255,255,.06); }
.tf-error { min-height:24px; margin:14px 0 0; color:#fff; font:600 14px/1.4 Inter,system-ui,sans-serif; }
.tf-actions { display:flex; gap:12px; flex-wrap:wrap; }
.tf-access-panel { max-width:680px; margin:auto; align-content:center; }
.tf-access-panel .tf-brand-m { position:static; font-size:96px; margin-bottom:34px; }
.tf-access-panel h1 { font-size:clamp(46px,7vw,84px); }
.tf-intro-panel { grid-template-columns:minmax(300px, 44vw) minmax(360px, 1fr); gap:clamp(34px,5vw,80px); align-items:center; }
.tf-intro-panel .tf-brand-m { display:none; }
.tf-intro-media { display:flex; justify-content:center; }
.tf-intro-media img { max-width:min(100%, 620px); max-height:72vh; border-radius:0; object-fit:contain; }
.tf-intro-copy { max-width:780px; }
.tf-intro-copy h1 { font-size:clamp(34px,4vw,64px); }
.tf-intro-copy .tf-rich { font-size:clamp(18px,1.5vw,24px); line-height:1.34; }
.tf-link-stack { display:grid; gap:10px; margin:20px 0 4px; }
.tf-inline-link { color:#fff; text-decoration:underline; text-underline-offset:4px; font-size:clamp(16px,1.2vw,18px); }
.tf-question-panel.has-visual { grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); }
.tf-question-panel.visual-left .tf-visual { grid-column:1; grid-row:1; }
.tf-question-panel.visual-left .tf-question-zone { grid-column:2; }
.tf-question-panel.visual-right .tf-visual { grid-column:2; grid-row:1; }
.tf-question-panel.visual-right .tf-question-zone { grid-column:1; }
.tf-visual { margin:0; align-self:center; justify-self:center; max-width:min(620px, 42vw); }
.tf-visual img { width:100%; height:auto; max-height:72vh; object-fit:contain; display:block; }
.tf-question-panel.has-visual .tf-question-zone { width:min(760px,44vw); }
.tf-upload { margin-top:34px; width:min(620px,100%); border:1px dashed rgba(255,255,255,.35); border-radius:18px; padding:28px; background:rgba(255,255,255,.06); }
.tf-upload input { display:none; }
.tf-upload-button { width:100%; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.14); color:#fff; border-radius:12px; min-height:70px; font:800 17px/1 Inter,system-ui,sans-serif; cursor:pointer; }
.tf-upload-preview { margin-top:18px; display:grid; gap:10px; font:600 14px/1.4 Inter,system-ui,sans-serif; }
.tf-upload-preview img { max-width:220px; max-height:260px; object-fit:cover; border-radius:12px; }
.tf-calendly-panel { align-content:start; padding-top:8vh; }
.tf-calendly-panel h1 { font-size:clamp(38px,5vw,72px); }
.tf-calendly-wrap { width:min(1120px, 86vw); min-height:700px; background:#fff; border-radius:20px; overflow:hidden; margin-top:24px; box-shadow:0 22px 70px rgba(0,0,0,.24); }
.tf-calendly-wrap .calendly-inline-widget { width:100%; height:700px !important; }
.tf-exit-panel,.tf-finish-panel { max-width:920px; margin:auto; align-content:center; }
.tf-exit-panel .tf-brand-m,.tf-finish-panel .tf-brand-m { position:static; font-size:96px; margin-bottom:30px; }
.tf-large-submit { font-size:18px; min-width:260px; }
@media (max-width: 900px) {
  body.application-typeform-mode, body.application-access-step, body.application-brochure-step, body.application-calendly-open { overflow:hidden; }
  .application-typeform-mode .application-page,.application-access-step .application-page,.application-brochure-step .application-page,.application-calendly-open .application-page { height:100svh; }
  .application-typeform-mode .application-lang, .application-access-step .application-lang, .application-brochure-step .application-lang, .application-calendly-open .application-lang { top:18px !important; left:16px !important; }
  .application-typeform-mode .application-lang a, .application-access-step .application-lang a, .application-brochure-step .application-lang a, .application-calendly-open .application-lang a { width:44px;height:44px;font-size:12px; }
  .tf-panel { width:100vw; height:100svh; padding:100px 28px 38px; display:block; }
  .tf-brand-m { top:auto; left:28px; bottom:30px; font-size:78px; opacity:.96; }
  .tf-question-zone { width:100%; padding-bottom:72px; }
  .tf-panel h1 { font-size:clamp(34px,12vw,54px); }
  .tf-question { font-size:clamp(23px,7.5vw,34px); }
  .tf-subtext { font-size:16px; }
  .tf-choice { font-size:18px; padding:14px 14px; }
  .tf-intro-panel { display:block; }
  .tf-intro-media img { max-height:34vh; max-width:84vw; margin:0 auto 20px; }
  .tf-intro-copy h1 { font-size:32px; }
  .tf-intro-copy .tf-rich { font-size:17px; }
  .tf-question-panel.has-visual { display:block; }
  .tf-question-panel.has-visual .tf-question-zone { width:100%; }
  .tf-visual { max-width:100%; margin:18px 0 24px; }
  .tf-visual img { max-height:38vh; width:100%; object-fit:contain; }
  .tf-input,.tf-textarea { width:100%; font-size:24px; }
  .tf-calendly-panel { padding:34px 12px; }
  .tf-calendly-panel h1 { font-size:34px; padding-right:36px; }
  .tf-calendly-wrap { width:100%; min-height:72svh; border-radius:16px; margin-top:18px; }
  .tf-calendly-wrap .calendly-inline-widget { height:72svh !important; min-width:0 !important; }
  .tf-exit-panel .tf-brand-m,.tf-finish-panel .tf-brand-m,.tf-access-panel .tf-brand-m { font-size:78px; }
}

/* === MBC Typeform restoration patch 2026-05-15 === */
body.application-typeform-mode,
body.application-calendly-open,
body.application-access-step{
  overflow:hidden !important;
}
body.application-typeform-mode .application-page,
body.application-calendly-open .application-page,
body.application-access-step .application-page{
  height:100svh !important;
  min-height:100svh !important;
  overflow:hidden !important;
}
body.application-typeform-mode .application-shell,
body.application-calendly-open .application-shell,
body.application-access-step .application-shell{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100svh !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  overflow:hidden !important;
}
body.application-typeform-mode .application-card,
body.application-calendly-open .application-card,
body.application-access-step .application-card{
  width:100vw !important;
  height:100svh !important;
  max-height:none !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  overflow:visible !important;
  transform:none !important;
}
body.application-typeform-mode .private-note,
body.application-typeform-mode .application-signature,
body.application-typeform-mode .application-home-mark,
body.application-typeform-mode .application-footer,
body.application-typeform-mode .pathway-trigger,
body.application-typeform-mode .brochure-skip-trigger,
body.application-typeform-mode .nav-buttons,
body.application-typeform-mode .application-counter,
body.application-calendly-open .nav-buttons,
body.application-calendly-open .application-counter,
body.application-access-step .nav-buttons,
body.application-access-step .application-counter,
body.application-access-step .pathway-trigger{
  display:none !important;
}
body.application-typeform-mode .application-lang,
body.application-access-step .application-lang,
body.application-calendly-open .application-lang{
  position:fixed !important;
  top:28px !important;
  right:28px !important;
  left:auto !important;
  z-index:80 !important;
}
body.application-typeform-mode .application-lang a,
body.application-access-step .application-lang a,
body.application-calendly-open .application-lang a{
  width:48px !important;
  height:48px !important;
}
body.application-brochure-step .nav-buttons{
  display:flex !important;
}
body.application-brochure-step .brochure-skip-trigger{
  display:inline-flex !important;
}
body.application-brochure-step .pathway-trigger{
  display:none !important;
}

.tf-panel{
  width:100vw !important;
  height:100svh !important;
  min-height:100svh !important;
  box-sizing:border-box !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  padding:clamp(92px, 10vh, 130px) clamp(42px, 8vw, 112px) clamp(64px, 8vh, 96px) !important;
  display:grid !important;
  align-items:center !important;
  color:#fff !important;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif !important;
}
.tf-brand-m{
  position:fixed !important;
  top:28px !important;
  left:32px !important;
  right:auto !important;
  bottom:auto !important;
  z-index:70 !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:42px !important;
  line-height:.85 !important;
  color:#fff !important;
  opacity:.96 !important;
  pointer-events:none !important;
}
.tf-kicker{
  font-family:Inter,system-ui,sans-serif !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
}
.tf-question-zone{
  width:min(760px, 92vw) !important;
  max-width:760px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.tf-question{
  font-size:clamp(28px, 3.15vw, 46px) !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  color:#fff !important;
}
.tf-question p{
  margin:0 0 .9em !important;
}
.tf-subtext{
  margin-top:20px !important;
  max-width:720px !important;
  color:rgba(255,255,255,.66) !important;
  font-size:clamp(16px, 1.3vw, 21px) !important;
  line-height:1.5 !important;
  font-style:italic !important;
}
.tf-number{
  display:inline-grid !important;
  place-items:center !important;
  min-width:24px !important;
  height:24px !important;
  margin:0 0 18px !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#0642a8 !important;
  font:800 13px/1 Inter,system-ui,sans-serif !important;
}
.tf-choice-list{
  display:grid !important;
  gap:12px !important;
  width:min(680px, 100%) !important;
  margin-top:34px !important;
}
.tf-choice{
  width:100% !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border-radius:10px !important;
  padding:15px 18px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  gap:14px !important;
  align-items:start !important;
  text-align:left !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(18px, 1.35vw, 23px) !important;
  line-height:1.26 !important;
  box-shadow:none !important;
}
.tf-choice:hover,
.tf-choice.is-selected{
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.42) !important;
  transform:translateY(-1px) !important;
}
.tf-choice span{
  min-width:25px !important;
  height:25px !important;
  border-radius:5px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  display:grid !important;
  place-items:center !important;
  font:800 12px/1 Inter,system-ui,sans-serif !important;
}
.tf-choice strong{
  font-weight:500 !important;
}
.tf-button{
  border-radius:10px !important;
  min-height:52px !important;
  padding:14px 26px !important;
  font:800 15px/1 Inter,system-ui,sans-serif !important;
  margin-top:26px !important;
}
.tf-primary{
  color:#0642a8 !important;
  background:#fff !important;
}
.tf-secondary{
  color:#fff !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.tf-input,
.tf-textarea{
  width:min(640px, 100%) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.42) !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(24px, 2.2vw, 36px) !important;
}
.tf-field span{
  color:rgba(255,255,255,.9) !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:14px !important;
  letter-spacing:.02em !important;
}
.tf-question-panel.has-visual{
  grid-template-columns:minmax(360px, .95fr) minmax(420px, 1fr) !important;
  gap:clamp(52px, 7vw, 110px) !important;
  align-items:center !important;
}
.tf-question-panel.visual-left .tf-visual{grid-column:1 !important;grid-row:1 !important;}
.tf-question-panel.visual-left .tf-question-zone{grid-column:2 !important;}
.tf-question-panel.visual-right .tf-question-zone{grid-column:1 !important;}
.tf-question-panel.visual-right .tf-visual{grid-column:2 !important;grid-row:1 !important;}
.tf-visual{
  width:min(560px, 42vw) !important;
  max-width:560px !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:center !important;
}
.tf-visual img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:66vh !important;
  object-fit:contain !important;
  border-radius:0 !important;
}
.tf-question-panel.has-visual .tf-question-zone{
  width:min(640px, 42vw) !important;
}
.tf-intro-panel{
  align-items:start !important;
  grid-template-columns:minmax(340px, 42vw) minmax(420px, 1fr) !important;
  gap:clamp(42px, 6vw, 86px) !important;
  padding-top:clamp(82px, 8vh, 120px) !important;
}
.tf-intro-media img{
  width:min(580px, 40vw) !important;
  max-height:none !important;
  object-fit:contain !important;
}
.tf-intro-copy{
  max-width:760px !important;
  padding-bottom:90px !important;
}
.tf-intro-copy h1{
  font-size:clamp(34px, 3.8vw, 62px) !important;
  line-height:1 !important;
}
.tf-intro-copy .tf-rich{
  font-size:clamp(18px, 1.35vw, 23px) !important;
  line-height:1.38 !important;
}
.tf-link-stack{
  margin-top:22px !important;
}
.tf-inline-link{
  color:#fff !important;
  text-underline-offset:4px !important;
}
.tf-calendly-panel{
  display:block !important;
  padding:clamp(84px, 9vh, 112px) clamp(22px, 7vw, 90px) 42px !important;
}
.tf-calendly-wrap{
  width:min(1120px, 90vw) !important;
  height:min(760px, 68svh) !important;
  min-height:520px !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  background:#fff !important;
}
.tf-calendly-wrap .calendly-inline-widget{
  width:100% !important;
  height:min(760px, 68svh) !important;
  min-height:700px !important;
}
.tf-upload{
  width:min(620px, 100%) !important;
}
.tf-upload-preview img{
  max-width:260px !important;
  max-height:300px !important;
  object-fit:contain !important;
}

@media (max-width: 900px){
  body.application-typeform-mode .application-lang,
  body.application-access-step .application-lang,
  body.application-calendly-open .application-lang{
    top:16px !important;
    right:14px !important;
    left:auto !important;
    gap:8px !important;
  }
  body.application-typeform-mode .application-lang a,
  body.application-access-step .application-lang a,
  body.application-calendly-open .application-lang a{
    width:42px !important;
    height:42px !important;
    font-size:12px !important;
  }
  .tf-panel{
    display:block !important;
    height:100svh !important;
    min-height:100svh !important;
    padding:92px 24px 104px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }
  .tf-brand-m{
    top:19px !important;
    left:22px !important;
    font-size:38px !important;
  }
  .tf-question-zone{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 24px !important;
  }
  .tf-question{
    font-size:clamp(25px, 7.4vw, 34px) !important;
    line-height:1.13 !important;
    letter-spacing:-.025em !important;
  }
  .tf-subtext{
    font-size:15px !important;
    line-height:1.45 !important;
  }
  .tf-choice-list{
    gap:10px !important;
    margin-top:28px !important;
  }
  .tf-choice{
    padding:13px 13px !important;
    font-size:18px !important;
    line-height:1.23 !important;
  }
  .tf-question-panel.has-visual{
    display:block !important;
  }
  .tf-question-panel.has-visual .tf-question-zone{
    width:100% !important;
  }
  .tf-visual{
    width:100% !important;
    max-width:100% !important;
    margin:20px 0 24px !important;
  }
  .tf-visual img{
    width:100% !important;
    max-height:38svh !important;
    object-fit:contain !important;
  }
  .tf-fields{
    width:100% !important;
  }
  .tf-input,
  .tf-textarea{
    width:100% !important;
    font-size:24px !important;
  }
  .tf-intro-panel{
    display:block !important;
    padding:86px 24px 104px !important;
  }
  .tf-intro-media img{
    width:100% !important;
    max-width:100% !important;
    max-height:34svh !important;
    margin:0 auto 24px !important;
  }
  .tf-intro-copy{
    max-width:none !important;
    padding-bottom:30px !important;
  }
  .tf-intro-copy h1{
    font-size:32px !important;
  }
  .tf-intro-copy .tf-rich{
    font-size:17px !important;
  }
  .tf-calendly-panel{
    padding:82px 12px 34px !important;
  }
  .tf-calendly-panel h1{
    font-size:32px !important;
    padding-right:0 !important;
  }
  .tf-calendly-wrap{
    width:100% !important;
    height:70svh !important;
    min-height:520px !important;
    border-radius:14px !important;
    overflow:auto !important;
  }
  .tf-calendly-wrap .calendly-inline-widget{
    min-width:0 !important;
    height:760px !important;
  }
}

/* === MBC FORM REBASE FROM RESTORED PROLOGUE | 2026-05-15 === */
html.application-mbc-form-mode,
html.application-access-step,
html.application-calendly-open{
  height:auto !important;
  min-height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:auto !important;
}
body.application-mbc-form-mode,
body.application-access-step,
body.application-calendly-open{
  height:auto !important;
  min-height:100svh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  background:#0642a8 !important;
  color:#fff !important;
  overscroll-behavior:auto !important;
}
body.application-mbc-form-mode::before,
body.application-access-step::before,
body.application-calendly-open::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 23% 12%, rgba(255,255,255,.12), transparent 25%),
    linear-gradient(118deg, transparent 0 34%, rgba(255,255,255,.06) 34.2% 34.8%, transparent 35% 51%, rgba(255,255,255,.08) 51.2% 51.8%, transparent 52% 100%),
    #0642a8 !important;
}
body.mbc-dark.application-mbc-form-mode::before,
body.mbc-dark.application-access-step::before,
body.mbc-dark.application-calendly-open::before{background:#050505 !important;}
body.application-mbc-form-mode .application-page,
body.application-access-step .application-page,
body.application-calendly-open .application-page{
  position:relative !important;
  display:block !important;
  width:100vw !important;
  height:auto !important;
  min-height:100svh !important;
  overflow:visible !important;
  background:transparent !important;
  padding:0 !important;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif !important;
}
body.application-mbc-form-mode .application-shell,
body.application-access-step .application-shell,
body.application-calendly-open .application-shell{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  min-height:100svh !important;
  height:auto !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:92px clamp(28px,7vw,112px) 142px !important;
  z-index:2 !important;
}
body.application-mbc-form-mode .application-card,
body.application-access-step .application-card,
body.application-calendly-open .application-card{
  width:100% !important;
  max-width:none !important;
  min-height:calc(100svh - 234px) !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 auto !important;
  animation:mbcQuestionFade .34s cubic-bezier(.2,.8,.2,1) both !important;
}
@keyframes mbcQuestionFade{from{opacity:.08; transform:translateY(10px)}to{opacity:1; transform:translateY(0)}}

body.application-mbc-form-mode .private-note,
body.application-access-step .private-note,
body.application-calendly-open .private-note{
  display:block !important;
  position:fixed !important;
  left:50% !important;
  top:34px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  z-index:44 !important;
  font-family:Inter,Arial,sans-serif !important;
  color:rgba(255,255,255,.78) !important;
  font-size:12px !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
body.application-mbc-form-mode .application-signature,
body.application-access-step .application-signature,
body.application-calendly-open .application-signature{
  display:block !important;
  position:fixed !important;
  top:34px !important;
  right:58px !important;
  width:142px !important;
  height:auto !important;
  z-index:46 !important;
}
body.application-mbc-form-mode .application-home-mark,
body.application-access-step .application-home-mark,
body.application-calendly-open .application-home-mark{
  display:block !important;
  position:fixed !important;
  top:30px !important;
  left:58px !important;
  z-index:46 !important;
  width:74px !important;
  height:auto !important;
}
body.application-mbc-form-mode .application-m,
body.application-access-step .application-m,
body.application-calendly-open .application-m{
  position:static !important;
  display:block !important;
  width:74px !important;
  height:auto !important;
  opacity:1 !important;
}
body.application-mbc-form-mode .application-footer,
body.application-access-step .application-footer,
body.application-calendly-open .application-footer{
  display:block !important;
  position:fixed !important;
  left:50% !important;
  bottom:24px !important;
  transform:translateX(-50%) !important;
  z-index:42 !important;
  color:rgba(255,255,255,.74) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:11px !important;
  letter-spacing:.25em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
body.application-mbc-form-mode .pathway-trigger,
body.application-access-step .pathway-trigger,
body.application-calendly-open .pathway-trigger{
  display:inline-flex !important;
  position:fixed !important;
  right:38px !important;
  bottom:88px !important;
  z-index:91 !important;
  min-width:172px !important;
  height:56px !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.66) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  backdrop-filter:blur(10px) !important;
  color:#fff !important;
  font-family:'TT Ramillas', Georgia, serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  box-shadow:0 16px 40px rgba(0,0,0,.16) !important;
}
body.application-mbc-form-mode .application-lang,
body.application-access-step .application-lang,
body.application-calendly-open .application-lang{
  position:fixed !important;
  top:auto !important;
  left:auto !important;
  right:38px !important;
  bottom:28px !important;
  z-index:82 !important;
  display:flex !important;
  gap:10px !important;
}
body.application-mbc-form-mode .application-lang a,
body.application-access-step .application-lang a,
body.application-calendly-open .application-lang a{
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) !important;
  font:800 13px/1 Inter,Arial,sans-serif !important;
}
body.lang-fr.application-mbc-form-mode .application-lang-fr,
body.lang-en.application-mbc-form-mode .application-lang-en,
body.lang-fr.application-access-step .application-lang-fr,
body.lang-en.application-access-step .application-lang-en,
body.lang-fr.application-calendly-open .application-lang-fr,
body.lang-en.application-calendly-open .application-lang-en{
  background:#fff !important;
  color:#071026 !important;
}
body.application-mbc-form-mode .nav-buttons,
body.application-access-step .nav-buttons,
body.application-calendly-open .nav-buttons,
body.application-mbc-form-mode .application-counter,
body.application-access-step .application-counter,
body.application-calendly-open .application-counter,
body.application-mbc-form-mode .brochure-skip-trigger,
body.application-access-step .brochure-skip-trigger,
body.application-calendly-open .brochure-skip-trigger{display:none !important;}

/* Form panels */
body.application-mbc-form-mode .tf-panel,
body.application-access-step .tf-panel,
body.application-calendly-open .tf-panel{
  position:relative !important;
  width:min(1120px, 100%) !important;
  min-height:calc(100svh - 234px) !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding:0 !important;
  display:grid !important;
  align-items:center !important;
  color:#fff !important;
  background:transparent !important;
  box-sizing:border-box !important;
  scrollbar-width:none !important;
}
body.application-mbc-form-mode .tf-panel::-webkit-scrollbar,
body.application-access-step .tf-panel::-webkit-scrollbar,
body.application-calendly-open .tf-panel::-webkit-scrollbar{display:none !important;}
body.application-mbc-form-mode .tf-brand-m,
body.application-calendly-open .tf-brand-m,
body.application-access-step .tf-brand-m{display:none !important;}
body.application-mbc-form-mode .tf-question-zone{
  width:min(820px, 100%) !important;
  max-width:820px !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:left !important;
}
body.application-mbc-form-mode .tf-number{
  min-width:25px !important;
  height:25px !important;
  margin:0 0 20px !important;
  border-radius:6px !important;
  display:inline-grid !important;
  place-items:center !important;
  background:#fff !important;
  color:#0642a8 !important;
  font:800 13px/1 Inter,Arial,sans-serif !important;
}
body.application-mbc-form-mode .tf-question{
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(25px, 2.15vw, 38px) !important;
  line-height:1.13 !important;
  letter-spacing:-.025em !important;
  font-weight:400 !important;
  color:#fff !important;
}
body.application-mbc-form-mode .tf-question p{margin:0 0 .78em !important;}
body.application-mbc-form-mode .tf-question p + p{font-size:clamp(17px, 1.18vw, 21px) !important; line-height:1.43 !important; letter-spacing:-.01em !important;}
body.application-mbc-form-mode .tf-subtext{
  max-width:760px !important;
  margin:22px 0 0 !important;
  color:rgba(255,255,255,.72) !important;
  font-size:clamp(15px, 1.08vw, 18px) !important;
  line-height:1.45 !important;
  font-style:italic !important;
  text-align:inherit !important;
}
body.application-mbc-form-mode .tf-link-stack{margin-top:22px !important; display:grid !important; gap:8px !important;}
body.application-mbc-form-mode .tf-inline-link{color:#fff !important; text-underline-offset:4px !important;}

/* Long, information-heavy screens */
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] .tf-question-zone,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q2"] .tf-question-zone,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q3"] .tf-question-zone,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q8"] .tf-question-zone,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q25"] .tf-question-zone,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q29"] .tf-question-zone,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q31"] .tf-question-zone{
  max-width:900px !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] .tf-question,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q2"] .tf-question,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q3"] .tf-question,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q8"] .tf-question,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q25"] .tf-question,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q29"] .tf-question,
body.application-mbc-form-mode .tf-question-panel[data-step-id="q31"] .tf-question{
  font-size:clamp(18px, 1.28vw, 24px) !important;
  line-height:1.42 !important;
  letter-spacing:-.01em !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] .tf-question-zone{text-align:center !important; max-width:880px !important;}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] .tf-number{margin-left:auto !important;margin-right:auto !important;}

/* Choices and buttons */
body.application-mbc-form-mode .tf-choice-list{
  display:grid !important;
  gap:12px !important;
  width:min(820px, 100%) !important;
  margin:30px 0 0 !important;
}
body.application-mbc-form-mode .tf-choice{
  width:100% !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  gap:14px !important;
  align-items:start !important;
  text-align:left !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(17px, 1.18vw, 21px) !important;
  line-height:1.28 !important;
  box-shadow:none !important;
  transition:opacity .2s ease, transform .2s ease, background .2s ease, border-color .2s ease !important;
}
body.application-mbc-form-mode .tf-choice:hover,
body.application-mbc-form-mode .tf-choice.is-selected{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.52) !important;
  transform:translateY(-1px) !important;
}
body.application-mbc-form-mode .tf-choice span{
  min-width:25px !important;
  height:25px !important;
  border-radius:6px !important;
  border:1px solid rgba(255,255,255,.34) !important;
  display:grid !important;
  place-items:center !important;
  font:800 12px/1 Inter,Arial,sans-serif !important;
}
body.application-mbc-form-mode .tf-choice strong{font-weight:500 !important;}
body.application-mbc-form-mode .tf-button,
body.application-access-step .tf-button,
body.application-calendly-open .tf-button{
  min-height:52px !important;
  border-radius:12px !important;
  padding:14px 26px !important;
  font:800 15px/1 Inter,Arial,sans-serif !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:24px !important;
  border:1px solid rgba(255,255,255,.34) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  box-shadow:none !important;
}
body.application-mbc-form-mode .tf-button:hover,
body.application-access-step .tf-button:hover,
body.application-calendly-open .tf-button:hover{transform:translateY(-1px) !important;}
body.application-mbc-form-mode .tf-intro-panel .tf-primary,
body.application-mbc-form-mode .tf-finish-panel .tf-primary,
body.application-access-step .tf-access-panel .tf-primary{
  background:#2f8cff !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.20) !important;
}
body.application-mbc-form-mode .tf-continue,
body.application-mbc-form-mode .tf-question-panel .tf-primary{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.34) !important;
}
body.application-mbc-form-mode .tf-error{color:#fff !important; font:700 13px/1.4 Inter,Arial,sans-serif !important; min-height:18px !important;}
body.application-mbc-form-mode .tf-answer-hint{
  margin:24px 0 8px !important;
  color:rgba(255,255,255,.72) !important;
  font:800 13px/1.2 Inter,Arial,sans-serif !important;
  letter-spacing:.02em !important;
}

/* Inputs */
body.application-mbc-form-mode .tf-fields{width:min(700px,100%) !important; display:grid !important; gap:18px !important; margin-top:0 !important; text-align:left !important;}
body.application-mbc-form-mode .tf-field{display:grid !important; gap:8px !important; color:#fff !important; font-family:Inter,Arial,sans-serif !important;}
body.application-mbc-form-mode .tf-field > span{font:800 13px/1.2 Inter,Arial,sans-serif !important; color:rgba(255,255,255,.76) !important;}
body.application-mbc-form-mode .tf-input,
body.application-mbc-form-mode .tf-textarea,
body.application-access-step .tf-input{
  width:100% !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.42) !important;
  background:transparent !important;
  color:#fff !important;
  border-radius:0 !important;
  outline:none !important;
  padding:12px 0 14px !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(23px, 2vw, 32px) !important;
  line-height:1.15 !important;
  box-shadow:none !important;
}
body.application-mbc-form-mode .tf-input::placeholder,
body.application-mbc-form-mode .tf-textarea::placeholder,
body.application-access-step .tf-input::placeholder{color:rgba(255,255,255,.55) !important;}
body.application-mbc-form-mode .tf-textarea{
  min-height:172px !important;
  resize:vertical !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:14px !important;
  padding:18px !important;
  background:rgba(255,255,255,.055) !important;
}
body.application-mbc-form-mode .tf-phone-row{display:grid !important; grid-template-columns:132px 1fr !important; gap:14px !important; align-items:end !important;}
body.application-mbc-form-mode .tf-phone-country{
  height:54px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.42) !important;
  background:transparent !important;
  color:#fff !important;
  font:700 18px/1 Inter,Arial,sans-serif !important;
  outline:none !important;
}
body.application-mbc-form-mode .tf-phone-country option{background:#0642a8 !important; color:#fff !important;}

/* Back button */
body.application-mbc-form-mode .tf-back{
  position:fixed !important;
  left:34px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:65 !important;
  width:52px !important;
  height:52px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  font:400 36px/1 'Playfair Display', Georgia, serif !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
}

/* Visual placement and framed assets */
body.application-mbc-form-mode .tf-question-panel.has-visual{
  width:min(1180px,100%) !important;
  grid-template-columns:minmax(360px, 1fr) minmax(360px, .92fr) !important;
  gap:clamp(42px,6vw,94px) !important;
  align-items:center !important;
}
body.application-mbc-form-mode .tf-question-panel.visual-left .tf-visual{grid-column:1 !important; grid-row:1 !important;}
body.application-mbc-form-mode .tf-question-panel.visual-left .tf-question-zone{grid-column:2 !important;}
body.application-mbc-form-mode .tf-question-panel.visual-right .tf-question-zone{grid-column:1 !important;}
body.application-mbc-form-mode .tf-question-panel.visual-right .tf-visual{grid-column:2 !important; grid-row:1 !important;}
body.application-mbc-form-mode .tf-visual{
  display:block !important;
  width:min(520px, 42vw) !important;
  max-width:520px !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:center !important;
  animation:mbcVisualFade .45s ease both !important;
}
@keyframes mbcVisualFade{from{opacity:0; transform:translateY(8px) scale(.985)}to{opacity:1; transform:none}}
body.application-mbc-form-mode .tf-visual img,
body.application-mbc-form-mode .tf-visual-mobile img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:68svh !important;
  object-fit:contain !important;
}
body.application-mbc-form-mode .tf-visual-mobile{display:none !important;}
body.application-mbc-form-mode .tf-visual img[src*="exclusive-introduction"],
body.application-mbc-form-mode .tf-visual img[src*="ready-29-right"],
body.application-mbc-form-mode .tf-visual img[src*="ready-30-left"],
body.application-mbc-form-mode .tf-visual img[src*="family-25-right"],
body.application-mbc-form-mode .tf-visual img[src*="really-32-left"],
body.application-mbc-form-mode .tf-visual img[src*="dream-33-right"],
body.application-mbc-form-mode .tf-visual-mobile img[src*="exclusive-introduction"],
body.application-mbc-form-mode .tf-visual-mobile img[src*="ready-29-right"],
body.application-mbc-form-mode .tf-visual-mobile img[src*="ready-30-left"],
body.application-mbc-form-mode .tf-visual-mobile img[src*="family-25-right"],
body.application-mbc-form-mode .tf-visual-mobile img[src*="really-32-left"],
body.application-mbc-form-mode .tf-visual-mobile img[src*="dream-33-right"]{
  padding:18px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.12) !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"]{
  display:block !important;
  width:min(980px,100%) !important;
  text-align:center !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] > .tf-visual{
  display:block !important;
  width:min(360px, 44vw) !important;
  margin:0 auto 34px !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] .tf-question-zone{margin:0 auto !important;}

/* Intro, access, finish */
body.application-mbc-form-mode .tf-intro-panel{
  display:block !important;
  width:min(960px,100%) !important;
  text-align:center !important;
  margin:0 auto !important;
}
body.application-mbc-form-mode .tf-intro-media{
  display:flex !important;
  justify-content:center !important;
  margin:0 auto 34px !important;
}
body.application-mbc-form-mode .tf-intro-media img{
  width:min(360px, 44vw) !important;
  max-height:none !important;
  padding:18px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.12) !important;
}
body.application-mbc-form-mode .tf-intro-copy{max-width:940px !important; margin:0 auto !important; padding:0 !important;}
body.application-mbc-form-mode .tf-intro-copy h1{
  font-size:clamp(28px,2.35vw,42px) !important;
  line-height:1.12 !important;
  margin:0 0 28px !important;
}
body.application-mbc-form-mode .tf-intro-copy .tf-rich{font-size:clamp(17px,1.18vw,21px) !important; line-height:1.48 !important;}
body.application-mbc-form-mode .tf-intro-copy .tf-subtext{margin:30px auto 0 !important; max-width:860px !important;}
body.application-mbc-form-mode .tf-intro-panel .tf-primary{margin-left:auto !important; margin-right:auto !important;}
body.application-access-step .tf-access-panel{
  display:block !important;
  width:min(620px,100%) !important;
  min-height:auto !important;
  margin:0 auto !important;
  text-align:left !important;
}
body.application-access-step .tf-access-panel h1{
  font-size:clamp(54px, 6.2vw, 92px) !important;
  line-height:.96 !important;
  margin:0 0 24px !important;
}
body.application-access-step .tf-access-panel .tf-question{font-size:clamp(23px,2.2vw,34px) !important; line-height:1.15 !important;}
body.application-access-step .tf-access-panel .tf-input{margin-top:28px !important; max-width:520px !important;}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"]{
  width:min(860px,100%) !important;
  text-align:center !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-question-zone{max-width:860px !important; text-align:center !important;}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-number{margin-left:auto !important; margin-right:auto !important;}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-question{
  font-size:clamp(24px,2vw,36px) !important;
  line-height:1.2 !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-question::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  background:radial-gradient(circle at 50% 25%, rgba(255,255,255,.18), transparent 28%), linear-gradient(118deg, transparent 0 34%, rgba(255,255,255,.09) 34.2% 34.8%, transparent 35% 51%, rgba(255,255,255,.10) 51.2% 51.8%, transparent 52% 100%), #0642a8 !important;
}
body.application-mbc-form-mode .tf-finish-panel{max-width:860px !important; text-align:center !important;}
body.application-mbc-form-mode .tf-finish-panel h1{font-size:clamp(36px,4vw,64px) !important; line-height:1.05 !important;}

/* Calendly */
body.application-calendly-open .application-shell{padding-left:4vw !important; padding-right:4vw !important;}
body.application-calendly-open .tf-calendly-panel{
  width:min(1260px,100%) !important;
  display:block !important;
  text-align:center !important;
}
body.application-calendly-open .tf-calendly-panel h1{
  font-size:clamp(34px,4vw,62px) !important;
  line-height:1.04 !important;
  margin:0 auto 14px !important;
}
body.application-calendly-open .tf-calendly-panel .tf-question{
  font-size:clamp(18px,1.45vw,24px) !important;
  margin-bottom:26px !important;
}
body.application-calendly-open .tf-calendly-wrap{
  width:min(1120px,100%) !important;
  height:min(760px,72svh) !important;
  min-height:560px !important;
  margin:24px auto 0 !important;
  border-radius:22px !important;
  background:#fff !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:0 22px 70px rgba(0,0,0,.24) !important;
}
body.application-calendly-open .tf-calendly-wrap .calendly-inline-widget{width:100% !important; height:760px !important; min-height:700px !important;}
body.application-calendly-open .tf-calendly-note{font:700 13px/1.4 Inter,Arial,sans-serif !important; color:rgba(255,255,255,.72) !important; margin:16px auto 0 !important;}

/* Process popup always above floating UI + spinner */
.pathway-popup{z-index:200 !important;}
.pathway-title{font-family:'TT Ramillas', Georgia, serif !important; font-weight:700 !important;}
.pathway-media-wrap{position:relative !important;}
.pathway-media-wrap.is-loading::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:34px !important;
  height:34px !important;
  margin:-17px 0 0 -17px !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.34) !important;
  border-top-color:#fff !important;
  animation:mbcSpin .8s linear infinite !important;
}
@keyframes mbcSpin{to{transform:rotate(360deg)}}

@media (max-width: 900px){
  html.application-mbc-form-mode,
  html.application-access-step,
  html.application-calendly-open,
  body.application-mbc-form-mode,
  body.application-access-step,
  body.application-calendly-open{
    overflow-y:auto !important;
    height:auto !important;
    min-height:100svh !important;
  }
  body.application-mbc-form-mode .application-page,
  body.application-access-step .application-page,
  body.application-calendly-open .application-page{
    min-height:100svh !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.application-mbc-form-mode .application-shell,
  body.application-access-step .application-shell,
  body.application-calendly-open .application-shell{
    min-height:100svh !important;
    height:auto !important;
    align-items:center !important;
    padding:92px 24px 168px !important;
  }
  body.application-mbc-form-mode .application-card,
  body.application-access-step .application-card,
  body.application-calendly-open .application-card{
    min-height:calc(100svh - 260px) !important;
    width:100% !important;
  }
  body.application-mbc-form-mode .private-note,
  body.application-access-step .private-note,
  body.application-calendly-open .private-note{
    top:auto !important;
    bottom:14px !important;
    font-size:8.5px !important;
    letter-spacing:.16em !important;
    width:100% !important;
    text-align:center !important;
    padding:0 116px 0 14px !important;
    white-space:normal !important;
  }
  body.application-mbc-form-mode .application-footer,
  body.application-access-step .application-footer,
  body.application-calendly-open .application-footer{
    bottom:14px !important;
    font-size:8.5px !important;
    letter-spacing:.16em !important;
    width:100% !important;
    text-align:center !important;
    padding:0 116px 0 14px !important;
    white-space:normal !important;
  }
  body.application-mbc-form-mode .application-home-mark,
  body.application-access-step .application-home-mark,
  body.application-calendly-open .application-home-mark{
    top:18px !important;
    left:22px !important;
    width:42px !important;
  }
  body.application-mbc-form-mode .application-m,
  body.application-access-step .application-m,
  body.application-calendly-open .application-m{width:42px !important;}
  body.application-mbc-form-mode .application-signature,
  body.application-access-step .application-signature,
  body.application-calendly-open .application-signature{
    top:24px !important;
    right:22px !important;
    width:92px !important;
  }
  body.application-mbc-form-mode .pathway-trigger,
  body.application-access-step .pathway-trigger,
  body.application-calendly-open .pathway-trigger{
    right:18px !important;
    bottom:82px !important;
    min-width:132px !important;
    height:48px !important;
    font-size:12px !important;
  }
  body.application-mbc-form-mode .application-lang,
  body.application-access-step .application-lang,
  body.application-calendly-open .application-lang{
    right:18px !important;
    bottom:24px !important;
    left:auto !important;
    top:auto !important;
    gap:8px !important;
  }
  body.application-mbc-form-mode .application-lang a,
  body.application-access-step .application-lang a,
  body.application-calendly-open .application-lang a{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    font-size:12px !important;
  }
  body.application-mbc-form-mode .tf-panel,
  body.application-access-step .tf-panel,
  body.application-calendly-open .tf-panel{
    width:100% !important;
    min-height:calc(100svh - 260px) !important;
    display:block !important;
    padding:0 !important;
    text-align:center !important;
  }
  body.application-mbc-form-mode .tf-question-zone{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  body.application-mbc-form-mode .tf-number{margin-left:auto !important; margin-right:auto !important; margin-bottom:18px !important;}
  body.application-mbc-form-mode .tf-question{
    font-size:clamp(24px, 7.2vw, 32px) !important;
    line-height:1.12 !important;
  }
  body.application-mbc-form-mode .tf-question p + p,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q2"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q3"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q8"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q25"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q29"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q31"] .tf-question{
    font-size:17px !important;
    line-height:1.42 !important;
  }
  body.application-mbc-form-mode .tf-subtext{font-size:14px !important; text-align:center !important;}
  body.application-mbc-form-mode .tf-choice-list{width:100% !important; max-width:430px !important; margin:26px auto 0 !important;}
  body.application-mbc-form-mode .tf-choice{font-size:16.5px !important; line-height:1.25 !important; padding:13px 13px !important;}
  body.application-mbc-form-mode .tf-button,
  body.application-access-step .tf-button,
  body.application-calendly-open .tf-button{min-height:48px !important; padding:13px 22px !important;}
  body.application-mbc-form-mode .tf-fields{max-width:430px !important; margin:0 auto !important; text-align:left !important;}
  body.application-mbc-form-mode .tf-input,
  body.application-mbc-form-mode .tf-textarea,
  body.application-access-step .tf-input{font-size:23px !important;}
  body.application-mbc-form-mode .tf-phone-row{grid-template-columns:112px 1fr !important; gap:12px !important;}
  body.application-mbc-form-mode .tf-phone-country{font-size:15px !important;}
  body.application-mbc-form-mode .tf-answer-hint{text-align:left !important; max-width:430px !important; margin-left:auto !important; margin-right:auto !important;}
  body.application-mbc-form-mode .tf-back{
    position:static !important;
    transform:none !important;
    width:48px !important;
    height:48px !important;
    margin:18px auto 0 !important;
    display:grid !important;
  }
  body.application-mbc-form-mode .tf-question-panel.has-visual,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"]{
    display:block !important;
    width:100% !important;
  }
  body.application-mbc-form-mode .tf-question-panel.has-visual > .tf-visual{display:none !important;}
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q1"] > .tf-visual{
    display:block !important;
    width:min(260px, 74vw) !important;
    margin:0 auto 24px !important;
  }
  body.application-mbc-form-mode .tf-visual-mobile{
    display:block !important;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto 22px !important;
    animation:mbcVisualFade .45s ease both !important;
  }
  body.application-mbc-form-mode .tf-visual-mobile img{max-height:34svh !important; width:100% !important; object-fit:contain !important;}
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q30"] .tf-visual-mobile,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q32"] .tf-visual-mobile,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q33"] .tf-visual-mobile{margin:18px auto 22px !important;}
  body.application-mbc-form-mode .tf-intro-panel{max-width:430px !important;}
  body.application-mbc-form-mode .tf-intro-media{margin-bottom:24px !important;}
  body.application-mbc-form-mode .tf-intro-media img{width:min(260px, 74vw) !important; padding:12px !important;}
  body.application-mbc-form-mode .tf-intro-copy h1{font-size:clamp(24px,7vw,32px) !important; line-height:1.13 !important;}
  body.application-mbc-form-mode .tf-intro-copy .tf-rich{font-size:16.5px !important; line-height:1.44 !important;}
  body.application-access-step .tf-access-panel{width:100% !important; max-width:430px !important; text-align:left !important;}
  body.application-access-step .tf-access-panel h1{font-size:clamp(48px,15vw,76px) !important;}
  body.application-access-step .tf-access-panel .tf-question{font-size:26px !important;}
  body.application-calendly-open .application-shell{padding:88px 0 142px !important;}
  body.application-calendly-open .tf-calendly-panel{width:100% !important; max-width:none !important; padding:0 0 0 !important;}
  body.application-calendly-open .tf-calendly-panel h1{font-size:clamp(30px,8vw,42px) !important; padding:0 18px !important;}
  body.application-calendly-open .tf-calendly-panel .tf-question{font-size:16px !important; padding:0 18px !important;}
  body.application-calendly-open .tf-calendly-wrap{
    width:100vw !important;
    max-width:100vw !important;
    height:76svh !important;
    min-height:560px !important;
    border-radius:0 !important;
    margin:18px 0 0 !important;
    box-shadow:none !important;
  }
  body.application-calendly-open .tf-calendly-wrap .calendly-inline-widget{height:780px !important; min-height:760px !important; min-width:320px !important;}
}

/* === MBC micro polish patch 2026-05-15, keep restored layout === */
body.application-mbc-form-mode .private-note,
body.application-access-step .private-note,
body.application-calendly-open .private-note{
  display:none !important;
}
body.application-mbc-form-mode .tf-panel,
body.application-access-step .tf-panel,
body.application-calendly-open .tf-panel{
  animation:mbcQuestionFadeIn .30s ease both !important;
}
@keyframes mbcQuestionFadeIn{
  from{opacity:.82; transform:translateY(8px)}
  to{opacity:1; transform:none}
}
body.application-mbc-form-mode .tf-question{
  font-size:clamp(27px,2.35vw,38px) !important;
}
body.application-mbc-form-mode .required-star{
  display:inline !important;
  margin-left:.22em !important;
  transform:none !important;
  vertical-align:baseline !important;
}
body.application-mbc-form-mode .tf-link-stack{
  gap:14px !important;
  margin:34px 0 18px !important;
}
body.application-mbc-form-mode .tf-intro-panel .tf-primary{
  margin-top:18px !important;
}
body.application-mbc-form-mode .tf-button[hidden],
body.application-mbc-form-mode .tf-continue[hidden]{
  display:none !important;
}
body.application-mbc-form-mode .tf-actions{
  justify-content:center !important;
}
body.application-mbc-form-mode .tf-actions:has([data-skip]){
  justify-content:flex-start !important;
}
body.application-mbc-form-mode input[type=number]::-webkit-inner-spin-button,
body.application-mbc-form-mode input[type=number]::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
body.application-mbc-form-mode input[type=number]{
  -moz-appearance:textfield !important;
}
body.application-mbc-form-mode .tf-phone-country,
body.application-mbc-form-mode .tf-phone-country option{
  font-family:Inter,Arial,sans-serif !important;
}
body.application-mbc-form-mode .pathway-trigger,
body.application-access-step .pathway-trigger,
body.application-calendly-open .pathway-trigger,
.application-request-page .pathway-trigger{
  font-family:"TT Ramillas", Georgia, serif !important;
  font-weight:700 !important;
  bottom:112px !important;
  z-index:90 !important;
}
body.application-mbc-form-mode .tf-choice{
  will-change:opacity,transform !important;
}
body.application-mbc-form-mode .tf-choice.tf-pulse{
  animation:tfPulse .42s ease both !important;
}

@media (min-width:901px){
  body.application-mbc-form-mode .tf-question-panel.has-visual > .tf-visual{
    display:block !important;
  }
}

@media (max-width:900px){
  body.application-mbc-form-mode .application-shell,
  body.application-access-step .application-shell,
  body.application-calendly-open .application-shell{
    padding-bottom:138px !important;
  }
  body.application-mbc-form-mode .application-card,
  body.application-access-step .application-card,
  body.application-calendly-open .application-card{
    min-height:auto !important;
  }
  body.application-mbc-form-mode .tf-panel,
  body.application-access-step .tf-panel,
  body.application-calendly-open .tf-panel{
    min-height:auto !important;
  }
  body.application-mbc-form-mode .tf-question-zone{
    padding-bottom:18px !important;
  }
  body.application-mbc-form-mode .tf-question{
    font-size:clamp(23px,6.8vw,31px) !important;
  }
  body.application-mbc-form-mode .tf-choice{
    font-size:17px !important;
  }
  body.application-mbc-form-mode .tf-question-panel.has-visual > .tf-visual{
    display:none !important;
  }
  body.application-mbc-form-mode .tf-visual-mobile{
    display:block !important;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto 22px !important;
    animation:mbcVisualFade .45s ease both !important;
  }
  body.application-mbc-form-mode .tf-visual-mobile img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:34svh !important;
    object-fit:contain !important;
  }
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q30"] .tf-visual-mobile,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q32"] .tf-visual-mobile,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q33"] .tf-visual-mobile{
    margin:18px auto 22px !important;
  }
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q29"] .tf-visual-mobile{
    margin:0 auto 22px !important;
  }
  body.application-mbc-form-mode .tf-actions{
    justify-content:center !important;
  }
  body.application-mbc-form-mode .tf-actions:has([data-skip]){
    justify-content:space-between !important;
  }
  body.application-mbc-form-mode .tf-back{
    margin:18px auto 0 !important;
  }
  body.application-mbc-form-mode .pathway-trigger,
  body.application-access-step .pathway-trigger,
  body.application-calendly-open .pathway-trigger,
  .application-request-page .pathway-trigger{
    bottom:96px !important;
  }
  body.application-mbc-form-mode .application-footer,
  body.application-access-step .application-footer,
  body.application-calendly-open .application-footer{
    display:block !important;
  }
}


/* === MBC candidate/application mobile performance + scroll/input patch | 2026-05-15 === */
body.application-mbc-form-mode .tf-choice.tf-pulse,
body.application-mbc-form-mode .tf-button.tf-pulse,
body.application-access-step .tf-button.tf-pulse,
body.application-calendly-open .tf-button.tf-pulse{
  animation:none !important;
}
body.application-mbc-form-mode .tf-choice,
body.application-mbc-form-mode .tf-button{
  -webkit-tap-highlight-color:transparent !important;
}
body.application-mbc-form-mode .tf-panel,
body.application-access-step .tf-panel,
body.application-calendly-open .tf-panel{
  scroll-margin-top:0 !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-question::before{
  content:none !important;
  display:none !important;
  background:none !important;
}
body.application-mbc-form-mode .tf-input,
body.application-mbc-form-mode .tf-textarea,
body.application-mbc-form-mode .tf-phone-country,
body.application-access-step .tf-input{
  background:transparent !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  caret-color:#fff !important;
}
body.application-mbc-form-mode .tf-input:-webkit-autofill,
body.application-mbc-form-mode .tf-input:-webkit-autofill:hover,
body.application-mbc-form-mode .tf-input:-webkit-autofill:focus,
body.application-mbc-form-mode .tf-textarea:-webkit-autofill,
body.application-mbc-form-mode .tf-textarea:-webkit-autofill:hover,
body.application-mbc-form-mode .tf-textarea:-webkit-autofill:focus,
body.application-access-step .tf-input:-webkit-autofill,
body.application-access-step .tf-input:-webkit-autofill:hover,
body.application-access-step .tf-input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
  box-shadow:0 0 0 1000px #0642a8 inset !important;
  transition:background-color 9999s ease-in-out 0s !important;
}
body.mbc-dark.application-mbc-form-mode .tf-input:-webkit-autofill,
body.mbc-dark.application-mbc-form-mode .tf-input:-webkit-autofill:hover,
body.mbc-dark.application-mbc-form-mode .tf-input:-webkit-autofill:focus,
body.mbc-dark.application-mbc-form-mode .tf-textarea:-webkit-autofill,
body.mbc-dark.application-mbc-form-mode .tf-textarea:-webkit-autofill:hover,
body.mbc-dark.application-mbc-form-mode .tf-textarea:-webkit-autofill:focus,
body.mbc-dark.application-access-step .tf-input:-webkit-autofill,
body.mbc-dark.application-access-step .tf-input:-webkit-autofill:hover,
body.mbc-dark.application-access-step .tf-input:-webkit-autofill:focus{
  box-shadow:0 0 0 1000px #050505 inset !important;
}
body.application-mbc-form-mode .tf-phone-country option{
  background:#0642a8 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

@media (max-width:900px){
  html.application-mbc-form-mode,
  html.application-access-step,
  html.application-calendly-open,
  body.application-mbc-form-mode,
  body.application-access-step,
  body.application-calendly-open{
    overscroll-behavior-y:none !important;
    scroll-behavior:auto !important;
  }
  body.application-mbc-form-mode .application-shell,
  body.application-access-step .application-shell{
    align-items:flex-start !important;
    padding-top:92px !important;
    padding-bottom:108px !important;
  }
  body.application-mbc-form-mode .application-card,
  body.application-access-step .application-card,
  body.application-mbc-form-mode .tf-panel,
  body.application-access-step .tf-panel{
    min-height:auto !important;
  }
  body.application-mbc-form-mode .tf-question-zone{
    padding-bottom:0 !important;
  }
  body.application-mbc-form-mode .tf-choice-list{
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode .tf-actions,
  body.application-mbc-form-mode .tf-continue{
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode .tf-visual-mobile img{
    max-height:32svh !important;
  }
  body.application-mbc-form-mode .application-footer,
  body.application-access-step .application-footer{
    bottom:12px !important;
  }
}


/* === MBC candidature/application height precision patch | 2026-05-15 v3 ===
   PC: short questions keep the restored centered layout.
   Only long editorial questions get top alignment and natural height.
   Mobile: short questions are vertically centered, long questions become cleanly scrollable.
   Footer, language buttons, signature and M mark are intentionally untouched. */
body.application-mbc-form-mode .tf-choice.tf-pulse,
body.application-mbc-form-mode .tf-button.tf-pulse,
body.application-access-step .tf-button.tf-pulse,
body.application-calendly-open .tf-button.tf-pulse{
  animation:none !important;
}
body.application-mbc-form-mode .tf-choice,
body.application-mbc-form-mode .tf-button,
body.application-mbc-form-mode .tf-back{
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}
body.application-mbc-form-mode .tf-choice:hover,
body.application-mbc-form-mode .tf-choice.is-selected,
body.application-mbc-form-mode .tf-button:hover{
  transform:none !important;
}
body.application-mbc-form-mode .tf-panel,
body.application-mbc-form-mode .tf-visual,
body.application-mbc-form-mode .tf-visual-mobile{
  animation-duration:.22s !important;
  animation-timing-function:cubic-bezier(.22,.78,.22,1) !important;
}
body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-question::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

@media (min-width:901px){
  body.application-mbc-form-mode.application-long-step .application-shell{
    align-items:flex-start !important;
    justify-content:center !important;
    padding-top:92px !important;
    padding-bottom:106px !important;
  }
  body.application-mbc-form-mode.application-long-step .application-card{
    min-height:auto !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-panel{
    min-height:auto !important;
    align-items:start !important;
    align-content:start !important;
    overflow:visible !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-question-zone{
    padding-bottom:0 !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-question-panel.has-visual{
    align-items:start !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-visual{
    align-self:start !important;
  }
}

@media (max-width:900px){
  html.application-mbc-form-mode,
  body.application-mbc-form-mode{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    overflow:hidden !important;
    overscroll-behavior:none !important;
    scroll-behavior:auto !important;
  }
  body.application-mbc-form-mode .application-page{
    height:100svh !important;
    min-height:100svh !important;
    overflow:hidden !important;
  }
  body.application-mbc-form-mode .application-shell{
    height:100svh !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    scrollbar-width:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding-top:86px !important;
    padding-bottom:106px !important;
  }
  body.application-mbc-form-mode .application-shell::-webkit-scrollbar{display:none !important;}
  body.application-mbc-form-mode .application-card{
    min-height:calc(100svh - 192px) !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 auto !important;
  }
  body.application-mbc-form-mode .tf-panel{
    width:100% !important;
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
    display:block !important;
    overflow:visible !important;
    padding:0 !important;
    text-align:center !important;
  }
  body.application-mbc-form-mode:not(.application-long-step) .tf-question-zone{
    padding-bottom:0 !important;
  }
  body.application-mbc-form-mode:not(.application-long-step) .tf-choice-list{
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode:not(.application-long-step) .tf-actions,
  body.application-mbc-form-mode:not(.application-long-step) .tf-continue{
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode.application-long-step .application-shell{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    padding-top:86px !important;
    padding-bottom:104px !important;
  }
  body.application-mbc-form-mode.application-long-step .application-card{
    min-height:auto !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-panel{
    min-height:auto !important;
    height:auto !important;
    align-items:start !important;
    align-content:start !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-question-zone{
    padding-bottom:0 !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-choice-list{
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-button,
  body.application-mbc-form-mode.application-long-step .tf-continue,
  body.application-mbc-form-mode.application-long-step .tf-actions{
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode .tf-back{
    margin:18px auto 0 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.application-mbc-form-mode .tf-panel,
  body.application-mbc-form-mode .tf-visual,
  body.application-mbc-form-mode .tf-visual-mobile{
    animation:none !important;
  }
}


/* === MBC candidature/application PC visual lock + text-only scroll | 2026-05-15 v4 ===
   Desktop only: for long questions with a left/right visual, the image stays centered and fixed in its column.
   Only the text/answer column scrolls so the confirmation button can be reached cleanly. */
@media (min-width:901px){
  body.application-mbc-form-mode.application-long-visual-step .application-shell{
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding-top:88px !important;
    padding-bottom:92px !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .application-card{
    width:min(1180px,100%) !important;
    height:calc(100svh - 180px) !important;
    min-height:0 !important;
    max-height:calc(100svh - 180px) !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    margin:0 auto !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual{
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    display:grid !important;
    align-items:center !important;
    align-content:center !important;
    overflow:visible !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.visual-left .tf-visual{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.visual-left .tf-question-zone{
    grid-column:2 !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.visual-right .tf-question-zone{
    grid-column:1 !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.visual-right .tf-visual{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-question-zone{
    align-self:center !important;
    justify-self:center !important;
    max-height:100% !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    scrollbar-width:none !important;
    padding-top:0 !important;
    padding-right:10px !important;
    padding-bottom:26px !important;
    margin:0 !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-question-zone::-webkit-scrollbar{
    display:none !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-visual{
    align-self:center !important;
    justify-self:center !important;
    position:relative !important;
    top:auto !important;
    margin:0 !important;
    transform:none !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-visual img{
    max-height:min(68svh, calc(100svh - 220px)) !important;
    object-fit:contain !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-back{
    top:50% !important;
    transform:translateY(-50%) !important;
  }
}


/* === MBC application/candidature final scroll + button precision patch | 2026-05-15 v5 ===
   Keeps footer, language switch, signature and M untouched. */
@keyframes mbcTfButtonBlink{
  0%{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.32);filter:brightness(1);}
  42%{background:rgba(255,255,255,.34);border-color:rgba(255,255,255,.88);filter:brightness(1.18);}
  100%{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.40);filter:brightness(1);}
}
body.application-mbc-form-mode .tf-choice.tf-pulse,
body.application-mbc-form-mode .tf-button.tf-pulse,
body.application-mbc-form-mode .tf-back.tf-pulse,
body.application-access-step .tf-button.tf-pulse,
body.application-calendly-open .tf-button.tf-pulse{
  animation:mbcTfButtonBlink .18s ease-out both !important;
}
body.application-mbc-form-mode .tf-button.is-inactive,
body.application-mbc-form-mode .tf-button[disabled],
body.application-mbc-form-mode .tf-continue.is-inactive,
body.application-mbc-form-mode .tf-continue[disabled]{
  display:inline-flex !important;
  opacity:.54 !important;
  background:rgba(255,255,255,.045) !important;
  border-color:rgba(255,255,255,.20) !important;
  color:rgba(255,255,255,.74) !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}

@media (min-width:901px){
  body.application-mbc-form-mode:not(.application-long-visual-step) .application-card,
  body.application-access-step .application-card,
  body.application-calendly-open .application-card{
    min-height:auto !important;
    height:auto !important;
    max-height:calc(100svh - 180px) !important;
    overflow:visible !important;
  }
  body.application-mbc-form-mode:not(.application-long-visual-step) .tf-panel,
  body.application-access-step .tf-panel,
  body.application-calendly-open .tf-panel{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.application-mbc-form-mode.application-long-step:not(.application-long-visual-step) .application-shell,
  body.application-mbc-form-mode[data-application-step="intro"] .application-shell{
    align-items:flex-start !important;
    justify-content:center !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-top:92px !important;
    padding-bottom:92px !important;
    scrollbar-width:none !important;
  }
  body.application-mbc-form-mode.application-long-step:not(.application-long-visual-step) .application-shell::-webkit-scrollbar,
  body.application-mbc-form-mode[data-application-step="intro"] .application-shell::-webkit-scrollbar{display:none !important;}
  body.application-mbc-form-mode.application-long-step:not(.application-long-visual-step) .application-card,
  body.application-mbc-form-mode[data-application-step="intro"] .application-card{
    max-height:none !important;
    min-height:auto !important;
    height:auto !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  body.application-mbc-form-mode .tf-question-zone,
  body.application-mbc-form-mode .tf-choice-list,
  body.application-mbc-form-mode .tf-actions{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .application-card{
    height:calc(100svh - 180px) !important;
    min-height:0 !important;
    max-height:calc(100svh - 180px) !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-question-zone{
    padding-bottom:8px !important;
    display:flex !important;
    flex-direction:column !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-back{
    position:sticky !important;
    left:auto !important;
    top:auto !important;
    bottom:0 !important;
    transform:none !important;
    margin:14px auto 0 !important;
    flex:0 0 auto !important;
    z-index:8 !important;
    background:rgba(255,255,255,.11) !important;
    backdrop-filter:blur(10px) !important;
  }
}

@media (max-width:900px){
  body.application-mbc-form-mode.application-long-step .application-shell,
  body.application-mbc-form-mode[data-application-step="intro"] .application-shell,
  body.application-mbc-form-mode[data-application-step="q39"] .application-shell{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    padding-top:86px !important;
    padding-bottom:112px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-padding-top:86px !important;
  }
  body.application-mbc-form-mode.application-long-step .application-card,
  body.application-mbc-form-mode[data-application-step="intro"] .application-card,
  body.application-mbc-form-mode[data-application-step="q39"] .application-card{
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    margin-top:0 !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-panel,
  body.application-mbc-form-mode[data-application-step="intro"] .tf-panel,
  body.application-mbc-form-mode[data-application-step="q39"] .tf-panel{
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.application-mbc-form-mode:not(.application-long-step):not([data-application-step="intro"]):not([data-application-step="q39"]) .application-shell{
    align-items:center !important;
    justify-content:center !important;
  }
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q13"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q14"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q17"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q22"] .tf-question,
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q39"] .tf-question{
    font-size:17px !important;
    line-height:1.42 !important;
  }
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q33"] .tf-visual-mobile{
    margin:0 auto 20px !important;
  }
  body.application-mbc-form-mode .tf-question-panel[data-step-id="q33"] .tf-visual-mobile img{
    max-height:31svh !important;
  }
  body.application-mbc-form-mode .tf-continue{
    display:inline-flex !important;
  }
}

/* === MBC v5.1 desktop long-visual action lock === */
@media (min-width:901px){
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-question-zone{
    padding-bottom:86px !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-continue,
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-large-submit{
    position:sticky !important;
    bottom:64px !important;
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    z-index:10 !important;
    backdrop-filter:blur(10px) !important;
  }
  body.application-mbc-form-mode.application-long-visual-step .tf-question-panel.has-visual .tf-back{
    bottom:0 !important;
  }
}


/* ================================================================
   MBC APPLICATION — Correctifs définitifs | 2026-05-15 v-final
   ① Numéro de page jamais pleine largeur
   ② Bouton Continuer jamais pleine largeur
   ③ Moins d'espace blanc en bas sur PC (questions courtes)
   ④ Effet de clignotement au clic (blink) réactivé
   ⑤ Questions q18/q20/q23/q24/q28 : top visible sur mobile
   ================================================================ */

/* ① tf-number — force width:fit-content pour éviter la barre blanche */
body.application-mbc-form-mode .tf-number,
body.application-access-step .tf-number {
  display: flex !important;
  width: fit-content !important;
  max-width: fit-content !important;
  min-width: 25px !important;
  padding: 0 8px !important;
  height: 25px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 20px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

/* ② Boutons — empêche l'étirement pleine largeur dans un conteneur flex/block */
body.application-mbc-form-mode .tf-button,
body.application-mbc-form-mode .tf-continue,
body.application-access-step .tf-button,
body.application-calendly-open .tf-button {
  align-self: center !important;
  display: inline-flex !important;
  width: auto !important;
}
/* Le bouton de soumission finale garde une largeur minimale confortable */
body.application-mbc-form-mode .tf-large-submit {
  align-self: center !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 220px !important;
}

/* ③ PC — supprime l'espace vide en bas pour les questions courtes */
@media (min-width: 901px) {
  body.application-mbc-form-mode:not(.application-long-step):not(.application-long-visual-step) .application-shell {
    padding-top: 92px !important;
    padding-bottom: 92px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.application-mbc-form-mode:not(.application-long-step):not(.application-long-visual-step) .application-card {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.application-mbc-form-mode:not(.application-long-step):not(.application-long-visual-step) .tf-panel {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    align-content: center !important;
  }
  /* Pour les questions longues sans visuel (q2, q3, q8, q25, q28, q29…) :
     le shell défile, la card est en hauteur naturelle */
  body.application-mbc-form-mode.application-long-step:not(.application-long-visual-step) .application-card {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }
  body.application-mbc-form-mode.application-long-step:not(.application-long-visual-step) .tf-panel {
    min-height: 0 !important;
    height: auto !important;
  }
}

/* ④ Animation de clignotement au clic — réactivée avec blink visible */
@keyframes mbcClickBlink {
  0%   { opacity: 1; filter: brightness(1); }
  30%  { opacity: 0.55; filter: brightness(1.35); }
  60%  { opacity: 0.85; filter: brightness(1.15); }
  100% { opacity: 1; filter: brightness(1); }
}

body.application-mbc-form-mode .tf-choice.tf-pulse {
  animation: mbcClickBlink 0.24s ease-out both !important;
}
body.application-mbc-form-mode .tf-button.tf-pulse,
body.application-mbc-form-mode .tf-back.tf-pulse,
body.application-access-step .tf-button.tf-pulse,
body.application-calendly-open .tf-button.tf-pulse {
  animation: mbcClickBlink 0.24s ease-out both !important;
}

/* ⑤ Mobile — les étapes ajoutées à LONG_STEP_IDS (q18/q20/q23/q24/q28)
   sont désormais gérées par le JS qui pose la classe application-long-step.
   On s'assure ici que le shell est bien en align-items:flex-start pour
   ces étapes afin que le haut du contenu reste toujours visible. */
@media (max-width: 900px) {
  body.application-mbc-form-mode.application-long-step .application-shell {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-top: 86px !important;
    padding-bottom: 112px !important;
  }
  body.application-mbc-form-mode.application-long-step .application-card {
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    margin-top: 0 !important;
  }
  body.application-mbc-form-mode.application-long-step .tf-panel {
    min-height: auto !important;
    height: auto !important;
  }
}

/* MBC | Désactive uniquement le clic sur le M application/candidature */
.application-home-mark{
  pointer-events:none !important;
  cursor:default !important;
}


/* ================================================================
   MBC 2026-05-16 — Correctifs v4
   ① Layout fixe Typeform : seul le texte scrolle (pas la page)
   ② Flash écran au changement de question
   ================================================================ */

/* ① Supprime le scroll de la page entière dans les panneaux de question */
body.application-mbc-form-mode .tf-panel,
body.application-access-step .tf-panel {
  overflow: hidden !important;
}

/* La zone de texte (question + choix) devient scrollable indépendamment */
body.application-mbc-form-mode .tf-question-zone {
  max-height: calc(100svh - 200px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,.28) transparent !important;
}

/* Sur mobile, ajuste la hauteur max selon l'espace disponible */
@media (max-width: 900px) {
  body.application-mbc-form-mode .tf-question-zone {
    max-height: calc(100svh - 170px) !important;
    padding-bottom: 90px !important;
  }
}

/* Le bouton Continuer reste visible en bas de la zone de défilement */
body.application-mbc-form-mode .tf-question-zone .tf-continue,
body.application-mbc-form-mode .tf-question-zone .tf-large-submit {
  position: sticky !important;
  bottom: 8px !important;
  z-index: 8 !important;
}

/* Les panneaux avec image (visual) restent en grid, mais la zone texte scrolle */
body.application-mbc-form-mode .tf-question-panel.has-visual {
  overflow: hidden !important;
}
body.application-mbc-form-mode .tf-question-panel.has-visual .tf-question-zone {
  max-height: calc(100svh - 160px) !important;
  overflow-y: auto !important;
}

/* Intro / Exit / Finish panels — autoriser le défilement de TOUT le contenu */
body.application-mbc-form-mode .tf-intro-panel,
body.application-mbc-form-mode .tf-exit-panel,
body.application-mbc-form-mode .tf-finish-panel,
body.application-mbc-form-mode .tf-calendly-panel {
  overflow-y: auto !important;
}

/* ② Overlay de flash au changement de question */
#mbc-screen-flash {
  position: fixed;
  inset: 0;
  z-index: 9997;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.22);
  opacity: 0;
  mix-blend-mode: overlay;
}
@keyframes mbcScreenBlink {
  0%   { opacity: 0; }
  18%  { opacity: 1; }
  55%  { opacity: 0.5; }
  100% { opacity: 0; }
}
#mbc-screen-flash.is-active {
  animation: mbcScreenBlink 0.38s ease-out forwards !important;
}


/* ═══════════════════════════════════════════════════════
   MBC — Loading spinner + Veuillez patienter
   ═══════════════════════════════════════════════════════ */
@keyframes mbc-spin {
  to { transform: rotate(360deg); }
}

.tf-error.tf-sending-active {
  display        : flex;
  flex-direction : column;
  align-items    : flex-start;
  gap            : 6px;
  color          : rgba(255, 255, 255, .85) !important;
}

.mbc-sending-row {
  display     : flex;
  align-items : center;
  gap         : 10px;
}

.mbc-spinner {
  display        : inline-block;
  flex-shrink    : 0;
  width          : 18px;
  height         : 18px;
  border         : 2px solid rgba(255, 255, 255, .22);
  border-top-color: rgba(255, 255, 255, .88);
  border-radius  : 50%;
  animation      : mbc-spin .75s linear infinite;
}

.mbc-sending-text {
  font-size   : 14px;
  line-height : 1.4;
  color       : rgba(255, 255, 255, .85);
  transition  : opacity .25s ease;
}

/* Dots animées (... → .. → . → ...) */
.mbc-dots {
  display      : inline-block;
  min-width    : 18px;
  font-size    : 14px;
  line-height  : 1.4;
  color        : rgba(255, 255, 255, .85);
  font-variant-numeric: tabular-nums;
  letter-spacing: 1px;
  margin-left  : 2px;
}

.mbc-wait-text {
  font-size      : 12px;
  letter-spacing : .04em;
  line-height    : 1.5;
  color          : rgba(255, 255, 255, .55);
  padding-left   : 28px;   /* aligns with text, past the spinner */
  font-style     : italic;
}


/* ═══════════════════════════════════════════════════════
   PC FIXED LAYOUT — toutes les questions restent dans la fenêtre
   ═══════════════════════════════════════════════════════ */

/* =====================================================
   PC (> 900px) — Style q3 (colonne unique centrée)
   • Toutes les questions et l'intro = mise en page unique centrée
     comme q3, qui est la référence de ce qui rend bien.
   • Le visuel (s'il existe) reste petit, posé au-dessus du texte
     via order:-1, pour ne pas écraser la lisibilité.
   • Aucun panel ne scrolle — c'est la zone texte qui scrolle si
     elle déborde (q2 conditions générales etc).
   • Cible UNIQUEMENT .application-card.tf-card pour ne pas casser
     la page d'accès (Accès privé / lock-card) qui marche très bien
     telle qu'elle est.
   • Padding-bottom généreux pour ne pas masquer le footer fixed.
   ===================================================== */
@media (min-width: 901px) {

  /* 1. Page et shell fixés au viewport */
  body.application-mbc-form-mode .application-page,
  body.application-mbc-form-mode .application-shell {
    overflow: hidden !important;
    height: 100svh !important;
    max-height: 100svh !important;
  }
  body.application-mbc-form-mode .application-shell {
    padding: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  /* 2. La card FORMULAIRE (tf-card) prend tout le viewport.
        On NE touche PAS .lock-card (page d'accès) ni .brochure-card. */
  body.application-mbc-form-mode .application-card.tf-card {
    width: 100vw !important;
    height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 3. tf-panel : flex column centré — style q3 */
  body.application-mbc-form-mode .tf-panel {
    width: 100vw !important;
    height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    grid-template-columns: none !important;
    padding: 9vh 6vw 11vh !important;
    box-sizing: border-box !important;
    gap: 0 !important;
  }

  /* 4. INTRO — colonne unique centrée, M card au-dessus du texte */
  body.application-mbc-form-mode .tf-intro-panel {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    grid-template-columns: none !important;
  }
  body.application-mbc-form-mode .tf-intro-media {
    flex-shrink: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    max-width: 240px !important;
    margin: 0 auto 22px !important;
  }
  body.application-mbc-form-mode .tf-intro-media img {
    max-width: 100% !important;
    max-height: 22vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
  body.application-mbc-form-mode .tf-intro-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    height: calc(100svh - 32vh) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    text-align: center !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.18) transparent !important;
    padding-right: 8px !important;
  }
  body.application-mbc-form-mode .tf-intro-copy > h1 {
    flex-shrink: 0 !important;
    text-align: center !important;
  }
  body.application-mbc-form-mode .tf-intro-copy > .tf-rich,
  body.application-mbc-form-mode .tf-intro-copy > .tf-subtext,
  body.application-mbc-form-mode .tf-intro-copy > .tf-link-stack {
    overflow: visible !important;
    flex: 0 0 auto !important;
    text-align: center !important;
  }
  body.application-mbc-form-mode .tf-intro-copy > .tf-link-stack {
    align-items: center !important;
  }
  body.application-mbc-form-mode .tf-intro-copy > .tf-button {
    flex-shrink: 0 !important;
    align-self: center !important;
    margin-top: auto !important;
    padding-top: 20px !important;
    position: sticky !important;
    bottom: 0 !important;
  }

  /* 5. QUESTIONS — colonne unique centrée (style q3) pour TOUTES,
        avec ou sans visuel. Le visuel passe au-dessus du texte. */
  body.application-mbc-form-mode .tf-question-panel,
  body.application-mbc-form-mode .tf-question-panel.has-visual {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    grid-template-columns: none !important;
  }
  body.application-mbc-form-mode .tf-question-panel .tf-visual,
  body.application-mbc-form-mode .tf-question-panel.has-visual .tf-visual {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    max-width: 300px !important;
    margin: 0 auto 22px !important;
    flex-shrink: 0 !important;
    order: -1 !important;
  }
  body.application-mbc-form-mode .tf-question-panel .tf-visual img {
    max-width: 100% !important;
    max-height: 24vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  body.application-mbc-form-mode .tf-question-zone {
    grid-column: auto !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    max-height: calc(100svh - 32vh) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    text-align: center !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.18) transparent !important;
    padding: 0 12px 12px 12px !important;
  }
  body.application-mbc-form-mode .tf-question-zone .tf-continue,
  body.application-mbc-form-mode .tf-question-zone .tf-button:last-child {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 6. Cache le visuel mobile éventuel sur desktop */
  body.application-mbc-form-mode .tf-visual-mobile {
    display: none !important;
  }
}

/* =====================================================
   FIX — Clic du M strictement limité à l'icône
   Sur certaines pages (intro candidature notamment), la zone
   cliquable de l'ancre s'étendait sur toute la colonne gauche.
   On force display:inline-block + height:auto + aspect-ratio
   pour que l'ancre épouse exactement l'image M.
   ===================================================== */
.application-home-mark,
body.application-mbc-form-mode .application-home-mark,
body.application-access-step .application-home-mark,
body.application-calendly-open .application-home-mark,
body.application-brochure-step .application-home-mark,
.application-request-page .application-home-mark {
  display: inline-block !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.application-home-mark .application-m {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  pointer-events: none;
}

/* =====================================================
   PRE-APPLICATION FORM — Frosted glass on fixed blue bg
   Respecte le design original :
   • Fond bleu fixe (ne scrolle pas) avec confetti dots
   • Cartes transparentes (frosted), texte blanc
   • Page scrollable verticalement si le form déborde
   • M cliquable en bas à gauche (PC + mobile)
   ===================================================== */

/* La page request gère son scroll vertical si form long */
body.lang-fr .application-request-page,
body.lang-en .application-request-page {
  position: relative !important;
  width: 100vw !important;
  min-height: 100svh !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* Le fond bleu + confetti devient FIXE pendant le scroll */
.application-request-page::before,
.application-request-page::after {
  position: fixed !important;
}

/* Shell : centre verticalement quand le contenu tient,
   pousse vers le haut quand ça déborde */
body.lang-fr .application-request-page .application-request-shell,
body.lang-en .application-request-page .application-request-shell {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(80px, 12vh, 110px) clamp(18px, 4vw, 42px) clamp(96px, 14vh, 128px) !important;
  box-sizing: border-box !important;
}

/* Card de base : largeur et centrage */
.preapp-menu-view,
.preapp-form-view {
  width: min(640px, 100%);
  margin: 0 auto;
  text-align: center;
  color: #fff !important;
  position: relative;
  z-index: 2;
}

.preapp-form-view {
  width: min(560px, 100%);
}

/* Titres et copy : RÉTABLIR blanc sur bleu */
.preapp-menu-view .request-kicker,
.preapp-form-view .request-kicker {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 12px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}

.preapp-menu-view .request-title,
.preapp-form-view .request-title {
  color: #fff !important;
  font-family: "TT Ramillas", "Times New Roman", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(34px, 5vw, 52px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 18px !important;
}

.preapp-form-view .request-title {
  font-size: clamp(28px, 3.8vw, 38px) !important;
  margin-bottom: 12px !important;
}

.preapp-menu-view .request-copy,
.preapp-menu-view .request-subcopy,
.preapp-form-view .request-copy {
  color: rgba(255, 255, 255, .82) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
}

.preapp-menu-view .request-subcopy {
  font-size: 14.5px !important;
  color: rgba(255, 255, 255, .65) !important;
  margin: 6px 0 32px !important;
}

.preapp-form-view .request-copy {
  font-size: 14.5px !important;
  margin: 0 0 24px !important;
}

/* Bouton retour vers le menu */
.preapp-back {
  position: absolute;
  top: -42px;
  left: 0;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, .85);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 8px 4px;
  transition: color .2s ease;
}
.preapp-back:hover { color: #fff; }

/* Form layout */
.preapp-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
  text-align: left;
}
.preapp-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 540px) {
  .preapp-row { grid-template-columns: 1fr; }
}
.preapp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.preapp-field label {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .82);
  font-weight: 700;
}

/* Inputs : frosted glass, blanc sur bleu */
.preapp-field input,
.preapp-field select,
.preapp-field textarea {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 13px 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  line-height: 1.4;
  color: #ffffff;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
  box-sizing: border-box;
}
.preapp-field input::placeholder,
.preapp-field textarea::placeholder {
  color: rgba(255, 255, 255, .42);
}
.preapp-field input:focus,
.preapp-field select:focus,
.preapp-field textarea:focus {
  outline: none;
  border-color: rgba(255, 255, 255, .68);
  background: rgba(255, 255, 255, .14);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .12);
}
.preapp-field textarea {
  resize: vertical;
  min-height: 100px;
  font-family: Georgia, "Times New Roman", serif;
}

/* Select : chevron + flag inline */
.preapp-field select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='rgba(255,255,255,.7)' d='M6 8L0 0h12z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 11px 7px;
  padding-right: 38px;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", Georgia, system-ui, sans-serif;
}
/* Reset l'apparence native du dropdown (les options doivent rester sombre/lisible) */
.preapp-field select option {
  background: #023da5;
  color: #fff;
}

/* Bouton submit */
.preapp-submit {
  margin-top: 10px;
  appearance: none;
  border: 1px solid rgba(255, 255, 255, .92);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  color: #0c0c0c;
  padding: 16px 30px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .25s cubic-bezier(.2, .72, .18, 1), background .25s ease, box-shadow .25s ease;
}
.preapp-submit:hover:not(:disabled) {
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .22);
}
.preapp-submit:disabled {
  opacity: .55;
  cursor: wait;
}

/* Messages */
.preapp-message {
  display: none;
  padding: 18px 20px;
  border-radius: 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .22);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.preapp-message.is-success {
  background: rgba(255, 255, 255, .10);
}
.preapp-message.is-error {
  background: rgba(180, 60, 50, .22);
  border-color: rgba(255, 160, 150, .42);
}
.preapp-message .preapp-success-title {
  font-family: "TT Ramillas", "Times New Roman", Georgia, serif;
  font-size: 22px;
  margin: 0 0 10px;
  color: #fff;
}
.preapp-message .preapp-success-body {
  margin: 0;
  color: rgba(255, 255, 255, .88);
}

/* Le M ICI : cliquable PC + mobile (z-index au-dessus du contenu) */
body.lang-fr .application-request-page .application-home-mark,
body.lang-en .application-request-page .application-home-mark {
  position: fixed !important;
  left: clamp(18px, 3.5vw, 36px) !important;
  bottom: clamp(18px, 3.5vh, 36px) !important;
  z-index: 50 !important;
  pointer-events: auto !important;
  display: inline-block !important;
  line-height: 0 !important;
  font-size: 0 !important;
  width: auto !important;
  height: auto !important;
}
body.lang-fr .application-request-page .application-home-mark .application-m,
body.lang-en .application-request-page .application-home-mark .application-m {
  pointer-events: none !important;
  width: clamp(56px, 9vw, 96px) !important;
  height: auto !important;
  display: block !important;
}

/* Signature en haut à droite : visible aussi pendant scroll */
body.lang-fr .application-request-page .application-signature,
body.lang-en .application-request-page .application-signature {
  position: fixed !important;
  top: clamp(18px, 3vh, 32px) !important;
  right: clamp(18px, 3vw, 36px) !important;
  z-index: 40 !important;
  width: clamp(110px, 13vw, 168px) !important;
  height: auto !important;
}

/* Switch de langue : fixed en haut à gauche */
body.lang-fr .application-request-page .application-lang,
body.lang-en .application-request-page .application-lang {
  position: fixed !important;
  top: clamp(18px, 3vh, 32px) !important;
  left: clamp(18px, 3vw, 36px) !important;
  z-index: 40 !important;
}

/* Le footer en bas : fixed aussi */
body.lang-fr .application-request-page .application-footer,
body.lang-en .application-request-page .application-footer {
  position: fixed !important;
  bottom: clamp(14px, 2.6vh, 22px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  font-size: 10px !important;
  letter-spacing: .26em !important;
  color: rgba(255, 255, 255, .54) !important;
  pointer-events: none !important;
  z-index: 30 !important;
  white-space: nowrap !important;
}

/* "Private application request" : top center */
body.lang-fr .application-request-page .private-note,
body.lang-en .application-request-page .private-note {
  position: fixed !important;
  top: clamp(18px, 3vh, 32px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  font-size: 11px !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, .56) !important;
  z-index: 30 !important;
}

/* Mobile : signature plus discrète, M reste cliquable */
@media (max-width: 720px) {
  body.lang-fr .application-request-page .application-signature,
  body.lang-en .application-request-page .application-signature {
    width: 96px !important;
  }
}
/* =====================================================
   MBC REQUEST PAGE — SCROLL + MOBILE TITLES FIX
   ===================================================== */

/* Autorise le scroll uniquement sur la page de demande (request.html
   et fr/demande-candidature.html), sans casser le multi-step
   .application-page (application.html / fr/candidature.html). */
:root:has(body [data-request-page]),
body:has([data-request-page]){
  overflow-y:auto !important;
  height:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

[data-request-page].application-request-page{
  height:auto !important;
  min-height:100svh !important;
  overflow:visible !important;
}

[data-request-page] .application-request-shell{
  position:relative !important;
  inset:auto !important;
  min-height:100svh !important;
  padding:96px 42px 132px !important;
  align-items:center !important;
}

/* Sur petit écran, on accroche le contenu en haut pour éviter
   qu'un formulaire long déborde des deux côtés à la fois. */
@media (max-width:900px){
  [data-request-page] .application-request-shell{
    align-items:flex-start !important;
    padding:84px 22px 132px !important;
  }
  [data-request-page] .application-request-card{
    margin:0 auto !important;
  }
}

/* Mobile : « PRIVATE APPLICATION REQUEST » + footer software
   centrés sur 2 lignes au lieu d'une seule ligne qui dépasse.
   On garde left/right:0 et transform:none (centrage natif via
   text-align), on rétrécit la zone de texte avec du padding
   horizontal calculé : ça force le wrap sans casser les autres
   règles existantes ni l'animation translate. */
@media (max-width:720px){
  .application-request-page .private-note{
    padding-left:max(0px, calc(50vw - 112px)) !important;
    padding-right:max(0px, calc(50vw - 112px)) !important;
    white-space:normal !important;
    line-height:1.38 !important;
    font-size:9.2px !important;
    letter-spacing:.18em !important;
  }
  .application-request-page .application-footer{
    padding-left:max(0px, calc(50vw - 132px)) !important;
    padding-right:max(0px, calc(50vw - 132px)) !important;
    white-space:normal !important;
    line-height:1.34 !important;
    font-size:8.4px !important;
    letter-spacing:.16em !important;
    bottom:14px !important;
  }
}

/* =====================================================
   MBC CONSTRUCTION ANIMATION — Corner elements slide in
   from outside the viewport, in the direction of their corner.
   Utilise la propriété CSS `translate:` (composable avec un
   `transform:` existant), donc compatible avec les éléments
   centrés via translateX(-50%) et avec la règle
   `transform:none !important` posée sur .private-note /
   .application-footer.
   ===================================================== */
@media (prefers-reduced-motion: no-preference){

  /* Coin HAUT-GAUCHE */
  .application-lang{
    animation:mbcConstructFromTopLeft 1.05s cubic-bezier(.22,.74,.20,1) .12s both !important;
  }

  /* Coin HAUT-DROIT */
  .application-signature{
    animation:mbcConstructFromTopRight 1.05s cubic-bezier(.22,.74,.20,1) .22s both !important;
  }

  /* Coin BAS-GAUCHE — le M */
  .application-home-mark{
    animation:mbcConstructFromBottomLeft 1.15s cubic-bezier(.22,.74,.20,1) .34s both !important;
  }

  /* Coin BAS-DROIT — compteur d'étape (application.html) +
     boutons flottants Processus / Brochure */
  .application-counter,
  .pathway-trigger,
  .brochure-skip-trigger{
    animation:mbcConstructFromBottomRight 1.05s cubic-bezier(.22,.74,.20,1) .44s both !important;
  }

  /* Bord HAUT centré — petit kicker « Private application request » */
  .private-note{
    animation:mbcConstructFromTop 1.05s cubic-bezier(.22,.74,.20,1) .18s both !important;
  }

  /* Bord BAS centré — ligne software */
  .application-footer{
    animation:mbcConstructFromBottom 1.05s cubic-bezier(.22,.74,.20,1) .50s both !important;
  }
}

@keyframes mbcConstructFromTopLeft{
  from{ opacity:0; translate:-55vw -55vh; filter:blur(6px); }
  to  { opacity:1; translate:0 0;         filter:blur(0); }
}
@keyframes mbcConstructFromTopRight{
  from{ opacity:0; translate: 55vw -55vh; filter:blur(6px); }
  to  { opacity:1; translate:0 0;         filter:blur(0); }
}
@keyframes mbcConstructFromBottomLeft{
  from{ opacity:0; translate:-55vw  55vh; filter:blur(6px); }
  to  { opacity:1; translate:0 0;         filter:blur(0); }
}
@keyframes mbcConstructFromBottomRight{
  from{ opacity:0; translate: 55vw  55vh; filter:blur(6px); }
  to  { opacity:1; translate:0 0;         filter:blur(0); }
}
@keyframes mbcConstructFromTop{
  from{ opacity:0; translate:0 -42vh; filter:blur(6px); }
  to  { opacity:1; translate:0 0;     filter:blur(0); }
}
@keyframes mbcConstructFromBottom{
  from{ opacity:0; translate:0  42vh; filter:blur(6px); }
  to  { opacity:1; translate:0 0;     filter:blur(0); }
}

/* ════════════════════════════════════════════════════════════
   SUBMISSION ERROR FALLBACK
   When the candidature submission fails after 3 retries, we
   show the standard error message + a retry hint + a direct
   Calendly link so the candidate can still book the interview
   instead of abandoning. Pattern used on the final submit step.
   ════════════════════════════════════════════════════════════ */

.mbc-error-main,
.mbc-error-retry,
.mbc-error-fallback {
  display: block;
}

.mbc-error-main {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, .94);
  font: 600 14px/1.45 Inter, Arial, sans-serif;
}

.mbc-error-retry {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, .65);
  font: 400 12.5px/1.5 Inter, Arial, sans-serif;
  font-style: italic;
}

.mbc-error-fallback {
  display: inline-block;
  margin: 4px 0 0;
  padding: 12px 18px;
  background: linear-gradient(180deg, #2997ff, #007aff);
  color: #fff !important;
  font: 700 13px/1.3 Inter, Arial, sans-serif;
  text-decoration: none;
  border-radius: 999px;
  letter-spacing: .02em;
  box-shadow: 0 8px 20px rgba(0, 122, 255, .28);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  max-width: 100%;
  word-break: break-word;
}

.mbc-error-fallback:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0, 122, 255, .36);
}

.mbc-error-fallback:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(0, 122, 255, .26);
}

/* When the .tf-error contains the fallback structure, lay it out
   as a column (instead of the single-line min-height: 24px default). */
.tf-error:has(.mbc-error-fallback) {
  display: block;
  min-height: auto;
}

/* Mobile : stack the fallback button to full width for taps */
@media (max-width: 520px) {
  .mbc-error-fallback {
    display: block;
    text-align: center;
    padding: 14px 16px;
  }
}
