:root {
    --ecep-blue: #009cde;
    --ecep-blue-bright: #0ab5ff;
    --ecep-ink: #31434e;
    --ecep-muted: #667985;
    --ecep-line: #dbe7ed;
    --ecep-mist: #eff5f9;
    --ecep-navy: #384954;
    --ecep-navy-deep: #293942;
}

.easycount-easypedia-active #main-content { background: var(--ecep-mist); }
.ecep-hub, .ecep-article { color: var(--ecep-ink); font-family: Roboto, Arial, sans-serif; font-weight: 300; }
.ecep-hub *, .ecep-article * { box-sizing: border-box; }
.ecep-hub h1, .ecep-hub h2, .ecep-hub h3, .ecep-article h1, .ecep-article h2, .ecep-article h3 { font-family: "Playfair Display", Georgia, serif; font-weight: 600; }
.ecep-hub h1, .ecep-hub h2, .ecep-hub h3, .ecep-hub p, .ecep-article h1, .ecep-article h2, .ecep-article h3, .ecep-article p { margin-top: 0; }
.ecep-eyebrow { align-items: center; color: var(--ecep-blue); display: flex; font-size: 11px; font-weight: 600; gap: 10px; letter-spacing: .15em; text-transform: uppercase; }
.ecep-eyebrow > span { background: currentColor; display: block; height: 2px; width: 30px; }

