/* ECOS create account design v1
   Scoped to the public request page. The homepage's shared styles.css remains untouched.
   Source of truth: original ECOS homepage logo, navigation, typography and palette. */
body.access-body{background:#f7f8f6;color:#17232b;min-height:100vh}
.access-body .site-header{background:#f7f8f6;border-bottom:1px solid #dadeda;color:#17232b}
.access-body .brand-type{color:#17232b}
.access-body .brand-type b{color:#4575a4}
.access-body .brand-mark path:first-child,.access-body .brand-mark path:last-child{stroke:#172b38}
.access-body .navigation a{color:#4e5d67}
.access-body .navigation a:hover{color:#071521}
.access-body .navigation .nav-cta{background:#071521;color:#fff}
.access-body .navigation .nav-cta:hover{background:#29455b;color:#fff}
.access-body .menu-toggle{color:#2d4350;border-color:#c4cecf}
.access-main{padding:0}
.access-main .access-intro{padding-top:83px}
.access-intro-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(290px,.62fr);gap:clamp(30px,7vw,110px);margin-top:35px;align-items:end}
.access-headline h1{font-size:clamp(45px,5.35vw,79px);font-weight:590;letter-spacing:-.069em;line-height:1.1;margin:0 0 31px;max-width:865px;text-wrap:balance}
.access-headline h1 em{color:#5980a0;font-style:normal}
.access-headline>p{font-size:clamp(17px,1.45vw,21px);line-height:1.48;letter-spacing:-.02em;color:#4e5e67;max-width:780px;margin:0 0 15px}
.access-context{border-top:1px solid #b7c2c8;padding-top:19px;color:#53616a;max-width:370px}
.access-aside-label{font-weight:760;font-size:10px;letter-spacing:.16em;color:#53616a}
.access-context h2{font-size:clamp(21px,2.1vw,27px);line-height:1.35;font-weight:560;letter-spacing:-.042em;color:#233442;margin:29px 0 21px}
.access-context p{font-size:13px;line-height:1.65;color:#62737c;max-width:320px;margin:0}
.access-context a{display:inline-flex;margin-top:21px;font-size:12px;font-weight:700;color:#264d69;text-decoration:none;border-bottom:1px solid #9fbdcb;padding-bottom:5px;gap:10px}
.access-context a:hover{color:#0b2e4d}
.access-intro-end{border-top:1px solid #d4dcdc;margin-top:82px;min-height:66px;display:flex;justify-content:space-between;align-items:center;color:#7a8e99;font-size:10px;letter-spacing:.16em;font-weight:760}
.access-intro-end span:last-child{font-size:19px;font-weight:400}
.access-form-wrap{background:#edf0ee;border-top:1px solid #d9dfdd;padding:93px 0 105px}
.access-form-layout{display:grid;grid-template-columns:minmax(210px,.52fr) minmax(0,1.1fr);gap:clamp(32px,5vw,100px);align-items:start}
.access-form-heading{position:sticky;top:40px;padding-top:16px}
.access-form-heading h2{font-size:clamp(31px,3.3vw,49px);line-height:1.16;letter-spacing:-.058em;font-weight:590;color:#17232b;margin:23px 0}
.access-form-heading h2 span{color:#5980a0}
.access-form-heading p{font-size:14px;line-height:1.78;color:#607079;max-width:370px}
.access-card{background:#fff;border:1px solid #d5ddda;border-radius:4px;box-shadow:0 13px 40px rgba(11,32,43,.042);padding:clamp(24px,3.1vw,48px);min-width:0;color:#17232b}
.access-notice{background:#f1f5f6;border:1px solid #dce5e8;border-left:3px solid #5980a0;border-radius:2px;padding:19px 23px;margin:0 0 40px}
.access-notice .notice-label{font-size:9px;font-weight:800;letter-spacing:.18em;color:#567085;display:block;margin-bottom:10px}
.access-notice strong{color:#233442;display:block;font-size:15px;font-weight:710}
.access-notice p{color:#5e707a;font-size:12px;line-height:1.72;max-width:660px;margin:8px 0 0}
.request-section{border-top:1px solid #d6dfdd;padding-top:34px;margin-top:35px}
.request-section:first-child{border-top:0;padding-top:0;margin-top:0}
.request-section h2{font-size:13px;letter-spacing:.055em;font-weight:760;color:#273e4e;margin:0 0 26px}
.request-grid{gap:22px 18px}
.request-field{gap:9px}
.request-field label{font-size:12px;color:#334652;font-weight:680}
.request-field input,.request-field select,.request-field textarea{min-height:49px;border:1px solid #c3ced1;background:#fff;color:#1e303b;border-radius:3px;padding:13px 14px;font-size:13px;font-family:var(--font);transition:border-color .16s,box-shadow .16s}
.request-field input::placeholder,.request-field textarea::placeholder{color:#8b9ba3}
.request-field input:hover,.request-field select:hover,.request-field textarea:hover{border-color:#8da7b6}
.request-field input:focus,.request-field select:focus,.request-field textarea:focus{outline:none;border-color:#477eaa;box-shadow:0 0 0 3px rgba(93,143,182,.17)}
.request-field .field-hint{color:#73848c;font-size:11px;line-height:1.6}
.request-field .required-star{color:#4575a4}
.ack-list{gap:17px}
.ack-item{color:#485a64;font-size:12px;line-height:1.7}
.ack-item input{accent-color:#315c7b}
.policy-line{color:#687b82;font-size:11px;line-height:1.72}
.turnstile-slot{min-height:0;margin-top:20px}
.access-submit{min-height:54px;background:#102d42;border:1px solid #102d42;border-radius:3px;color:#fff;font-size:13px;font-weight:750;margin-top:23px;transition:background .2s}
.access-submit:hover:not(:disabled){background:#264f68;cursor:pointer}
.access-submit:disabled{background:#9daeb8;border-color:#9daeb8;color:#fff;opacity:1;cursor:not-allowed}
.form-result{color:#647983;margin-top:16px;font-size:11px;line-height:1.7;min-height:0}
.form-result[data-status="error"]{color:#aa483d}
.form-result[data-status="success"]{color:#277557}
.access-footer{text-align:left;border-top:1px solid #d6dfdd;margin-top:40px;padding-top:22px;color:#607580;font-size:12px}
.access-footer a{color:#285f89;text-decoration:none;font-weight:700;margin-left:5px}
.access-footer a:hover{text-decoration:underline}
.access-body .site-footer{background:#071521}
@media(max-width:1100px){.access-intro-grid{grid-template-columns:1fr .55fr;gap:36px}.access-form-layout{grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:35px}}
@media(max-width:850px){.access-body .navigation{background:#f7f8f6;border-bottom:1px solid #cad4d4}.access-main .access-intro{padding-top:60px}.access-intro-grid{grid-template-columns:1fr;gap:35px}.access-context{max-width:none;border-top:1px solid #b7c2c8;padding-top:18px}.access-context h2{margin:13px 0}.access-context p{max-width:600px}.access-context a{margin-top:12px}.access-intro-end{margin-top:43px}.access-form-wrap{padding:60px 0 80px}.access-form-layout{grid-template-columns:1fr}.access-form-heading{position:static;max-width:620px;padding:0}.access-form-heading h2{margin:15px 0}}
@media(max-width:600px){.access-main .access-intro{padding-top:45px}.access-intro-grid{margin-top:25px}.access-headline h1{font-size:clamp(37px,9.1vw,52px);letter-spacing:-.06em;margin-bottom:22px}.access-headline>p{font-size:16px}.access-intro-end{min-height:55px;margin-top:36px}.access-form-wrap{padding:45px 0 70px}.access-form-heading h2{font-size:36px}.access-card{padding:22px 18px}.access-notice{padding:18px;margin-bottom:31px}.request-section{padding-top:29px;margin-top:30px}.request-section h2{margin-bottom:21px}.request-grid{grid-template-columns:1fr;gap:20px}.access-footer{text-align:center}}
@media print{.access-form-heading{position:static}.access-card{border:1px solid #aebabc;box-shadow:none}.access-body .site-footer,.site-header{display:none!important}.access-form-wrap{padding:15px 0}.access-main .access-intro{padding-top:10px}}


/* 2026-11-01 recovery: retain the original homepage day palette after the
   full-height mobile-menu update. This is scoped to Request Access only. */
body.access-body .site-header .ecos-circuit-meridian{
  --ecos-outline:#172b38;
  --ecos-wire:#172b38;
  --ecos-track-color:#a7b8c2;
  --ecos-scan-color:#4a83ae;
  --ecos-dot-color:#4f94c8;
  --ecos-disc-color:#f7f8f6;
}
@media(max-width:850px){
  body.access-body .site-header .navigation{
    background:#f7f8f6;
    border-bottom:1px solid #cad4d4;
  }
  body.access-body .site-header .navigation>a:not(.nav-cta){
    color:#4e5d67;
    border-bottom-color:#dce4e2;
  }
  body.access-body .site-header .navigation>a:not(.nav-cta):hover{
    color:#071521;
  }
  body.access-body .site-header .navigation .nav-cta{
    background:#071521;
    color:#fff;
  }
}


/* Public verified-account registration; existing evaluation profile retained. */
.access-body .account-instructions{font-size:13px;color:#526c7c;line-height:1.7;margin:-9px 0 20px}
.access-body .request-section>.field-hint{display:block;font-size:12px;line-height:1.7;color:#6c8290;margin-top:15px}
.access-body .optional-label{font-size:10px;font-weight:560;color:#8294a0}
.access-body .marketing-choice{display:flex;gap:10px;align-items:flex-start;margin-top:20px;border:1px solid #d6e4e9;border-radius:6px;background:#f4f9fb;padding:16px 17px}
.access-body .marketing-choice input{margin-top:5px}
.access-body .account-registration-success{padding:31px;border-radius:7px;border:1px solid #c5e2d9;background:#f1faf7;border-left:4px solid #2eaa80;box-shadow:0 8px 27px rgba(14,65,51,.045)}
.access-body .account-registration-success h2{font-size:clamp(24px,3vw,37px);line-height:1.2;letter-spacing:-.05em;color:#154939;margin:0 0 16px}
.access-body .account-registration-success p{color:#345d54;font-size:14px;line-height:1.75;margin:0 0 24px}
.access-body .account-registration-success a{display:inline-flex;align-items:center;color:#20526e;font-size:13px;font-weight:750;text-decoration:none;border-bottom:1px solid #93bccb;padding-bottom:4px}
.access-body .access-submit:not(:disabled){background:#117d9f;border-color:#117d9f;box-shadow:0 6px 20px rgba(14,105,138,.14)}
.access-body .access-submit:hover:not(:disabled){background:#086486}
@media(max-width:600px){.access-body .account-registration-success{padding:23px 18px}.access-body .marketing-choice{padding:14px}}

.access-body .account-registration-success{border-left:4px solid #238a70;background:#f3faf6}
.access-body .confirmation-kicker{display:block;color:#247e66;font-size:10px;letter-spacing:.14em;font-weight:800;margin-bottom:12px}
.access-body .confirmation-steps{counter-reset:steps;list-style:none;padding:0;margin:22px 0;display:grid;gap:12px}
.access-body .confirmation-steps li{position:relative;padding:12px 14px 12px 50px;border:1px solid #d4e7dd;border-radius:6px;background:#fff;font-size:13px;color:#245949;font-weight:660}
.access-body .confirmation-steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:13px;top:10px;width:25px;height:25px;border:1px solid #8fc3ad;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#166a4e}
