/* EchoSafe's approved canvas direction, adapted to the existing HTML application. */
:root {
  --color-ink:#233047; --color-deep:#20344f; --color-primary:#20344f;
  --color-primary-dark:#17283e; --color-accent:#426b8d; --color-accent-light:#eaf2f8;
  --color-bg:#f8f6f1; --color-border:#e6e0d7; --color-muted:#687482;
  --v-credential:#426b8d; --v-echosafe:#20344f; --max-width:1180px;
}
body { font-family:"DM Sans",sans-serif; font-size:16px; color:#233047; background:#f8f6f1; }
h1,h2,h3,h4 { font-family:"Montserrat",sans-serif; letter-spacing:-.045em; }
a { text-decoration-color:#a9bfd2; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #426b8d; outline-offset:5px; }
.es-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
.es-skip { position:absolute;left:16px;top:-100px;z-index:100;background:white;padding:12px; }
.es-skip:focus { top:12px; }
.es-container { width:min(1180px,calc(100% - 64px));margin-inline:auto; }
.es-announcement { background:#f1ece5;text-align:center;padding:8px 20px;font-size:11px;font-weight:700;letter-spacing:.06em;color:#526071; }
.es-announcement span { padding:0 12px;color:#789ab9; }
.es-site-header { background:#f8f6f1;border-bottom:1px solid #e6e0d7;position:relative;z-index:10; }
.es-site-header>.es-container { display:flex;align-items:center;gap:25px;padding-block:21px; }
.es-site-header .logo { display:flex;align-items:center;text-decoration:none; }
.es-wordmark { display:block;width:192px;height:auto;object-fit:contain; }
.es-desktop-nav { display:flex;gap:27px;margin:auto; }
.es-desktop-nav a,.es-header-standard { text-decoration:none;font-size:12px;font-weight:600;color:#536071;white-space:nowrap; }
.es-header-standard { font-size:11px; }
.es-button { display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 23px;border:1px solid transparent;border-radius:40px;font-size:12px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s; }
.es-button:hover { transform:translateY(-2px); }
.es-button-solid { background:#20344f;color:white; }
.es-button-solid:hover { background:#17283e;color:white; }
.es-button-outline { border-color:#d6d2cc;background:transparent;color:#20344f; }
.es-button-outline:hover { background:#eee9e1; }
.es-button-rank { background:#244c3b;color:white; }
.es-button-rank:hover { background:#173c2f;color:white; }
.es-button-clay { background:#e4eef6;color:#20344f;border-color:#ceddea; }
.es-button-light { border-color:#ffffff40;color:white;background:transparent; }
.es-button-light:hover { background:#ffffff15;color:white; }
.es-mobile-menu { display:none; }
.es-icon { display:inline-block;vertical-align:middle;flex-shrink:0; }
.es-home h1 { font-size:clamp(2.8rem,5.7vw,5.1rem);font-weight:600;line-height:1.06;letter-spacing:-.075em;margin:20px 0; }
.es-home h1 span,.es-home h2>span { color:#426b8d; }
.es-home h2 { font-size:clamp(2rem,3.8vw,3.2rem);font-weight:600;line-height:1.12;letter-spacing:-.065em;margin:16px 0; }
.es-home h3 { font-size:15px;font-weight:700;letter-spacing:-.025em; }
.es-home p { color:#687482;font-size:14px;line-height:1.85; }
.es-home .es-lead { font-size:15px;line-height:1.85; }
.es-hero { display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;padding-block:72px 100px; }
.es-eyebrow { display:block;font-size:10px;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#426b8d;margin-bottom:17px; }
.es-pill { display:inline-block;border:1px solid #e4ded5;background:#f2eee8;border-radius:30px;padding:7px 13px;color:#45536a;font-size:9px; }
.es-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:27px; }
.es-hero .es-actions { flex-wrap:nowrap; }
.es-small { display:inline-flex;align-items:center;gap:7px;font-size:10px!important; }
.es-hero-note { margin-top:28px;font-size:10px!important;gap:8px;flex-wrap:wrap; }
.es-hero-note svg { color:#426b8d; }
.es-hero-note span { margin:0 8px;color:#abb2b9; }
.es-hero-photo { position:relative;height:405px;margin:20px 0; }
.es-hero-photo:before { content:"";position:absolute;width:230px;height:230px;background:#e8e4dc;border-radius:50%;right:-12px;top:-30px;z-index:-1; }
.es-hero-photo>img { width:100%;height:100%;object-fit:cover;object-position:50%;border-radius:30px; }
.es-hero-photo:after { content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#152b2b99);border-radius:0 0 30px 30px;pointer-events:none; }
.es-photo-pill { position:absolute;top:21px;left:22px;border-radius:25px;background:#f8f6f1eb;padding:9px 12px;font-size:9px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:7px;text-transform:uppercase; }
.es-photo-caption { position:absolute;bottom:30px;left:30px;right:30px;z-index:1; }
.es-photo-caption>span { color:#d6e5f1;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase; }
.es-photo-caption h2 { font-size:24px;line-height:1.25;color:white;letter-spacing:-.04em;margin:8px 0 0;max-width:350px; }
.es-photo-note { position:absolute;right:-24px;bottom:-24px;z-index:2;border:1px solid #e4dfd7;border-radius:17px;padding:15px;display:flex;align-items:center;gap:12px;background:#fbf9f5;box-shadow:0 12px 30px #20344f1a; }
.es-photo-note>svg { background:#e5edf4;padding:8px;box-sizing:content-box;border-radius:12px;color:#426b8d; }
.es-photo-note strong { display:block;font-size:11px; }
.es-photo-note small { font-size:10px;color:#687482; }
.es-product-strip { background:#f1ece5;border-block:1px solid #e6e0d7;padding:20px 0; }
.es-product-strip>.es-container { display:flex;justify-content:space-between;gap:20px;align-items:center; }
.es-product-strip strong { font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#687482; }
.es-product-strip nav { display:flex;flex-wrap:wrap;gap:24px; }
.es-product-strip a { font-size:11px;text-decoration:none;color:#233047;font-weight:600; }
.es-product-strip small { margin-right:7px;color:#8b8d91; }
.es-product-strip a span { font-weight:400;color:#7d838b;font-size:10px;margin-left:5px; }
.es-section { padding-block:95px; }
.es-two-col { display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:70px; }
.es-rank .es-eyebrow { color:#629653; }
.es-rank .es-check-list { padding:0;margin:26px 0;list-style:none;display:grid;gap:15px;font-size:12px; }
.es-rank .es-check-list svg { color:#629653;background:#eaf2e5;border-radius:50%;padding:5px;box-sizing:content-box;margin-right:10px; }
.es-check-panel { border:1px solid #e4e7df;border-radius:25px;background:#fffefa;box-shadow:0 20px 45px #2330470b;overflow:hidden; }
.es-rank .es-panel-heading { display:flex;align-items:center;gap:14px;padding:22px;border-bottom:1px solid #edf0e8;font-size:13px; }
.es-rank .es-panel-heading small { display:block;color:#849187;font-size:10px;margin-top:4px; }
.es-icon-box { display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:#e9e5dc;color:#20344f; }
.es-rank .es-icon-box { background:#eaf2e5;color:#629653; }
.es-rank .es-label { font-size:8px;text-transform:uppercase;background:#eff5ea;color:#56834c;padding:4px 6px;border-radius:5px;margin-left:5px; }
.es-panel-body { padding:28px; }
.es-panel-body>h3 { font-size:19px; }
.es-panel-body>p { font-size:13px; }
.es-rank .es-message { padding:20px;border:1px solid #e0e8da;border-radius:15px;color:#697d6a;font-size:13px;background:#fafbf7;margin:20px 0; }
.es-rank .es-message small { display:block;margin-top:12px;color:#879383;font-size:10px; }
.es-help { display:block;font-size:10px;color:#899187;line-height:1.7;margin-top:18px; }
.es-directory-feature { background:#20344f;color:white; }
.es-directory-feature,.es-trust-band,.es-steps-band,.et-hero { padding:0; }
.es-directory-feature h2,.es-directory-feature h3 { color:white; }
.es-directory-feature h2>span { color:#c9deef; }
.es-directory-feature .es-lead { color:#d3dce5; }
.es-directory-feature .es-eyebrow { color:#c9deef; }
.es-coverage { display:inline-flex;align-items:center;gap:8px;background:#ffffff12;border:1px solid #ffffff30;border-radius:30px;padding:8px 12px;text-transform:uppercase;letter-spacing:.1em;font-size:8px;margin-bottom:10px; }
.es-service-grid { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.es-service-grid>a { padding:23px 20px;border:1px solid #ffffff20;border-radius:20px;background:#ffffff0d;text-decoration:none; }
.es-service-grid>a:hover { background:#ffffff18; }
.es-service-grid small { display:block;font-size:10px;color:#c9deef;margin-bottom:28px; }
.es-service-grid small span { float:right;font-size:15px; }
.es-service-grid h3 { font-size:13px;line-height:1.4; }
.es-service-grid p { font-size:11px;color:#d0d9e3;line-height:1.7;margin:10px 0 0; }
.es-directory-preview { padding:30px;margin-top:60px;background:#f8f6f1;border-radius:25px;color:#233047; }
.es-directory-preview h3 { color:#233047;font-size:23px;letter-spacing:-.055em; }
.es-preview-heading { display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6e0d7;padding-bottom:18px;gap:16px; }
.es-preview-heading .es-eyebrow { color:#426b8d;font-size:9px; }
.es-preview-heading .es-small { color:#687482;white-space:nowrap; }
.es-search-form { display:flex;gap:12px;align-items:end;margin:20px 0; }
.es-search-form label { flex:1;min-width:0; }
.es-search-form label>span,.es-directory-form label>span { display:block;font-size:10px;font-weight:600;color:#687482;margin-bottom:7px; }
.es-search-form input,.es-directory-form input,.es-directory-form select { width:100%;height:48px;border:1px solid #dedbd4;border-radius:12px;background:white;padding:12px;font-size:12px;color:#233047; }
.es-category-pills { display:flex;flex-wrap:wrap;gap:8px;margin:20px 0; }
.es-category-pills a { border:1px solid #ddd7cf;background:white;border-radius:30px;padding:8px 12px;font-size:10px;text-decoration:none;color:#66717d; }
.es-category-pills a:hover,.es-category-pills a[aria-current] { color:#20344f;background:#e9e5dc;border-color:#20344f; }
.es-empty { padding:35px 20px;border:1px dashed #d6d0c6;border-radius:16px;text-align:center;background:#ffffff88;margin-top:20px; }
.es-empty strong { font-size:17px;font-family:"Montserrat",sans-serif;letter-spacing:-.03em; }
.es-empty p { font-size:12px;max-width:500px;margin:12px auto; }
.es-empty a { font-size:12px;font-weight:600; }
.es-disclosure { display:flex;align-items:center;gap:10px;background:#f1ece5;border-radius:12px;padding:12px 15px;font-size:10px!important;margin:22px 0 0; }
.es-learning { display:flex;align-items:center;justify-content:space-between;gap:40px; }
.es-learning>div { max-width:640px; }
.es-learning .es-button { flex-shrink:0; }
.es-trust-band { background:#f1ece5;border-block:1px solid #e6e0d7; }
.es-trust-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px; }
.es-trust-grid h2 { font-size:35px; }
.es-trust-grid p { font-size:12px; }
.es-trust-item { padding:20px 0 0 18px;border-left:1px solid #ded8ce; }
.es-trust-item h3 { margin-top:20px;font-size:12px; }
.es-trust-item p { font-size:11px; }
.es-trust-promise { display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fbf9f5;border:1px solid #e4ddd2;border-radius:18px;padding:23px;margin-top:45px;font-size:12px; }
.es-trust-promise p { max-width:730px;font-size:11px;margin:7px 0 0; }
.es-trust-promise>a { flex-shrink:0;font-size:11px;color:#476c8f; }
.es-organizations { background:#f1ece5;border-radius:27px;padding:45px;gap:40px; }
.es-organizations h2 { font-size:39px; }
.es-engine-panel { background:#fbf9f5;border-radius:22px;padding:30px;border:1px solid #fff;box-shadow:0 18px 40px #20344f0b; }
.es-engine-panel h3 { font-size:20px; }
.es-engine-panel ul { list-style:none;padding:0;font-size:12px; }
.es-engine-panel li { display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e6e0d7;gap:12px; }
.es-engine-panel p { font-size:11px; }
.es-steps-band { background:#f1ece5; }
.es-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px; }
.es-steps>div { padding:25px;border:1px solid #e0dcd4;border-radius:18px;background:#fbf9f5; }
.es-steps small { color:#9198a1;font-size:10px;margin-right:15px; }
.es-steps h3 { margin:20px 0 5px; }
.es-steps p { font-size:12px;margin:0; }
.es-faq { display:grid;grid-template-columns:.7fr 1fr;gap:100px; }
.es-faq>div>p { max-width:300px; }
.es-faq details { border-top:1px solid #e6e0d7;padding:22px 0; }
.es-faq summary { font-size:13px;font-weight:700;cursor:pointer; }
.es-faq details p { margin:15px 0 0;font-size:12px; }
.es-newsletter { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:35px;margin-bottom:65px;border:1px solid #e6e0d7;border-radius:22px;background:#f1ece5; }
.es-newsletter h2 { font-size:25px; }
.es-newsletter p { font-size:12px; }
.es-newsletter .signup-form { max-width:none;margin:0; }
.es-newsletter .signup-form input { background:white;color:#233047;border:1px solid #d6d0c6;border-radius:30px;padding:14px 18px; }
.es-newsletter .signup-form input::placeholder { color:#687482;opacity:1; }
.site-footer { background:#20344f;color:#c6d1df;padding-top:55px; }
.site-footer .footer-grid { gap:45px; }
.site-footer a { color:#d3dce5;font-size:12px; }
.site-footer p { font-size:12px;line-height:1.8;max-width:270px; }
.es-footer-logo { display:inline-flex!important;align-items:center;text-decoration:none!important;margin-bottom:18px; }
.es-footer-logo img { display:block;width:min(210px,100%);height:auto;object-fit:contain; }
.site-footer h5 { color:#c9deef;text-transform:uppercase;letter-spacing:.12em;font-size:10px; }
.site-footer .footer-bottom { border-color:#ffffff25;font-size:10px;color:#bdc8d7; }
.btn-primary { background:#20344f;color:#fff; }
.btn-primary:hover { background:#17283e; }
.listing-card { background:#fff;border:1px solid #e0dcd4;box-shadow:none;border-radius:18px;padding:24px; }
.listing-card h3 { font-size:18px; }
.listing-card .listing-meta { font-size:11px; }
.listing-card p { font-size:12px; }
.et-hero { background:#f1ece5;border-bottom:1px solid #e6e0d7; }
.et-hero>.es-container { padding-block:65px 45px; }
.et-hero h1 { max-width:850px;font-size:clamp(2.7rem,5.6vw,5.1rem);font-weight:600;line-height:1.06;letter-spacing:-.075em; }
.et-hero h1 span { color:#426b8d; }
.et-hero-grid { display:grid;grid-template-columns:1fr 280px;align-items:end;gap:65px; }
.et-hero .es-lead { max-width:640px;font-size:15px;color:#687482; }
.et-promise { padding:23px;border:1px solid #e2dcd2;border-radius:20px;background:#fbf9f5;box-shadow:0 12px 35px #20344f0a;font-size:12px; }
.et-promise strong { display:block;margin:12px 0; }
.et-promise a { font-size:11px; }
.et-standards { display:flex;flex-wrap:wrap;gap:25px;border-top:1px solid #ddd7cf;padding-top:18px;margin-top:35px;font-size:10px;color:#687482; }
.et-directory { padding-block:40px 70px; }
.et-directory h2 { font-size:28px; }
.es-directory-form { display:grid;grid-template-columns:2fr 1.2fr 1.2fr auto;gap:12px;align-items:end;padding:20px;background:#fffcf7;border:1px solid #e3ddd4;border-radius:22px;margin:25px 0; }
.et-results-head { display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#687482;margin:25px 0; }
.es-directory-form .et-checkbox { grid-column:1/-1;font-size:12px;display:flex;align-items:center;gap:9px;color:#526071; }
.es-directory-form .et-checkbox input { width:16px;height:16px;accent-color:#20344f; }
.et-checkbox small { color:#687482; }
.et-bottom { background:#f1ece5;padding:50px 0; }
.et-bottom .es-container { display:grid;grid-template-columns:1fr 1fr;gap:60px; }
.et-bottom h2 { font-size:26px; }
.et-bottom p { font-size:13px;color:#687482; }
@media(min-width:1450px) { .es-hero { padding-block:95px 115px; } }
@media(max-width:1100px) {
  .es-desktop-nav { gap:15px; }.es-header-standard { display:none; }.es-site-header>.es-container { gap:16px; }
  .es-hero { gap:30px; }.es-hero .es-actions { flex-wrap:wrap; }.es-hero-photo { height:380px; }
  .es-two-col { gap:40px; }.es-product-strip>.es-container { align-items:start;flex-direction:column; }
  .es-trust-grid { grid-template-columns:1.7fr 1fr 1fr; }.es-trust-item:last-child { grid-column:2/4; }
  .es-directory-form { grid-template-columns:1fr 1fr; }.es-organizations { padding:30px; }
}
@media(max-width:800px) {
  .es-container { width:calc(100% - 40px); }.es-desktop-nav,.es-header-cta { display:none; }
  .es-site-header>.es-container { justify-content:space-between;padding-block:15px; }
  .es-mobile-menu { display:block; }.es-mobile-menu summary { cursor:pointer;font-size:12px;list-style:none;padding:10px 14px;border:1px solid #ddd7cf;border-radius:25px; }
  .es-mobile-menu nav { position:absolute;top:100%;left:0;right:0;background:#f8f6f1;border-bottom:1px solid #ddd7cf;padding:15px 20px;box-shadow:0 15px 25px #20344f12; }
  .es-mobile-menu nav>a { display:block;padding:12px 8px;font-size:14px;color:#20344f;text-decoration:none; }
  .es-hero { grid-template-columns:1fr;padding-block:45px 70px;gap:32px; }
  .es-home h1 { max-width:650px; }.es-hero-photo { height:400px;margin-right:15px; }.es-photo-note { right:-15px; }
  .es-section { padding-block:60px; }.es-two-col { grid-template-columns:1fr;gap:35px; }
  .es-check-panel { max-width:620px; }.es-directory-feature .es-two-col { gap:40px; }
  .es-directory-preview { padding:24px;margin-top:40px; }.es-preview-heading { align-items:start; }
  .es-learning { flex-direction:column;align-items:start;gap:15px; }
  .es-trust-grid { grid-template-columns:repeat(3,1fr);gap:20px; }.es-trust-grid>div:first-child { grid-column:1/-1; }.es-trust-item:last-child { grid-column:auto; }
  .es-trust-promise { flex-direction:column;align-items:start;gap:15px; }
  .es-organizations { padding:30px; }.es-organizations h2 { font-size:32px; }
  .es-steps { gap:12px; }.es-steps>div { padding:20px 15px; }
  .es-faq { grid-template-columns:1fr;gap:25px; }.es-newsletter { grid-template-columns:1fr;gap:15px;width:calc(100% - 40px); }
  .et-hero-grid { grid-template-columns:1fr;gap:25px; }.et-promise { max-width:450px; }
  .et-bottom .es-container { grid-template-columns:1fr;gap:25px; }
  .es-wordmark { width:172px; }
}
@media(max-width:500px) {
  .es-announcement { font-size:9px;line-height:1.7; }.es-announcement span { padding:0 4px; }
  .es-wordmark { width:154px; }
  .es-home h1 { font-size:43px; }.es-hero-photo { height:330px; }.es-photo-caption { left:20px;bottom:32px; }.es-photo-caption h2 { font-size:21px; }
  .es-hero .es-actions { display:grid; }.es-hero-note span { display:none; }
  .es-product-strip nav { display:grid;grid-template-columns:1fr 1fr;gap:15px; }.es-product-strip a span { display:block;margin-left:22px; }
  .es-product-strip>.es-container { gap:17px; }.es-home h2 { font-size:32px; }
  .es-service-grid { gap:10px; }.es-service-grid>a { padding:18px 14px; }
  .es-directory-preview { padding:20px 15px; }.es-preview-heading { flex-direction:column;gap:5px; }
  .es-directory-preview h3 { font-size:22px; }.es-search-form { flex-direction:column;align-items:stretch; }
  .es-search-form label { width:100%; }.es-trust-grid { grid-template-columns:1fr; }.es-trust-grid>div { grid-column:auto!important; }
  .es-trust-item { border-left:0;border-top:1px solid #ddd7cf;padding:20px 0 0; }.es-trust-item p { max-width:320px; }
  .es-organizations { padding:23px; }.es-engine-panel { padding:22px; }
  .es-steps { grid-template-columns:1fr; }.es-steps>div { padding:22px; }
  .es-newsletter { padding:25px 20px; }.es-newsletter .signup-form { flex-direction:column; }.es-newsletter input { min-width:0; }
  .es-directory-form { grid-template-columns:1fr; }.et-results-head { flex-direction:column;gap:8px; }
  .site-footer .footer-grid { grid-template-columns:1fr 1fr;gap:30px 20px; }.site-footer .footer-col:first-child { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;transition:none!important;animation:none!important; } }