.ecep-hero { background: var(--ecep-navy); color: #fff; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(340px, .7fr); min-height: 510px; }
.ecep-hero-copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: 72px max(6vw, 38px); }
.ecep-hero h1 { font-size: clamp(54px, 7vw, 92px); letter-spacing: -.055em; line-height: .96; margin: 25px 0 24px; }
.ecep-hero h1 em, .ecep-intro h2 em, .ecep-newsletter h2 em, .ecep-cta h2 em { color: var(--ecep-blue-bright); }
.ecep-hero-copy > p { color: #dbe7ed; font-size: 18px; line-height: 1.65; margin-bottom: 28px; max-width: 690px; }
.ecep-search { align-items: center; background: #fff; border-radius: 999px; display: flex; max-width: 640px; min-height: 56px; padding: 0 20px; width: 100%; }
.ecep-search > span { color: var(--ecep-blue); font-size: 28px; margin-right: 10px; transform: rotate(-18deg); }
.ecep-search input { background: transparent; border: 0; box-shadow: none; color: var(--ecep-ink); font: inherit; min-width: 0; outline: 0; padding: 0; width: 100%; }
.ecep-journey { background: var(--ecep-blue); color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 44px 10%; }
.ecep-journey > small { font-size: 11px; font-weight: 500; letter-spacing: .15em; margin-bottom: 18px; text-transform: uppercase; }
.ecep-journey a { border-top: 1px solid rgba(255,255,255,.65); color: #fff; display: grid; gap: 2px 14px; grid-template-columns: 1fr auto; padding: 18px 0; text-decoration: none; }
.ecep-journey a:last-child { border-bottom: 1px solid rgba(255,255,255,.65); }
.ecep-journey strong { font-family: "Playfair Display", Georgia, serif; font-size: 24px; font-weight: 600; }
.ecep-journey a > span { font-size: 12px; grid-column: 1; opacity: .88; }
.ecep-journey i { align-self: center; font-size: 20px; font-style: normal; grid-column: 2; grid-row: 1 / span 2; }

.ecep-section { padding: 72px max(6vw, 38px); }
.ecep-intro { align-items: end; background: #fff; display: grid; gap: 60px; grid-template-columns: 1.2fr .8fr; }
.ecep-intro h2 { font-size: clamp(38px, 5vw, 61px); letter-spacing: -.045em; line-height: 1.04; margin: 20px 0 0; }
.ecep-intro > p { color: var(--ecep-muted); font-size: 17px; line-height: 1.75; margin-bottom: 5px; }
.ecep-section-head { align-items: end; display: flex; gap: 32px; justify-content: space-between; margin-bottom: 30px; }
.ecep-section-head h2 { font-size: clamp(34px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.08; margin: 14px 0 5px; }
.ecep-section-head p { color: var(--ecep-muted); margin-bottom: 0; }

.ecep-paths { background: var(--ecep-mist); }
.ecep-path-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.ecep-path { background: #fff; border: 1px solid var(--ecep-line); color: var(--ecep-ink); display: flex; flex-direction: column; min-height: 290px; padding: 28px; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.ecep-path:hover { border-color: var(--ecep-blue); transform: translateY(-3px); }
.ecep-path small { color: var(--ecep-blue); font-size: 10px; font-weight: 600; letter-spacing: .12em; margin-bottom: 28px; text-transform: uppercase; }
.ecep-path h3 { font-size: 25px; letter-spacing: -.025em; line-height: 1.14; margin-bottom: 14px; }
.ecep-path p { color: var(--ecep-muted); font-size: 13px; line-height: 1.65; }
.ecep-path > span { color: var(--ecep-blue); font-size: 12px; font-weight: 600; margin-top: auto; }

.ecep-library { background: #fff; }
.ecep-filters { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.ecep-filters button { background: transparent; border: 1px solid var(--ecep-line); border-radius: 999px; color: var(--ecep-ink); cursor: pointer; font: inherit; font-size: 12px; min-height: 40px; padding: 8px 15px; }
.ecep-filters button:hover, .ecep-filters button.is-active { background: var(--ecep-blue); border-color: var(--ecep-blue); color: #fff; }
.ecep-card-grid { display: grid; gap: 18px; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.ecep-card { background: var(--ecep-mist); border: 1px solid var(--ecep-line); color: var(--ecep-ink); display: grid; grid-column: span 4; grid-template-rows: 145px 1fr; min-height: 420px; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.ecep-card:hover { border-color: var(--ecep-blue); transform: translateY(-3px); }
.ecep-card-featured { grid-column: span 8; grid-template-columns: minmax(220px, .7fr) 1.3fr; grid-template-rows: 1fr; }
.ecep-card-mark { align-items: center; background: var(--ecep-navy); color: var(--ecep-blue-bright); display: flex; justify-content: center; overflow: hidden; position: relative; }
.ecep-card-mark::before, .ecep-card-mark::after { border: 1px solid rgba(255,255,255,.24); border-radius: 50%; content: ""; height: 150px; position: absolute; width: 150px; }
.ecep-card-mark::after { height: 220px; width: 220px; }
.ecep-card-mark span { font-family: "Playfair Display", Georgia, serif; font-size: 65px; font-weight: 600; position: relative; z-index: 1; }
.ecep-card-copy { display: flex; flex-direction: column; padding: 27px; }
.ecep-card-copy small { color: var(--ecep-blue); font-size: 10px; font-weight: 600; letter-spacing: .12em; margin-bottom: 24px; text-transform: uppercase; }
.ecep-card-copy h3 { font-size: 25px; letter-spacing: -.025em; line-height: 1.14; margin-bottom: 13px; }
.ecep-card-featured h3 { font-size: clamp(29px, 3vw, 40px); }
.ecep-card-copy p { color: var(--ecep-muted); font-size: 13px; line-height: 1.65; }
.ecep-card-copy > span { color: var(--ecep-blue); font-size: 12px; font-weight: 600; margin-top: auto; }
.ecep-empty { background: var(--ecep-mist); grid-column: 1 / -1; padding: 50px; text-align: center; }
.ecep-empty h3 { font-size: 27px; margin-bottom: 8px; }
.ecep-empty p { color: var(--ecep-muted); margin-bottom: 0; }

.ecep-guides { background: var(--ecep-mist); }
.ecep-guide-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.ecep-guide-grid > a { background: var(--ecep-navy); color: #fff; display: flex; flex-direction: column; min-height: 285px; overflow: hidden; padding: 30px; position: relative; text-decoration: none; transition: transform .2s ease; }
.ecep-guide-grid > a::after { background: var(--ecep-blue); border-radius: 50%; content: ""; height: 145px; position: absolute; right: -55px; top: -55px; width: 145px; }
.ecep-guide-grid > a:hover { transform: translateY(-3px); }
.ecep-guide-grid small { color: var(--ecep-blue-bright); font-size: 10px; font-weight: 600; letter-spacing: .12em; margin-bottom: 34px; text-transform: uppercase; }
.ecep-guide-grid h3 { font-size: 29px; line-height: 1.12; margin-bottom: 14px; max-width: 85%; }
.ecep-guide-grid p { color: #dbe7ed; font-size: 13px; line-height: 1.65; }
.ecep-guide-grid span { color: var(--ecep-blue-bright); font-size: 12px; font-weight: 600; margin-top: auto; }

.ecep-newsletter { align-items: center; background: var(--ecep-navy); color: #fff; display: grid; gap: 60px; grid-template-columns: 1fr 1fr; padding: 60px max(6vw, 38px); }
.ecep-newsletter h2 { font-size: clamp(38px, 4vw, 52px); letter-spacing: -.04em; line-height: 1.05; margin: 18px 0 0; }
.ecep-newsletter form > label:first-of-type { display: block; font-size: 12px; margin-bottom: 7px; }
.ecep-email-row { display: flex; gap: 10px; }
.ecep-email-row input { background: #fff; border: 0; border-radius: 999px; color: var(--ecep-ink); font: inherit; min-height: 50px; min-width: 0; padding: 12px 17px; width: 100%; }
.ecep-email-row button, .ecep-cta > a { background: var(--ecep-blue); border: 0; border-radius: 999px; color: #fff; cursor: pointer; font: inherit; font-weight: 600; padding: 13px 22px; text-decoration: none; white-space: nowrap; }
.ecep-check { align-items: flex-start; color: #dbe7ed; display: flex; font-size: 11px; gap: 8px; line-height: 1.45; margin-top: 12px; }
.ecep-check input { margin-top: 2px; }
.ecep-honeypot { left: -9999px; position: absolute; }

.ecep-cta { align-items: center; background: var(--ecep-blue); color: #fff; display: flex; gap: 50px; justify-content: space-between; padding: 60px max(6vw, 38px); }
.ecep-cta .ecep-eyebrow { color: #fff; }
.ecep-cta h2 { font-size: clamp(39px, 5vw, 60px); letter-spacing: -.045em; line-height: 1.04; margin: 18px 0 10px; }
.ecep-cta p { margin-bottom: 0; max-width: 690px; }
.ecep-cta > a { background: #fff; color: var(--ecep-ink); }

.ecep-article-hero { background: var(--ecep-navy); color: #fff; padding: 60px max(7vw, 44px) 70px; }
.ecep-breadcrumbs { color: #dbe7ed; display: flex; flex-wrap: wrap; font-size: 12px; gap: 9px; margin-bottom: 42px; }
.ecep-breadcrumbs a { color: inherit; text-decoration: none; }
.ecep-article-hero h1 { font-size: clamp(48px, 7vw, 82px); letter-spacing: -.055em; line-height: .98; margin: 23px 0 21px; max-width: 980px; }
.ecep-article-hero > p { color: #dbe7ed; font-size: 18px; line-height: 1.65; margin-bottom: 0; max-width: 790px; }
.ecep-article-layout { display: grid; gap: 70px; grid-template-columns: 220px minmax(0, 760px); justify-content: center; padding: 68px max(7vw, 44px) 82px; }
.ecep-article-layout > aside { border-top: 3px solid var(--ecep-blue); color: var(--ecep-muted); font-size: 12px; line-height: 1.65; padding-top: 17px; }
.ecep-article-layout > aside strong { color: var(--ecep-ink); display: block; font-weight: 600; margin-bottom: 9px; }
.ecep-article-layout > aside a { color: var(--ecep-blue); font-weight: 600; text-decoration: none; }
.ecep-article-content { min-width: 0; }
.ecep-article-content .easypedia-lead, .ecep-article-content .articleIntro { color: var(--ecep-ink); font-family: "Playfair Display", Georgia, serif; font-size: 25px; line-height: 1.45; }
.ecep-article-content p, .ecep-article-content li { color: var(--ecep-muted); font-size: 16px; line-height: 1.78; }
.ecep-article-content h2 { font-size: 32px; letter-spacing: -.03em; line-height: 1.15; margin: 42px 0 15px; }
.ecep-article-content h3 { font-size: 23px; margin: 29px 0 10px; }
.ecep-article-content a { color: #007eb5; }
.ecep-article-content .easypedia-note, .ecep-article-content .easypedia-next, .ecep-article-content .easypedia-faq { background: var(--ecep-mist); border-left: 3px solid var(--ecep-blue); margin: 30px 0; padding: 23px 26px; }
.ecep-article-content .easypedia-next h2, .ecep-article-content .easypedia-faq h2 { margin-top: 0; }
.ecep-article-content .easypedia-reviewed { border-top: 1px solid var(--ecep-line); font-size: 12px; margin-top: 40px; padding-top: 18px; }
.ecep-article-content .easypedia-form-placeholder { background: #fff7db; border: 1px solid #e9d79e; color: var(--ecep-ink); line-height: 1.6; padding: 22px; }
.ecep-guide-gate { background: var(--ecep-mist); border-top: 3px solid var(--ecep-blue); margin: 34px 0; padding: 28px; }
.ecep-guide-gate h2 { margin: 13px 0 8px; }
.ecep-guide-gate form { display: grid; gap: 14px; margin: 22px 0 13px; }
.ecep-guide-gate form > label:not(.ecep-honeypot):not(.ecep-guide-consent) { color: var(--ecep-ink); font-size: 12px; font-weight: 600; }
.ecep-guide-gate input[type="text"], .ecep-guide-gate input[type="email"] { background: #fff; border: 1px solid var(--ecep-line); border-radius: 0; color: var(--ecep-ink); display: block; font: inherit; margin-top: 6px; min-height: 48px; padding: 10px 13px; width: 100%; }
.ecep-guide-consent { align-items: flex-start; color: var(--ecep-muted); display: flex; font-size: 11px; gap: 8px; line-height: 1.5; }
.ecep-guide-consent input { margin-top: 2px; }
.ecep-guide-gate button, .ecep-guide-success a { background: var(--ecep-blue); border: 0; border-radius: 999px; color: #fff; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600; justify-self: start; padding: 13px 22px; text-decoration: none; }
.ecep-guide-gate > small { color: var(--ecep-muted); display: block; font-size: 10px; line-height: 1.5; }
.ecep-guide-error { background: #fff1f0; border-left: 3px solid #c8352e; color: #8d211c !important; padding: 10px 12px; }
.ecep-guide-success { background: var(--ecep-mist); border-left: 3px solid var(--ecep-blue); margin: 30px 0; padding: 25px; }
.ecep-guide-success strong { color: var(--ecep-ink); font-family: "Playfair Display", Georgia, serif; font-size: 23px; }
.ecep-guide-success a { display: inline-block; }
.ecep-related { background: #fff; border-top: 1px solid var(--ecep-line); padding: 55px max(7vw, 44px); }
.ecep-related > div:last-child { display: grid; gap: 13px; grid-template-columns: repeat(3, 1fr); }
.ecep-related a { border: 1px solid var(--ecep-line); color: var(--ecep-ink); display: grid; gap: 7px; min-height: 120px; padding: 20px; text-decoration: none; }
.ecep-related a:hover { border-color: var(--ecep-blue); }
.ecep-related small { color: var(--ecep-blue); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.ecep-related strong { font-family: "Playfair Display", Georgia, serif; font-size: 19px; }
.ecep-related a > span { color: var(--ecep-blue); margin-top: auto; }

@media (max-width: 980px) {
    .ecep-path-grid { grid-template-columns: repeat(2, 1fr); }
    .ecep-guide-grid { grid-template-columns: 1fr; }
    .ecep-card, .ecep-card-featured { grid-column: span 6; grid-template-columns: 1fr; grid-template-rows: 145px 1fr; }
}

@media (max-width: 760px) {
    .ecep-hero, .ecep-intro, .ecep-newsletter { grid-template-columns: 1fr; }
    .ecep-hero-copy, .ecep-section, .ecep-newsletter, .ecep-cta { padding-left: 24px; padding-right: 24px; }
    .ecep-journey { padding: 42px 24px; }
    .ecep-intro { gap: 28px; }
    .ecep-section-head { align-items: flex-start; flex-direction: column; }
    .ecep-filters { justify-content: flex-start; }
    .ecep-card, .ecep-card-featured { grid-column: 1 / -1; }
    .ecep-email-row, .ecep-cta { align-items: flex-start; flex-direction: column; }
    .ecep-email-row button { width: 100%; }
    .ecep-article-hero { padding: 48px 24px 58px; }
    .ecep-article-layout { gap: 35px; grid-template-columns: 1fr; padding: 48px 24px 62px; }
    .ecep-related { padding: 45px 24px; }
    .ecep-related > div:last-child { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .ecep-path-grid { grid-template-columns: 1fr; }
    .ecep-hero h1 { font-size: 48px; }
}
