
    @font-face{font-family:'DM Sans';src:url(/assets/fonts/dm-sans-latin-wght-normal.woff2) format('woff2');font-weight:100 1000;font-display:swap}
    @font-face{font-family:'Plus Jakarta Sans';src:url(/assets/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2');font-weight:200 800;font-display:swap}
    :root{--navy:#102137;--navy2:#142c44;--ink:#17283c;--muted:#68788a;--mint:#5fe0c0;--line:#dfe7ed;--surface:#fff;--page:#f7faf9}
    *{box-sizing:border-box}html{font-family:'DM Sans',Arial,sans-serif;color:var(--ink)}body{margin:0;background:var(--page)}button,input{font:inherit}button{cursor:pointer}a{color:inherit}
    .preview-note{position:fixed;right:20px;bottom:18px;z-index:10;background:#e9fff8;color:#175744;border:1px solid #b0ebd9;border-radius:99px;padding:10px 15px;font-size:12px;font-weight:700;box-shadow:0 8px 28px #10213716}
    .layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}
    .story{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:720px;padding:42px clamp(30px,5vw,90px) 34px;background:radial-gradient(circle at 65% 85%,#1c4b4b 0,transparent 29%),linear-gradient(145deg,#102137 0%,#102137 50%,#173a49 100%);color:#fff}
    .story:before{content:'';position:absolute;width:520px;height:520px;border:1px solid #8cf6d429;border-radius:50%;left:-190px;bottom:-245px;pointer-events:none}
    .story:after{content:'';position:absolute;width:400px;height:400px;border:1px solid #8cf6d422;border-radius:50%;right:-220px;top:-220px;pointer-events:none}
    .brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px;text-decoration:none;width:max-content}.mark{width:42px;height:42px;border:3px solid var(--mint);border-radius:13px;display:grid;place-items:center;color:var(--mint);font:800 26px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.08em;padding-right:3px}.brand-name{font:800 21px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.055em}.brand-name span{color:var(--mint)}
    .story-content{position:relative;z-index:1;margin:auto 0;max-width:650px;padding:72px 0 56px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#bcf7e7;border:1px solid #8cf6d444;border-radius:99px;padding:9px 13px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow i{display:block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #5fe0c025}
    h1{font:800 clamp(48px,5.2vw,82px)/1.03 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;margin:27px 0 24px;max-width:650px}h1 em{font-style:normal;color:var(--mint)}.intro{color:#c6d6df;font-size:17px;line-height:1.7;max-width:560px;margin:0}
    .showcase{position:relative;margin-top:52px;max-width:560px}.showcase-card{border:1px solid #d7eee55b;background:#f9fffd;border-radius:24px;padding:19px 21px;color:var(--ink);box-shadow:0 30px 80px #0618277d;transform:rotate(-2deg)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid #e0ebe8}.appname{display:flex;gap:10px;align-items:center;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.035em}.mini-mark{background:#102137;color:var(--mint);border-radius:10px;padding:8px 10px;font-weight:800}.pill{background:#ddf9ef;color:#197456;font-size:11px;padding:7px 10px;border-radius:99px;font-weight:800}.card-body{padding:18px 1px 4px}.card-kicker{color:#6a7b88;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card-title{font:800 22px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;margin:6px 0 22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.step{background:#edf5f3;border-radius:12px;padding:11px 9px;min-height:70px}.step b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#d0ebe3;color:#216958;font-size:10px;margin-bottom:8px}.step span{font-size:11px;font-weight:800}.step:last-child{background:#d6f8e9}.step:last-child b{background:#4fd3a7;color:#0d3a31}.float-tag{position:absolute;right:-24px;bottom:-22px;display:flex;align-items:center;gap:8px;background:#fff;box-shadow:0 14px 45px #03182651;border-radius:13px;padding:11px 14px;color:#174632;font-size:12px;font-weight:800;transform:rotate(5deg)}.float-tag span{display:grid;place-items:center;background:#d8f9e9;border-radius:50%;width:22px;height:22px}
    .story-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#aec3cf;font-size:12px}.story-foot a{text-decoration:none;color:#d8f7ec}.story-foot a:hover{text-decoration:underline}
    .access{display:flex;align-items:center;justify-content:center;padding:50px clamp(24px,6vw,100px);background:radial-gradient(circle at top right,#e6f9f3 0,transparent 35%),var(--page)}.access-inner{width:min(100%,455px)}.mobile-login-brand{display:none}.access-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:54px}.portal-label{display:flex;align-items:center;gap:9px;color:#395165;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-label span{width:9px;height:9px;border-radius:50%;background:#5bd6ad}.language{font-size:12px;color:#5c6b7b;border:1px solid #dce7e6;border-radius:99px;padding:8px 12px;background:#fff}
    .welcome{font:800 clamp(34px,3vw,46px)/1.12 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;margin:0 0 12px}.welcome em{font-style:normal;color:#179d78}.subtitle{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 36px}.login-card{background:#fff;border:1px solid #e5ecee;border-radius:22px;padding:28px;box-shadow:0 22px 65px #1021370c}.field{margin-bottom:21px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:9px}.input-wrap{position:relative}.input-wrap svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:#8497a5;fill:none;stroke-width:1.8;pointer-events:none}.field input{width:100%;height:53px;border:1px solid #d6e1e5;background:#fbfdfc;border-radius:12px;padding:0 44px;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.field input:focus{border-color:#1baf88;box-shadow:0 0 0 4px #5fe0c02b}.field input::placeholder{color:#9eacb5}.toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:8px;color:#537063;font-size:12px;font-weight:800}.form-row{display:flex;justify-content:flex-end;margin:-5px 0 22px}.form-row a{font-size:12px;color:#287d67;text-decoration:none;font-weight:800}.form-row a:hover{text-decoration:underline}.submit{width:100%;min-height:54px;background:var(--navy);color:#fff;border:0;border-radius:12px;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;transition:transform .15s,background .15s}.submit:hover{background:#1d3b55;transform:translateY(-1px)}.submit span{font-size:19px;line-height:1}.safe{display:flex;align-items:center;justify-content:center;gap:7px;color:#728290;font-size:11px;margin:18px 0 0}.safe svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.help{margin:28px 0 0;text-align:center;color:#667988;font-size:13px}.help a{color:#217a63;font-weight:800;text-decoration:none}.help a:hover{text-decoration:underline}.access-foot{margin-top:54px;color:#8b9aa5;font-size:11px;text-align:center;line-height:1.7}.access-foot a{color:#647689;text-decoration:none}.access-foot a:hover{text-decoration:underline}
    @media(max-width:1000px){.layout{grid-template-columns:1fr}.story{min-height:auto;padding:28px 30px 45px}.story-content{padding:48px 0 20px}.story h1{font-size:clamp(43px,8vw,72px)}.showcase{max-width:540px;margin-top:38px}.story-foot{margin-top:30px}.access{padding:65px 24px}.access-top{margin-bottom:42px}}
    @media(max-width:560px){.layout{display:flex;flex-direction:column}.access{order:1}.story{order:2}.mobile-login-brand{display:flex;align-items:center;gap:8px;text-decoration:none;font:800 17px "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em;margin-bottom:34px}.mobile-login-brand .mark{width:31px;height:31px;border-width:2px;border-radius:9px;font-size:19px;padding-right:2px}.mobile-login-brand .brand-name{font-size:17px;color:var(--ink)}.story{padding:24px 23px 37px}.brand-name{font-size:19px}.story-content{padding:42px 0 6px}.eyebrow{font-size:10px}h1{font-size:43px;margin:22px 0 17px}.intro{font-size:14px;line-height:1.6}.showcase{margin-top:30px;padding-right:10px}.showcase-card{padding:15px;transform:rotate(-1deg)}.card-title{font-size:19px}.steps{gap:5px}.step{padding:8px 5px;min-height:63px}.step span{font-size:9px}.float-tag{right:0;bottom:-19px;font-size:10px}.story-foot{margin-top:38px;font-size:10px}.access{padding:46px 20px 65px}.access-top{margin-bottom:35px}.login-card{padding:22px}.welcome{font-size:34px}.preview-note{position:static;margin:0 auto 15px;width:max-content;max-width:calc(100% - 30px);text-align:center}}
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
  
    /* live form additions */
    .msg{display:none;margin:0 0 18px;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.45}
    .msg.show{display:block}.msg.err{background:#fdecef;color:#b42b40}.msg.ok{background:#ddf9ef;color:#197456}
    .totp-box{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .3s ease}
    .totp-box.open{max-height:140px;opacity:1}
    .field input.code-input{letter-spacing:.5em;font-weight:800;font-size:18px;padding-left:44px}
    .submit:disabled{opacity:.6;cursor:progress;transform:none}
    .spinner{width:16px;height:16px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
    .submit.loading .spinner{display:block}.submit.loading span{display:none}
    @keyframes spin{to{transform:rotate(360deg)}}
    .story-content{animation:rise .7s ease both}.access-inner{animation:rise .7s .1s ease both}
    .showcase-card{transition:transform .4s ease}.showcase:hover .showcase-card{transform:rotate(0deg) translateY(-4px)}
    .step{transition:background .3s}.step:last-child{animation:pulse 2.8s ease-in-out infinite}
    @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
    @keyframes pulse{0%,100%{box-shadow:0 0 0 0 #4fd3a700}50%{box-shadow:0 0 0 6px #4fd3a733}}
    @media(prefers-reduced-motion:reduce){.story-content,.access-inner,.step:last-child{animation:none}}
