:root{
  --fm-bg:#d5eef1;
  --fm-bg-soft:#edf8fa;
  --fm-surface:#ffffff;
  --fm-surface-soft:#f5fbfc;
  --fm-surface-blue:#e5f4f7;
  --fm-royal:#123f86;
  --fm-royal-deep:#0d2f69;
  --fm-royal-soft:#315f9f;
  --fm-gold:#d9ad22;
  --fm-gold-deep:#926308;
  --fm-text:#17364a;
  --fm-muted:#637b8a;
  --fm-line:#cddfe5;
  --fm-line-strong:#b8d1da;
  --fm-success:#247a4d;
  --fm-success-bg:#eaf7ef;
  --fm-warning:#8b6415;
  --fm-warning-bg:#fff6dc;
  --fm-danger:#ad3d37;
  --fm-danger-bg:#fff0ef;
  --fm-shadow:0 24px 70px rgba(18,63,134,.14);
  --fm-shadow-soft:0 10px 28px rgba(18,63,134,.10);
  --fm-radius-xl:28px;
  --fm-radius-lg:20px;
  --fm-radius-md:14px;
  --fm-radius-sm:10px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{width:100%;max-width:100%;min-height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;min-height:100%;margin:0;overflow-x:hidden;color:var(--fm-text);background:var(--fm-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,main,section,article,header,footer,nav,aside,form,fieldset,div{min-width:0}
button,input,textarea,select{font:inherit;max-width:100%}
a{color:var(--fm-royal)}
img,svg,canvas,video{max-width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
table{max-width:100%}
.hidden{display:none!important}
.fm-brand-logo{display:block;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.fm-icon{display:block;width:24px;height:24px;flex:0 0 auto;fill:currentColor}
.fm-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:850;color:var(--fm-royal)}
.fm-gold-title{color:var(--fm-gold);-webkit-text-stroke:1px var(--fm-gold-deep);text-shadow:0 1px 0 rgba(255,255,255,.55),0 3px 7px rgba(146,99,8,.12)}
.fm-field{display:grid;gap:8px;color:var(--fm-royal-deep);font-size:14px;font-weight:760}
.fm-field input,.fm-field select,.fm-field textarea,
input,select,textarea{width:100%;border:1px solid var(--fm-line-strong);border-radius:var(--fm-radius-md);background:linear-gradient(180deg,#fff,#f5fbfc);color:var(--fm-text);padding:12px 14px;outline:0;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input:focus,select:focus,textarea:focus{border-color:#5599b6;box-shadow:0 0 0 4px rgba(85,153,182,.16);background:#fff}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{box-shadow:0 0 0 1000px #f7fcfd inset!important;-webkit-text-fill-color:var(--fm-text)!important;transition:background-color 9999s ease-in-out 0s}
.fm-button,.primary-button,.secondary-button,.button{min-height:46px;border:0;border-radius:var(--fm-radius-md);padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background .14s ease}
.fm-button--primary,.primary-button,.button{color:#fff;background:linear-gradient(180deg,#65b3cf,#458fac 62%,#2f718e);box-shadow:0 4px 0 #275d76,0 10px 22px rgba(18,63,134,.16),inset 0 1px 0 rgba(255,255,255,.7)}
.fm-button--primary:hover,.primary-button:hover,.button:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 5px 0 #275d76,0 13px 25px rgba(18,63,134,.18),inset 0 1px 0 rgba(255,255,255,.78)}
.fm-button--primary:active,.primary-button:active,.button:active{transform:translateY(3px);box-shadow:0 1px 0 #275d76,0 5px 12px rgba(18,63,134,.14)}
.fm-button--secondary,.secondary-button{color:var(--fm-royal);background:linear-gradient(180deg,#fff,#edf7f9);border:1px solid var(--fm-line);box-shadow:0 5px 14px rgba(18,63,134,.06)}
.fm-button--secondary:hover,.secondary-button:hover{background:#fff;transform:translateY(-1px)}
.fm-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.button:focus-visible{outline:3px solid rgba(18,63,134,.24);outline-offset:4px}
.fm-button[disabled],button[disabled]{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.fm-notice,.notice{padding:14px 16px;border-radius:var(--fm-radius-md);border:1px solid var(--fm-line);background:var(--fm-surface-soft);line-height:1.5}
.fm-notice--success,.notice.success{color:var(--fm-success);background:var(--fm-success-bg);border-color:#bfe2cd}
.fm-notice--error,.notice.error{color:var(--fm-danger);background:var(--fm-danger-bg);border-color:#efc5c1}
.fm-notice--warning,.warning{color:var(--fm-warning);background:var(--fm-warning-bg);border-color:#eddca8}
.fm-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(234,247,249,.94));border:1px solid rgba(255,255,255,.95);border-radius:var(--fm-radius-xl);box-shadow:var(--fm-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.fm-brand-lockup{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.fm-brand-lockup__logo{width:150px;height:150px;display:grid;place-items:center}
.fm-page-title{margin:0;color:var(--fm-royal-deep);font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.035em}
.fm-page-copy{margin:0;color:var(--fm-muted);line-height:1.55}
.fm-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fm-stack{display:grid;gap:16px}
.fm-small{font-size:13px;color:var(--fm-muted);line-height:1.5}
code{padding:2px 6px;border-radius:7px;background:#edf4f6;color:var(--fm-royal-deep);font-size:.92em}
@media(max-width:640px){
  .fm-brand-lockup__logo{width:126px;height:126px}
  .fm-actions{display:grid;grid-template-columns:1fr}
  .fm-button,.primary-button,.secondary-button,.button{width:100%}
}

@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  input,select,textarea{font-size:16px!important}
  .fm-card,.fm-page-shell,.fm-page-card,.fm-page-section,.fm-step,.fm-notice,.modal,dialog{max-width:100%}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
