@import url('modal.css');
@font-face{font-family:Manrope;src:url('fonts/Manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/Manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/Manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--blue:#174e73;--ink:#183344;--muted:#597481;--line:#cad9df;--light:#ecf2f3;--paper:#f5f7f6}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.6 Manrope,sans-serif;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
img,svg{max-width:100%;display:block}
h1,h2,h3,p,figure{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #5a96b5;outline-offset:3px}
.skip{position:fixed;top:-80px;left:16px;z-index:100;background:#fff;padding:10px;color:var(--blue)}
.skip:focus{top:12px}
.portal-layout{min-height:100svh;display:grid;grid-template-columns:minmax(430px,44%) minmax(0,56%)}
.portal-entry{display:flex;flex-direction:column;padding:clamp(28px,3.4vw,54px) clamp(28px,5.2vw,90px) 24px;min-width:0;background:#f5f7f6}
.portal-brand{display:inline-block;align-self:start}
.portal-brand img{width:158px;height:auto;max-height:48px;object-fit:contain;object-position:left}
.entry-center{width:min(100%,408px);margin:auto;padding:24px 0}
.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.15em;font-weight:600;text-transform:uppercase;color:#557786}
.entry-center h1{font:400 clamp(42px,4.1vw,62px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:#183c50;margin-bottom:35px}
.entry-form .field{margin-bottom:16px}
.entry-form .field label{font-size:12px;color:#294958;margin-bottom:7px}
.entry-form .field input{height:50px;border-color:#afc2cc;border-radius:2px;background:#fff;font-size:14px}
.entry-form .field input:focus{border-color:#2c6a88}
.entry-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 19px}
.entry-actions .text-link{font-size:11px}
.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 18px;background:#1c4e68;color:#fff;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,border-color .2s}
.btn:hover{background:#316f8d}
.btn.secondary{background:#fff;border-color:#9eb7c4;color:#1e526e}
.btn.secondary:hover{background:#eaf1f4}
.entry-form .btn{width:100%}
.text-link{border:0;background:none;color:#1d5877;font-size:12px;font-weight:600;padding:5px 0;text-decoration:underline;text-underline-offset:4px}
.text-link:hover{color:#3980a0}
.entry-status{margin-top:10px;color:#9a483d;font-size:12px;line-height:1.5}
.entry-status:empty{display:none}
.register-callout{border-top:1px solid #cbd9dd;margin-top:32px;padding-top:22px;display:flex;gap:15px;align-items:center;justify-content:space-between}
.register-callout strong{display:block;color:#21485e;font-size:13px}
.register-callout .btn{flex:none;min-height:40px;padding:8px 12px;white-space:nowrap;font-size:11px}
.verification-link{font-size:11px;color:#6e838c;margin-top:17px}
.verification-link .text-link{font-size:11px}
.entry-footer{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #d7e1e4;padding-top:18px;font-size:10px;color:#718993}
.entry-footer .text-link{font-size:10px}
.entry-footer span{margin-left:auto}
.portal-visual{min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(30px,5vw,85px);background:#173d51}
.visual-center{max-width:860px;width:100%}
.train-figure{margin:0}
.train-figure img{width:100%;height:auto}
dialog{font-family:Manrope,sans-serif;border-radius:3px}
dialog::backdrop{background:#0d2534bd;backdrop-filter:blur(4px)}
dialog .eyebrow{color:#567688}
dialog .modal-head h2{font:400 29px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.03em}
dialog .modal-body p{color:#56717c}
dialog .btn{margin:4px 7px 4px 0}
.download-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
#account-download .download-tools .btn{width:100%;margin:0;min-height:48px}
.download-cloud{border-top:1px solid #cbdade;margin-top:20px;padding-top:16px}
.download-cloud h4{margin:0 0 5px;font-size:13px;color:#254b60}
.cloud-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.cloud-links a{padding:12px 13px;border:1px solid #b9cdd5;background:#f5f9f9;color:#205572;font-size:12px;font-weight:600}
.cloud-links a:hover{background:#e4eff2}
#account-admin-link{font-size:12px;margin:15px 0}
#account-admin-link a{text-decoration:underline}
#account-logout{margin-top:13px}
.service-page{min-height:100svh;background:#eef3f3;display:flex;flex-direction:column}
.service-header{padding:24px clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #c9d8dd}
.service-header img{width:145px;height:auto;max-height:45px}
.service-header a:last-child{font-size:12px;color:#285774;text-decoration:underline;text-underline-offset:4px}
.service-main{width:min(1120px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,7vw,110px);padding:60px 0}
.service-main h1{font:400 clamp(51px,6vw,85px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.05em;margin:20px 0 20px}
.service-lead{font:400 clamp(17px,1.8vw,22px)/1.55 Georgia,'Times New Roman',serif;color:#365c6d;max-width:630px}
.service-card{background:#fff;border:1px solid #c6d7dc;padding:29px 31px;box-shadow:0 16px 38px #17384b12;align-self:center}
.service-card h2{font:400 26px/1.2 Georgia,'Times New Roman',serif;margin-bottom:18px}
.service-card ul{padding:0;list-style:none;margin:0 0 22px}
.service-card li{padding:10px 0;border-top:1px solid #dae5e8;font-size:12px;color:#45636e}
.service-price{border-top:1px solid #c6d7dc;padding-top:18px;margin-bottom:18px;font-size:23px;font-weight:600;color:#16435a}
.service-price span{display:block;font-size:11px;font-weight:400;color:#607987}
.service-card .btn{width:100%}
.service-footer{padding:20px clamp(24px,5vw,76px);border-top:1px solid #c9d8dd;display:flex;gap:20px;justify-content:space-between;font-size:10px;color:#607985}
.service-footer a{text-decoration:underline}
@media(max-width:960px){.portal-layout{grid-template-columns:minmax(360px,46%) 1fr}.portal-entry{padding-left:35px;padding-right:35px}.portal-visual{padding-left:35px;padding-right:35px}}
@media(max-width:740px){.portal-layout{grid-template-columns:1fr;min-height:100svh}.portal-entry{min-height:100svh;padding:24px max(22px,6vw) 20px}.entry-center{padding:45px 0}.portal-visual{min-height:370px;padding:35px max(22px,6vw)}.service-main{grid-template-columns:1fr;gap:32px;padding:44px 0}.service-card{align-self:auto}}
@media(max-width:480px){.portal-brand img{width:137px}.entry-center h1{font-size:45px}.register-callout{align-items:flex-start;flex-direction:column}.register-callout .btn{width:100%}.download-tools,.cloud-links{grid-template-columns:1fr}.field-row{grid-template-columns:1fr;gap:0}.modal-head{padding:20px 18px 0}.modal-body{padding:18px}.service-header img{width:120px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
