
:root { --navy:#173f5f; --blue:#227ba0; --blue-dark:#175b7a; --teal:#2f7d97; --bg:#f4f7f9; --text:#1f2933; --muted:#60717d; --line:#d9e3e8; --white:#fff; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)} a{color:inherit} .landing-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 3px 15px rgba(23,63,95,.06)} .landing-header__inner,.section__inner,.hero__inner,.landing-footer__inner{width:min(1180px,calc(100% - 40px));margin:0 auto}.landing-header__inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.landing-brand img{display:block;width:245px;max-width:42vw;height:auto}.landing-nav{display:flex;align-items:center;gap:26px}.landing-nav a{text-decoration:none;font-size:15px;font-weight:700;color:#405563}.landing-nav a:hover{color:var(--blue)}.landing-nav__login{padding:12px 19px;border-radius:8px;background:var(--navy);color:#fff!important}.hero{background:linear-gradient(135deg,#f7fbfd 0%,#edf5f8 58%,#e2eef3 100%);border-bottom:1px solid var(--line)}.hero__inner{min-height:590px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding:72px 0}.eyebrow{margin:0 0 14px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1{max-width:720px;margin:0;font-size:clamp(42px,5vw,66px);line-height:1.05;letter-spacing:-.035em;color:var(--navy)}.hero__lead{max-width:680px;margin:26px 0 0;font-size:21px;line-height:1.65;color:#526774}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;border:1px solid transparent;border-radius:8px;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.button--primary{background:var(--blue);color:#fff}.button--primary:hover{background:var(--blue-dark)}.button--secondary{background:#fff;color:var(--navy);border-color:#b8cbd5}.button--secondary:hover{border-color:var(--blue);color:var(--blue)}.hero__summary{background:#fff;border:1px solid #cfdee5;border-radius:22px;padding:36px;box-shadow:0 24px 70px rgba(23,63,95,.14)}.summary-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:#edf6f8}.summary-icon img{width:54px;height:54px;object-fit:contain}.hero__summary h2{margin:22px 0 12px;font-size:28px;color:var(--navy)}.hero__summary>p{margin:0;color:var(--muted);line-height:1.65}.summary-stats{display:grid;gap:16px;margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.summary-stats div{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}.summary-stats strong{color:var(--blue);font-size:15px}.summary-stats span{font-size:14px;line-height:1.45;color:#5f707b}.section{padding:88px 0}.section--light{background:#fff}.section-heading{max-width:760px;margin-bottom:42px}.section-heading h2,.benefit-layout h2,.contact-copy h2{margin:0;color:var(--navy);font-size:clamp(34px,4vw,48px);line-height:1.12;letter-spacing:-.025em}.section-heading>p:last-child{font-size:18px;line-height:1.65;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{min-height:260px;padding:28px 25px;border:1px solid var(--line);border-radius:14px;background:#f9fbfc}.feature-card__number{color:#8eabb9;font-size:13px;font-weight:800;letter-spacing:.1em}.feature-card h3{margin:42px 0 12px;color:var(--navy);font-size:21px}.feature-card p{margin:0;line-height:1.65;color:var(--muted)}.section--accent{background:var(--navy);color:#fff}.section--accent .eyebrow{color:#8fd0e5}.benefit-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px}.benefit-layout h2{color:#fff}.benefit-lead{font-size:18px;line-height:1.7;color:#d5e3ea}.benefit-list{display:grid;gap:20px}.benefit-list article{padding:0 0 20px 26px;border-left:3px solid #66b6d0;border-bottom:1px solid rgba(255,255,255,.12)}.benefit-list h3{margin:0 0 8px;font-size:21px}.benefit-list p{margin:0;color:#d5e3ea;line-height:1.6}.section--contact{background:#eef4f7}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-copy>p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--muted)}.contact-copy__email{font-size:15px!important}.contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 16px 45px rgba(23,63,95,.1)}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-field{margin-bottom:19px}.contact-field label{display:block;margin-bottom:7px;font-weight:700;color:#314957}.contact-field label span{font-weight:400;color:#758690}.contact-field input,.contact-field textarea{width:100%;padding:12px 13px;border:1px solid #aebfc8;border-radius:8px;background:#fff;font:inherit;color:var(--text)}.contact-field input{height:47px}.contact-field textarea{resize:vertical;min-height:135px}.contact-field input:focus,.contact-field textarea:focus{outline:3px solid rgba(34,123,160,.16);border-color:var(--blue)}.contact-submit{width:100%;border:0}.contact-alert{margin-bottom:20px;padding:13px 15px;border:1px solid #d7a1a1;border-radius:8px;background:#fff0f0;color:#8f1f1f;line-height:1.45}.contact-alert.is-success{border-color:#8fc7a0;background:#eefaf1;color:#245f36}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.landing-footer{background:#112f47;color:#dce7ed}.landing-footer__inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.landing-footer a{font-weight:700}.landing-footer a:hover{color:#fff}
@media(max-width:900px){.landing-header__inner{min-height:76px}.landing-nav a:not(.landing-nav__login){display:none}.hero__inner,.benefit-layout,.contact-layout{grid-template-columns:1fr}.hero__inner{gap:42px;padding:55px 0}.feature-grid{grid-template-columns:1fr 1fr}.benefit-layout,.contact-layout{gap:40px}}@media(max-width:600px){.landing-header__inner,.section__inner,.hero__inner,.landing-footer__inner{width:min(100% - 28px,1180px)}.landing-brand img{width:190px;max-width:58vw}.landing-nav__login{padding:10px 14px}.hero h1{font-size:40px}.hero__lead{font-size:18px}.hero__actions{display:grid}.hero__actions .button{width:100%}.hero__summary{padding:27px}.section{padding:64px 0}.feature-grid,.contact-row{grid-template-columns:1fr}.feature-card{min-height:0}.contact-card{padding:23px}.landing-footer__inner{flex-direction:column;justify-content:center;gap:10px}}

/* Home page refinements - 2026-07-28 */
.landing-header__inner { min-height: 104px; }
.landing-brand img { width: 300px; max-width: 58vw; }
.landing-nav { gap: 0; }
.hero__inner { min-height: auto; display: block; padding: 76px 0 82px; }
.hero__content { max-width: 940px; margin: 0 auto; text-align: center; }
.hero h1 { max-width: 900px; margin-inline: auto; font-size: clamp(34px, 4vw, 48px); line-height: 1.12; }
.hero__lead { max-width: 820px; margin-inline: auto; }
.hero__details { max-width: 820px; margin: 28px auto 0; padding: 28px 30px; background: #fff; border: 1px solid #cfdee5; border-radius: 18px; box-shadow: 0 16px 45px rgba(23,63,95,.09); }
.hero__details > p { margin: 0; color: var(--muted); line-height: 1.65; font-size: 17px; }
.hero__details .summary-stats { grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; padding-top: 22px; }
.hero__details .summary-stats div { display: flex; flex-direction: column; gap: 6px; text-align: center; }
.hero__details .summary-stats strong { font-size: 16px; }
.landing-footer__inner { justify-content: center; }
@media (max-width: 720px) {
  .landing-header__inner { min-height: 90px; }
  .landing-brand img { width: 245px; max-width: 68vw; }
  .landing-nav__login { padding: 10px 14px; }
  .hero__inner { padding: 58px 0 64px; }
  .hero__details .summary-stats { grid-template-columns: 1fr; }
}

/* Home page alignment refinements */
.hero__inner{min-height:540px;display:block;padding:76px 0 82px}.hero__content{max-width:100%}.hero h1{max-width:880px}.hero__lead{max-width:850px}.hero-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:980px;margin-top:38px}.hero-pillars article{display:flex;flex-direction:column;gap:8px;min-height:125px;padding:24px;border:1px solid #cfdee5;border-radius:14px;background:rgba(255,255,255,.72)}.hero-pillars strong{font-size:20px;color:var(--blue)}.hero-pillars span{font-size:15px;line-height:1.5;color:#5f707b}.benefit-layout{grid-template-columns:1fr;gap:42px}.benefit-layout>div:first-child{max-width:800px}.benefit-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.benefit-list article{padding:24px 24px 26px;border-left:3px solid #66b6d0;border-bottom:0;background:rgba(255,255,255,.05);border-radius:0 10px 10px 0}
@media(max-width:900px){.hero-pillars,.benefit-list{grid-template-columns:1fr}.hero__inner{padding:58px 0 64px}.hero-pillars{max-width:720px}.hero-pillars article{min-height:0}}

/* Hero alignment correction */
.hero__content {
  max-width: 100%;
  margin: 0;
  text-align: left;
}
.hero h1 {
  max-width: 900px;
  margin-left: 0;
  margin-right: 0;
}
.hero__lead {
  max-width: 850px;
  margin-left: 0;
  margin-right: 0;
}
.hero-pillars {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.hero-pillars article {
  text-align: left;
}


/* Privacy modal - 2026-07-31 */
.landing-footer__inner{gap:24px}.landing-footer__link{appearance:none;border:0;background:transparent;padding:8px 0;color:#dce7ed;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.landing-footer__link:hover,.landing-footer__link:focus-visible{color:#fff}.modal-open{overflow:hidden}.privacy-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}.privacy-modal.is-open{display:flex}.privacy-modal__backdrop{position:absolute;inset:0;background:rgba(10,29,44,.72);backdrop-filter:blur(2px)}.privacy-modal__dialog{position:relative;width:min(820px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #c6d5dd;border-radius:16px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.28);outline:none}.privacy-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 20px;border-bottom:1px solid var(--line)}.privacy-modal__header .eyebrow{margin-bottom:7px}.privacy-modal__header h2{margin:0;color:var(--navy);font-size:clamp(25px,3vw,34px);line-height:1.18}.privacy-modal__close{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid #b8c8d0;border-radius:8px;background:#fff;color:#365262;font-size:30px;line-height:1;cursor:pointer}.privacy-modal__close:hover{background:#eef4f7}.privacy-modal__body{overflow-y:auto;padding:24px 28px;color:#425965;line-height:1.67}.privacy-modal__body>p:first-child{margin-top:0}.privacy-modal__body h3{margin:25px 0 7px;color:var(--navy);font-size:18px}.privacy-modal__body p{margin:0 0 13px}.privacy-modal__note{margin-top:25px!important;padding:14px 16px;border-left:4px solid var(--blue);background:#eef6f9;color:#395663}.privacy-modal__footer{display:flex;justify-content:flex-end;padding:18px 28px;border-top:1px solid var(--line);background:#f7fafb}.privacy-modal__footer .button{min-width:110px;min-height:44px;padding:10px 20px;border:0}@media(max-width:600px){.privacy-modal{padding:12px}.privacy-modal__dialog{max-height:94vh}.privacy-modal__header,.privacy-modal__body,.privacy-modal__footer{padding-left:20px;padding-right:20px}.privacy-modal__header h2{font-size:24px}}


/* Public footer matches the signed-in application footer styling. */
.landing-footer {
    width: 100%;
    background: #ffffff;
    color: #71808b;
    border-top: 1px solid #dce4ea;
}
.landing-footer__inner {
    position: relative;
    width: 100%;
    min-height: 44px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.landing-footer__copyright {
    position: absolute;
    left: 12px;
    white-space: nowrap;
}
.landing-footer__links {
    display: flex;
    align-items: center;
}
.landing-footer__link {
    padding: 0;
    color: #71808b;
    font-size: 11px;
    font-weight: 500;
    text-decoration: none;
}
.landing-footer__link:hover,
.landing-footer__link:focus-visible {
    color: #173f5f;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.landing-footer__version {
    position: absolute;
    right: 12px;
    white-space: nowrap;
}
@media (max-width: 700px) {
    .landing-footer__inner {
        position: static;
        width: 100%;
        min-height: auto;
        flex-direction: column;
        gap: 8px;
        padding: 12px;
    }
    .landing-footer__copyright,
    .landing-footer__version {
        position: static;
    }
}
