/* EA public design tokens. The navy and orange come from the original logo artwork. */
.public-page,.auth-page{--ea-navy:#081638;--ea-orange:#C74927;--ea-cream:#F6EFE3;--ea-hunter:#405B49;--ea-sage:#AAB69D;--ea-saddle:#80634D;--ea-taupe:#C7B59E;--ea-charcoal:#41433E;--ea-paper:#FFFCF6;--ea-muted:#62655C;--ea-line:#DED5C6;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'DM Sans',system-ui,sans-serif;--site-width:1240px;--ink:var(--ea-charcoal);--cream:var(--ea-cream);--line:var(--ea-line);--muted:var(--ea-muted);font:400 16px/1.65 var(--font-body);background:var(--ea-cream);color:var(--ea-charcoal)}
.public-page{margin:0}.public-page :is(h1,h2,h3),.auth-page h1{font-family:var(--font-display);font-weight:500;letter-spacing:-.03em;color:var(--ea-navy);text-wrap:balance}.public-page h1{font-size:clamp(3.25rem,5.8vw,5.5rem);line-height:1.03;margin:18px 0 26px}.public-page h2{font-size:clamp(2.25rem,3.7vw,3.5rem);line-height:1.1;margin:0 0 24px}.public-page h3{font-size:2rem;line-height:1.15;margin:14px 0}.public-page p{line-height:1.7;max-width:66ch;margin:0 0 18px}.public-page .lead{font-size:1.125rem;line-height:1.8;max-width:48ch}.public-page a{color:var(--ea-navy);text-decoration:none}.public-page a:hover{text-decoration:underline;text-underline-offset:5px}.public-page .public-kicker{font:600 .75rem/1.5 var(--font-body);letter-spacing:.17em;text-transform:uppercase;color:var(--ea-saddle);margin:0 0 18px}.public-page img{display:block;max-width:100%;height:auto}.public-page :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ea-orange);outline-offset:5px}.public-page .public-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 24px;background:var(--ea-orange);color:#fff;border:1px solid var(--ea-orange);border-radius:0;font:600 .9rem/1.4 var(--font-body);text-decoration:none}.public-page .public-button:hover{background:#A63D21;border-color:#A63D21;text-decoration:none}.public-text-link{font-size:.9375rem;font-weight:600;padding:12px 0;display:inline-flex;align-items:center;gap:12px;min-height:44px}.public-section{width:min(100%,var(--site-width));padding:72px 36px;margin:0 auto}.public-section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:40px}.public-section-heading h2{margin-bottom:0}.public-section-heading>p{max-width:26ch;margin-bottom:4px}.public-card-grid{display:grid;gap:32px}.public-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.public-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
/* A quiet contact bar and an uncluttered public header. */
.public-contact-bar{background:var(--ea-navy);color:var(--ea-cream);font-size:.8125rem;padding:10px 36px}.public-contact-bar>div{max-width:1168px;margin:auto;display:flex;justify-content:space-between;gap:20px}.public-contact-bar>div>span:last-child{display:flex;gap:24px}.public-contact-bar a{color:var(--ea-cream)}.public-header{display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:1440px;margin:auto;padding:19px 36px;border-bottom:1px solid var(--ea-line);background:var(--ea-cream);position:relative;z-index:10}.public-brand{display:flex;align-items:center;flex-shrink:0;min-width:0;gap:14px}.public-brand .brand-logo{width:190px;height:auto;max-height:90px;object-fit:contain}.public-brand strong{font:600 1.7rem var(--font-display);color:var(--ea-navy)}.public-navigation{display:flex;align-items:center;gap:24px}.public-navigation>nav{display:flex;gap:20px}.public-navigation nav>a{display:flex;align-items:center;min-height:48px;font-size:.9375rem;white-space:nowrap;border-bottom:1px solid transparent}.public-navigation nav>a.active{border-color:var(--ea-orange)}.public-account{display:flex;align-items:center;gap:18px;padding-left:24px;border-left:1px solid var(--ea-line)}.public-account>a{display:flex;align-items:center;gap:7px;min-height:44px;font-size:.875rem;white-space:nowrap}.public-account .account-register{font-size:.8125rem}.public-menu-button{display:none;min-height:48px;align-items:center;gap:10px;background:none;border:1px solid var(--ea-line);padding:10px 14px;color:var(--ea-navy);font-size:.875rem;cursor:pointer}.public-menu-button>span:first-child{font-size:1.25rem}
/* Home: real artwork rather than simulated photography. */
.home-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:76px;padding-top:66px;padding-bottom:60px}.home-hero h1{max-width:9ch}.home-hero .hero-copy{max-width:500px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.home-brand-visual{display:grid;place-items:center;min-width:0;align-self:stretch;padding:10px 8px}.home-brand-visual .brand-artwork{width:100%;max-height:490px;object-fit:contain}.home-brand-visual .hero-photo{width:100%;height:490px;object-fit:cover}.hero-tagline{margin-top:26px!important;font-size:.875rem;color:var(--ea-muted)}.brand-typography{color:var(--ea-orange);font:500 9rem/.8 var(--font-display);text-align:center}.brand-typography span{display:block;font-size:2.5rem;margin-top:30px}.service-overview{border-top:1px solid var(--ea-line);padding-top:52px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ea-line);border-bottom:1px solid var(--ea-line)}.service-link{position:relative;display:flex;flex-direction:column;min-height:230px;padding:30px 32px;background:transparent;border-right:1px solid var(--ea-line);transition:background .15s}.service-link:first-child{padding-left:0}.service-link:last-child{border-right:0}.service-link h3{font-size:2.5rem;margin:20px 0 16px}.service-link p{font-size:.9375rem;max-width:23ch;color:var(--ea-muted);padding-right:10px}.service-link .service-index{font-size:.75rem;letter-spacing:.15em;color:var(--ea-saddle)}.service-arrow{position:absolute;right:28px;top:28px;font-size:1.5rem}.public-page .service-link:hover{background:#F0E7DA;text-decoration:none}.brand-band{background:var(--ea-navy);color:var(--ea-cream)}.brand-band>.public-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:68px}.brand-band h2{color:var(--ea-cream);margin:0;max-width:15ch}.brand-band p{color:#E5DED3;font-size:1.0625rem;margin:0;max-width:45ch}.contact-strip{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--ea-line)}.contact-strip h2{margin-bottom:14px}.contact-strip .direct-contact{flex-direction:row;flex-wrap:wrap;gap:8px 24px}.direct-contact{display:flex;flex-direction:column;gap:4px;margin:16px 0 24px}.direct-contact a{padding:6px 0;min-height:44px;font-size:1rem;overflow-wrap:anywhere}.editorial-copy{padding-block:26px 44px}.editorial-copy>p{font-size:1.125rem;white-space:pre-line;max-width:70ch}.page-callout{border-top:1px solid var(--ea-line)}.page-callout .public-section{padding-block:48px}.page-callout h2{max-width:22ch}.page-callout p{white-space:pre-line}
/* Lessons, boarding, events and About each have their own composition. */
.lesson-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:start;padding-top:84px;padding-bottom:62px}.lesson-hero h1{max-width:12ch;font-size:clamp(3.5rem,5.5vw,5rem)}.lesson-contact{background:var(--ea-paper);border-top:3px solid var(--ea-orange);padding:38px}.lesson-contact h2{font-size:2.75rem}.lesson-contact .direct-contact{border-top:1px solid var(--ea-line);padding-top:12px}.offerings-section{padding-top:24px}.offering-card{padding:30px 0;border-top:1px solid var(--ea-line)}.offering-details{font-size:.875rem;color:var(--ea-saddle)}.boarding-intro{background:#E6EBDC;border-bottom:1px solid #D2DACA}.boarding-intro>.public-section{padding-top:80px;padding-bottom:78px;max-width:1080px}.boarding-intro h1{max-width:15ch}.boarding-intro p{max-width:46ch}.boarding-intro img{width:100%;height:460px;object-fit:cover}.boarding-inquiry{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;padding-block:70px 84px}.boarding-inquiry h2{max-width:15ch}.boarding-inquiry>div:last-child{border-left:1px solid var(--ea-line);padding-left:48px;align-self:center}.events-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;padding-top:78px;padding-bottom:50px}.events-heading h1{margin-bottom:0}.events-heading .lead{margin:0 0 6px}.events-empty{display:grid;grid-template-columns:200px 1fr;gap:64px;border-top:1px solid var(--ea-line);padding-block:50px 60px}.calendar-motif{align-self:start;display:grid;place-items:center;border:1px solid var(--ea-taupe);border-top:12px solid var(--ea-orange);width:168px;height:178px;font:500 3rem var(--font-display);color:var(--ea-navy)}.events-empty h2{font-size:2.6rem}.event-feature{padding-top:12px;padding-bottom:36px}.event-feature img,.event-detail-image{max-height:800px;width:100%;object-fit:contain}.event-image{background:#EBE7DE;padding:20px;display:block}.event-image img{width:100%;max-height:520px;object-fit:contain}.event-card{border:1px solid var(--ea-line);background:var(--ea-paper)}.event-card>div{padding:28px}.event-date{color:var(--ea-saddle);font-size:.8125rem;font-weight:600}.event-card h3{font-size:2rem}.event-detail>p.public-kicker{margin-top:38px}.event-detail>h1{max-width:24ch}.event-detail-image{margin:40px 0}.about-intro{text-align:center;max-width:1000px;padding-top:80px;padding-bottom:60px}.about-intro .lead{margin-inline:auto;font-size:1.25rem;max-width:43ch}.about-intro>img{margin:40px auto 0;max-height:400px;object-fit:contain}.page-photo{padding-block:24px 52px}.page-photo img{width:100%;max-height:600px;object-fit:cover}.page-photo.brand-feature img{max-height:430px;object-fit:contain}.page-photo figcaption{padding-top:12px;font-size:.875rem;color:var(--ea-muted)}
/* CMS sections retain ordering, visibility, and large, consistent image treatments. */
.cms-content-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-top:32px}.cms-full{grid-column:1/-1}.public-feature{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:transparent}.public-feature figure{margin:0}.public-feature>div{padding:24px 0}.cms-image{width:100%;max-height:600px;object-fit:cover}.cms-portrait{width:100%;aspect-ratio:4/5;object-fit:cover}.public-item{border-top:1px solid var(--ea-line);padding:32px 0}.public-item p{white-space:pre-line}.cms-gallery-card{margin:0}.cms-gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.cms-gallery-card figcaption{font-size:.875rem;padding-top:12px;color:var(--ea-muted)}.public-testimonial{background:#E6EBDC;padding:36px;margin:0;font:500 1.6rem/1.5 var(--font-display);color:var(--ea-navy)}.public-testimonial cite{display:block;font:.875rem var(--font-body);padding-top:24px}.quote-mark{display:block;font-size:4rem;line-height:1}.public-faq details{border-top:1px solid var(--ea-line);padding:20px 0}.public-faq summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600;font-size:1rem;color:var(--ea-navy)}.public-faq details p{margin-top:16px;white-space:pre-line}.public-card{padding:30px;background:var(--ea-paper);border:1px solid var(--ea-line)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}
/* Contact: direct contact details and a comfortable, labelled form. */
.contact-composition{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:start;padding-top:78px;padding-bottom:80px}.contact-intro h1{font-size:5rem}.contact-details{border-top:1px solid var(--ea-line);padding-top:26px;margin-top:32px}.contact-details h2{font-size:2rem;margin-bottom:10px}.contact-details .direct-contact a{font-size:1.125rem}.contact-footnote{color:var(--ea-muted);font-size:.875rem}.contact-form{background:var(--ea-paper);padding:38px;border:1px solid var(--ea-line);border-top:3px solid var(--ea-orange)}.contact-form h2{font-size:2.25rem;margin-bottom:12px}.contact-form>p{font-size:.9375rem;margin-bottom:28px}.public-page .form-grid{gap:22px}.public-page .form-field{font-size:.875rem;font-weight:500;gap:8px;color:var(--ea-navy)}.public-page .form-field>.field-help{color:var(--ea-muted);font-size:.75rem;font-weight:400}.public-page :is(.form-control,.form-select){border:1px solid #8C8B80;background:#fff;min-height:48px;border-radius:0;padding:12px;font-size:1rem;font-weight:400}.contact-form>.public-button{margin-top:26px}
/* Footer uses a supplied white-backed wordmark on the brand navy. */
.public-footer{background:var(--ea-navy);padding:56px 36px 24px;color:var(--ea-cream)}.public-footer-inner{max-width:1168px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:70px}.public-footer .public-brand{margin-bottom:22px}.public-footer .footer-logo{width:240px;max-height:126px;object-fit:contain}.public-footer :is(a,p,strong){color:var(--ea-cream)}.public-footer p{font-size:.9375rem;margin-bottom:8px}.public-footer .footer-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em;color:#C7B59E;margin-bottom:16px}.public-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.public-footer nav>a{display:flex;align-items:center;min-height:44px;font-size:.9375rem}.footer-bottom{max-width:1168px;margin:36px auto 0;padding-top:24px;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-bottom small{color:#E1D7C9;font-size:.8125rem}.footer-bottom>a{font-size:.875rem;min-height:44px;display:flex;align-items:center}.public-notice{max-width:1168px;margin:24px auto;padding:20px}.public-error{min-height:420px;padding-block:100px}.public-error h1{max-width:15ch}
.auth-page .auth-header .brand-logo{width:190px;max-height:90px;object-fit:contain}.auth-page .auth-header .brand{padding:0;display:flex;align-items:center}.auth-page .auth-header{align-items:center;gap:24px}.auth-page .auth-content .form-card{background:var(--ea-paper);border-top:3px solid var(--ea-orange)}.auth-page :is(.btn-primary,.btn-cta){background:var(--ea-orange);color:white}
@media(max-width:1180px){.public-navigation>nav{gap:14px}.public-navigation{gap:18px}.public-account{padding-left:18px;gap:12px}.public-header{padding-inline:24px}.public-brand .brand-logo{width:170px}.public-account .account-register{display:none}.home-hero{gap:42px}.lesson-hero,.contact-composition,.boarding-inquiry{gap:48px}}
@media(max-width:1000px){.public-menu-button{display:flex}.public-header{flex-wrap:wrap;justify-content:space-between;gap:12px}.public-navigation{display:none;width:100%;align-items:stretch;flex-direction:column;gap:12px;padding-top:14px}.public-navigation.open{display:flex}.public-navigation>nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.public-navigation nav>a{min-height:50px}.public-account{border-left:0;border-top:1px solid var(--ea-line);padding:12px 0 0}.public-account .account-register{display:flex}.public-section{padding:56px 28px}.home-hero{gap:36px}.home-brand-visual .brand-artwork{max-height:420px}.lesson-hero{gap:36px}.lesson-contact{padding:28px}.events-heading{gap:36px}.public-footer-inner{gap:36px}.contact-composition{gap:36px}.contact-form{padding:28px}.public-page h1{font-size:4.1rem}.public-header .brand-logo{width:170px}.boarding-inquiry>div:last-child{padding-left:28px}.service-link{padding:26px 24px}.service-link p{padding:0}.public-contact-bar{padding-inline:28px}}
@media(max-width:700px){.public-contact-bar>div>span:first-child{display:none}.public-contact-bar>div>span:last-child{width:100%;justify-content:space-between;gap:12px}.public-contact-bar{padding:9px 20px;font-size:.6875rem}.public-header{padding:15px 20px}.public-header .brand-logo{width:155px;max-height:73px}.public-navigation>nav{grid-template-columns:repeat(2,1fr)}.public-section{padding:44px 22px}.public-page h1,.lesson-hero h1,.contact-intro h1{font-size:3.5rem;line-height:1.06}.public-page h2{font-size:2.5rem}.public-page .lead{font-size:1rem;line-height:1.8}.home-hero{grid-template-columns:1fr;gap:22px;padding-top:36px;padding-bottom:36px}.home-hero h1{max-width:12ch;margin-top:12px}.hero-actions{gap:12px 24px;margin-top:24px}.home-brand-visual{padding:16px 22px 0}.home-brand-visual .brand-artwork{max-height:335px;width:100%;object-fit:contain}.home-brand-visual .hero-photo{height:340px}.public-section-heading{display:block;margin-bottom:24px}.public-section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-link,.service-link:first-child{min-height:0;padding:24px 0;border-right:0;border-bottom:1px solid var(--ea-line)}.service-link:last-child{border-bottom:0}.service-link h3{font-size:2rem;margin:8px 0 10px}.service-link p{max-width:32ch;margin:0}.service-arrow{right:0;top:28px}.service-index{display:none}.brand-band>.public-section{grid-template-columns:1fr;gap:22px;padding-block:46px}.contact-strip{flex-direction:column;align-items:flex-start;gap:16px}.contact-strip .direct-contact{flex-direction:column;gap:0}.lesson-hero,.boarding-inquiry,.events-heading,.contact-composition{grid-template-columns:1fr;gap:30px}.lesson-contact{padding:26px}.lesson-contact h2{font-size:2.5rem}.lesson-hero h1{max-width:15ch}.public-card-grid.two,.public-card-grid.three{grid-template-columns:1fr}.boarding-intro>.public-section{padding:50px 22px}.boarding-inquiry>div:last-child{border-left:0;border-top:1px solid var(--ea-line);padding:18px 0 0}.boarding-intro img{height:300px}.events-heading h1{margin-bottom:0}.events-heading .lead{max-width:40ch}.events-empty{grid-template-columns:1fr;gap:26px;padding-top:36px}.calendar-motif{width:80px;height:86px;font-size:1.75rem;border-top-width:7px}.events-empty h2{font-size:2.5rem}.about-intro{padding-block:48px}.about-intro .lead{font-size:1.125rem}.contact-form{padding:24px}.contact-composition .form-grid{grid-template-columns:1fr}.contact-composition .form-field.full{grid-column:auto}.contact-intro .contact-details{margin-top:26px}.cms-content-flow,.public-feature{grid-template-columns:1fr;gap:26px}.cms-full{grid-column:auto}.cms-image{max-height:420px}.gallery-grid{grid-template-columns:1fr}.public-footer{padding:44px 22px 20px}.public-footer-inner{grid-template-columns:1fr;gap:30px}.footer-identity .public-brand{margin-bottom:16px}.public-footer .footer-logo{width:200px}.public-footer nav{grid-template-columns:repeat(3,1fr)}.footer-bottom{flex-wrap:wrap;gap:8px 24px;margin-top:26px;padding-top:18px}.public-notice{margin:22px}.auth-page .auth-header .brand-logo{width:150px}.auth-page .auth-header{padding:20px;gap:18px}.auth-page .auth-header>a:last-child{font-size:.8125rem;max-width:15ch}}
@media(prefers-reduced-motion:reduce){.public-page *{scroll-behavior:auto!important;transition:none!important}}
.public-header{max-width:var(--site-width)}.public-account details{position:relative}.public-account summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.875rem}.public-account .account-menu{min-width:220px;background:var(--ea-paper);border:1px solid var(--ea-line);padding:10px;z-index:30}.public-account .account-menu a,.public-account .account-menu button{min-height:44px;font-size:.875rem;color:var(--ea-navy)}
.about-intro .about-body{max-width:56ch;margin:28px auto 0;font-size:1rem;white-space:pre-line}.auth-page :is(.form-control,.form-select){border-color:#8C8B80}
.public-error>.public-button{margin-right:24px}@media(max-width:700px){.public-contact-bar{font-size:.75rem}}
/* Curated photography: stable proportions preserve horse and rider on phones. */
.public-page .ea-page-photo{object-position:var(--photo-x,50%) var(--photo-y,50%)}
.home-brand-visual .hero-photo{height:auto;aspect-ratio:3/2;object-fit:cover;padding:0}
.home-brand-visual:has(.hero-photo){align-self:center;padding:0}.home-hero:has(.hero-photo){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px}
.page-photo:not(.brand-feature) .ea-page-photo{height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover}
.boarding-intro .ea-page-photo{display:block;max-width:1200px;margin-inline:auto;height:auto;aspect-ratio:3/2;object-fit:cover}
.about-intro>.ea-page-photo{width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover}
.event-feature .ea-page-photo{height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover}
.camp-artwork-preview{width:100%;aspect-ratio:1.9;overflow:hidden;margin:24px 0;background:#fffdf8}
.camp-artwork-preview img{width:100%;height:auto;display:block;max-height:none;object-fit:initial}
.event-image.camp-artwork-preview{margin:0;aspect-ratio:1.9;height:auto}
.event-image.camp-artwork-preview img{height:auto;object-fit:initial}
@media(max-width:700px){.public-page .ea-page-photo{object-position:var(--photo-mobile-x,50%) var(--photo-mobile-y,50%)}.home-hero:has(.hero-photo){grid-template-columns:1fr;gap:28px}.home-brand-visual .hero-photo{height:auto;aspect-ratio:4/3}.page-photo:not(.brand-feature) .ea-page-photo{aspect-ratio:4/3}.boarding-intro .ea-page-photo{height:auto;aspect-ratio:4/3}.about-intro>.ea-page-photo{aspect-ratio:3/2}.event-feature .ea-page-photo{aspect-ratio:3/2}}
/* Public event cards must not inherit the compact Management event-row layout. */
.public-page .event-card{display:block;overflow:hidden;padding:0;gap:0}
.public-page .event-card .event-image{display:block;width:100%;padding:0}
.public-page .event-card .event-date{width:auto;min-width:0;padding:0;background:none;border:0;white-space:normal;text-align:left}
