/* Homepage only. The shared application, advertising and navigation keep their theme. */
.ep-home .ep-hospitality{border-block:1px solid #b6b59e66;padding-block:clamp(2rem,4vw,3.5rem);margin-block-end:clamp(2rem,4vw,3.5rem);text-align:center}
.ep-home .ep-hospitality figure{max-inline-size:54rem;margin:0 auto;padding-inline:clamp(0rem,2vw,1.5rem)}
.ep-home .ep-hospitality blockquote{margin:0;letter-spacing:normal}
.ep-home .ep-hospitality blockquote p{margin:0;color:var(--ep-forest);font:400 clamp(1.125rem,2vw,1.75rem)/1.8 var(--serif,Georgia,serif);overflow-wrap:anywhere}
.ep-home .ep-hospitality figcaption{margin-block-start:1.25rem;color:var(--ep-forest);font:.875rem/1.6 var(--sans,sans-serif);overflow-wrap:anywhere}
.ep-home .ep-hospitality cite{font-style:normal}
.ep-home .ep-benefit-links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.85rem}.ep-home .ep-benefit-links a{font-size:.72rem;text-decoration:none;border-bottom:1px solid #a09a7970;padding-block:.25rem}.ep-home .ep-benefit-links a:hover{text-decoration:underline}.ep-home .ep-free-promise{display:flex;align-items:center;gap:1.5rem;padding:1.6rem 0 0}.ep-home .ep-free-promise>span{font:2.5rem Georgia,serif;color:#9c8352}.ep-home .ep-free-promise h3{margin:0 0 .4rem;font-size:1.2rem}.ep-home .ep-free-promise p{margin:0;font-size:.8rem;max-width:49rem;color:#58634f}.ep-home .ep-connect{padding-block:0 4.5rem}.ep-home .ep-connect>div{max-width:40rem}.ep-home .ep-connect h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.25;margin:.6rem 0 2rem}.ep-home .ep-connect ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.ep-home .ep-connect li{border-top:1px solid #b6b59e66;padding-top:1.1rem}.ep-home .ep-connect li>span{color:#947c4f;font-size:.65rem;letter-spacing:.18em}.ep-home .ep-connect h3{font-size:1.15rem;line-height:1.5;margin:.75rem 0}.ep-home .ep-connect li p{font-size:.8rem;color:#58634f;margin:0}.ep-home .ep-closing .ep-closing-copy{color:#e3dcc8;font-size:.9rem;max-width:36rem;margin:-.5rem auto 2rem}@media(max-width:760px){.ep-home .ep-connect{padding-bottom:3rem}.ep-home .ep-connect ol{grid-template-columns:1fr;gap:1.3rem}.ep-home .ep-free-promise{align-items:flex-start;gap:1rem}.ep-home .ep-free-promise h3{font-size:1.05rem}.ep-home .ep-benefit-links a{padding-block:.5rem}.ep-home .ep-closing .ep-closing-copy{font-size:.85rem}}
.ep-home{--ep-forest:#183c30;--ep-paper:#f6f3eb;--ep-gold:#d9bd83;background:var(--ep-paper);color:var(--ep-forest)}
.ep-home *{box-sizing:border-box}.ep-home a{text-underline-offset:5px}.ep-home .ep-width{width:min(100% - 6rem,1200px);margin-inline:auto}.ep-home h1,.ep-home h2,.ep-home h3{font-family:var(--serif,Georgia,serif);font-weight:400;letter-spacing:-.045em}.ep-home p{line-height:1.7}.ep-home .eyebrow{font-size:.65rem;letter-spacing:.2em}
.ep-home .ep-portals{position:relative;isolation:isolate;min-height:640px;height:calc(100svh - 210px);max-height:1050px;background:#17382f;color:#fff8e9;overflow:hidden}
.ep-home .ep-hero-heading{position:absolute;inset:0 0 auto;z-index:3;text-align:center;padding:2rem 1rem 4.5rem;pointer-events:none;background:linear-gradient(#102c2ac9,#102c2a75 65%,transparent)}
.ep-home .ep-hero-heading .eyebrow{color:#f2dfb7;margin:0 0 .7rem}.ep-home .ep-hero-heading h1{font-size:clamp(2.5rem,4.5vw,5rem);line-height:1.16;margin:0;color:#fff8ec;text-shadow:0 2px 22px #10251f88}.ep-home .ep-hero-heading>p:last-child{font:400 clamp(.9rem,1.2vw,1.1rem)/1.5 var(--serif,Georgia,serif);color:#fff4df;margin:.7rem 0 0;letter-spacing:.04em}
.ep-home .ep-portal-grid{height:100%;display:flex;gap:2px}.ep-home .ep-portal{position:relative;isolation:isolate;display:flex;align-items:flex-end;flex:1 1 0;min-width:0;overflow:hidden;text-decoration:none;color:#fff8ec;transition:flex-grow .85s cubic-bezier(.22,.68,.18,1);background:#243c30}
.ep-home .ep-portal picture{position:absolute;inset:-3%;z-index:-3}.ep-home .ep-portal img{width:100%;height:100%;object-fit:cover;transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.015);transition:transform 1s cubic-bezier(.2,.65,.2,1),filter .75s;filter:saturate(.78) brightness(.88);object-position:52% 48%}
.ep-home .ep-portal-people img{object-position:56% 50%}.ep-home .ep-portal-projects img{object-position:44% 50%}.ep-home .ep-portal-sailors img{object-position:49% 50%}
.ep-home .ep-portal::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#071e19f5, #071e19a1 24%,#11251b08 65%);pointer-events:none}
.ep-home .ep-atmosphere{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 18% 28%,#efc57436,transparent 60%);mix-blend-mode:screen;opacity:.4;transition:opacity 1s;pointer-events:none}.ep-home .ep-portal-projects .ep-atmosphere{background:radial-gradient(ellipse at 8% 20%,#e6cd8736,transparent 65%)}.ep-home .ep-portal-sailors .ep-atmosphere{background:radial-gradient(ellipse at 54% 39%,#ffd49b40,transparent 55%)}
.ep-home .ep-portal-number{position:absolute;top:46%;inset-inline-start:2.2rem;font-size:.6rem;letter-spacing:.18em;color:#fff8e9c7;writing-mode:vertical-rl}.ep-home .ep-portal-number>span{margin-block:.7rem;color:#f4ddb095}
.ep-home .ep-portal-copy{width:100%;padding:2.4rem 2.2rem 5.2rem;transform:translateY(0);transition:transform .7s}.ep-home .ep-portal-kicker{display:block;max-width:22rem;min-height:2.8em;color:#f3ddb5;font:italic .93rem/1.4 var(--serif,Georgia,serif)}.ep-home .ep-portal h2{font-size:clamp(2.5rem,4.1vw,4.7rem);line-height:1.12;color:inherit;margin:.15rem 0 .7rem}.ep-home .ep-portal-copy p{color:#fff5e7;font-size:.83rem;max-width:23rem;margin:0 0 1.3rem;min-height:3.4em}.ep-home .ep-portal-enter{display:flex;gap:1.5rem;justify-content:space-between;align-items:center;border-bottom:1px solid #ead5a881;padding:.7rem 0;color:#fff8e9;max-width:20rem;font-size:.75rem}.ep-home .ep-portal-enter>span{font-size:1.35rem;color:#ebce99;transition:transform .6s}.ep-home .ep-portal-copy small{display:block;margin-top:.8rem;color:#e7ddc8;font-size:.6rem;letter-spacing:.04em}
.ep-home .ep-scroll{position:absolute;z-index:4;inset:auto 0 0;display:flex;justify-content:center;gap:1.2rem;padding:1rem;text-decoration:none;color:#f1e6d0;font-size:.6rem;letter-spacing:.18em;background:linear-gradient(transparent,#0b27245c)}
.ep-home .ep-portal:focus-visible{outline:3px solid #ffe1a1;outline-offset:-6px;z-index:2}.ep-home .ep-portal-grid:has(.ep-portal:focus-visible) .ep-portal:focus-visible{flex-grow:1.5}.ep-home .ep-portal:focus-visible .ep-portal-enter{border-color:#ffe1a1}
@media(hover:hover) and (pointer:fine) and (min-width:761px){.ep-home .ep-portal-grid:has(.ep-portal:hover) .ep-portal:not(:hover) img{filter:saturate(.68) brightness(.62)}.ep-home .ep-portal:hover{flex-grow:1.7}.ep-home .ep-portal:hover img{transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.065);filter:saturate(.92) brightness(1.02)}.ep-home .ep-portal:hover .ep-atmosphere{opacity:.95}.ep-home .ep-portal:hover .ep-portal-copy{transform:translateY(-10px)}.ep-home .ep-portal:hover .ep-portal-enter>span{transform:translate(4px,-4px)}}
.ep-home .ep-alive{padding-block:5.5rem 4.5rem}.ep-home .ep-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.3rem}.ep-home .ep-section-heading h2,.ep-home .ep-passport-copy h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.18;margin:.7rem 0 0}.ep-home .ep-section-heading>p{font-size:.8rem;margin:0;color:#556352;max-width:22rem}.ep-home .ep-world{display:grid;grid-template-columns:1.6fr 1fr;align-items:stretch;border-block:1px solid #b6b59e66}.ep-home .ep-world-map{position:relative;display:flex;align-items:center;min-height:350px;background:radial-gradient(ellipse,#e5dec45e,transparent 70%)}.ep-home .ep-world-map>img{display:block;width:100%;height:auto;opacity:.66}.ep-home .ep-compass{position:absolute;inset:1.1rem 1rem auto auto;text-align:center;font: .65rem/1.6 Georgia,serif;color:#9c8352}.ep-home .ep-map-caption{position:absolute;bottom:1.3rem;inset-inline:1.3rem;font:italic .7rem var(--serif,Georgia,serif);color:#6b715b}.ep-home .ep-world-index{padding:1.2rem 0 1.2rem 2.3rem;border-inline-start:1px solid #b6b59e66}.ep-home .ep-world-category{padding:1rem 0;border-bottom:1px solid #b6b59e55}.ep-home .ep-world-category:last-child{border:0}.ep-home .ep-world-link{display:flex;justify-content:space-between;gap:1rem;font:1.35rem var(--serif,Georgia,serif);text-decoration:none}.ep-home .ep-world-link>span:last-child{color:#8d794d}.ep-home .ep-world-fallback{font-size:.75rem;margin:.6rem 0 0;color:#69715f}.ep-home .ep-world-results{list-style:none;margin:0;padding:0}.ep-home .ep-world-results:empty{display:none}.ep-home .ep-world-results li{margin-top:.65rem}.ep-home .ep-world-results a{display:block;font-size:.78rem;text-decoration:none;overflow-wrap:anywhere}.ep-home .ep-world-results small{display:block;color:#69715f;font-size:.65rem;margin-top:.2rem}.ep-home .ep-world-results a:hover{text-decoration:underline}.ep-home .ep-text-link{display:inline-flex;align-items:center;gap:1.5rem;font-size:.8rem;padding:.85rem 0;border-bottom:1px solid #8b815a;text-decoration:none;margin-top:1.25rem}
.ep-home .ep-passport-section{background:#ebe7da;padding-block:5rem}.ep-home .ep-passport-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:5rem;align-items:center}.ep-home .ep-passport-figure{margin:0;min-width:0;perspective:1200px}.ep-home .ep-passport-book{display:flex;aspect-ratio:1.5;transform:rotate(-8deg) rotateY(9deg);filter:drop-shadow(0 25px 18px #253c3029);position:relative;margin:1rem 0 2.5rem}.ep-home .ep-passport-cover{flex:0 0 44%;background:linear-gradient(110deg,#25493c,#14362b 90%,#0b281f);border-radius:9px 0 0 9px;box-shadow:inset 0 0 0 9px #234638,inset 0 0 0 10px #a7905d77;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d7c38c;gap:1rem;padding:1.4rem .7rem;text-align:center}.ep-home .ep-passport-cover .brand-logo{width:100%;max-width:170px}.ep-home .ep-passport-cover .brand-logo img{filter:brightness(0) invert(.8) sepia(.7);width:144.8%;height:auto}.ep-home .ep-passport-cover>span:not(.brand-logo){font-size:.5rem;letter-spacing:.2em}.ep-home .ep-passport-cover>.ep-passport-star{font-size:2.5rem!important}.ep-home .ep-passport-page{position:relative;flex:1;background:repeating-linear-gradient(0deg,transparent,transparent 28px,#b9b18a16 29px),linear-gradient(90deg,#c9bda0,#f4edda 8%,#f4edda 93%,#dbd0b6);border-radius:0 8px 8px 0;padding:1.4rem 1rem;overflow:hidden;border:1px solid #cbbf9e}.ep-home .ep-passport-label{font:italic .65rem var(--serif,Georgia,serif);color:#777459;display:block;text-align:center}.ep-home .ep-passport-map{position:absolute;inset:15% 0 auto;width:100%;height:auto;opacity:.25}.ep-home .ep-sample-stamps{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-top:2rem;gap:.5rem}.ep-home .ep-sample-stamps img{width:100%;height:auto;mix-blend-mode:multiply;transform:rotate(-14deg)}.ep-home .ep-sample-stamps img:nth-child(2){transform:rotate(13deg) translateY(1rem)}.ep-home .ep-sample-stamps img:nth-child(3){transform:rotate(6deg)}.ep-home .ep-level-stamp{position:absolute;bottom:.8rem;right:1rem;width:35%;height:auto;mix-blend-mode:multiply;transform:rotate(12deg)}.ep-home .ep-passport-figure figcaption{font:italic .72rem/1.7 var(--serif,Georgia,serif);text-align:center;color:#65705b;max-width:25rem;margin:auto}.ep-home .ep-passport-copy>p:not(.eyebrow){color:#58634f;font-size:.85rem;margin-top:1.3rem}.ep-home .ep-passport-copy dl{margin:1.5rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1.6rem}.ep-home .ep-passport-copy dt{font:400 .86rem/1.5 var(--serif,Georgia,serif);margin:0 0 .3rem}.ep-home .ep-passport-copy dd{font-size:.72rem;line-height:1.65;margin:0;color:#5e6855}
.ep-home .ep-closing{text-align:center;background:radial-gradient(ellipse at 50% 100%,#47604445,transparent 70%),#173b30;padding:3.7rem 1.5rem 4.5rem;color:#f6eedc}.ep-home .ep-closing-star{font:3rem/1 Georgia,serif;color:#c8b07a}.ep-home .ep-closing .eyebrow{color:#d7c9a9;margin:1.2rem 0}.ep-home .ep-closing h2{font-size:clamp(2.3rem,4vw,4rem);color:#fff5e3;line-height:1.2;margin:.8rem 0 2rem}.ep-home .ep-closing-actions{display:flex;justify-content:center;align-items:center;gap:1.8rem;flex-wrap:wrap}.ep-home .ep-join{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;padding:1rem 1.4rem;background:#e5d5ad;color:#173b30;border:1px solid #e5d5ad;border-radius:2px;text-decoration:none;font:500 .8rem/1.5 var(--sans,inherit)}.ep-home .ep-join:hover{background:#f9e8c0}.ep-home .ep-closing-explore{color:#f0e5ca;font-size:.8rem;text-decoration:none;padding:.7rem 0;border-bottom:1px solid #c1af83}.ep-home .ep-closing>small{display:block;color:#c6c3a8;letter-spacing:.15em;font-size:.6rem;margin-top:1.8rem}.ep-home a:focus-visible,.ep-home button:focus-visible{outline:3px solid #a9863d;outline-offset:5px}.ep-home .ep-closing a:focus-visible,.ep-home .ep-closing button:focus-visible{outline-color:#ffe5ac}
@media(min-width:761px) and (max-width:1050px){.ep-home .ep-portal-copy{padding-inline:1.4rem}.ep-home .ep-portal-kicker{font-size:.8rem}.ep-home .ep-passport-layout{gap:2.5rem}.ep-home .ep-portal-number{inset-inline-start:1.4rem}}
@media(max-width:760px){.ep-home .ep-width{width:calc(100% - 2.5rem)}.ep-home .ep-portals{height:auto;max-height:none;min-height:0;overflow:visible}.ep-home .ep-hero-heading{position:relative;padding:2.4rem 1.25rem 2rem;background:#173b30}.ep-home .ep-hero-heading h1{font-size:clamp(2rem,7.5vw,3.6rem)}.ep-home .ep-hero-heading .eyebrow{font-size:.52rem}.ep-home .ep-portal-grid{display:block}.ep-home .ep-portal{height:clamp(460px,72svh,640px);margin-bottom:2px}.ep-home .ep-portal picture{inset:0}.ep-home .ep-portal img{object-position:50% 43%}.ep-home .ep-portal-people img{object-position:54% 50%}.ep-home .ep-portal-number{top:1.5rem;inset-inline-start:1.5rem;writing-mode:horizontal-tb}.ep-home .ep-portal-copy{padding:8rem 1.6rem 2rem}.ep-home .ep-portal h2{font-size:3.3rem}.ep-home .ep-portal-kicker{min-height:0;font-size:.92rem}.ep-home .ep-portal-copy p{font-size:.85rem;min-height:0;margin-block:.8rem}.ep-home .ep-portal-enter{font-size:.78rem;max-width:100%}.ep-home .ep-portal-copy small{font-size:.62rem}.ep-home .ep-scroll{display:none}.ep-home .ep-alive{padding-block:3rem}.ep-home .ep-section-heading{display:block;margin-bottom:1.5rem}.ep-home .ep-section-heading>p{margin-top:1.2rem}.ep-home .ep-world{grid-template-columns:1fr}.ep-home .ep-world-map{min-height:210px;aspect-ratio:1.8}.ep-home .ep-map-caption{font-size:.6rem;bottom:.5rem}.ep-home .ep-world-index{border-inline-start:0;border-top:1px solid #b6b59e66;padding:0}.ep-home .ep-world-category{padding:1.2rem .25rem}.ep-home .ep-passport-section{padding-block:3rem}.ep-home .ep-passport-layout{grid-template-columns:1fr;gap:2.5rem}.ep-home .ep-passport-figure{width:calc(100% - 1rem);max-width:500px;margin:auto}.ep-home .ep-passport-book{margin-top:1.6rem}.ep-home .ep-passport-cover{gap:.7rem}.ep-home .ep-passport-cover>span:not(.brand-logo){font-size:.45rem}.ep-home .ep-passport-label{font-size:.5rem}.ep-home .ep-sample-stamps{margin-top:1.2rem;gap:.2rem}.ep-home .ep-passport-copy dl{gap:1.4rem 1rem}.ep-home .ep-closing{padding:3rem 1.5rem}.ep-home .ep-closing-actions{flex-direction:column;gap:1rem}.ep-home .ep-join{width:100%;max-width:22rem}.ep-home .ep-closing .eyebrow{font-size:.55rem}}
@media(prefers-reduced-motion:reduce){.ep-home *, .ep-home *::before,.ep-home *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.ep-home .ep-portal-grid .ep-portal:hover,.ep-home .ep-portal-grid .ep-portal:focus-visible{flex-grow:1}.ep-home .ep-portal-grid .ep-portal img,.ep-home .ep-portal-grid .ep-portal .ep-portal-copy{transform:none!important}}
@media(forced-colors:active){.ep-home .ep-portal{border:2px solid LinkText}.ep-home .ep-portal-copy{background:Canvas;color:CanvasText}.ep-home .ep-portal-copy *{color:CanvasText}.ep-home .ep-hero-heading{background:Canvas}.ep-home .ep-hero-heading *{color:CanvasText}}

/* Cinematic entry, followed by three compact paths. Original photographs and copy. */
.ep-home { --ep-forest: var(--forest); --ep-paper: var(--ivory); --ep-gold: var(--antique-gold); --ep-hero-direction: 90deg; }
html[dir='rtl'] .ep-home { --ep-hero-direction: 270deg; }
.ep-home .ep-width { width: min(100% - 3rem, 1200px); }
.ep-home .ep-home-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(32rem, 46vw, 41rem); padding: 4rem max(1.5rem, calc((100vw - 75rem) / 2)) 6rem; overflow: hidden; background: var(--forest-deep); color: var(--ivory); }
.ep-home .ep-home-hero-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: 64% 50%; }
.ep-home .ep-home-hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(var(--ep-hero-direction), color-mix(in srgb, var(--forest-deep) 94%, transparent), color-mix(in srgb, var(--forest-deep) 68%, transparent) 42%, color-mix(in srgb, var(--forest-deep) 7%, transparent) 85%), linear-gradient(0deg, color-mix(in srgb, var(--forest-deep) 55%, transparent), transparent 35%); }
.ep-home .ep-home-hero .ep-hero-heading { position: relative; inset: auto; max-width: 38rem; padding: 0; background: none; text-align: start; pointer-events: auto; }
.ep-home .ep-home-hero .ep-hero-heading .eyebrow { margin: 0 0 1.4rem; color: var(--ivory); font-size: .65rem; letter-spacing: .22em; }
.ep-home .ep-home-hero .ep-hero-heading h1 { max-width: 11ch; margin: 0; color: var(--ivory); font-size: clamp(3rem, 5.9vw, 5.5rem); line-height: 1.15; letter-spacing: -.055em; text-shadow: none; text-wrap: balance; }
.ep-home .ep-home-hero .ep-hero-heading > p:not(.eyebrow) { max-width: 28rem; margin: 1.5rem 0 2rem; color: var(--ivory); font: 400 1rem/1.8 var(--sans); letter-spacing: 0; }
.ep-home .ep-hero-explore { display: flex; align-items: center; gap: .8rem; width: min(100%, 27rem); min-height: 3.7rem; padding: .9rem 1.2rem; border: 1px solid var(--parchment); border-radius: 2rem; background: var(--ivory); color: var(--forest); text-decoration: none; font: 500 .95rem/1.5 var(--sans); box-shadow: 0 8px 24px color-mix(in srgb, var(--forest-deep) 15%, transparent); transition: background-color .2s, transform .2s; }
.ep-home .ep-hero-explore > .ui-icon { width: 1.2rem; height: 1.2rem; flex: none; }
.ep-home .ep-hero-explore > span { margin-inline-start: auto; font-size: 1.4rem; }
.ep-home .ep-hero-explore:hover { background: var(--parchment); transform: translateY(-2px); }
.ep-home .ep-hero-shortcuts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.ep-home .ep-hero-shortcuts a { display: flex; align-items: center; gap: 1rem; min-height: 44px; padding: .55rem .9rem; border: 1px solid color-mix(in srgb, var(--ivory) 40%, transparent); border-radius: 2rem; background: color-mix(in srgb, var(--forest-deep) 35%, transparent); color: var(--ivory); text-decoration: none; font: 500 .75rem/1.5 var(--sans); transition: background-color .2s; }
.ep-home .ep-hero-shortcuts a:hover { background: var(--forest); }
.ep-home .ep-hero-scroll { position: absolute; inset-block-end: 1.75rem; inset-inline-start: max(1.5rem, calc((100vw - 75rem) / 2)); display: flex; align-items: center; gap: 1.5rem; min-height: 44px; color: var(--ivory); font-size: .7rem; text-decoration: none; letter-spacing: .08em; }
.ep-home .ep-hero-scroll span { color: var(--antique-gold); font-size: 1.1rem; }
.ep-home .ep-portals { min-height: 0; height: auto; max-height: none; padding-block: 4rem 0; background: var(--ivory); color: var(--forest); overflow: visible; scroll-margin-top: 1.5rem; }
.ep-home .ep-paths-heading { margin-bottom: 1.75rem; }
.ep-home .ep-paths-heading .eyebrow { color: var(--accent); }
.ep-home .ep-paths-heading h2 { max-width: 26ch; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.3; margin: .65rem 0 0; }
.ep-home .ep-portal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; width: min(100% - 3rem, 1200px); height: auto; margin-inline: auto; }
.ep-home .ep-portal { height: 26rem; border: 1px solid color-mix(in srgb, var(--forest) 10%, transparent); border-radius: 1.5rem; box-shadow: 0 8px 25px color-mix(in srgb, var(--forest-deep) 8%, transparent); transition: box-shadow .3s, transform .3s; }
.ep-home .ep-portal::before { background: linear-gradient(0deg, color-mix(in srgb, var(--forest-deep) 97%, transparent), color-mix(in srgb, var(--forest-deep) 70%, transparent) 38%, transparent 80%); }
.ep-home .ep-portal-number { top: 1.5rem; inset-inline-start: 1.5rem; writing-mode: horizontal-tb; color: var(--ivory); }
.ep-home .ep-portal-number > span { margin: 0 .5rem; color: var(--antique-gold); }
.ep-home .ep-portal-copy { padding: 2rem 1.6rem 1.6rem; color: var(--ivory); }
.ep-home .ep-portal-kicker { min-height: 0; max-width: 100%; color: var(--ivory); font-size: .8rem; }
.ep-home .ep-portal h2 { font-size: clamp(2.3rem, 3.3vw, 3rem); margin: .55rem 0 .65rem; }
.ep-home .ep-portal-copy p { min-height: 3.4em; margin-bottom: .75rem; color: var(--ivory); font-size: .8rem; }
.ep-home .ep-portal-enter { max-width: 100%; min-height: 44px; border-color: color-mix(in srgb, var(--antique-gold) 65%, transparent); color: var(--ivory); }
.ep-home .ep-portal-enter > span { color: var(--antique-gold); }
.ep-home .ep-portal-copy small { color: var(--ivory); font-size: .6rem; line-height: 1.6; }
.ep-home .ep-scroll { display: none; }
.ep-home .ep-alive { padding-block: 4.5rem; }
.ep-home .ep-section-heading > p { max-width: 26rem; font-size: .9rem; color: var(--muted); }
.ep-home .ep-world { overflow: hidden; border: 1px solid var(--ui-line, var(--stone)); border-radius: 1.5rem; background: var(--paper); box-shadow: var(--ui-shadow, 0 8px 24px #172b210d); }
.ep-home .ep-world-index { padding: 1.3rem 1.75rem; }
.ep-home .ep-world-fallback { color: var(--muted); font-size: .82rem; }
.ep-home .ep-world-category { padding-block: 1.25rem; }
.ep-home .ep-benefit-links { gap: .5rem; }
.ep-home .ep-benefit-links a { display: flex; align-items: center; gap: .7rem; min-height: 44px; padding: .5rem .8rem; border: 1px solid var(--ui-line, var(--stone)); border-radius: 2rem; background: var(--ivory); font-size: .72rem; }
.ep-home .ep-free-promise { margin-top: 1.5rem; padding: 1.5rem; border: 1px solid var(--ui-line, var(--stone)); border-radius: 1.2rem; background: var(--parchment); }
.ep-home .ep-free-promise p, .ep-home .ep-connect li p, .ep-home .ep-passport-copy > p:not(.eyebrow), .ep-home .ep-passport-copy dd { color: var(--muted); font-size: .85rem; }
.ep-home .ep-connect ol { gap: 1.25rem; }
.ep-home .ep-connect li { padding: 1.5rem; border: 1px solid var(--ui-line, var(--stone)); border-radius: 1.2rem; background: var(--paper); }
.ep-home .ep-connect li > span { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--parchment); color: var(--accent); }
.ep-home .ep-hospitality { border-color: var(--ui-line, var(--stone)); }
.ep-home .ep-passport-section { background: var(--parchment); }
.ep-home .ep-closing { background: radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--antique-gold) 10%, transparent), transparent 70%), var(--forest-deep); color: var(--ivory); }
.ep-home .ep-closing h2, .ep-home .ep-closing .ep-closing-copy, .ep-home .ep-closing .eyebrow, .ep-home .ep-closing-explore, .ep-home .ep-closing > small { color: var(--ivory); }
.ep-home .ep-join { border-radius: 2rem; background: var(--parchment); border-color: var(--parchment); color: var(--forest); }
.ep-home .ep-join:hover { background: var(--ivory); }
.ep-home .ep-closing-star { color: var(--antique-gold); }

@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  .ep-home .ep-portal-grid:has(.ep-portal:hover) .ep-portal:not(:hover) img { filter: saturate(.78) brightness(.88); }
  .ep-home .ep-portal:hover { transform: translateY(-5px); box-shadow: 0 16px 32px color-mix(in srgb, var(--forest-deep) 15%, transparent); }
  .ep-home .ep-portal:hover .ep-portal-copy { transform: none; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .ep-home .ep-portal-copy { padding-inline: 1.2rem; }
  .ep-home .ep-portal-kicker { min-height: 2.8em; font-size: .75rem; }
}
@media (max-width: 760px) {
  .ep-home .ep-width, .ep-home .ep-portal-grid { width: calc(100% - 2rem); }
  .ep-home .ep-home-hero { min-height: 37rem; padding: 3rem 1.5rem 5rem; align-items: center; }
  .ep-home .ep-home-hero-image { object-position: 62% 50%; }
  .ep-home .ep-home-hero::before { background: linear-gradient(var(--ep-hero-direction), color-mix(in srgb, var(--forest-deep) 90%, transparent), color-mix(in srgb, var(--forest-deep) 50%, transparent)), linear-gradient(0deg, var(--forest-deep), transparent 60%); }
  .ep-home .ep-home-hero .ep-hero-heading h1 { font-size: clamp(2.7rem, 10vw, 4.5rem); }
  .ep-home .ep-home-hero .ep-hero-heading .eyebrow { font-size: .55rem; letter-spacing: .16em; }
  .ep-home .ep-home-hero .ep-hero-heading > p:not(.eyebrow) { margin-block: 1.25rem 1.5rem; font-size: .9rem; line-height: 1.8; }
  .ep-home .ep-hero-explore { min-height: 3.5rem; font-size: .85rem; }
  .ep-home .ep-hero-shortcuts { gap: .45rem; }
  .ep-home .ep-hero-shortcuts a { gap: .6rem; padding-inline: .75rem; font-size: .7rem; }
  .ep-home .ep-hero-scroll { inset-inline-start: 1.5rem; inset-block-end: 1rem; font-size: .65rem; }
  .ep-home .ep-portals { padding-top: 2.75rem; }
  .ep-home .ep-paths-heading { margin-bottom: 1.4rem; }
  .ep-home .ep-paths-heading h2 { font-size: clamp(1.65rem, 6.4vw, 2.3rem); }
  .ep-home .ep-portal-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .ep-home .ep-portal { height: 24rem; margin: 0; border-radius: 1.35rem; }
  .ep-home .ep-portal-copy { padding: 2rem 1.4rem 1.4rem; }
  .ep-home .ep-portal h2 { font-size: 2.7rem; }
  .ep-home .ep-portal-copy p { min-height: 0; font-size: .85rem; }
  .ep-home .ep-portal-copy small { font-size: .65rem; }
  .ep-home .ep-alive { padding-block: 3rem; }
  .ep-home .ep-world-index { padding: .25rem 1.2rem; }
  .ep-home .ep-world-map { min-height: 190px; }
  .ep-home .ep-section-heading > p { font-size: .85rem; }
  .ep-home .ep-free-promise { padding: 1.2rem; }
  .ep-home .ep-connect ol { gap: 1rem; }
  .ep-home .ep-connect li { padding: 1.25rem; }
  .ep-home .ep-passport-copy dl { grid-template-columns: minmax(0, 1fr); }
  .ep-home .ep-closing .ep-closing-copy { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ep-home .ep-portal:hover, .ep-home .ep-hero-explore:hover { transform: none; }
}
@media (forced-colors: active) {
  .ep-home .ep-home-hero { background: Canvas; color: CanvasText; }
  .ep-home .ep-home-hero::before { background: Canvas; }
  .ep-home .ep-home-hero .ep-hero-heading :is(h1, p, a) { color: CanvasText; }
  .ep-home .ep-hero-explore, .ep-home .ep-hero-shortcuts a { background: Canvas; border-color: LinkText; color: LinkText; }
}
