:root{--ink:#14352f;--forest:#302F7D;--mint:#d9eee8;--cream:#f7f4ed;--paper:#fffdf9;--muted:#62756f;--line:#dce5e0;--gold:#eebd55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.welcome-page{min-height:100vh;background:linear-gradient(116deg,#f4f1e8 0%,#f9f8f3 54%,#e2eee9 100%)}.site-nav{height:88px;max-width:1240px;padding:0 32px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-weight:750;letter-spacing:-.03em;line-height:1.05}.brand small{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 50% 7px;background:var(--forest);color:white;font-family:Georgia,serif;font-size:14px;letter-spacing:-.08em}.nav-sign-in,.back-link{color:var(--forest);font-weight:700;text-decoration:none;font-size:14px}.nav-sign-in span{font-size:19px;margin-left:5px}.hero{max-width:1240px;margin:55px auto 0;padding:0 32px 100px;display:grid;grid-template-columns:1.45fr .72fr;gap:80px;align-items:end}.eyebrow{font-weight:800;font-size:11px;letter-spacing:.16em;color:var(--forest);margin:0 0 17px}.hero h1,.auth-intro h1{font-family:Georgia,Times,serif;font-size:clamp(48px,7vw,91px);letter-spacing:-.07em;line-height:.95;margin:0;max-width:760px;font-weight:500}.hero h1 em,.auth-intro h1 em{color:var(--forest);font-weight:400}.hero-text{max-width:540px;color:var(--muted);font-size:18px;line-height:1.6;margin:30px 0}.hero-actions{display:flex;gap:12px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 21px;border-radius:3px;text-decoration:none;font-weight:750;font-size:14px;transition:.2s}.button-primary{border:0;background:var(--forest);color:#fff}.button-primary:hover{background:color-mix(in srgb,var(--forest) 84%,black)}.button-quiet{color:var(--forest)}.hero-panel{border-left:1px solid #b4cbc1;padding:5px 0 7px 30px}.panel-label{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:800;margin:0 0 22px}.panel-stat{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid #c6d8d0}.panel-stat strong{font:24px Georgia,serif;color:var(--gold)}.panel-stat span{font-size:14px;font-weight:650;line-height:1.4}.service-section{padding:85px max(32px,calc((100% - 1176px)/2));background:#fff}.service-heading{display:flex;gap:80px;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:35px}.service-heading h2{font:500 clamp(30px,4vw,51px)/1 Georgia,serif;letter-spacing:-.05em;margin:0;max-width:600px}.service-heading p{color:var(--muted);line-height:1.55;max-width:310px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:36px}.service-grid article{padding:8px 20px 8px 0}.service-icon{color:var(--gold);font-size:25px}.service-grid h3{font:500 24px Georgia,serif;margin:16px 0 9px}.service-grid p{font-size:14px;line-height:1.6;color:var(--muted);max-width:260px}.auth-page{min-height:100vh;display:grid;grid-template-columns:43% 57%}.auth-intro{min-height:100vh;background:var(--forest);padding:42px clamp(35px,6vw,100px);color:white;display:flex;flex-direction:column}.brand-light{color:white}.brand-light small{color:#b9d9d0}.brand-light .brand-mark{background:var(--gold);color:var(--ink)}.auth-intro-copy{margin:auto 0}.auth-intro .eyebrow{color:#a5d6c9}.auth-intro h1{font-size:clamp(47px,5.2vw,75px)}.auth-intro h1 em{color:var(--gold)}.auth-intro-copy>p:last-child{color:#c5ded7;max-width:350px;line-height:1.6}.auth-footer{font-size:12px;color:#a5c8be;margin:0}.auth-form-area{background:var(--paper);display:grid;place-items:center;padding:50px}.auth-card{width:min(100%,430px)}.back-link{display:inline-block;margin-bottom:62px}.auth-card h2{font:500 41px/1.05 Georgia,serif;letter-spacing:-.05em;margin:0 0 14px}.muted{color:var(--muted);font-size:15px;line-height:1.55;margin:0}.login-form{display:grid;gap:9px;margin-top:36px}.login-form label{font-size:13px;font-weight:750;margin-top:10px}.login-form input{width:100%;height:49px;border:1px solid #cbd8d3;border-radius:3px;padding:0 13px;font:15px inherit;color:var(--ink);background:white}.login-form input:focus{outline:2px solid #9ecfc1;border-color:var(--forest)}.password-field{position:relative}.password-field input{padding-right:64px}.password-field button{position:absolute;right:10px;top:14px;border:0;background:none;color:var(--forest);font-weight:700;cursor:pointer}.form-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0 13px}.form-row a{color:var(--forest);font-weight:700;font-size:13px;text-decoration:none}.checkbox-label{display:flex;align-items:center;gap:5px;font-weight:500!important;margin:0!important;color:var(--muted)}.checkbox-label input{width:15px;height:15px}.button-full{width:100%;height:51px}.form-note{margin:22px 0 0;font-size:12px;line-height:1.5;color:#83918c;text-align:center}@media(max-width:760px){.site-nav{height:72px;padding:0 20px}.hero{margin-top:45px;padding:0 20px 65px;display:block}.hero-panel{margin-top:55px;padding-left:20px}.service-section{padding:65px 20px}.service-heading{display:block}.service-heading p{margin-top:18px}.service-grid{grid-template-columns:1fr;gap:10px}.auth-page{display:block}.auth-intro{min-height:360px;padding:28px 26px}.auth-intro-copy{margin:auto 0 30px}.auth-intro h1{font-size:49px}.auth-footer{display:none}.auth-form-area{padding:45px 26px}.back-link{margin-bottom:45px}.auth-card h2{font-size:36px}} 
.brand-light .brand-mark-logo{width:64px;height:64px;flex:0 0 64px;border-radius:10px;background:#fff;padding:5px;overflow:hidden}.brand-light .brand-mark-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
/* Portal landing refinement */
.welcome-page {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--forest) 20%, transparent), transparent 30%),
        linear-gradient(120deg, color-mix(in srgb, var(--forest) 10%, #fff) 0%, #fff 50%, color-mix(in srgb, var(--forest) 16%, #fff) 100%);
}
.welcome-page .site-nav {
    position: relative;
    z-index: 2;
    min-height: 100px;
    height: auto;
}
.welcome-page .brand {
    gap: 14px;
    letter-spacing: 0;
}
.welcome-page .brand-mark {
    display: grid;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    padding: 5px;
    place-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--forest) 20%, #fff);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--forest) 14%, transparent);
    letter-spacing: 0;
}
.welcome-page .brand-mark img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
    object-position: center;
}
.welcome-page .brand > span:last-child {
    display: grid;
    gap: 3px;
    max-width: 360px;
    color: #242840;
    font-size: 16px;
    line-height: 1.2;
}
.welcome-page .brand small {
    margin: 0;
    color: var(--forest);
}
.welcome-page .nav-sign-in {
    padding: 11px 16px;
    border: 1px solid color-mix(in srgb, var(--forest) 28%, #fff);
    border-radius: 25px;
    background: rgba(255,255,255,.72);
}
.welcome-page .hero {
    position: relative;
    z-index: 1;
    margin-top: 62px;
}
.welcome-page .hero-copy {
    max-width: 790px;
}
.welcome-page .hero-panel {
    padding: 24px;
    border: 1px solid color-mix(in srgb, var(--forest) 18%, #fff);
    border-left: 5px solid var(--forest);
    border-radius: 14px;
    background: rgba(255,255,255,.68);
    box-shadow: 0 18px 45px color-mix(in srgb, var(--forest) 10%, transparent);
    backdrop-filter: blur(10px);
}
.welcome-page .panel-stat:last-child {
    padding-bottom: 0;
}
.welcome-page .service-section {
    background: color-mix(in srgb, var(--forest) 5%, #fff);
}
.welcome-page .service-grid article {
    min-height: 210px;
    padding: 25px;
    border: 1px solid color-mix(in srgb, var(--forest) 14%, #fff);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 12px 30px color-mix(in srgb, var(--forest) 7%, transparent);
}
.welcome-page .service-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 11px;
    background: color-mix(in srgb, var(--forest) 10%, #fff);
    color: var(--forest);
}
@media (max-width: 760px) {
    .welcome-page .site-nav { min-height: 82px; }
    .welcome-page .brand-mark { flex-basis: 50px; width: 50px; height: 50px; }
    .welcome-page .brand > span:last-child { max-width: 190px; font-size: 13px; }
    .welcome-page .nav-sign-in { padding: 9px 11px; font-size: 12px; }
    .welcome-page .hero { margin-top: 35px; }
    .welcome-page .hero-actions { align-items: stretch; flex-direction: column; }
    .welcome-page .hero-panel { padding: 20px; }
    .welcome-page .service-grid article { min-height: auto; }
}