/* Approved elementary page v1. Scoped without changing prototype specificity. */
.elementary-page {
 --ep-deep:#052a5f; --ep-blue:#2766b9; --ep-ink:#244b77;
 --ep-pale:#f7fafe; --ep-line:#d7e4f4;
 --ep-serif:"Yu Mincho","Hiragino Mincho ProN",serif;
 --ep-sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
}
.elementary-page {color:var(--ep-deep);font:16px/1.85 var(--ep-sans);}
.elementary-page *, .elementary-page *::before, .elementary-page *::after {box-sizing:border-box;}
.elementary-page > section :is(h1,h2,h3,p) {margin:0;}
.elementary-page :is(h1,h2,h3) {font-family:var(--ep-serif);font-weight:600;}
.elementary-page h1 {font-size:46px;line-height:1.45;letter-spacing:.025em;}
.elementary-page h2 {font-size:34px;line-height:1.5;letter-spacing:.015em;}
.elementary-page h3 {font-size:23px;line-height:1.6;}
:where(.elementary-page) .ep-container {width:calc(100% - 40px);max-width:1180px;margin-inline:auto;}
:where(.elementary-page) .ep-section {padding-block:80px;}
.elementary-page .ep-eyebrow {margin-bottom:16px;color:var(--ep-blue);font-size:12px;letter-spacing:.18em;}
:where(.elementary-page) .ep-hero {overflow:hidden;background:linear-gradient(112deg,#fff 0%,#f9fcff 48%,#edf5fd 100%);border-bottom:1px solid var(--ep-line);}
:where(.elementary-page) .ep-hero__layout {display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);min-height:560px;margin-inline:auto;}
:where(.elementary-page) .ep-hero__copy {position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:38px clamp(30px,4vw,56px) 34px max(20px,calc((100vw - 1180px) / 2));}
.elementary-page .ep-hero .ep-eyebrow {margin-bottom:8px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;}
.elementary-page .ep-hero h1 {color:#0a438c;font:600 28px/1.4 var(--ep-serif);letter-spacing:.035em;}
:where(.elementary-page) .ep-hero__catch {margin-top:14px;color:var(--ep-deep);font:600 clamp(44px,3.55vw,52px)/1.22 var(--ep-serif);letter-spacing:-.035em;}
:where(.elementary-page) .ep-hero__catch span {display:block;}
:where(.elementary-page) .ep-hero__body {max-width:500px;margin-top:15px;color:var(--ep-ink);font-size:15px;line-height:1.85;}
:where(.elementary-page) .ep-hero__actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
:where(.elementary-page) .ep-hero-button {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:9px 20px;border:1px solid #0a438c;border-radius:3px;font:700 14px/1.4 var(--ep-sans);text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
:where(.elementary-page) .ep-hero-button--primary {min-width:220px;background:#0a438c;color:#fff;}
:where(.elementary-page) .ep-hero-button--primary span {margin-left:22px;font-size:18px;font-weight:400;}
:where(.elementary-page) .ep-hero-button--line {min-width:128px;background:rgba(255,255,255,.78);color:#0a438c;cursor:pointer;appearance:none;}
:where(.elementary-page) .ep-hero-button:hover {background:#073575;border-color:#073575;color:#fff;}
:where(.elementary-page) .ep-hero-button:focus-visible {outline:3px solid #b9d2f0;outline-offset:3px;}
:where(.elementary-page) .ep-hero__facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,510px);margin:20px 0 0;padding:14px 0 0;border-top:1px solid #b9d2f0;}
:where(.elementary-page) .ep-hero__facts div {min-width:0;padding-right:12px;}
:where(.elementary-page) .ep-hero__facts div + div {padding-left:12px;border-left:1px solid var(--ep-line);}
:where(.elementary-page) .ep-hero__facts dt {margin:0 0 4px;color:var(--ep-blue);font-size:10px;font-weight:700;letter-spacing:.08em;}
:where(.elementary-page) .ep-hero__facts dd {margin:0;color:var(--ep-deep);font-size:11px;font-weight:600;line-height:1.55;}
:where(.elementary-page) .ep-hero__media {position:relative;min-width:0;min-height:560px;margin:0;overflow:hidden;clip-path:none;border-radius:15% 0 0 18% / 48% 0 0 52%;}
:where(.elementary-page) .ep-hero__media::after {position:absolute;inset:0;background:linear-gradient(90deg,rgba(237,245,253,.18),transparent 22%);content:"";pointer-events:none;}
:where(.elementary-page) .ep-hero__media img {display:block;width:100%;height:100%;object-fit:cover;object-position:52% 44%;}
:where(.elementary-page) .ep-foundation {padding-block:74px 80px;background:#fff;}
:where(.elementary-page) .ep-foundation__heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:72px;align-items:end;margin-bottom:50px;}
:where(.elementary-page) .ep-foundation .ep-eyebrow {margin-bottom:10px;}
:where(.elementary-page) .ep-foundation__intro {max-width:500px;color:var(--ep-ink);}
:where(.elementary-page) .ep-foundation__features {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
:where(.elementary-page) .ep-feature {min-width:0;padding:0 32px;}
:where(.elementary-page) .ep-feature:first-child {padding-left:0;}
:where(.elementary-page) .ep-feature:last-child {padding-right:0;}
:where(.elementary-page) .ep-feature + .ep-feature {border-left:1px solid var(--ep-line);}
:where(.elementary-page) .ep-feature__mark {display:flex;align-items:flex-start;justify-content:flex-start;gap:clamp(30px,3vw,44px);min-height:52px;}
:where(.elementary-page) .ep-feature__number {color:var(--ep-blue);font:500 17px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.08em;}
:where(.elementary-page) .ep-feature__icon {display:block;width:50px;height:50px;flex:0 0 50px;fill:none;stroke:var(--ep-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
:where(.elementary-page) .ep-small-label {display:block;margin-bottom:6px;color:var(--ep-blue);font-size:13px;}
:where(.elementary-page) .ep-feature__content {margin-top:16px;}
:where(.elementary-page) .ep-feature h3 {font-size:21px;line-height:1.5;}
.elementary-page .ep-feature p {margin-top:10px;color:var(--ep-ink);font-size:14px;line-height:1.78;}
:where(.elementary-page) .ep-heading-row {display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;margin-bottom:44px;}
:where(.elementary-page) .ep-heading-row > p {color:var(--ep-ink);}
:where(.elementary-page) .ep-subjects {padding-block:68px 70px;background:var(--ep-pale);color:var(--ep-deep);}
:where(.elementary-page) .ep-subjects__heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:72px;align-items:end;margin-bottom:44px;}
:where(.elementary-page) .ep-subjects .ep-eyebrow {margin-bottom:10px;}
:where(.elementary-page) .ep-subjects__intro {max-width:480px;color:var(--ep-ink);line-height:1.8;}
:where(.elementary-page) .ep-subject-list {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;}
:where(.elementary-page) .ep-subject-list li {display:flex;flex-direction:column;gap:16px;min-width:0;min-height:92px;padding:4px 24px 0;}
:where(.elementary-page) .ep-subject-list li:first-child {padding-left:0;}
:where(.elementary-page) .ep-subject-list li:last-child {padding-right:0;}
:where(.elementary-page) .ep-subject-list li + li {border-left:1px solid #c8dbf1;}
:where(.elementary-page) .ep-subject__number {display:block;color:var(--ep-blue);font:500 13px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.08em;}
:where(.elementary-page) .ep-subject-list h3 {margin-top:0;font-size:26px;line-height:1.35;}
.elementary-page .ep-note {margin-top:30px;font-size:14px;color:var(--ep-ink);}
:where(.elementary-page) .ep-subjects .ep-note {margin-top:34px;padding-top:14px;border-top:1px solid #c8dbf1;color:var(--ep-ink);}
:where(.elementary-page) .ep-needs {padding-block:70px 74px;background:#fff;}
:where(.elementary-page) .ep-needs__layout {display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:56px;align-items:center;}
:where(.elementary-page) .ep-needs__media {min-width:0;margin:0;overflow:hidden;aspect-ratio:5/4;}
:where(.elementary-page) .ep-needs__media img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
:where(.elementary-page) .ep-needs__copy {min-width:0;}
.elementary-page .ep-needs .ep-eyebrow {margin-bottom:10px;}
.elementary-page .ep-needs h2 {font-size:32px;line-height:1.35;}
.elementary-page .ep-needs__intro {margin-top:14px;color:var(--ep-ink);font-size:15px;line-height:1.75;}
:where(.elementary-page) .ep-needs__list {margin-top:22px;border-top:1px solid var(--ep-line);}
:where(.elementary-page) .ep-needs__list article {display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:24px;align-items:start;padding:18px 0;border-bottom:1px solid var(--ep-line);}
:where(.elementary-page) .ep-needs__list h3 {font-size:18px;line-height:1.5;}
.elementary-page .ep-needs__list p {color:var(--ep-ink);font-size:14px;line-height:1.75;}
:where(.elementary-page) .ep-support {padding-block:70px 76px;background:#eff5fc;}
:where(.elementary-page) .ep-support__intro {display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
:where(.elementary-page) .ep-support__list article {padding-block:18px;border-bottom:1px solid #c8dbf1;}
:where(.elementary-page) .ep-support__list article:first-child {border-top:1px solid #c8dbf1;}
:where(.elementary-page) .ep-support__list h3 {font-size:20px;line-height:1.55;}
.elementary-page .ep-support__list p {margin-top:10px;color:var(--ep-ink);font-size:14px;line-height:1.85;}
:where(.elementary-page) .ep-formats {margin-top:48px;padding-top:48px;border-top:1px solid #c8dbf1;}
:where(.elementary-page) .ep-formats__heading {display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:36px;}
:where(.elementary-page) .ep-formats__heading > p {color:var(--ep-ink);}
:where(.elementary-page) .ep-format-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
:where(.elementary-page) .ep-format {min-width:0;padding:0 34px;text-align:center;}
:where(.elementary-page) .ep-format:first-child {padding-left:0;}
:where(.elementary-page) .ep-format:last-child {padding-right:0;}
:where(.elementary-page) .ep-format + .ep-format {border-left:1px solid var(--ep-line);}
.elementary-page .ep-ratio {color:var(--ep-blue);font:400 54px/1 Georgia,"Times New Roman",serif;letter-spacing:.02em;}
:where(.elementary-page) .ep-people {display:block;width:128px;height:52px;margin:14px auto;fill:none;stroke:var(--ep-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
:where(.elementary-page) .ep-format h3 {font-size:21px;line-height:1.55;}
.elementary-page .ep-format__body {max-width:280px;margin:10px auto 0;color:var(--ep-ink);font-size:14px;line-height:1.85;text-align:left;}
:where(.elementary-page) .ep-formats .ep-note {margin-top:28px;padding-top:14px;border-top:1px solid #c8dbf1;text-align:center;}
@media(max-width:959px) {
 .elementary-page {font-size:15px;line-height:1.85;}
 .elementary-page h1 {font-size:32px;line-height:1.5;letter-spacing:0;}
 .elementary-page h2 {font-size:28px;line-height:1.5;letter-spacing:0;}
 .elementary-page h3 {font-size:22px;}
 :where(.elementary-page) .ep-section {padding-block:56px;}
 .elementary-page .ep-eyebrow {margin-bottom:12px;}
 :where(.elementary-page) .ep-hero__layout {grid-template-columns:1fr;min-height:0;}
 :where(.elementary-page) .ep-hero__copy {padding:28px 20px 24px;}
 .elementary-page .ep-hero .ep-eyebrow {margin-bottom:7px;}
 .elementary-page .ep-hero h1 {font-size:20px;line-height:1.5;}
 :where(.elementary-page) .ep-hero__catch {margin-top:14px;font-size:clamp(36px,10.4vw,46px);line-height:1.24;}
 :where(.elementary-page) .ep-hero__body {margin-top:14px;font-size:14px;line-height:1.8;}
 :where(.elementary-page) .ep-hero__actions {gap:10px;margin-top:20px;}
 :where(.elementary-page) .ep-hero-button {min-height:50px;}
 :where(.elementary-page) .ep-hero-button--primary {min-width:0;flex:1 1 190px;}
 :where(.elementary-page) .ep-hero-button--line {min-width:114px;flex:0 0 120px;}
 :where(.elementary-page) .ep-hero__facts {margin-top:20px;padding-top:14px;}
 :where(.elementary-page) .ep-hero__facts div {padding-right:9px;}
 :where(.elementary-page) .ep-hero__facts div + div {padding-left:9px;}
 :where(.elementary-page) .ep-hero__facts dt {font-size:10px;}
 :where(.elementary-page) .ep-hero__facts dd {font-size:11px;line-height:1.55;}
 :where(.elementary-page) .ep-hero__media {height:clamp(265px,70vw,330px);min-height:clamp(265px,70vw,330px);clip-path:none;border-radius:64px 0 0;}
 :where(.elementary-page) .ep-hero__media img {object-position:52% 44%;}
 :where(.elementary-page) .ep-foundation {padding-block:44px 48px;}
 :where(.elementary-page) .ep-foundation__heading {grid-template-columns:1fr;gap:12px;margin-bottom:24px;}
 :where(.elementary-page) .ep-foundation .ep-eyebrow {margin-bottom:8px;}
 :where(.elementary-page) .ep-foundation__intro {max-width:620px;}
 :where(.elementary-page) .ep-foundation__features {grid-template-columns:1fr;}
 :where(.elementary-page) .ep-feature,:where(.elementary-page) .ep-feature:first-child,:where(.elementary-page) .ep-feature:last-child {display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;padding:18px 0;}
 :where(.elementary-page) .ep-feature:first-child {padding-top:4px;}
 :where(.elementary-page) .ep-feature:last-child {padding-bottom:0;}
 :where(.elementary-page) .ep-feature + .ep-feature {border-top:1px solid var(--ep-line);border-left:0;}
 :where(.elementary-page) .ep-feature__mark {display:block;min-height:0;}
 :where(.elementary-page) .ep-feature__number {display:block;margin-bottom:10px;}
 :where(.elementary-page) .ep-feature__icon {width:44px;height:44px;}
 :where(.elementary-page) .ep-feature__content {margin-top:0;}
 :where(.elementary-page) .ep-feature h3 {font-size:20px;}
 .elementary-page .ep-feature p {margin-top:8px;font-size:14px;line-height:1.75;}
 :where(.elementary-page) .ep-heading-row {grid-template-columns:1fr;gap:28px;}
 :where(.elementary-page) .ep-heading-row {gap:20px;margin-bottom:30px;}
 :where(.elementary-page) .ep-desktop-break {display:none;}
 :where(.elementary-page) .ep-subjects {padding-block:52px 56px;}
 :where(.elementary-page) .ep-subjects__heading {grid-template-columns:1fr;gap:14px;margin-bottom:24px;}
 :where(.elementary-page) .ep-subjects .ep-eyebrow {margin-bottom:8px;}
 :where(.elementary-page) .ep-subjects__intro {max-width:620px;}
 :where(.elementary-page) .ep-subject-list {grid-template-columns:1fr;}
 :where(.elementary-page) .ep-subject-list li,:where(.elementary-page) .ep-subject-list li:first-child,:where(.elementary-page) .ep-subject-list li:last-child {display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;min-height:0;padding:18px 0;}
 :where(.elementary-page) .ep-subject-list li:first-child {padding-top:4px;}
 :where(.elementary-page) .ep-subject-list li:last-child {padding-bottom:0;}
 :where(.elementary-page) .ep-subject-list li + li {border-top:1px solid #c8dbf1;border-left:0;}
 :where(.elementary-page) .ep-subject-list h3 {margin-top:0;font-size:23px;}
 .elementary-page .ep-note {margin-top:23px;font-size:13px;}
 :where(.elementary-page) .ep-subjects .ep-note {margin-top:24px;padding-top:14px;}
 :where(.elementary-page) .ep-needs {padding-block:48px 52px;}
 :where(.elementary-page) .ep-needs__layout {grid-template-columns:1fr;gap:18px;}
 :where(.elementary-page) .ep-needs__media {width:100%;aspect-ratio:3/2;}
 .elementary-page .ep-needs .ep-eyebrow {margin-bottom:8px;}
 .elementary-page .ep-needs h2 {font-size:28px;line-height:1.4;}
 .elementary-page .ep-needs__intro {margin-top:12px;font-size:14px;line-height:1.75;}
 :where(.elementary-page) .ep-needs__list {margin-top:18px;}
 :where(.elementary-page) .ep-needs__list article {grid-template-columns:1fr;gap:6px;padding:12px 0;}
 :where(.elementary-page) .ep-needs__list h3 {font-size:19px;line-height:1.45;}
 .elementary-page .ep-needs__list p {font-size:14px;line-height:1.7;}
 :where(.elementary-page) .ep-support {padding-block:48px 52px;}
 :where(.elementary-page) .ep-support__intro {grid-template-columns:1fr;gap:20px;}
 :where(.elementary-page) .ep-support__list article {padding-block:16px;}
 :where(.elementary-page) .ep-formats {margin-top:40px;padding-top:40px;}
 :where(.elementary-page) .ep-formats__heading {grid-template-columns:1fr;gap:14px;margin-bottom:24px;}
 :where(.elementary-page) .ep-format-grid {grid-template-columns:1fr;border-top:1px solid #c8dbf1;}
 :where(.elementary-page) .ep-format,:where(.elementary-page) .ep-format:first-child,:where(.elementary-page) .ep-format:last-child {display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"ratio title" "icon body";column-gap:22px;row-gap:8px;align-items:start;padding:17px 0;border-bottom:1px solid #c8dbf1;text-align:left;}
 :where(.elementary-page) .ep-format + .ep-format {border-left:0;}
 .elementary-page .ep-ratio {grid-area:ratio;font-size:46px;}
 :where(.elementary-page) .ep-people {grid-area:icon;width:88px;height:44px;margin:0;}
 :where(.elementary-page) .ep-format h3 {grid-area:title;align-self:end;font-size:20px;text-align:left;}
 .elementary-page .ep-format__body {grid-area:body;max-width:none;margin:0;font-size:14px;}
 :where(.elementary-page) .ep-formats .ep-note {margin-top:16px;padding-top:0;border-top:0;text-align:left;}
}
@media(min-width:960px) and (max-width:1100px) {
 :where(.elementary-page) .ep-hero__layout {grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:548px;}
 :where(.elementary-page) .ep-hero__copy {padding:34px 24px 32px 20px;}
 :where(.elementary-page) .ep-hero__catch {font-size:42px;}
 :where(.elementary-page) .ep-hero__body {margin-top:13px;font-size:14px;line-height:1.75;}
 :where(.elementary-page) .ep-hero__actions {margin-top:16px;}
 :where(.elementary-page) .ep-hero-button {min-height:50px;padding-inline:17px;}
 :where(.elementary-page) .ep-hero-button--primary {min-width:198px;}
 :where(.elementary-page) .ep-hero__facts {margin-top:17px;padding-top:13px;}
 :where(.elementary-page) .ep-hero__facts div {padding-right:8px;}
 :where(.elementary-page) .ep-hero__facts div + div {padding-left:8px;}
 :where(.elementary-page) .ep-hero__facts dd {font-size:11px;}
 :where(.elementary-page) .ep-hero__media {min-height:548px;}
 :where(.elementary-page) .ep-foundation {padding-block:68px 72px;}
 :where(.elementary-page) .ep-foundation__heading {gap:58px;margin-bottom:45px;}
 :where(.elementary-page) .ep-feature,:where(.elementary-page) .ep-feature:first-child,:where(.elementary-page) .ep-feature:last-child {padding-inline:22px;}
 :where(.elementary-page) .ep-feature:first-child {padding-left:0;}
 :where(.elementary-page) .ep-feature:last-child {padding-right:0;}
 :where(.elementary-page) .ep-feature__content {margin-top:14px;}
 :where(.elementary-page) .ep-foundation .ep-small-label {margin-bottom:4px;}
 :where(.elementary-page) .ep-feature h3 {font-size:20px;letter-spacing:-.015em;}
 .elementary-page .ep-feature p {margin-top:8px;line-height:1.7;}
}
@media(max-width:389px) {
 :where(.elementary-page) .ep-hero__actions {display:grid;grid-template-columns:1fr;}
 :where(.elementary-page) .ep-hero-button--line {width:100%;min-width:0;}
}

/* Reference rebuild: Hero / Features / Flow / Environment. */
.elementary-page {
 --ep-deep:#052a5f;
 --ep-blue:#2766b9;
 --ep-ink:#244b77;
 --ep-pale:#f7fafe;
 --ep-flow-bg:#eff5fc;
 --ep-line:#d7e4f4;
}
.elementary-page .ep-container {width:calc(100% - 40px);max-width:1180px;margin-inline:auto;}
.elementary-page :is(.ep-features,.ep-flow,.ep-environment) {padding-block:64px;}
.elementary-page :is(.ep-features,.ep-flow,.ep-environment) :is(h2,h3,p) {margin:0;}
.elementary-page :is(.ep-features,.ep-flow,.ep-environment) h2 {font-size:34px;line-height:1.42;letter-spacing:.01em;}
.elementary-page :is(.ep-features,.ep-flow,.ep-environment) h3 {font-size:20px;line-height:1.48;letter-spacing:.01em;}
.elementary-page .ep-eyebrow {margin:0 0 8px;color:var(--ep-blue);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;}
.elementary-page .ep-section-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:64px;align-items:end;margin-bottom:38px;}
.elementary-page .ep-section-heading > p {max-width:430px;color:var(--ep-ink);font-size:14px;line-height:1.8;}

.elementary-page .ep-hero {overflow:hidden;background:linear-gradient(112deg,#fff 0%,#f8fbff 48%,#edf5fd 100%);border-bottom:1px solid var(--ep-line);}
.elementary-page .ep-hero__layout {display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:500px;margin-inline:auto;}
.elementary-page .ep-hero__copy {position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:46px 40px 46px max(20px,calc((100vw - 1180px) / 2));}
.elementary-page .ep-hero .ep-eyebrow {margin-bottom:8px;}
.elementary-page .ep-hero h1 {margin:0;color:var(--ep-deep);font:600 44px/1.3 var(--ep-serif);letter-spacing:.015em;}
.elementary-page .ep-hero__catch {margin:18px 0 0;color:var(--ep-deep);font:600 36px/1.35 var(--ep-serif);letter-spacing:.01em;}
.elementary-page .ep-hero__catch span {display:block;}
.elementary-page .ep-hero__body {max-width:500px;margin:12px 0 0;color:var(--ep-ink);font-size:14px;line-height:1.82;}
.elementary-page .ep-hero__actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.elementary-page .ep-hero-button {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:9px 22px;border:1px solid #0a438c;border-radius:3px;font:700 14px/1.4 var(--ep-sans);text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.elementary-page .ep-hero-button--primary {min-width:220px;background:#0a438c;color:#fff;}
.elementary-page .ep-hero-button--primary span {margin-left:22px;font-size:18px;font-weight:400;}
.elementary-page .ep-hero-button--line {min-width:142px;background:rgba(255,255,255,.76);color:#0a438c;cursor:pointer;appearance:none;}
.elementary-page .ep-hero-button:hover {background:#073575;border-color:#073575;color:#fff;}
.elementary-page .ep-hero-button:focus-visible {outline:3px solid #b9d2f0;outline-offset:3px;}
.elementary-page .ep-hero__media {position:relative;min-width:0;min-height:500px;margin:0;overflow:hidden;clip-path:none;border-radius:15% 0 0 18% / 48% 0 0 52%;}
.elementary-page .ep-hero__media::after {position:absolute;inset:0;background:linear-gradient(90deg,rgba(237,245,253,.15),transparent 19%);content:"";pointer-events:none;}
.elementary-page .ep-hero__media img {display:block;width:100%;height:100%;object-fit:cover;object-position:52% 45%;}

.elementary-page .ep-features {background:#fff;}
.elementary-page .ep-feature-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
.elementary-page .ep-features .ep-feature {display:flex;min-width:0;flex-direction:column;align-items:center;padding:0 22px;text-align:center;}
.elementary-page .ep-features .ep-feature:first-child {padding-left:0;}
.elementary-page .ep-features .ep-feature:last-child {padding-right:0;}
.elementary-page .ep-features .ep-feature + .ep-feature {border-left:1px solid var(--ep-line);}
.elementary-page .ep-feature__number {color:#3f78c2;font:600 30px/1 Georgia,"Times New Roman",serif;letter-spacing:.08em;}
.elementary-page .ep-features .ep-feature__icon {display:block;width:48px;height:48px;flex:0 0 48px;margin:14px auto 12px;fill:none;stroke:var(--ep-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.elementary-page .ep-features .ep-feature h3 {font-size:18px;line-height:1.5;}
.elementary-page .ep-features .ep-feature p {margin-top:9px;color:var(--ep-ink);font-size:13px;line-height:1.75;text-align:left;}
.elementary-page .ep-features__note {margin:26px 0 0;padding-top:14px;border-top:1px solid var(--ep-line);color:var(--ep-ink);font-size:13px;line-height:1.75;}

.elementary-page .ep-flow {background:linear-gradient(112deg,#f7fafe 0%,var(--ep-flow-bg) 100%);}
.elementary-page .ep-flow-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px;margin:0;padding:0;list-style:none;counter-reset:none;}
.elementary-page .ep-flow-grid li {position:relative;min-width:0;}
.elementary-page .ep-flow-grid li:not(:last-child)::after {position:absolute;top:23px;right:-21px;width:16px;height:16px;border-top:1px solid #7fa8dc;border-right:1px solid #7fa8dc;content:"";transform:rotate(45deg);}
.elementary-page .ep-flow__number {display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#8ab8ef,#5f96db);color:#fff;font:600 14px/1 Georgia,"Times New Roman",serif;letter-spacing:.05em;}
.elementary-page .ep-flow-grid h3 {margin-top:14px;font-size:18px;}
.elementary-page .ep-flow-grid p {margin-top:7px;color:var(--ep-ink);font-size:13px;line-height:1.72;}
.elementary-page .ep-flow__support {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:34px;padding-top:22px;border-top:1px solid #c8dbf1;}
.elementary-page .ep-flow__support p {display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;color:var(--ep-ink);font-size:13px;line-height:1.7;}
.elementary-page .ep-flow__support strong {color:var(--ep-deep);font-family:var(--ep-serif);font-size:16px;font-weight:600;}

.elementary-page .ep-environment {background:#fff;}
.elementary-page .ep-environment-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.elementary-page .ep-environment-card {min-width:0;}
.elementary-page .ep-environment-card figure {margin:0;overflow:hidden;aspect-ratio:1.9/1;background:var(--ep-pale);}
.elementary-page .ep-environment-card img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;}
.elementary-page .ep-environment-card:nth-child(1) img {object-position:52% 48%;}
.elementary-page .ep-environment-card:nth-child(2) img {object-position:55% 42%;}
.elementary-page .ep-environment-card:nth-child(3) img {object-position:55% 45%;}
.elementary-page .ep-environment-card h3 {margin-top:14px;font-size:20px;}
.elementary-page .ep-environment-card p {margin-top:6px;color:var(--ep-ink);font-size:13px;line-height:1.72;}

@media(min-width:960px) and (max-width:1180px) {
 .elementary-page .ep-hero__layout {grid-template-columns:minmax(0,47%) minmax(0,53%);}
 .elementary-page .ep-hero__copy {padding-right:26px;padding-left:20px;}
 .elementary-page .ep-hero h1 {font-size:39px;}
 .elementary-page .ep-hero__catch {font-size:33px;}
 .elementary-page .ep-feature-grid {gap:0;}
 .elementary-page .ep-features .ep-feature {padding-inline:16px;}
 .elementary-page .ep-features .ep-feature h3 {font-size:17px;}
 .elementary-page .ep-flow-grid {gap:28px;}
 .elementary-page .ep-flow-grid li:not(:last-child)::after {right:-17px;}
}

@media(max-width:959px) {
 .elementary-page {font-size:15px;}
 .elementary-page .ep-container {width:calc(100% - 40px);}
 .elementary-page :is(.ep-features,.ep-flow,.ep-environment) {padding-block:50px;}
 .elementary-page :is(.ep-features,.ep-flow,.ep-environment) h2 {font-size:28px;line-height:1.45;}
 .elementary-page .ep-section-heading {grid-template-columns:1fr;gap:12px;margin-bottom:28px;}
 .elementary-page .ep-section-heading > p {max-width:620px;font-size:14px;}
 .elementary-page .ep-desktop-break {display:none;}
 .elementary-page .ep-hero__layout {grid-template-columns:1fr;min-height:0;}
 .elementary-page .ep-hero__copy {padding:30px 20px 26px;}
 .elementary-page .ep-hero h1 {font-size:30px;line-height:1.35;}
 .elementary-page .ep-hero__catch {margin-top:13px;font-size:34px;line-height:1.3;}
 .elementary-page .ep-hero__body {margin-top:12px;font-size:14px;line-height:1.78;}
 .elementary-page .ep-hero__actions {gap:10px;margin-top:20px;}
 .elementary-page .ep-hero-button {min-height:50px;padding-inline:16px;}
 .elementary-page .ep-hero-button--primary {min-width:0;flex:1 1 190px;}
 .elementary-page .ep-hero-button--line {min-width:116px;flex:0 0 124px;}
 .elementary-page .ep-hero__media {height:clamp(250px,65vw,330px);min-height:clamp(250px,65vw,330px);clip-path:none;border-radius:64px 0 0;}
 .elementary-page .ep-hero__media img {object-position:52% 44%;}
 .elementary-page .ep-feature-grid {grid-template-columns:1fr;}
 .elementary-page .ep-features .ep-feature,.elementary-page .ep-features .ep-feature:first-child,.elementary-page .ep-features .ep-feature:last-child {display:grid;grid-template-columns:46px 50px minmax(0,1fr);grid-template-areas:"number icon title" "number icon body";column-gap:12px;row-gap:5px;align-items:start;padding:18px 0;text-align:left;}
 .elementary-page .ep-features .ep-feature:first-child {padding-top:0;}
 .elementary-page .ep-features .ep-feature:last-child {padding-bottom:0;}
 .elementary-page .ep-features .ep-feature + .ep-feature {border-top:1px solid var(--ep-line);border-left:0;}
 .elementary-page .ep-feature__number {grid-area:number;font-size:25px;}
 .elementary-page .ep-features .ep-feature__icon {grid-area:icon;width:42px;height:42px;margin:0;}
 .elementary-page .ep-features .ep-feature h3 {grid-area:title;font-size:18px;}
 .elementary-page .ep-features .ep-feature p {grid-area:body;margin:0;font-size:13px;}
 .elementary-page .ep-features__note {margin-top:24px;}
 .elementary-page .ep-flow-grid {grid-template-columns:1fr;gap:0;}
 .elementary-page .ep-flow-grid li {display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:0 0 22px;}
 .elementary-page .ep-flow-grid li:last-child {padding-bottom:0;}
 .elementary-page .ep-flow-grid li:not(:last-child)::before {position:absolute;top:50px;bottom:0;left:25px;border-left:1px solid #b9d2f0;content:"";}
 .elementary-page .ep-flow-grid li:not(:last-child)::after {display:none;}
 .elementary-page .ep-flow__number {grid-row:1 / span 2;width:50px;height:50px;}
 .elementary-page .ep-flow-grid h3 {margin-top:0;font-size:18px;}
 .elementary-page .ep-flow-grid p {margin-top:5px;font-size:13px;}
 .elementary-page .ep-flow__support {grid-template-columns:1fr;gap:12px;margin-top:28px;padding-top:18px;}
 .elementary-page .ep-flow__support p {grid-template-columns:1fr;gap:4px;}
 .elementary-page .ep-environment-grid {grid-template-columns:1fr;gap:26px;}
 .elementary-page .ep-environment-card figure {aspect-ratio:1.75/1;}
 .elementary-page .ep-environment-card h3 {margin-top:12px;font-size:19px;}
}

@media(min-width:720px) and (max-width:959px) {
 .elementary-page .ep-environment-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
 .elementary-page .ep-environment-card figure {aspect-ratio:1.55/1;}
 .elementary-page .ep-environment-card h3 {font-size:17px;}
 .elementary-page .ep-environment-card p {font-size:12px;}
}

@media(max-width:389px) {
 .elementary-page .ep-hero__actions {display:grid;grid-template-columns:1fr;}
 .elementary-page .ep-hero-button--line {width:100%;min-width:0;}
 .elementary-page .ep-features .ep-feature,.elementary-page .ep-features .ep-feature:first-child,.elementary-page .ep-features .ep-feature:last-child {grid-template-columns:40px 42px minmax(0,1fr);column-gap:10px;}
 .elementary-page .ep-feature__number {font-size:22px;}
 .elementary-page .ep-features .ep-feature__icon {width:38px;height:38px;}
}
