.esm-home {
    --home-navy:#0a3859;
    --home-navy-deep:#062a44;
    --home-blue:#285d91;
    --home-sage:#73956b;
    --home-sage-light:#eaf1e7;
    --home-coral:#e7764c;
    --home-cream:#f6f3ec;
    --home-ink:#172b3a;
    --home-muted:#617384;
    --home-line:#dce6eb;
    width:100vw;
    margin:-72px 0 0 calc(50% - 50vw);
    overflow:hidden;
    background:#fff;
    color:var(--home-ink);
    font-size:16px;
    line-height:1.6;
}
.esm-home * { box-sizing:border-box; }
.esm-home a { text-decoration:none; }
.esm-home-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.esm-home h1,.esm-home h2,.esm-home h3,.esm-home p { margin-top:0; }
.esm-home h1,.esm-home h2,.esm-home h3 { color:var(--home-ink); line-height:1.08; letter-spacing:-.035em; }
.esm-home h1 { max-width:710px; margin-bottom:22px; font-size:clamp(2.75rem,6vw,5.2rem); }
.esm-home h2 { margin-bottom:18px; font-size:clamp(2.1rem,4vw,3.45rem); }
.esm-home h3 { margin-bottom:10px; font-size:1.35rem; }
.esm-home-eyebrow { margin-bottom:13px; color:var(--home-blue); font-size:.76rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.esm-home-lead { max-width:660px; margin-bottom:30px; color:#4d6374; font-size:clamp(1.08rem,2vw,1.28rem); line-height:1.65; }
.esm-home-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.esm-home-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 22px; border:1px solid transparent; border-radius:9px; font-weight:850; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.esm-home-button:hover { transform:translateY(-2px); }
.esm-home-button:focus-visible,.esm-home a:focus-visible,.esm-home button:focus-visible { outline:3px solid #e6a84e; outline-offset:3px; }
.esm-home-button--primary { background:var(--home-coral); color:#fff; box-shadow:0 9px 23px rgba(183,79,40,.2); }
.esm-home-button--primary:hover { background:#cf613a; color:#fff; }
.esm-home-button--secondary { border-color:#b9cbd6; background:#fff; color:var(--home-navy); }
.esm-home-button--secondary:hover { border-color:var(--home-blue); color:var(--home-navy); box-shadow:0 8px 20px rgba(10,56,89,.09); }
.esm-home-button--light { background:#fff; color:var(--home-navy); }
.esm-home-button--ghost { border-color:rgba(255,255,255,.42); color:#fff; }
.esm-home-button--ghost:hover { border-color:#fff; color:#fff; }
.esm-home-button.is-disabled { opacity:.5; cursor:default; pointer-events:none; }
.esm-home-link-admin { max-width:660px; margin-top:13px; color:var(--home-navy); font-size:.75rem; }
.esm-home-link-admin summary { width:max-content; padding:5px 9px; border:1px solid #bcd2de; border-radius:7px; background:rgba(255,255,255,.78); cursor:pointer; font-weight:800; list-style:none; }
.esm-home-link-admin summary::-webkit-details-marker { display:none; }
.esm-home-link-admin summary > span { margin-right:5px; padding:2px 6px; border-radius:99px; background:var(--home-navy); color:#fff; font-size:.6rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.esm-home-link-admin > div { display:flex; flex-wrap:wrap; gap:8px 11px; align-items:center; margin-top:7px; padding:10px 12px; border:1px solid #bcd2de; border-radius:9px; background:rgba(255,255,255,.9); }
.esm-home-link-admin label { display:flex; min-width:260px; flex:1; gap:8px; align-items:center; font-weight:800; }
.esm-home-link-admin input { min-width:150px; flex:1; padding:6px 8px; border:1px solid #b7cbd7; border-radius:6px; background:#fff; color:var(--home-ink); font:inherit; }
.esm-home-link-admin button { padding:6px 10px; border:0; border-radius:6px; background:var(--home-blue); color:#fff; cursor:pointer; font:inherit; font-weight:850; }
.esm-home-link-admin small { color:var(--home-muted); }
.esm-home-link-status { margin-left:auto; color:#25734b; font-style:normal; }
.esm-home-link-status.is-error { color:#a12622; }
.esm-home-link-admin--enhanced summary { border-color:rgba(255,255,255,.48); background:#fff; }
.esm-home-link-admin--enhanced > div { background:#fff; }

.esm-home-hero { position:relative; padding:98px 0 92px; background:linear-gradient(135deg,#f7f4ec 0%,#f7f4ec 54%,#edf3eb 100%); }
.esm-home-hero::after { content:""; position:absolute; right:-160px; bottom:-240px; width:540px; height:540px; border:1px solid rgba(10,56,89,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(115,149,107,.05),0 0 0 140px rgba(115,149,107,.035); }
.esm-home-hero-grid { position:relative; z-index:1; display:grid; }
.esm-home-hero-grid.has-media { grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr); gap:66px; align-items:center; }
.esm-home-hero-copy { position:relative; z-index:2; }
.esm-home-trust { display:flex; flex-wrap:wrap; gap:6px 11px; margin:20px 0 0; color:#657766; font-size:.82rem; font-weight:750; }
.esm-home-trust span { color:#9bae99; }
.esm-home-fee-note { max-width:610px; margin:7px 0 0; color:var(--home-muted); font-size:.73rem; line-height:1.45; }

.esm-home-section { padding:100px 0; }
.esm-home-section-heading { max-width:880px; margin:0 auto 48px; text-align:center; }
.esm-home-section-heading h2 { text-wrap:balance; }
.esm-home-section-heading > p:last-child { margin:0; color:var(--home-muted); font-size:1.06rem; }
.esm-home-section-heading--left { max-width:680px; margin-left:0; text-align:left; }
.esm-home-workflow-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.esm-home-workflow-card { position:relative; overflow:hidden; border:1px solid var(--home-line); border-radius:18px; background:#fff; box-shadow:0 16px 45px rgba(18,48,68,.07); }
.esm-home-workflow-content { position:relative; min-height:190px; overflow:hidden; padding:29px 30px 27px; }
.esm-home-workflow-number { position:absolute; right:16px; top:50%; color:#edf1f3; font-size:9rem; font-weight:950; letter-spacing:-.08em; line-height:.7; transform:translateY(-50%); user-select:none; }
.esm-home-workflow-content h3,.esm-home-workflow-content p { position:relative; z-index:1; }
.esm-home-workflow-content h3 { margin-bottom:9px; }
.esm-home-workflow-content p { line-height:1.52; }
.esm-home-icon { display:grid; width:43px; height:43px; place-items:center; margin-bottom:22px; border-radius:11px; background:var(--home-sage-light); color:#486f48; }
.esm-home-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.esm-home-workflow-card p,.esm-home-feature-grid p { margin:0; color:var(--home-muted); }

.esm-home-events { position:relative; overflow:hidden; background:linear-gradient(145deg,#f7f4ed 0%,#f1f3ec 100%); }
.esm-home-events::before { content:""; position:absolute; right:-130px; top:-190px; width:470px; height:470px; border-radius:50%; background:radial-gradient(circle,rgba(115,149,107,.14),rgba(115,149,107,0) 68%); }
.esm-home-events .esm-home-shell { position:relative; z-index:1; }
.esm-home-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.esm-home-event-card { --event-accent:#668b5f; --event-tint:#eef4eb; position:relative; min-height:154px; display:grid; grid-template-columns:62px 1fr auto; gap:0 20px; align-items:center; overflow:hidden; padding:29px 26px 27px 30px; border:1px solid rgba(10,56,89,.12); border-top:4px solid var(--event-accent); border-radius:17px; background:#fff; color:var(--home-ink); box-shadow:0 10px 26px rgba(10,56,89,.055); transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.esm-home-event-card::after { content:""; position:absolute; right:-42px; bottom:-54px; width:145px; height:145px; border-radius:50%; background:var(--event-tint); transition:transform .2s ease; }
.esm-home-event-card:hover { transform:translateY(-4px); border-color:var(--event-accent); box-shadow:0 18px 36px rgba(10,56,89,.12); }
.esm-home-event-card:hover::after { transform:scale(1.13); }
.esm-home-event-card--clinic { --event-accent:#3f7c94; --event-tint:#e8f2f6; }
.esm-home-event-card--dressage { --event-accent:#a36f42; --event-tint:#f6ede4; }
.esm-home-event-card--driving { --event-accent:#6c6094; --event-tint:#efecf6; }
.esm-home-event-number { position:absolute; right:18px; top:12px; color:rgba(10,56,89,.12); font-size:2.1rem; font-weight:950; letter-spacing:-.06em; line-height:1; }
.esm-home-event-icon { position:relative; z-index:1; display:grid; width:62px; height:62px; place-items:center; border-radius:16px; background:var(--event-tint); color:var(--event-accent); }
.esm-home-event-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.esm-home-event-copy { position:relative; z-index:1; display:grid; gap:6px; }
.esm-home-event-copy strong { color:var(--home-navy); font-size:1.12rem; }
.esm-home-event-copy small { max-width:390px; color:var(--home-muted); line-height:1.45; }
.esm-home-event-arrow { position:relative; z-index:1; align-self:end; display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(10,56,89,.18); border-color:color-mix(in srgb,var(--event-accent) 35%,white); border-radius:50%; background:#fff; color:var(--event-accent); font-size:1.15rem; transition:transform .18s ease,background .18s ease,color .18s ease; }
.esm-home-event-card:hover .esm-home-event-arrow { transform:translateX(3px); background:var(--event-accent); color:#fff; }

.esm-home-feature-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:76px; align-items:start; }
.esm-home-feature-layout .esm-home-section-heading { margin-bottom:0; }
.esm-home-text-link { display:inline-flex; align-items:center; gap:8px; margin-top:22px; color:var(--home-blue); font-weight:850; }
.esm-home-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 34px; }
.esm-home-feature-grid > a { position:relative; min-height:230px; padding:25px 54px 24px 0; border-top:2px solid var(--home-line); color:var(--home-ink); transition:border-color .18s ease,transform .18s ease; }
.esm-home-feature-grid > a:hover { transform:translateY(-3px); border-color:var(--home-sage); }
.esm-home-feature-grid .esm-home-icon { margin-bottom:16px; }
.esm-home-feature-grid h3 { font-size:1.12rem; }
.esm-home-feature-grid p { font-size:.92rem; }
.esm-home-feature-arrow { position:absolute; right:3px; bottom:25px; display:grid; width:34px; height:34px; place-items:center; border:1px solid #c6d6df; border-radius:50%; color:var(--home-blue); font-size:1.1rem; transition:background .18s ease,color .18s ease,transform .18s ease; }
.esm-home-feature-grid > a:hover .esm-home-feature-arrow { transform:translateX(3px); border-color:var(--home-blue); background:var(--home-blue); color:#fff; }

.esm-home-blue-ribbon { padding-block:70px; background:linear-gradient(130deg,var(--home-navy-deep),#0e4c72); color:#fff; }
.esm-home-blue-ribbon-grid { display:grid; }
.esm-home-blue-ribbon-grid.has-media { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:70px; align-items:center; }
.esm-home-blue-ribbon h2 { color:#fff; }
.esm-home-blue-ribbon .esm-home-eyebrow { color:#afd1e5; }
.esm-home-blue-ribbon p { color:#d7e7ef; font-size:1.05rem; }
.esm-home-blue-ribbon ul { margin:25px 0 31px; padding:0; list-style:none; }
.esm-home-blue-ribbon li { position:relative; margin:10px 0; padding-left:28px; color:#e8f2f6; }
.esm-home-blue-ribbon li::before { content:""; position:absolute; left:0; top:.6em; width:12px; height:7px; border-left:2px solid #a9cda4; border-bottom:2px solid #a9cda4; transform:rotate(-45deg); }

.esm-home-story { background:#fff; }
.esm-home-story-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.65fr); gap:70px; align-items:end; margin-bottom:46px; }
.esm-home-story-heading h2 { max-width:660px; margin-bottom:0; }
.esm-home-story-heading > p { margin:0 0 8px; padding:22px 0 0; border-top:2px solid var(--home-sage); color:var(--home-muted); font-size:1.06rem; }
.esm-home-testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.esm-home-testimonial { --quote-tint:#edf4eb; position:relative; display:flex; min-height:310px; flex-direction:column; justify-content:space-between; gap:24px; overflow:hidden; margin:0; padding:34px 35px 30px; border:1px solid var(--home-line); border-radius:18px; background:linear-gradient(145deg,#fff 0%,var(--quote-tint) 145%); box-shadow:0 14px 36px rgba(10,56,89,.07); }
.esm-home-testimonial::after { content:"“"; position:absolute; right:22px; top:4px; color:rgba(10,56,89,.07); font-family:Georgia,serif; font-size:8rem; line-height:1; }
.esm-home-testimonial--blue { --quote-tint:#e5f1f6; }
.esm-home-testimonial--sand { --quote-tint:#f6ebdf; }
.esm-home-testimonial--lavender { --quote-tint:#eeeaf6; }
.esm-home-stars { position:relative; z-index:1; color:#d89527; font-size:1rem; font-weight:900; letter-spacing:.12em; }
.esm-home-testimonial > p { position:relative; z-index:1; margin:0; color:#263f51; font-size:1.03rem; line-height:1.72; }
.esm-home-testimonial footer { position:relative; z-index:1; display:grid; gap:3px; padding-top:18px; border-top:1px solid rgba(10,56,89,.12); }
.esm-home-testimonial footer strong { color:var(--home-navy); font-size:.9rem; }
.esm-home-testimonial footer span { color:var(--home-muted); font-size:.78rem; }

.esm-home-final { padding:88px 0 94px; background:var(--home-cream); text-align:center; }
.esm-home-final h2 { margin-bottom:15px; }
.esm-home-final > .esm-home-shell > p:not(.esm-home-eyebrow) { max-width:620px; margin:0 auto 28px; color:var(--home-muted); font-size:1.06rem; }
.esm-home-final .esm-home-actions { justify-content:center; }
.esm-home-legal { padding:23px 0; border-top:1px solid #dbe4e8; background:#fff; color:var(--home-muted); font-size:.8rem; }
.esm-home-legal > .esm-home-shell { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.esm-home-legal nav { display:flex; flex-wrap:wrap; gap:9px 22px; }
.esm-home-legal a { color:var(--home-navy); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.esm-home-legal a:hover { color:var(--home-blue); }

.esm-home-discover { background:#f7f9f6; }
.esm-home-discover-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.esm-home-discover-grid a { display:flex; min-height:142px; flex-direction:column; justify-content:space-between; gap:18px; padding:24px; border:1px solid #dce7dd; border-radius:17px; background:#fff; color:var(--home-navy); box-shadow:0 10px 28px rgba(10,56,89,.045); }
.esm-home-discover-grid a:hover { border-color:var(--home-sage); transform:translateY(-2px); box-shadow:0 15px 32px rgba(10,56,89,.09); }
.esm-home-discover-grid strong { font-size:1.05rem; line-height:1.35; }
.esm-home-discover-grid span { color:var(--home-muted); font-size:.9rem; line-height:1.55; }

.esm-home-media { margin:0; }
.esm-home-media-display { overflow:hidden; border:1px solid rgba(10,56,89,.15); border-radius:16px; background:#fff; box-shadow:0 26px 65px rgba(10,56,89,.18); }
.esm-home-media-image { display:block; width:100%; height:auto; }
.esm-home-media-placeholder { min-height:300px; display:grid; place-content:center; justify-items:center; gap:5px; padding:32px; border:2px dashed #9db7c5; border-radius:15px; background:linear-gradient(135deg,#fff,#edf3f5); color:var(--home-muted); text-align:center; }
.esm-home-media-placeholder span { padding:4px 9px; border-radius:999px; background:var(--home-navy); color:#fff; font-size:.67rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.esm-home-media-placeholder strong { margin-top:8px; color:var(--home-navy); }
.esm-home-media-placeholder small { max-width:420px; }
.esm-home-media-admin { display:flex; flex-wrap:wrap; gap:8px 13px; align-items:center; margin-top:10px; padding:9px 11px; border:1px solid #bcd2de; border-radius:9px; background:#f4f9fb; color:var(--home-navy); font-size:.78rem; }
.esm-home-media-admin > span { padding:2px 7px; border-radius:99px; background:var(--home-navy); color:#fff; font-size:.65rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.esm-home-media-admin button { padding:0; border:0; background:transparent; color:var(--home-blue); cursor:pointer; font:inherit; font-weight:850; text-decoration:underline; }
.esm-home-media-admin .esm-home-media-remove { color:#a12622; }
.esm-home-media-admin button[hidden] { display:none; }
.esm-home-media-status { margin-left:auto; color:#25734b; }
.esm-home-media-status.is-error { color:#a12622; }
.esm-home-media--card { position:relative; }
.esm-home-media--card .esm-home-media-display { border:0; border-bottom:1px solid var(--home-line); border-radius:0; box-shadow:none; }
.esm-home-media--card .esm-home-media-image { aspect-ratio:16/9; object-fit:cover; object-position:top center; }
.esm-home-media--card .esm-home-media-placeholder { min-height:190px; border:0; border-radius:0; }
.esm-home-media--card .esm-home-media-admin { position:absolute; z-index:2; right:10px; bottom:10px; left:10px; margin:0; border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.94); box-shadow:0 5px 18px rgba(10,56,89,.16); backdrop-filter:blur(8px); }
.esm-home-media--blue-ribbon .esm-home-media-display { border-color:rgba(255,255,255,.2); }
.esm-home-media--blue-ribbon .esm-home-media-admin { background:#fff; }

.esm-seo-page {
    background:#fff;
}
.esm-seo-hero {
    padding:96px 0 82px;
    background:linear-gradient(135deg,rgba(246,243,236,.96),rgba(234,241,231,.92));
}
.esm-seo-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(310px,.45fr);
    gap:54px;
    align-items:center;
}
.esm-seo-hero h1 {
    max-width:830px;
    font-size:clamp(2.7rem,5.6vw,5rem);
}
.esm-seo-answer-card {
    padding:28px;
    border:1px solid rgba(10,56,89,.14);
    border-top:5px solid var(--home-coral);
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 44px rgba(10,56,89,.1);
}
.esm-seo-answer-card strong {
    display:block;
    margin-bottom:10px;
    color:var(--home-navy);
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.esm-seo-answer-card p {
    margin-bottom:14px;
    color:var(--home-ink);
    font-size:1.06rem;
    line-height:1.58;
}
.esm-seo-answer-card span {
    display:block;
    color:var(--home-muted);
    font-size:.88rem;
    line-height:1.5;
}
.esm-seo-section {
    padding:82px 0;
}
.esm-seo-section--tint {
    background:#f7f9f6;
}
.esm-seo-two-col,
.esm-seo-faq-layout {
    display:grid;
    grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
    gap:62px;
    align-items:start;
}
.esm-seo-two-col > div:first-child p:last-child,
.esm-seo-faq-layout > div:first-child p:last-child {
    color:var(--home-muted);
    font-size:1.03rem;
}
.esm-seo-feature-list {
    display:grid;
    gap:14px;
}
.esm-seo-feature-list p {
    position:relative;
    margin:0;
    padding:19px 20px 19px 52px;
    border:1px solid var(--home-line);
    border-radius:15px;
    background:#fff;
    color:#344d60;
    box-shadow:0 10px 28px rgba(10,56,89,.045);
}
.esm-seo-feature-list p::before {
    content:"";
    position:absolute;
    left:21px;
    top:25px;
    width:14px;
    height:8px;
    border-left:3px solid var(--home-sage);
    border-bottom:3px solid var(--home-sage);
    transform:rotate(-45deg);
}
.esm-seo-use-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.esm-seo-use-grid span {
    min-height:82px;
    display:grid;
    place-items:center;
    padding:18px;
    border:1px solid #dce7dd;
    border-radius:16px;
    background:#fff;
    color:var(--home-navy);
    font-weight:900;
    text-align:center;
    box-shadow:0 10px 24px rgba(10,56,89,.045);
}
.esm-seo-faq-list {
    display:grid;
    gap:16px;
}
.esm-seo-faq-list article {
    padding:24px 26px;
    border:1px solid var(--home-line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 28px rgba(10,56,89,.05);
}
.esm-seo-faq-list h3 {
    margin-bottom:8px;
    color:var(--home-navy);
    font-size:1.08rem;
    letter-spacing:0;
}
.esm-seo-faq-list p {
    margin:0;
    color:var(--home-muted);
}
.esm-seo-links {
    padding:54px 0;
    background:#0a3859;
}
.esm-seo-links .esm-home-eyebrow {
    color:#cfe4ef;
}
.esm-seo-links nav {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.esm-seo-links a {
    display:inline-flex;
    min-height:42px;
    align-items:center;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-weight:850;
}
.esm-seo-links a:hover {
    background:#fff;
    color:var(--home-navy);
}

.esm-contact-page {
    background:#fff;
}
.esm-contact-hero {
    padding:88px 0 58px;
    background:linear-gradient(135deg,#f6f3ec,#eaf1e7);
}
.esm-contact-section {
    padding:74px 0 92px;
}
.esm-contact-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(290px,.42fr);
    gap:42px;
    align-items:start;
}
.esm-contact-form {
    display:grid;
    gap:18px;
    padding:30px;
    border:1px solid var(--home-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 48px rgba(10,56,89,.08);
}
.esm-contact-form label {
    display:grid;
    gap:7px;
    color:var(--home-navy);
    font-weight:850;
}
.esm-contact-form label span {
    color:#b42318;
}
.esm-contact-form input,
.esm-contact-form textarea {
    width:100%;
    padding:13px 14px;
    border:1px solid #c6d6df;
    border-radius:9px;
    background:#fff;
    color:var(--home-ink);
    font:inherit;
    font-weight:500;
}
.esm-contact-form textarea {
    resize:vertical;
}
.esm-contact-form input:focus,
.esm-contact-form textarea:focus {
    outline:3px solid rgba(230,168,78,.35);
    border-color:var(--home-blue);
}
.esm-contact-form .esm-home-button {
    width:max-content;
    border:0;
    cursor:pointer;
}
.esm-contact-hidden {
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}
.esm-contact-notice {
    padding:13px 15px;
    border-radius:10px;
    font-weight:800;
}
.esm-contact-notice--success {
    border:1px solid #b7dfb9;
    background:#e8f5e9;
    color:#1b5e20;
}
.esm-contact-notice--error {
    border:1px solid #f1b8b8;
    background:#fff0f0;
    color:#a12622;
}
.esm-contact-card {
    padding:26px;
    border:1px solid rgba(10,56,89,.14);
    border-top:5px solid var(--home-sage);
    border-radius:18px;
    background:#f8fbfc;
    color:var(--home-muted);
}
.esm-contact-card h2 {
    margin-bottom:12px;
    font-size:1.65rem;
}
.esm-contact-card p {
    margin-bottom:13px;
}

.esm-clubs-page {
    --clubs-gold:#c58933;
    --clubs-teal:#2f7d80;
}
.esm-clubs-hero {
    position:relative;
    min-height:720px;
    display:grid;
    align-items:center;
    overflow:hidden;
    padding:78px 0;
    background:#0a3859 var(--clubs-hero-image) center right/cover no-repeat;
    color:#fff;
}
.esm-clubs-hero::before {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(6,24,39,.9) 0%,rgba(6,24,39,.76) 38%,rgba(6,24,39,.22) 67%,rgba(6,24,39,.04) 100%),
        linear-gradient(0deg,rgba(6,24,39,.42),rgba(6,24,39,.04) 42%);
}
.esm-clubs-hero::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:120px;
    background:linear-gradient(0deg,rgba(6,24,39,.58),rgba(6,24,39,0));
}
.esm-clubs-hero__grid {
    position:relative;
    z-index:1;
    display:block;
}
.esm-clubs-hero__copy {
    max-width:680px;
    padding:34px 0;
}
.esm-clubs-hero h1 {
    max-width:680px;
    margin-bottom:18px;
    color:#fff;
    font-size:clamp(2.85rem,5.5vw,5.65rem);
    line-height:1.02;
    text-shadow:0 4px 34px rgba(0,0,0,.35);
}
.esm-clubs-hero .esm-home-eyebrow {
    margin-bottom:12px;
    color:#d7ece9;
    text-shadow:0 2px 18px rgba(0,0,0,.3);
}
.esm-clubs-hero .esm-home-lead {
    max-width:625px;
    margin-bottom:24px;
    color:#edf5f3;
    text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.esm-clubs-hero .esm-home-button--primary {
    background:#f0764f;
    box-shadow:0 12px 32px rgba(0,0,0,.24);
}
.esm-clubs-hero .esm-home-button--secondary {
    border-color:rgba(255,255,255,.5);
    background:rgba(255,255,255,.14);
    color:#fff;
    box-shadow:0 12px 32px rgba(0,0,0,.12);
    backdrop-filter:blur(8px);
}
.esm-clubs-section {
    padding:88px 0;
    background:#fff;
}
.esm-clubs-comparison-wrap {
    overflow-x:auto;
    border:2px solid var(--home-blue);
    border-radius:22px;
    background:#fff;
    box-shadow:0 22px 56px rgba(10,56,89,.11);
    -webkit-overflow-scrolling:touch;
}
.esm-clubs-comparison {
    width:100%;
    min-width:960px;
    border:0;
    border-collapse:separate;
    border-spacing:0;
    color:var(--home-ink);
    font-size:.94rem;
    line-height:1.35;
}
.esm-clubs-comparison th,
.esm-clubs-comparison td {
    padding:19px 18px;
    border:0;
    border-right:1px solid #dbe4e8;
    border-bottom:1px solid #dbe4e8;
    text-align:center;
    vertical-align:middle;
}
.esm-clubs-comparison tr > *:last-child { border-right:0; }
.esm-clubs-comparison tbody tr:last-child > * { border-bottom:0; }
.esm-clubs-comparison thead th {
    padding-block:23px;
    background:#eaf2f6;
    color:var(--home-navy);
}
.esm-clubs-comparison thead th:first-child {
    background:var(--home-navy);
    color:#fff;
}
.esm-clubs-comparison thead th:first-child,
.esm-clubs-comparison tbody th {
    width:24%;
    min-width:225px;
    text-align:left;
}
.esm-clubs-comparison thead strong {
    display:block;
    font-size:1.02rem;
}
.esm-clubs-comparison thead span {
    display:block;
    margin-top:5px;
    color:var(--home-muted);
    font-size:.76rem;
    font-weight:700;
}
.esm-clubs-comparison tbody th {
    background:#fff;
    color:var(--home-navy);
    font-weight:850;
}
.esm-clubs-comparison .is-ezsm {
    border-right:2px solid var(--home-sage);
    border-left:2px solid var(--home-sage);
    background:#eef6eb;
}
.esm-clubs-comparison thead .is-ezsm {
    border-top:0;
    background:var(--home-sage);
    color:#fff;
}
.esm-clubs-comparison thead .is-ezsm span { color:#f1f8ef; }
.esm-clubs-comparison tbody .is-ezsm strong { color:#315f34; }
.esm-clubs-comparison-note {
    margin:16px 4px 0;
    color:var(--home-muted);
    font-size:.78rem;
    text-align:center;
}
.esm-clubs-showcase {
    padding:86px 0;
    background:linear-gradient(135deg,#0a3859 0%,#0e5573 100%);
    color:#fff;
}
.esm-clubs-showcase .esm-home-eyebrow,
.esm-clubs-showcase h2 {
    color:#fff;
}
.esm-clubs-communication-grid {
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(430px,.72fr);
    gap:68px;
    align-items:center;
}
.esm-clubs-communication-copy > p:not(.esm-home-eyebrow) {
    max-width:650px;
    color:#d8e7ef;
    font-size:1.03rem;
}
.esm-clubs-communication-note {
    margin-top:24px;
    padding:16px 18px;
    border-left:4px solid var(--home-coral);
    border-radius:0 10px 10px 0;
    background:rgba(255,255,255,.08);
}
.esm-clubs-email-panel {
    overflow:hidden;
    border:1px solid rgba(255,255,255,.35);
    border-radius:20px;
    background:#fff;
    color:var(--home-ink);
    box-shadow:0 28px 64px rgba(0,0,0,.25);
}
.esm-clubs-email-panel__header {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    padding:22px 24px;
    border-bottom:1px solid var(--home-line);
    background:#f6f9fa;
}
.esm-clubs-email-panel__header > div { display:grid; gap:3px; }
.esm-clubs-email-panel__header > div > span {
    color:var(--home-muted);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.esm-clubs-email-panel__header strong { color:var(--home-navy); font-size:1.08rem; }
.esm-clubs-email-status {
    padding:7px 10px;
    border-radius:999px;
    background:#e4f1df;
    color:#315f34;
    font-size:.72rem;
    font-weight:900;
    white-space:nowrap;
}
.esm-clubs-email-lists { display:grid; margin:0; padding:8px 24px; list-style:none; }
.esm-clubs-email-lists li {
    display:grid;
    grid-template-columns:32px 1fr;
    gap:1px 12px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid var(--home-line);
}
.esm-clubs-email-lists li:last-child { border-bottom:0; }
.esm-clubs-email-lists li > span {
    grid-row:1 / span 2;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e4f1df;
    color:#315f34;
    font-weight:950;
}
.esm-clubs-email-lists strong { color:var(--home-navy); font-size:.93rem; }
.esm-clubs-email-lists small { color:var(--home-muted); font-size:.78rem; }
.esm-clubs-email-action {
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    padding:18px 24px;
    background:#f4e8dc;
    color:var(--home-muted);
    font-size:.82rem;
}
.esm-clubs-email-action strong { color:#9c3e20; font-size:.9rem; }
.esm-clubs-cost {
    background:var(--home-cream);
}
.esm-clubs-cost__grid,
.esm-clubs-board__grid {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr);
    gap:62px;
    align-items:start;
}
.esm-clubs-cost p {
    max-width:660px;
    color:var(--home-muted);
    font-size:1.05rem;
}
.esm-clubs-cost__panel {
    padding:30px;
    border:1px solid rgba(10,56,89,.13);
    border-radius:8px;
    background:#fff;
    box-shadow:0 16px 42px rgba(10,56,89,.08);
}
.esm-clubs-cost__panel ul {
    margin:18px 0 0;
    padding:0;
    list-style:none;
}
.esm-clubs-cost__panel li {
    position:relative;
    margin:12px 0;
    padding-left:27px;
    color:#30495b;
}
.esm-clubs-cost__panel li::before {
    content:"";
    position:absolute;
    left:0;
    top:.62em;
    width:12px;
    height:7px;
    border-left:2px solid var(--home-sage);
    border-bottom:2px solid var(--home-sage);
    transform:rotate(-45deg);
}
.esm-clubs-board {
    padding:86px 0;
    background:#fff;
}
.esm-clubs-board__list {
    display:grid;
    gap:12px;
}
.esm-clubs-board__list p {
    margin:0;
    padding:18px 20px;
    border-left:4px solid var(--home-sage);
    border-radius:0 8px 8px 0;
    background:#f8fbfc;
    color:var(--home-muted);
}
.esm-clubs-board__list p:nth-child(2) { border-left-color:var(--clubs-teal); }
.esm-clubs-board__list p:nth-child(3) { border-left-color:var(--clubs-gold); }
.esm-clubs-board__list p:nth-child(4) { border-left-color:var(--home-blue); }
.esm-clubs-board__list strong {
    color:var(--home-navy);
}
.esm-clubs-final .esm-home-actions {
    justify-content:center;
}

@media (max-width:980px) {
    .esm-home-hero-grid.has-media,.esm-home-blue-ribbon-grid,.esm-home-feature-layout { grid-template-columns:1fr; }
    .esm-home-hero-grid.has-media { gap:50px; }
    .esm-home-media--hero { max-width:760px; }
    .esm-home-workflow-grid { grid-template-columns:1fr; }
    .esm-home-workflow-card { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); align-items:stretch; }
    .esm-home-media--card .esm-home-media-display,.esm-home-media--card .esm-home-media-image { height:100%; }
    .esm-home-feature-layout,.esm-home-blue-ribbon-grid { gap:48px; }
    .esm-home-media--blue-ribbon { max-width:760px; }
    .esm-clubs-cost__grid,.esm-clubs-board__grid,.esm-clubs-communication-grid { grid-template-columns:1fr; }
    .esm-seo-hero__grid,.esm-seo-two-col,.esm-seo-faq-layout { grid-template-columns:1fr; gap:34px; }
    .esm-seo-use-grid,.esm-home-discover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .esm-contact-layout { grid-template-columns:1fr; }
}
@media (max-width:720px) {
    .esm-home { margin-top:-56px; }
    .esm-home-shell { width:min(100% - 28px,1180px); }
    .esm-home-hero { padding:68px 0 62px; }
    .esm-home h1 { font-size:clamp(2.55rem,14vw,4.15rem); }
    .esm-home-section { padding:72px 0; }
    .esm-home-event-grid,.esm-home-feature-grid,.esm-home-story-heading,.esm-home-testimonial-grid { grid-template-columns:1fr; }
    .esm-home-workflow-card { display:block; }
    .esm-home-story-heading { gap:24px; }
    .esm-home-story-heading > p { padding-top:20px; }
    .esm-home-testimonial { min-height:0; }
    .esm-home-blue-ribbon { padding-block:56px; }
    .esm-home-media-placeholder { min-height:220px; }
    .esm-clubs-hero { padding:38px 0 48px; }
    .esm-clubs-hero h1 { font-size:clamp(2.35rem,11vw,3.55rem); }
    .esm-clubs-section,.esm-clubs-showcase,.esm-clubs-board { padding:68px 0; }
    .esm-clubs-comparison-wrap { margin-inline:-14px; border-right:0; border-left:0; border-radius:0; }
    .esm-clubs-comparison { min-width:860px; font-size:.88rem; }
    .esm-clubs-comparison th,.esm-clubs-comparison td { padding:16px 14px; }
    .esm-seo-hero { padding:58px 0; }
    .esm-seo-section { padding:58px 0; }
    .esm-seo-use-grid,.esm-home-discover-grid { grid-template-columns:1fr; }
    .esm-seo-answer-card,.esm-seo-faq-list article { padding:22px; }
    .esm-contact-hero { padding:58px 0 42px; }
    .esm-contact-section { padding:52px 0 68px; }
    .esm-contact-form { padding:22px; }
    .esm-contact-form .esm-home-button { width:100%; }
}
@media (max-width:480px) {
    .esm-home-actions { align-items:stretch; flex-direction:column; }
    .esm-home-button { width:100%; }
    .esm-home-trust { display:block; }
    .esm-home-trust span { margin-inline:4px; }
    .esm-home-event-card { min-height:0; grid-template-columns:52px 1fr; gap:0 15px; padding:24px 20px; }
    .esm-home-event-icon { width:52px; height:52px; border-radius:13px; }
    .esm-home-event-icon svg { width:27px; height:27px; }
    .esm-home-event-arrow { display:none; }
    .esm-home-workflow-content { min-height:175px; padding:25px 23px; }
    .esm-home-workflow-number { right:12px; font-size:7.5rem; }
    .esm-home-media-status { width:100%; margin-left:0; }
    .esm-home-link-admin label { width:100%; min-width:0; align-items:flex-start; flex-direction:column; }
    .esm-home-link-admin input { width:100%; }
    .esm-home-link-status { width:100%; margin-left:0; }
    .esm-home-legal > .esm-home-shell { align-items:flex-start; flex-direction:column; }
    .esm-clubs-email-panel__header,.esm-clubs-email-action { align-items:flex-start; flex-direction:column; }
    .esm-clubs-cost__panel { padding:24px 20px; }
}
@media (prefers-reduced-motion:reduce) {
    .esm-home * { scroll-behavior:auto !important; transition:none !important; }
}
