/* EventPurchase Module 10 / v5.0.0
   Production copy of the approved v5 presentation.
   Used by public pages and the /admin/login/ presentation only; never the dashboard or store. */

html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body.ep-public-body {
 --ep5-ink:#0c1821; --ep5-navy:#142838; --ep5-copper:#a95632;
 --ep5-copper-brand:#b66a45; --ep5-copper-soft:#d09a7c; --ep5-cream:#f7f4ef;
 --ep5-stone:#e8e3dc; --ep5-muted:#5c6870; --ep5-line:rgba(12,24,33,.11);
 --ep5-font:"Inter",Arial,sans-serif; --ep5-shell:1240px;
 margin:0; color:var(--ep5-ink); background:white; font-family:var(--ep5-font);
 font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.ep-public-body *, .ep-public-body *::before, .ep-public-body *::after { box-sizing:border-box; }
.ep-public-body :where(h1,h2,h3,h4,p,figure,ul) { margin:0; }
.ep-public-body :where(h1,h2,h3,h4) { line-height:1.14; letter-spacing:-.035em; font-weight:700; }
.ep-public-body :where(h1,h2) em { color:var(--ep5-copper-soft); font-style:normal; }
.ep-public-body :where(button,input,textarea,select) { font:inherit; }
.ep-public-body button { cursor:pointer; }
.ep-public-body a { text-decoration:none; }
.ep-public-body img { display:block; max-width:100%; }
.ep-public-body [hidden] { display:none !important; }
.ep-public-body :focus-visible { outline:3px solid #cb825a; outline-offset:5px; }
.ep5-shell { width:min(calc(100% - 64px),var(--ep5-shell)); margin-inline:auto; }
.ep5-shell > *, .ep5-shell div { min-width:0; }
.ep5-section { padding:84px 0; }
.ep5-section h2 { font-size:clamp(34px,3.2vw,48px); }
.ep5-section-description { margin-top:22px; color:var(--ep5-muted); line-height:1.8; max-width:510px; }
.ep5-label { display:block; color:var(--ep5-copper); font-size:10.5px; font-weight:750; letter-spacing:.13em; line-height:1.5; }
.ep5-eyebrow { display:flex; align-items:center; gap:13px; margin-bottom:22px !important; color:var(--ep5-copper); font-size:11px; font-weight:700; letter-spacing:.15em; line-height:1.5; text-transform:uppercase; }
.ep5-eyebrow::before { content:""; width:26px; height:1px; background:currentColor; flex:none; }
.ep5-icon { width:23px; height:23px; flex:none; }
.ep5-arrow { display:inline-block; position:relative; width:18px; height:1px; background:currentColor; flex:none; margin-right:2px; }
.ep5-arrow::after { content:""; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; position:absolute; right:0; top:-3px; transform:rotate(45deg); }
.ep5-button { display:inline-flex; align-items:center; justify-content:center; gap:17px; min-height:50px; padding:13px 23px; border:1px solid transparent; border-radius:999px; font-size:13px; line-height:1.4; font-weight:700; transition:background .2s ease,box-shadow .2s ease,transform .2s ease; }
.ep-public-body .ep5-button--copper { color:#fff; background:var(--ep5-copper); border-color:var(--ep5-copper); box-shadow:0 8px 22px rgba(169,86,50,.12); }
.ep-public-body .ep5-button--copper:hover { background:#934828; border-color:#934828; box-shadow:0 12px 26px rgba(169,86,50,.22); transform:translateY(-2px); }
.ep-public-body .ep5-button--ivory { color:var(--ep5-ink); background:var(--ep5-cream); border-color:var(--ep5-cream); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.ep-public-body .ep5-button--ivory:hover { background:white; transform:translateY(-2px); }
.ep5-button--small { min-height:42px; padding:10px 19px; font-size:12px; }
.ep5-button--full { width:100%; }
.ep5-button:disabled { cursor:default; opacity:.7; transform:none; }
.ep5-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:28px; }
.ep5-text-link { display:inline-flex; align-items:center; gap:15px; color:inherit; font-size:13px; font-weight:600; }
.ep5-text-link:hover, .ep5-inline-link:hover { text-decoration:underline; text-underline-offset:5px; }
.ep5-inline-link { display:inline-flex; align-items:center; gap:16px; color:var(--ep5-ink); font-size:13px; font-weight:650; }

/* Shared header: solid navy on every page and only one supplier action per viewport. */
.ep5-header { position:sticky; top:0; z-index:100; color:white; background:rgba(12,24,33,.98); border-bottom:1px solid rgba(255,255,255,.08); }
.ep5-header-inner { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:84px; }
.ep5-logo { display:inline-block; width:216px; flex:none; }
.ep5-logo img { width:100%; height:auto; }
.ep5-nav { display:flex; align-items:center; justify-content:center; gap:25px; }
.ep5-nav a, .ep5-desktop-login { color:#ecebe7; font-size:12px; font-weight:600; white-space:nowrap; line-height:1.5; padding:10px 0; }
.ep5-nav a:hover, .ep5-desktop-login:hover, .ep5-header [aria-current="page"] { color:var(--ep5-copper-soft); }
.ep5-header [aria-current="page"] { text-decoration:underline; text-underline-offset:8px; }
.ep5-header-actions { display:flex; align-items:center; gap:21px; }
.ep5-mobile-login, .ep5-menu { display:none; }
.ep5-skip { position:fixed; top:0; left:24px; padding:12px 20px; background:white; color:var(--ep5-ink); transform:translateY(-150%); z-index:200; border-radius:0 0 8px 8px; }
.ep5-skip:focus { transform:none; }

/* Homepage hero: invitation and authentic product imagery, no CSS product silhouettes. */
.ep5-hero { color:white; background:radial-gradient(ellipse at 89% 10%,rgba(208,154,124,.12),transparent 42%),linear-gradient(125deg,#0c1821,#173447); overflow:hidden; }
.ep5-hero-grid { display:grid; grid-template-columns:1.03fr .97fr; gap:58px; align-items:center; min-height:650px; padding-top:68px; padding-bottom:72px; }
.ep5-hero h1 { font-size:clamp(50px,5.1vw,76px); line-height:1.04; letter-spacing:-.05em; }
.ep5-hero .ep5-eyebrow, .ep5-suppliers .ep5-eyebrow, .ep5-form-page .ep5-eyebrow { color:var(--ep5-copper-soft); }
.ep5-lead { color:#e5e7e5; font-size:19px; line-height:1.6; margin-top:26px !important; max-width:500px; }
.ep5-hero-description { color:#b5c0c6; font-size:14px; line-height:1.8; margin-top:16px !important; max-width:510px; }
.ep5-hero-notes { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:33px; color:#c6cfd3; }
.ep5-hero-notes span { display:flex; align-items:center; gap:7px; font-size:11px; }
.ep5-hero-notes .ep5-icon { width:16px; height:16px; color:var(--ep5-copper-soft); }
.ep5-hero-stage { position:relative; height:490px; }
.ep5-hero-product { position:absolute; right:0; top:0; width:80%; height:385px; background:var(--ep5-cream); color:var(--ep5-ink); border-radius:22px; padding:25px 28px; transform:rotate(4deg); box-shadow:0 28px 70px rgba(0,0,0,.2); }
.ep5-hero-product img { width:100%; height:240px; object-fit:contain; mix-blend-mode:multiply; }
.ep5-hero-product .ep5-label { margin-top:12px; }
.ep5-hero-product strong { display:block; font-size:19px; line-height:1.3; margin-top:6px; letter-spacing:-.02em; }
.ep5-invitation { position:absolute; left:-9px; top:235px; width:330px; padding:23px 25px; border:1px solid rgba(208,154,124,.4); border-radius:18px; background:linear-gradient(130deg,#172d3b,#0c1d2a); box-shadow:0 23px 55px rgba(0,0,0,.2); transform:rotate(-4deg); }
.ep5-invitation-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:17px; margin-bottom:16px; border-bottom:1px solid rgba(255,255,255,.13); font-family:Georgia,serif; font-size:20px; }
.ep5-invitation-top .ep5-icon { width:19px; color:var(--ep5-copper-soft); }
.ep5-invitation p { font-size:10px; color:var(--ep5-copper-soft); text-transform:uppercase; letter-spacing:.12em; }
.ep5-invitation > strong { display:block; font-size:25px; letter-spacing:-.03em; line-height:1.3; margin-top:5px; }
.ep5-invitation-code { display:flex; gap:8px; margin:17px 0 14px; }
.ep5-invitation-code span { flex:1; text-align:center; border:1px solid rgba(255,255,255,.13); border-radius:7px; background:rgba(255,255,255,.035); padding:8px; font-size:11px; font-weight:650; letter-spacing:.1em; }
.ep5-invitation small { font-size:10px; color:#b5c3cd; }
.ep5-access-stamp { position:absolute; right:0; bottom:12px; display:flex; align-items:center; gap:9px; border:1px solid rgba(208,154,124,.3); border-radius:999px; padding:11px 16px; background:#122631; color:#eae9e3; font-size:11px; }
.ep5-access-stamp .ep5-icon { width:17px; height:17px; color:var(--ep5-copper-soft); }
.ep5-proof { background:var(--ep5-cream); border-bottom:1px solid var(--ep5-line); }
.ep5-proof > div { display:flex; align-items:center; justify-content:center; gap:35px; min-height:67px; }
.ep5-proof span { font-size:12px; letter-spacing:.015em; color:#53606a; }
.ep5-proof i { width:4px; height:4px; border-radius:50%; background:var(--ep5-copper-brand); }

/* How it works: two balanced columns and compact steps. */
.ep5-how { background:var(--ep5-cream); }
.ep5-how-top { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:72px; margin-bottom:46px; }
.ep5-flow-preview { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:22px; background:white; padding:27px; border:1px solid var(--ep5-line); border-radius:20px; box-shadow:0 14px 32px rgba(12,24,33,.04); }
.ep5-flow-image { height:195px; background:#f1efeb; border-radius:12px; }
.ep5-flow-image img { height:100%; width:100%; object-fit:contain; padding:17px; mix-blend-mode:multiply; }
.ep5-flow-copy h3 { font-size:23px; margin-top:11px; }
.ep5-flow-copy p { font-size:13px; color:var(--ep5-muted); line-height:1.75; margin:13px 0 20px; }
.ep5-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--ep5-line); border-bottom:1px solid var(--ep5-line); }
.ep5-step { padding:24px 26px 29px; border-right:1px solid var(--ep5-line); }
.ep5-step:first-child { padding-left:0; }
.ep5-step:last-child { border:0; padding-right:0; }
.ep5-step-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
.ep5-step-top > span { color:#879096; font-size:11px; font-weight:600; letter-spacing:.12em; }
.ep5-step .ep5-icon { color:var(--ep5-copper); }
.ep5-step h3 { font-size:19px; }
.ep5-step p { margin-top:11px; font-size:13px; line-height:1.8; color:var(--ep5-muted); }

/* Three wholly new photographs. Image dimensions are defined, not min-height. */
.ep5-heading-centered, .ep5-product-heading { text-align:center; max-width:960px; margin:0 auto 38px; }
.ep5-heading-centered .ep5-eyebrow { justify-content:center; }
.ep5-solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ep5-solution { border:1px solid var(--ep5-line); border-radius:20px; overflow:hidden; background:var(--ep5-cream); transition:transform .25s ease,box-shadow .25s ease; }
.ep5-solution:hover { transform:translateY(-5px); box-shadow:0 16px 38px rgba(12,24,33,.09); }
.ep5-solution-image { position:relative; aspect-ratio:4/3; background:#d8dedc; overflow:hidden; }
.ep5-solution-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.ep5-solution-image--event img { object-position:50% 53%; }
.ep5-solution-image--vip img { object-position:48% 40%; }
.ep5-solution-image--fashion img { object-position:48% 53%; }
.ep5-solution:hover .ep5-solution-image img { transform:scale(1.035); }
.ep5-solution-image::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(7,16,23,.6)); pointer-events:none; }
.ep5-solution-image > span { position:absolute; z-index:1; bottom:18px; left:22px; color:white; font-size:10px; font-weight:700; letter-spacing:.12em; }
.ep5-solution-copy { padding:26px 25px 27px; }
.ep5-solution-copy h3 { margin-top:9px; font-size:23px; }
.ep5-solution-copy p { font-size:13.5px; color:var(--ep5-muted); line-height:1.8; margin-top:13px; }

/* Centered full-width product heading. No right-hand paragraph above handbag. */
.ep5-products { padding-top:20px; background:linear-gradient(white,var(--ep5-cream)); }
.ep5-product-heading { margin-bottom:38px; max-width:100%; }
.ep5-product-heading h2 { font-size:clamp(36px,3.6vw,52px); line-height:1.13; }
.ep5-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ep5-product-card { background:white; border:1px solid var(--ep5-line); border-radius:18px; overflow:hidden; box-shadow:0 14px 32px rgba(12,24,33,.035); }
.ep5-product-image { height:270px; background:#f2f0ed; padding:24px 30px; }
.ep5-product-image img { height:100%; width:100%; object-fit:contain; mix-blend-mode:multiply; }
.ep5-product-image--citizen { padding:27px 45px; }
.ep5-product-image--coach { padding:10px 30px 15px; }
.ep5-product-copy { padding:23px 25px; }
.ep5-product-copy h3 { font-size:23px; margin-top:7px; }
.ep5-brand-name { margin-top:10px !important; color:var(--ep5-muted); font-size:14px; }
.ep5-collection-note { text-align:center; margin-top:22px !important; color:#727a7f; font-size:11px; }

/* Supplier section: lighter action, legible demo dashboard, features BELOW the visual. */
.ep5-suppliers { color:white; background:radial-gradient(ellipse at 100% 0,rgba(208,154,124,.1),transparent 45%),linear-gradient(125deg,#0c1821,#142e40); }
.ep5-suppliers-top { display:grid; grid-template-columns:.75fr 1.25fr; gap:68px; align-items:center; }
.ep5-supplier-copy h2 { font-size:clamp(34px,3vw,43px); }
.ep5-supplier-copy .ep5-section-description { color:#bfccd3; font-size:14px; line-height:1.85; margin:21px 0 27px; }
.ep5-dashboard { background:#f9faf9; color:var(--ep5-ink); border:1px solid #d5dbdb; border-radius:19px; overflow:hidden; box-shadow:0 23px 55px rgba(0,0,0,.16); }
.ep5-dashboard-head { display:flex; justify-content:space-between; align-items:center; padding:19px 23px; border-bottom:1px solid var(--ep5-line); background:white; }
.ep5-dashboard-head .ep5-label { font-size:9px; }
.ep5-dashboard-head h3 { font-size:20px; margin-top:4px; }
.ep5-demo { font-size:10px; border-radius:999px; border:1px solid #dfe2de; background:#f4f4f1; color:#606d72; padding:5px 10px; }
.ep5-dashboard-stats { display:grid; grid-template-columns:repeat(3,1fr); padding:17px 23px; gap:12px; }
.ep5-dashboard-stats > div { border-right:1px solid var(--ep5-line); }
.ep5-dashboard-stats > div:last-child { border:0; }
.ep5-dashboard-stats span { display:block; font-size:10px; color:var(--ep5-muted); }
.ep5-dashboard-stats strong { display:block; margin-top:4px; font-size:29px; line-height:1.15; letter-spacing:-.04em; }
.ep5-dashboard-columns { display:grid; grid-template-columns:1.05fr .95fr; gap:15px; padding:0 21px 19px; }
.ep5-dashboard-columns > div { background:white; border:1px solid var(--ep5-line); border-radius:10px; padding:17px 15px; }
.ep5-dashboard-columns h4 { font-size:12px; font-weight:700; letter-spacing:0; margin-bottom:18px; }
.ep5-bar-row { display:grid; grid-template-columns:82px 1fr 17px; align-items:center; gap:9px; margin-top:16px; }
.ep5-bar-row > span { font-size:9px; white-space:nowrap; color:var(--ep5-muted); }
.ep5-bar-row > div { height:11px; border-radius:3px; background:#f3ece6; }
.ep5-bar-row i { display:block; height:100%; border-radius:3px; background:var(--ep5-copper-brand); }
.ep5-bar-row:nth-of-type(2) i { background:#c48768; }
.ep5-bar-row:nth-of-type(3) i { background:#d9b69f; }
.ep5-bar-row b { font-size:10px; }
.ep5-order-panel > div { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid #eff0ed; font-size:9px; }
.ep5-order-panel > div:last-child { border:0; }
.ep5-status { font-weight:500; font-size:9px; color:#3e6657; background:#edf5ef; padding:3px 7px; border-radius:999px; }
.ep5-status--pending { color:#876437; background:#f6eee1; }
.ep5-dashboard-foot { display:flex; align-items:center; gap:7px; padding:11px 22px; border-top:1px solid var(--ep5-line); font-size:9px; color:var(--ep5-muted); }
.ep5-dashboard-foot .ep5-icon { width:14px; height:14px; }
.ep5-supplier-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:31px; }
.ep5-supplier-features article { display:flex; gap:17px; padding:20px 22px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); border-radius:12px; align-items:flex-start; }
.ep5-supplier-features .ep5-icon { color:var(--ep5-copper-soft); width:21px; height:21px; }
.ep5-supplier-features h3 { font-size:15px; font-weight:600; letter-spacing:-.01em; }
.ep5-supplier-features p { color:#bac8cf; margin-top:7px; font-size:12px; line-height:1.6; }

/* Guest experience uses the same real product assets as the collection above. */
.ep5-experience-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:75px; align-items:center; }
.ep5-browser { overflow:hidden; border:1px solid var(--ep5-line); border-radius:19px; background:var(--ep5-cream); box-shadow:0 20px 50px rgba(12,24,33,.07); }
.ep5-browser-bar { display:flex; align-items:center; gap:5px; min-height:35px; padding:0 14px; background:white; }
.ep5-browser-bar > span { width:6px; height:6px; border-radius:50%; background:#d5d1c8; }
.ep5-browser-bar small { margin-left:auto; color:#777e82; font-size:9px; }
.ep5-browser-intro { padding:28px; background:linear-gradient(135deg,#0c1821,#1b384a); color:white; }
.ep5-browser-intro .ep5-label { color:var(--ep5-copper-soft); font-size:9px; }
.ep5-browser-intro h3 { font-size:29px; margin-top:10px; }
.ep5-mini-products { padding:17px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.ep5-mini-product { background:white; border-radius:10px; padding:10px 10px 13px; }
.ep5-mini-product > div { height:115px; background:#f1efec; border-radius:7px; padding:7px; }
.ep5-mini-product img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.ep5-mini-product strong, .ep5-mini-product span { display:block; font-size:10px; line-height:1.4; margin-top:8px; }
.ep5-mini-product span { font-size:9px; color:var(--ep5-muted); margin-top:3px; }
.ep5-experience-copy h2 { font-size:clamp(34px,3vw,45px); }
.ep5-experience-copy p.ep5-section-description { font-size:14px; }
.ep5-checks { padding:0; list-style:none; display:grid; gap:12px; margin-top:24px !important; }
.ep5-checks li { display:flex; gap:9px; align-items:flex-start; font-size:12px; color:#54616a; }
.ep5-checks .ep5-icon { width:18px; height:18px; color:var(--ep5-copper); }
.ep5-checks--light li { color:#d0d9dd; }
.ep5-checks--light .ep5-icon { color:var(--ep5-copper-soft); }

/* Reassurance written for guests, not a commentary on website design. */
.ep5-confidence { background:var(--ep5-cream); }
.ep5-confidence-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:65px; margin-bottom:33px; }
.ep5-confidence-heading > p { color:var(--ep5-muted); max-width:350px; line-height:1.8; padding-bottom:3px; font-size:14px; }
.ep5-confidence-heading h2 { font-size:clamp(32px,2.9vw,43px); }
.ep5-confidence-grid { display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:20px; }
.ep5-confidence-grid article { background:white; border:1px solid var(--ep5-line); border-radius:17px; padding:28px; }
.ep5-confidence-grid .ep5-icon { color:var(--ep5-copper); width:27px; height:27px; margin-bottom:20px; }
.ep5-confidence-grid h3 { font-size:23px; }
.ep5-confidence-grid p { color:var(--ep5-muted); font-size:13px; line-height:1.8; margin-top:13px; }
.ep5-confidence-grid article > a:not(.ep5-button) { color:var(--ep5-ink); display:flex; align-items:center; gap:18px; margin-top:25px; font-size:12px; font-weight:600; }
.ep5-confidence-grid article > a:not(.ep5-button):hover { text-decoration:underline; }
.ep5-confidence-grid .ep5-support-card { background:linear-gradient(135deg,#0c1821,#193647); color:white; border:0; }
.ep5-support-card .ep5-label { color:var(--ep5-copper-soft); font-size:9px; }
.ep5-support-card h3 { margin-top:16px; font-size:27px; }
.ep5-support-card p { color:#c6d0d6; }
.ep5-support-card .ep5-button { margin-top:22px; font-size:12px; min-height:46px; }
.ep5-final { background:#132b3b; color:white; padding:54px 0; }
.ep5-final-inner { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.ep5-final .ep5-label { color:var(--ep5-copper-soft); }
.ep5-final h2 { font-size:38px; margin-top:12px; }

/* Contact and access pages: compact type and forms visible without a giant hero. */
.ep5-form-page { color:white; background:radial-gradient(ellipse at 100% 0,rgba(208,154,124,.09),transparent 42%),linear-gradient(135deg,#0c1821,#163246); }
.ep5-contact-page { padding:44px 0 48px; }
.ep5-contact-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:65px; align-items:start; }
.ep5-form-intro { padding-top:15px; }
.ep5-form-intro h1 { font-size:42px; line-height:1.13; letter-spacing:-.035em; }
.ep5-form-intro > p:not(.ep5-eyebrow) { color:#c3cfd6; font-size:14px; line-height:1.85; max-width:405px; margin-top:22px; }
.ep5-form-intro .ep5-form-tip { color:#a8b9c4 !important; padding-top:20px; margin-top:24px !important; border-top:1px solid rgba(255,255,255,.14); font-size:12px !important; }
.ep5-form-card { background:#fff; color:var(--ep5-ink); padding:30px 32px; border:1px solid rgba(255,255,255,.2); border-radius:22px; box-shadow:0 20px 55px rgba(0,0,0,.12); }
.ep5-form-card > .ep5-label { font-size:9px; }
.ep5-form-card h2 { font-size:30px; margin-top:8px; line-height:1.18; }
.ep5-card-description { color:var(--ep5-muted); font-size:13px; margin-top:12px !important; }
.ep5-preview-note { color:#77706b; font-size:11px; line-height:1.6; margin-top:10px !important; }
.ep5-form { margin-top:24px; display:grid; gap:18px; }
.ep5-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ep5-field label { display:block; color:#243440; font-size:12px; font-weight:650; line-height:1.5; margin-bottom:7px; }
.ep5-field label span { color:#7a8287; font-weight:400; font-size:10px; }
.ep5-field input, .ep5-field select, .ep5-field textarea { width:100%; border:1px solid #d5d9d9; border-radius:9px; padding:11px 13px; min-height:46px; color:var(--ep5-ink); background:#fff; font-size:13px; line-height:1.5; transition:box-shadow .18s,border-color .18s; }
.ep5-field textarea { min-height:115px; height:115px; resize:vertical; }
.ep5-field input::placeholder, .ep5-field textarea::placeholder { color:#89939b; opacity:1; }
.ep5-field :is(input,select,textarea):focus { outline:0; border-color:#a95632; box-shadow:0 0 0 3px rgba(169,86,50,.13); }
.ep5-field select { padding-right:22px; }
.ep5-form-actions { display:flex; align-items:center; gap:18px; margin-top:10px; /* 18px form gap + 10px = 28px actual field/button separation */ }
.ep5-form-hint { color:#788289; font-size:10px; line-height:1.6; max-width:200px; }
.ep5-form-feedback { color:#594a3b; background:#f8f1e7; border:1px solid #e6d2b9; border-radius:8px; padding:12px 14px; font-size:12px; line-height:1.7; }
.ep5-contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:28px; }
.ep5-contact-options > a { display:flex; align-items:flex-start; gap:15px; padding:18px 20px; border:1px solid rgba(255,255,255,.14); border-radius:12px; color:white; background:rgba(255,255,255,.035); transition:background .2s,border-color .2s; }
.ep5-contact-options > a:hover { background:rgba(255,255,255,.085); border-color:rgba(208,154,124,.55); }
.ep5-contact-options .ep5-icon { color:var(--ep5-copper-soft); width:20px; height:20px; }
.ep5-contact-options h2 { font-size:14px; font-weight:600; letter-spacing:-.01em; }
.ep5-contact-options p { font-size:11px; color:#bdcbd4; margin-top:5px; line-height:1.6; }
.ep5-contact-options .ep5-arrow { margin-left:auto; margin-top:8px; color:var(--ep5-copper-soft); width:13px; }
.ep5-login-page, .ep5-vip-page { padding:52px 0 59px; }
.ep5-auth-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:92px; max-width:1080px; }
.ep5-login-intro h1 { font-size:42px; }
.ep5-login-card { max-width:480px; width:100%; justify-self:end; }
.ep5-login-card .ep5-form { gap:19px; margin-top:26px; }
.ep5-login-card .ep5-form-actions { margin-top:13px; /* 19 + 13 = 32px gap above Sign in */ }
.ep5-login-help { margin-top:24px; padding-top:18px; border-top:1px solid var(--ep5-line); color:var(--ep5-muted); font-size:11px; line-height:1.7; }
.ep5-login-help a { color:var(--ep5-copper); text-decoration:underline; text-underline-offset:3px; }
.ep5-vip-card { max-width:480px; width:100%; justify-self:end; }
.ep5-field .ep5-access-input { font-size:21px; font-weight:600; text-align:center; letter-spacing:.1em; min-height:60px; background:#fbfaf8; }
.ep5-vip-assurance { display:flex; align-items:flex-start; gap:15px; padding-top:25px; margin-top:27px; border-top:1px solid rgba(255,255,255,.15); color:#b6c7d0; font-size:12px; max-width:350px; }
.ep5-vip-assurance .ep5-icon { color:var(--ep5-copper-soft); }
.ep5-vip-assurance strong { display:block; color:#f0f1ed; margin-bottom:6px; font-size:13px; }
.ep5-vip-next { background:var(--ep5-cream); padding:33px 0; }
.ep5-vip-next > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ep5-vip-next > div > div { padding:0 32px; border-right:1px solid var(--ep5-line); }
.ep5-vip-next > div > div:first-child { padding-left:0; }
.ep5-vip-next > div > div:last-child { border:0; padding-right:0; }
.ep5-vip-next span { color:var(--ep5-copper); font-size:10px; font-weight:700; letter-spacing:.12em; }
.ep5-vip-next h2 { font-size:17px; margin-top:9px; }
.ep5-vip-next p { color:var(--ep5-muted); font-size:12px; margin-top:8px; }

/* Shared footer. No dead placeholder legal links or extra marketing sections. */
.ep5-footer { padding:38px 0 23px; background:#09141c; color:#c3ced5; }
.ep5-footer-top { display:flex; justify-content:space-between; gap:60px; padding-bottom:28px; }
.ep5-footer-brand .ep5-logo { width:196px; }
.ep5-footer-brand p { margin-top:14px; font-size:12px; color:#91a4b0; }
.ep5-footer-links { display:flex; gap:65px; }
.ep5-footer-links > div { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.ep5-footer-links h2 { font-size:11px; color:var(--ep5-copper-soft); margin-bottom:5px; font-weight:600; letter-spacing:.04em; }
.ep5-footer-links a { color:#c3ced5; font-size:11px; }
.ep5-footer-links a:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.ep5-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.11); color:#81939f; font-size:10px; }

/* Media failure state: never substitute the rejected photos or fabricated products. */
.ep5-media-unavailable { display:flex; align-items:center; justify-content:center; text-align:center; color:#687780; background:#edf0ed; font-size:12px; padding:24px; }
.ep5-media-unavailable img { visibility:hidden; }
.ep5-media-unavailable::before { content:"Photo temporarily unavailable"; position:absolute; inset:0; display:grid; place-items:center; padding:24px; }
.ep5-media-unavailable { position:relative; }

/* Progressive enhancement: content is visible without JavaScript. */
.ep5-motion-ready [data-ep5-reveal] { transition:opacity .55s ease,translate .55s ease; }
.ep5-motion-ready [data-ep5-reveal].ep5-pending { opacity:0; translate:0 16px; }

@media (max-width:1199px) {
 .ep5-shell { width:min(calc(100% - 48px),var(--ep5-shell)); }
 .ep5-header-inner { gap:20px; }
 .ep5-logo { width:187px; }
 .ep5-nav { gap:16px; }
 .ep5-header-actions { gap:15px; }
 .ep5-nav a, .ep5-desktop-login { font-size:11px; }
 .ep5-hero-grid { gap:38px; }
 .ep5-hero h1 { font-size:62px; }
 .ep5-hero-stage { height:465px; }
 .ep5-invitation { width:300px; left:0; top:223px; }
 .ep5-how-top, .ep5-suppliers-top { gap:40px; }
 .ep5-suppliers-top { grid-template-columns:.72fr 1.28fr; }
 .ep5-dashboard-columns { padding-inline:15px; gap:10px; }
 .ep5-bar-row { grid-template-columns:68px 1fr 14px; gap:6px; }
 .ep5-bar-row > span { font-size:8px; }
 .ep5-dashboard-columns > div { padding:14px 10px; }
 .ep5-experience-grid { gap:43px; }
 .ep5-contact-layout { gap:43px; }
 .ep5-auth-layout { gap:60px; }
}
@media (max-width:1050px) {
 .ep5-header-inner { position:relative; min-height:76px; flex-wrap:wrap; }
 .ep5-header .ep5-desktop-login { display:none; }
 .ep5-header .ep5-mobile-login { display:block; }
 /* With JS disabled, nav remains in normal flow. JS upgrades to an accessible dropdown. */
 .ep5-nav { order:3; width:100%; justify-content:flex-start; flex-wrap:wrap; padding-bottom:15px; }
 .ep5-js .ep5-nav { display:none; position:absolute; top:100%; left:-24px; right:-24px; width:auto; padding:18px 24px 23px; background:#0c1821; border-top:1px solid rgba(255,255,255,.12); box-shadow:0 12px 25px rgba(0,0,0,.12); }
 .ep5-js .ep5-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:2px; }
 .ep5-js .ep5-nav a { padding:12px 4px; font-size:14px; }
 .ep5-js .ep5-menu { display:flex; flex-direction:column; justify-content:center; gap:6px; background:transparent; border:1px solid rgba(255,255,255,.18); border-radius:8px; width:42px; height:42px; padding:10px; color:white; }
 .ep5-menu span { height:1px; width:20px; background:currentColor; transition:transform .2s; }
 .ep5-menu[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
 .ep5-menu[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
 .ep5-hero h1 { font-size:54px; }
 .ep5-hero-grid { min-height:590px; padding-block:52px; gap:32px; }
 .ep5-hero-stage { height:415px; }
 .ep5-hero-product { height:322px; width:87%; padding:20px; }
 .ep5-hero-product img { height:198px; }
 .ep5-hero-product strong { font-size:16px; }
 .ep5-invitation { top:210px; width:265px; padding:18px 20px; }
 .ep5-invitation-top { padding-bottom:10px; margin-bottom:10px; }
 .ep5-invitation > strong { font-size:22px; }
 .ep5-access-stamp { display:none; }
 .ep5-how-top { gap:30px; }
 .ep5-flow-preview { padding:20px; gap:15px; }
 .ep5-flow-image { height:180px; }
 .ep5-flow-copy h3 { font-size:21px; }
 .ep5-step { padding-inline:18px; }
 .ep5-solution-copy { padding:23px 20px; }
 .ep5-solution-copy h3 { font-size:21px; }
 .ep5-product-image { height:230px; padding:20px; }
 .ep5-product-copy h3 { font-size:21px; }
 .ep5-suppliers-top { gap:28px; grid-template-columns:.7fr 1.3fr; }
 .ep5-supplier-copy h2 { font-size:37px; }
 .ep5-dashboard-columns { grid-template-columns:1fr; }
 .ep5-order-panel { display:block; }
 .ep5-bar-row { grid-template-columns:90px 1fr 20px; }
 .ep5-bar-row > span { font-size:10px; }
 .ep5-supplier-features article { padding:18px 15px; gap:12px; }
 .ep5-experience-grid { gap:35px; }
 .ep5-mini-products { padding:13px; gap:8px; }
 .ep5-mini-product > div { height:97px; }
 .ep5-confidence-grid article { padding:24px 20px; }
 .ep5-contact-layout { gap:32px; grid-template-columns:.67fr 1.33fr; }
 .ep5-form-intro h1 { font-size:38px; }
 .ep5-form-card { padding:27px; }
 .ep5-form-actions { flex-wrap:wrap; gap:10px; }
 .ep5-form-hint { max-width:none; }
 .ep5-contact-options > a { padding:17px 15px; gap:10px; }
 .ep5-contact-options .ep5-arrow { display:none; }
}
@media (max-width:767px) {
 html { scroll-padding-top:90px; }
 .ep5-shell { width:calc(100% - 36px); }
 .ep5-section { padding:57px 0; }
 .ep5-section h2 { font-size:34px; }
 .ep5-eyebrow { font-size:10px; margin-bottom:17px !important; }
 .ep5-header-inner { min-height:72px; gap:14px; }
 .ep5-logo { width:165px; }
 .ep5-header-actions { gap:11px; }
 .ep5-header .ep5-button--small { font-size:11px; min-height:38px; padding:9px 13px; }
 .ep5-header .ep5-button .ep5-arrow { display:none; }
 .ep5-js .ep5-menu { width:38px; height:38px; padding:9px; }
 .ep5-js .ep5-menu span { width:18px; }
 .ep5-js .ep5-nav { left:-18px; right:-18px; }
 .ep5-hero-grid { grid-template-columns:1fr; padding-top:42px; padding-bottom:47px; gap:38px; }
 .ep5-hero h1 { font-size:49px; max-width:540px; }
 .ep5-lead { font-size:17px; margin-top:20px !important; }
 .ep5-hero-description { font-size:13px; }
 .ep5-hero .ep5-actions { gap:20px; }
 .ep5-hero-notes { gap:21px; margin-top:26px; }
 .ep5-hero-stage { max-width:460px; width:100%; margin:auto; height:419px; }
 .ep5-hero-product { width:83%; right:9px; }
 .ep5-hero-product img { height:195px; }
 .ep5-invitation { left:3px; width:280px; top:211px; }
 .ep5-proof > div { flex-wrap:wrap; gap:9px 15px; padding-block:17px; min-height:auto; }
 .ep5-proof span { font-size:10px; }
 .ep5-proof i { width:3px; height:3px; }
 .ep5-how-top { grid-template-columns:1fr; gap:27px; margin-bottom:30px; }
 .ep5-flow-preview { grid-template-columns:.8fr 1.2fr; padding:21px; }
 .ep5-flow-image { height:165px; }
 .ep5-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ep5-step, .ep5-step:first-child, .ep5-step:last-child { padding:21px 18px; }
 .ep5-step:nth-child(2) { border-right:0; }
 .ep5-step:nth-child(-n+2) { border-bottom:1px solid var(--ep5-line); }
 .ep5-step h3 { font-size:17px; }
 .ep5-step p { font-size:12px; }
 .ep5-step-top { margin-bottom:19px; }
 .ep5-heading-centered { margin-bottom:28px; }
 .ep5-solutions-grid { grid-template-columns:1fr; gap:24px; max-width:480px; margin:auto; }
 .ep5-solution-image { aspect-ratio:3/2; }
 .ep5-solution-copy { padding:24px; }
 .ep5-solution-copy h3 { font-size:23px; }
 .ep5-solution-copy p { font-size:14px; }
 .ep5-products { padding-top:6px; }
 .ep5-product-heading { margin-bottom:29px; }
 .ep5-product-heading h2 { font-size:37px; }
 .ep5-products-grid { grid-template-columns:1fr; max-width:480px; margin:auto; gap:20px; }
 .ep5-product-image { height:260px; padding:24px 35px; }
 .ep5-product-image--coach { padding:8px 35px; }
 .ep5-product-copy { padding:22px 25px; }
 .ep5-product-copy h3 { font-size:24px; }
 .ep5-collection-note { font-size:10px; }
 .ep5-suppliers-top { grid-template-columns:1fr; gap:32px; }
 .ep5-supplier-copy h2 { font-size:36px; }
 .ep5-supplier-copy .ep5-section-description { max-width:520px; margin:18px 0 23px; }
 .ep5-dashboard { border-radius:14px; }
 .ep5-dashboard-head { padding:18px; }
 .ep5-dashboard-columns { grid-template-columns:1fr 1fr; padding:0 15px 17px; }
 .ep5-order-panel { display:block; }
 .ep5-bar-row { grid-template-columns:70px 1fr 14px; gap:6px; }
 .ep5-bar-row > span { font-size:8px; }
 .ep5-dashboard-stats { padding:17px 18px; }
 .ep5-supplier-features { grid-template-columns:1fr; margin-top:22px; gap:12px; }
 .ep5-supplier-features article { padding:19px 20px; gap:16px; }
 .ep5-supplier-features p { font-size:12px; }
 .ep5-experience-grid { grid-template-columns:1fr; gap:30px; }
 .ep5-experience-copy { order:-1; }
 .ep5-browser { max-width:550px; width:100%; margin:auto; }
 .ep5-mini-product > div { height:105px; }
 .ep5-confidence-heading { display:block; margin-bottom:25px; }
 .ep5-confidence-heading > p { margin-top:18px; max-width:470px; }
 .ep5-confidence-grid { grid-template-columns:1fr; gap:15px; }
 .ep5-confidence-grid article { padding:25px; }
 .ep5-confidence-grid .ep5-icon { margin-bottom:17px; }
 .ep5-confidence-grid p { font-size:14px; }
 .ep5-support-card h3 { font-size:27px; }
 .ep5-final { padding:38px 0; }
 .ep5-final-inner { display:block; }
 .ep5-final h2 { font-size:32px; margin-bottom:24px; }
 .ep5-contact-page { padding:30px 0 35px; }
 .ep5-contact-layout { grid-template-columns:1fr; gap:26px; }
 .ep5-contact-page .ep5-form-intro { padding-top:0; }
 .ep5-contact-page .ep5-form-intro h1 { font-size:33px; }
 .ep5-contact-page .ep5-form-intro h1 br { display:none; }
 .ep5-contact-page .ep5-form-intro h1 em::before { content:" "; }
 .ep5-form-intro > p:not(.ep5-eyebrow) { margin-top:15px; max-width:100%; font-size:13px; }
 .ep5-contact-page .ep5-form-tip { display:none; } /* The same privacy reminder remains beside Send. */
 .ep5-form-card { padding:25px; border-radius:17px; }
 .ep5-form-card h2 { font-size:28px; }
 .ep5-form { margin-top:22px; gap:16px; }
 .ep5-form-row { gap:15px; }
 .ep5-field :is(input,select,textarea) { font-size:16px; min-height:46px; padding:10px 12px; }
 .ep5-field textarea { height:120px; }
 .ep5-form-actions { margin-top:12px; }
 .ep5-form-actions > button { min-height:50px; }
 .ep5-form-hint { font-size:10px; }
 .ep5-contact-options { grid-template-columns:1fr; margin-top:22px; gap:11px; }
 .ep5-contact-options > a { padding:18px; gap:14px; }
 .ep5-contact-options .ep5-arrow { display:block; }
 .ep5-contact-options h2 { font-size:14px; }
 .ep5-login-page, .ep5-vip-page { padding:29px 0 36px; }
 .ep5-auth-layout { grid-template-columns:1fr; gap:26px; max-width:550px; }
 .ep5-auth-layout .ep5-form-intro { padding:0; }
 .ep5-auth-layout .ep5-form-intro h1 { font-size:35px; }
 .ep5-auth-layout .ep5-form-intro h1 br { display:none; }
 .ep5-auth-layout .ep5-form-intro h1 em::before { content:" "; }
 .ep5-login-intro .ep5-checks { display:none; }
 .ep5-login-intro > p:not(.ep5-eyebrow) { margin-top:12px; }
 .ep5-login-card, .ep5-vip-card { max-width:100%; justify-self:stretch; }
 .ep5-login-card .ep5-form-actions { margin-top:13px; }
 .ep5-vip-assurance { display:none; }
 .ep5-vip-next > div { grid-template-columns:1fr; gap:20px; }
 .ep5-vip-next > div > div, .ep5-vip-next > div > div:first-child, .ep5-vip-next > div > div:last-child { padding:0 0 19px; border:0; border-bottom:1px solid var(--ep5-line); }
 .ep5-vip-next > div > div:last-child { padding-bottom:0; border:0; }
 .ep5-footer { padding-top:30px; }
 .ep5-footer-top { display:block; }
 .ep5-footer-brand { margin-bottom:29px; }
 .ep5-footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
 .ep5-footer-links a { font-size:11px; }
 .ep5-footer-bottom { flex-wrap:wrap; gap:9px; }
}
@media (max-width:460px) {
 .ep5-header .ep5-logo { width:154px; }
 .ep5-header-inner { gap:9px; }
 .ep5-header-actions { gap:8px; }
 .ep5-hero h1 { font-size:44px; }
 .ep5-hero-stage { height:402px; }
 .ep5-invitation { width:258px; top:200px; }
 .ep5-hero-product { height:300px; right:7px; }
 .ep5-hero-product img { height:177px; }
 .ep5-hero-product strong { font-size:15px; }
 .ep5-hero-notes { gap:14px; }
 .ep5-hero-notes span { font-size:10px; }
 .ep5-flow-preview { padding:18px; gap:17px; }
 .ep5-flow-image { height:170px; }
 .ep5-flow-image img { padding:7px; }
 .ep5-flow-copy .ep5-label { font-size:9px; }
 .ep5-flow-copy h3 { font-size:19px; }
 .ep5-flow-copy p { font-size:12px; margin-bottom:14px; }
 .ep5-flow-copy .ep5-inline-link { font-size:11px; gap:10px; }
 .ep5-step { padding-inline:15px !important; }
 .ep5-product-heading h2 { font-size:34px; }
 .ep5-dashboard-columns { grid-template-columns:1fr; }
 .ep5-order-panel { display:block; }
 .ep5-bar-row { grid-template-columns:95px 1fr 22px; }
 .ep5-bar-row > span, .ep5-order-panel > div { font-size:10px; }
 .ep5-dashboard-head h3 { font-size:19px; }
 .ep5-dashboard-foot { padding-inline:16px; font-size:8px; }
 .ep5-mini-products { padding:10px; gap:7px; }
 .ep5-mini-product { padding:7px 7px 11px; }
 .ep5-mini-product > div { height:89px; padding:5px; }
 .ep5-form-card { padding:24px 21px; }
 .ep5-form-row { grid-template-columns:1fr; gap:16px; }
 .ep5-contact-page .ep5-form-intro h1 { font-size:32px; }
 .ep5-auth-layout .ep5-form-intro h1 { font-size:32px; }
 .ep5-field .ep5-access-input { font-size:20px; letter-spacing:.06em; }
 .ep5-footer-links { grid-template-columns:repeat(2,1fr); gap:24px 18px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .ep-public-body *, .ep-public-body *::before, .ep-public-body *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
 .ep5-motion-ready [data-ep5-reveal].ep5-pending { opacity:1; translate:none; }
 .ep5-solution:hover, .ep5-button:hover { transform:none; }
 .ep5-solution:hover .ep5-solution-image img { transform:none; }
}

/* Module 10 R1: server-rendered form feedback; no layout redesign. */
.ep-public-body .ep-live-alert { margin-top:18px; padding:12px 14px; border:1px solid #dcb9a6; border-radius:9px; background:#fcf5ef; color:#713919; font-size:13px; line-height:1.6; }
.ep-public-body .ep-live-alert ul { margin:7px 0 0; padding-left:18px; }
.ep-public-body .ep-live-alert--success { color:#234c3b; background:#f0f7f2; border-color:#b8d2c1; }
.ep-public-body .ep-live-alert a { color:inherit; text-decoration:underline; }
.ep-public-body .ep-live-help { margin-top:10px; font-size:11px; color:#596870; }
.ep-public-body .ep-live-help a { color:#914321; text-decoration:underline; text-underline-offset:3px; }
.ep-public-body .ep-support-trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
