.planner-page{margin:0;background:#f2f4f5;color:#483e3d;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65}
.planner-page *{box-sizing:border-box}
.ep-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.ep-skip{position:fixed;top:-100px;left:20px;background:#fff;color:#483e3d;padding:12px;z-index:100}.ep-skip:focus{top:10px}
.ep-nav{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:20}
.ep-nav-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.ep-brand{font-size:18px;font-weight:750;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}
.ep-nav-links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:650;flex-wrap:wrap}
.ep-nav-links a{text-decoration:none}.ep-nav-links a[aria-current]{color:#7e22ce}
.ep-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#16a34a;color:#fff!important;border:2px solid #15803d;border-radius:11px 7px 12px 8px;padding:12px 22px;font-weight:750;text-decoration:none;line-height:1.4;min-height:48px}
.ep-button:hover{background:#15803d}
.ep-hero{position:relative;min-height:520px;isolation:isolate;display:flex;align-items:center;background:#020203;color:#fff;overflow:hidden}
.ep-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3}
.ep-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,2,3,.92) 0%,rgba(2,2,3,.78) 32%,rgba(2,2,3,.23) 65%,rgba(2,2,3,.12)),linear-gradient(0deg,rgba(2,2,3,.4),transparent 60%)}
.ep-hero-content{padding-block:62px}
.ep-kicker{font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;margin:0 0 12px}
.ep-hero .ep-kicker{color:#e3d3fa}
.ep-hero h1{font-size:clamp(48px,6.5vw,84px);font-weight:750;letter-spacing:-.035em;line-height:1.08;margin:0 0 18px}
.ep-hero h1 span,.ep-contact h2 span{font-family:Kalam,"Segoe Print",cursive;font-weight:400;color:#d7c0ff}
.ep-hero-intro{font-size:22px;line-height:1.55;margin:0 0 30px;color:#f5f1fa}
.ep-hero-links{display:flex;gap:24px;flex-wrap:wrap;font-size:16px;font-weight:650}
.ep-hero-links a{text-decoration:none;border-bottom:1px solid #bda5de;padding-bottom:5px;min-height:36px}.ep-hero-links span{margin-left:10px}
.ep-intro{max-width:850px;margin:50px auto 52px;text-align:center;font-size:21px;line-height:1.65}.ep-intro p{margin:0}
.ep-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:70px}
.ep-column{min-width:0;scroll-margin-top:112px}
.ep-column-heading{display:flex;gap:18px;align-items:center;border-bottom:2px solid #483e3d;padding-bottom:22px}
.ep-column h2{font-size:clamp(26px,2.6vw,34px);line-height:1.2;font-weight:750;letter-spacing:-.025em;margin:0}
.ep-column-intro{color:#62616a;min-height:84px;margin:22px 0 8px}
.ep-resource{border-bottom:1px solid #d3d6dc;padding:26px 0 28px}
.ep-label{font-size:12px;line-height:1.6;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-weight:650;margin:0 0 6px}
.ep-resource h3{font-size:23px;font-weight:750;line-height:1.3;letter-spacing:-.015em;margin:0 0 10px}
.ep-resource p:not(.ep-label){margin:0 0 16px;color:#62616a;line-height:1.65}
.ep-resource a{font-size:16px;color:#7e22ce;font-weight:700;text-decoration:none;display:inline-flex;gap:12px;align-items:center;min-height:30px}.ep-resource a:hover{text-decoration:underline;text-underline-offset:4px}
.ep-resource-links{display:flex;flex-wrap:wrap;gap:10px 24px}
.ep-resource-featured{background:#fff;border:1px solid #d8c5f0;border-radius:14px;padding:26px;margin-top:18px;box-shadow:0 5px 18px rgba(126,34,206,.04)}
.ep-resource-featured h3{font-size:27px;color:#7e22ce}.ep-resource-featured a.ep-button{min-height:48px;text-decoration:none}
.ep-gallery{padding-bottom:60px}.ep-gallery h2{font-size:34px;font-weight:750;letter-spacing:-.025em;line-height:1.25;margin:0 0 14px}.ep-gallery>p{color:#62616a;max-width:800px;margin:0 0 28px}
.ep-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.ep-photo-grid figure{margin:0;min-width:0}.ep-photo-grid figure>a{display:block;background:#e3e5e8;border-radius:12px;overflow:hidden}.ep-photo-grid img{display:block;width:100%;height:290px;object-fit:cover;object-position:center}.ep-photo-grid figure:first-child img{object-position:center 60%}.ep-photo-grid figcaption{padding-top:14px}.ep-photo-grid h3{font-size:17px;font-weight:700;margin:0 0 7px}.ep-photo-grid figcaption a,.ep-all-photos{color:#7e22ce;font-size:16px;font-weight:700;text-decoration:none;display:inline-block;padding-block:6px}.ep-photo-grid figcaption a:hover,.ep-all-photos:hover{text-decoration:underline;text-underline-offset:4px}.ep-all-photos{margin-top:24px}.ep-contact-phone{display:block;width:fit-content;margin:16px auto 0;color:#7e22ce;font-weight:650;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.ep-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-photo-grid img{height:340px}}
@media(max-width:500px){.ep-photo-grid{grid-template-columns:1fr}.ep-photo-grid img{height:380px}.ep-gallery h2{font-size:30px}}
.ep-contact{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:50px 22px;margin-bottom:45px}
.ep-contact .ep-kicker{color:#6b7280}.ep-contact h2{font-size:42px;line-height:1.2;font-weight:750;letter-spacing:-.03em;margin:0 0 12px}.ep-contact h2 span{color:#9333ea}.ep-contact p:not(.ep-kicker){margin:0 auto 22px;max-width:600px;color:#62616a}
.ep-footer{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding-block:20px 35px;color:#6b7280;font-size:14px}.ep-footer p{margin-left:auto}.ep-footer a{text-decoration:underline;text-underline-offset:4px}
.planner-page a:focus-visible{outline:3px solid #9333ea;outline-offset:5px}
@media(max-width:1000px){.ep-nav-inner{flex-wrap:wrap;gap:10px}.ep-nav-links{gap:20px}.ep-columns{gap:40px}}
@media(max-width:700px){.ep-wrap{width:calc(100% - 36px)}.ep-nav{position:relative}.ep-nav-inner{padding-block:15px}.ep-nav-links{gap:12px 18px;font-size:14px}.ep-nav-links .ep-button{padding:9px 13px;min-height:40px}.ep-hero{min-height:470px}.ep-hero>img{object-position:55% center}.ep-hero-shade{background:linear-gradient(90deg,rgba(2,2,3,.88),rgba(2,2,3,.42))}.ep-hero-content{padding-block:45px}.ep-hero h1{font-size:58px}.ep-hero-intro{font-size:20px}.ep-hero-links{gap:14px 24px}.ep-intro{text-align:left;font-size:19px;margin:32px 0}.ep-columns{grid-template-columns:1fr;gap:52px;margin-bottom:42px}.ep-column-intro{min-height:0}.ep-column-heading h2{font-size:30px}.ep-contact h2{font-size:34px}.ep-contact .ep-button{font-size:15px;gap:10px;max-width:100%;overflow-wrap:anywhere}.ep-footer{gap:12px 20px}.ep-footer p{margin:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ep-nav{background:rgba(242,244,245,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(117,124,129,.25)}
.ep-nav-inner{min-height:0;padding-block:12px;flex-wrap:nowrap;gap:16px}
.ep-brand{font-size:16px;font-weight:700;color:#020203;letter-spacing:-.01em}.ep-brand-short{display:none}
.ep-nav-cta{font:700 13px/1.6 inherit;font-family:inherit;font-size:13px;font-weight:700;line-height:1.6;color:#fff;background:#16a34a;border:0;border-radius:8px;padding:9px 18px;cursor:pointer;white-space:nowrap}.ep-nav-cta:hover{background:#15803d}
.ep-availability{margin:auto;border:0;border-radius:18px;padding:34px;width:calc(100% - 32px);max-width:440px;max-height:90vh;overflow-y:auto;background:#fff;color:#483e3d;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.ep-availability::backdrop{background:rgba(2,2,3,.6);backdrop-filter:blur(4px)}
.ep-modal-close{position:absolute;top:10px;right:12px;width:36px;height:36px;background:none;border:0;font-size:28px;cursor:pointer}
.ep-availability h2{font-size:23px;font-weight:800;line-height:1.3;margin:6px 0;color:#020203}.ep-availability p{font-size:14px;margin:0 0 22px;color:#62616a}
.ep-availability form{display:flex;flex-direction:column;gap:14px}.ep-availability label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600}.ep-availability input:not([type=hidden]){width:100%;border:1px solid #bbc0c3;border-radius:9px;padding:11px 14px;font:400 15px/1.5 inherit;font-family:inherit;font-size:15px}.ep-availability .ep-button{font-size:15px;cursor:pointer}.ep-availability .ep-button:disabled{opacity:.65;cursor:wait}.ep-availability [hidden]{display:none!important}.ep-availability #ep-form-error{margin:0;color:#a32727}.ep-availability #ep-form-error a{text-decoration:underline}
.planner-page button:focus-visible,.ep-availability input:focus-visible{outline:3px solid #9333ea;outline-offset:3px}
@media(max-width:560px){.ep-brand-full{display:none}.ep-brand-short{display:inline}.ep-availability{padding:30px 22px}}
/* Lift the desktop photo while retaining headroom at ultra-wide widths.
   Mobile keeps the original image-behind-text layout and crop above. */
@media(min-width:701px){
  .ep-hero{min-height:max(520px,26vw)}
  .ep-hero>img{object-position:center 20%}
}
