@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

/* Local review composition. Ember's approved homepage supplies the visual language. */
.ep-page {
  --ep-ink: #071d2d;
  --ep-copy: #415f73;
  --ep-stage: #102a3d;
  --ep-line: #dbe6ed;
  --ep-blue: #0878ed;
  --ep-orange: #ff8529;
  margin: 0;
  padding-bottom: 54px;
  background: #fff;
  color: var(--ep-ink);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
.ep-page *, .ep-page *::before, .ep-page *::after { box-sizing: border-box; }
.ep-page [hidden] { display: none !important; }
.ep-page img { max-width: 100%; }
.ep-page button, .ep-page input { font: inherit; }
.ep-page button, .ep-page summary, .ep-page a { -webkit-tap-highlight-color: transparent; }
.ep-page button { cursor: pointer; }
.ep-page a { color: inherit; }
.ep-page ::selection { background: #c9e8fb; color: #071d2d; }
.ep-page a, .ep-page button, .ep-page summary { touch-action: manipulation; }
.ep-page :is(a,button,summary,[tabindex]):focus-visible { outline: 3px solid #0878ed; outline-offset: 5px; }
.ep-page .ep-stage :is(a,button,summary,[tabindex]):focus-visible,
.ep-page .ep-scenic :is(a,button):focus-visible { outline-color: #ffc083; }
.ep-page:where(:not(.ep-home)) h1, .ep-page:where(:not(.ep-home)) h2, .ep-page:where(:not(.ep-home)) h3, .ep-page:where(:not(.ep-home)) h4 { color: inherit; font-family: 'Manrope', Arial, sans-serif; }
.ep-page:where(:not(.ep-home)) h1, .ep-page:where(:not(.ep-home)) h2, .ep-page:where(:not(.ep-home)) h3, .ep-page:where(:not(.ep-home)) p { margin-top: 0; }
.ep-page:where(:not(.ep-home)) h1 { margin-bottom: 26px; font-size: clamp(43px,4.4vw,66px); font-weight: 800; letter-spacing: -.055em; line-height: 1.07; }
.ep-page:where(:not(.ep-home)) h1 span, .ep-page:where(:not(.ep-home)) h2 span { color: #0878ed; }
.ep-page:where(:not(.ep-home)) h2 { margin-bottom: 21px; font-size: clamp(32px,3.1vw,44px); line-height: 1.15; letter-spacing: -.045em; font-weight: 800; }
.ep-page:where(:not(.ep-home)) h3 { font-size: 21px; line-height: 1.3; letter-spacing: -.025em; font-weight: 800; }
.ep-page:where(:not(.ep-home)) p { margin-bottom: 20px; }
.ep-home { font-size: 16px; line-height: 1.55; }
.ep-wrap { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.ep-header { position: relative; z-index: 20; border-bottom: 1px solid #e7edf2; background: #fff; }
.ep-header > .ep-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 90px; gap: 28px; }
.ep-brand { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.ep-brand img { display: block; width: 205px; height: auto; }
.ep-brand .supplied-logo { font-size: 10px; display: inline-flex; align-items: center; gap: 1em; width: 20em; height: 6.5em; }
.ep-brand .supplied-logo-flame { position: relative; overflow: hidden; flex: none; width: 4em; height: 6.5em; }
.ep-brand .supplied-logo-type { position: relative; overflow: hidden; flex: none; width: 15em; height: 3.8em; }
.ep-brand .supplied-logo img { position: absolute; max-width: none; object-fit: fill; }
.ep-brand .supplied-logo-flame img { width: 12em; height: 12em; left: -4em; top: -1.42em; }
.ep-brand .supplied-logo-type img { width: 22.45em; height: 22.45em; left: -3.76em; top: -15.23em; }
.ep-nav { display: flex; align-items: center; gap: 27px; }
.ep-nav a { position: relative; padding-block: 9px; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; color: #244154; }
.ep-nav a:hover { color: #006ad7; }
.ep-nav a[aria-current='page'], .ep-nav a.active { color: #006bdc; }
.ep-nav a[aria-current='page']::after, .ep-nav a.active::after { position: absolute; content: ''; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: #0878ed; }
.ep-nav a.ep-nav-cta, .ep-nav-cta { padding: 11px 18px; color: #fff; background: linear-gradient(135deg,#0873df,#0069ee); border: 1px solid #0073ed; border-radius: 7px; box-shadow: 0 5px 15px #0878ed1a; }
.ep-nav a.ep-nav-cta:hover { color: #fff; background: #0066d2; }
.ep-menu-toggle { display: none; border: 1px solid #c8d9e3; background: #fff; color: #18394e; padding: 8px 13px; border-radius: 7px; font-size: 14px !important; font-weight: 700 !important; min-height: 44px; }
.ep-menu-toggle > span { width: 20px; height: 2px; background: #18394e; border-radius: 2px; }
.ep-menu-toggle > span + span { margin-top: 4px; }
.ep-breadcrumb { padding-block: 22px 0; font-size: 13px; color: #617a8a; }
.ep-breadcrumb a { color: #426477; text-underline-offset: 3px; }
.ep-breadcrumb span { margin-inline: 10px; color: #94a8b5; }
.ep-hero { position: relative; isolation: isolate; overflow: hidden; }
.ep-hero-light { background: radial-gradient(ellipse at 100% 89%,#ffa04527,transparent 29%),radial-gradient(ellipse at 85% 24%,#b6e7ff70,transparent 45%),linear-gradient(115deg,#fff,#f7fcff 55%,#e9f5ff); }
.ep-hero-grid { display: grid; grid-template-columns: 1fr 1.02fr; align-items: center; gap: 65px; padding-block: 70px 83px; }
.ep-hero .ep-eyebrow { margin-bottom: 20px; }
.ep-hero h1 span { display: block; }
.ep-eyebrow { display: block; font-size: 11px; line-height: 1.5; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; color: #396b88; }
.ep-eyebrow::before { display: inline-block; content: ''; vertical-align: 3px; width: 19px; height: 2px; margin-right: 10px; background: #f38b36; }
.ep-lede { max-width: 580px; color: #415f73; font-size: 18px; line-height: 1.75; }
.ep-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 19px 25px; margin-top: 29px; }
.ep-button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 49px; padding: 12px 23px; border: 1px solid #0071e9; border-radius: 7px; background: linear-gradient(135deg,#0873df,#0069ee); box-shadow: 0 7px 18px #0878ed25; color: #fff !important; font-size: 14px; line-height: 1.5; font-weight: 700; text-decoration: none; transition: background .16s ease,box-shadow .16s ease,transform .16s ease; }
.ep-button:hover { background: #0066d2; box-shadow: 0 9px 22px #0878ed36; transform: translateY(-1px); }
.ep-button:active { transform: translateY(0); }
.ep-link { display: inline-flex; align-items: center; gap: 11px; color: #1c526f !important; font-size: 14px; font-weight: 700; text-decoration: none; border-bottom: 1px solid #94b7cb; padding-block: 6px; }
.ep-link:hover { color: #006bdc !important; border-color: #006bdc; }
.ep-hero-art { position: relative; min-width: 0; isolation: isolate; }
.ep-hero-art::before { position: absolute; z-index: -1; content: ''; width: 370px; height: 370px; right: -15px; top: -36px; border: 1px solid #d6aa7155; border-radius: 50%; transform: rotate(-22deg) scaleY(.83); box-shadow: 0 0 52px #e8b15c15; }
.ep-hero-art::after { position: absolute; z-index: -1; content: ''; width: 470px; height: 310px; left: -28px; bottom: -21px; border: 1px solid #72a4c52b; border-radius: 50%; transform: rotate(-22deg); }
.ep-hero-art > img { display: block; width: 100%; max-height: 450px; object-fit: contain; }
.ep-art-caption { margin-block: 17px 0; color: #48697e; font-size: 16px; text-align: center; }
.ep-section { padding-block: 84px; }
.ep-section-head { max-width: 720px; margin-bottom: 37px; }
.ep-section-head .ep-eyebrow { margin-bottom: 16px; }
.ep-section-head p { color: var(--ep-copy); margin-bottom: 0; font-size: 17px; }
.ep-note { color: #526b7b; font-size: 13px; line-height: 1.6; }
.ep-hero .ep-note { margin-top: 22px; margin-bottom: 0; }
.ep-stage { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(ellipse at 15% 65%,#1b80b94d,transparent 49%),radial-gradient(ellipse at 95% 15%,#eb973130,transparent 43%),#102a3d; }
.ep-stage:not(.ep-section) { padding-block: 84px; }
.ep-stage-plum { background: radial-gradient(ellipse at 8% 78%,#9d477450,transparent 52%),radial-gradient(ellipse at 92% 10%,#a078bc3b,transparent 50%),linear-gradient(130deg,#102a3b,#183a4c 55%,#172c40); }
.ep-stage-amber { background: radial-gradient(ellipse at 15% 60%,#aa66252b,transparent 45%),radial-gradient(ellipse at 100% 0,#883c7826,transparent 55%),#102b3b; }
.ep-stage > .ep-wrap { position: relative; z-index: 2; }
.ep-stage h2 span { color: #9cdaee; }
.ep-stage p, .ep-stage .ep-section-head p { color: #d3e4ee; }
.ep-stage .ep-eyebrow { color: #b5d8ed; }
.ep-stage .ep-note { color: #bfd3df; }
.ep-stage .ep-link { color: #fff !important; border-color: #7192a5; }
.ep-orbit { position: absolute; z-index: -1; display: block; width: 640px; height: 390px; right: -100px; top: 50%; border: 1px solid #e8b15c44; border-radius: 50%; transform: translateY(-50%) rotate(-24deg); box-shadow: 0 0 45px #ddaf2917; pointer-events: none; }
.ep-orbit-two { width: 900px; height: 500px; right: -200px; border-color: #deb05d25; box-shadow: none; }
.ep-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 30px; }
.ep-filters button { min-height: 44px; padding: 9px 17px; border: 1px solid #c9dbe7; border-radius: 6px; background: #fff; color: #3c5b70; font-size: 13px; line-height: 1.4; font-weight: 700; }
.ep-filters button:hover { background: #f2f8fc; border-color: #8db3cb; }
.ep-filters button[aria-pressed='true'] { background: #102e45; color: #fff; border-color: #102e45; box-shadow: 0 3px 12px #102e451a; }
.ep-filters button span { margin-left: 7px; opacity: .65; }
.ep-industry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ep-industry-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 274px; padding: 27px 28px 25px; border: 1px solid #d9e5ed; border-radius: 10px; background: #fff; color: #071d2d; text-decoration: none; transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.ep-industry-card:hover { border-color: #7eacc6; box-shadow: 0 10px 25px #153d5410; transform: translateY(-3px); }
.ep-card-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: #e9f4fb; color: #256b97; margin-bottom: 22px; font-size: 24px; line-height: 1; }
.ep-card-icon svg { width: 24px; height: 24px; stroke-width: 1.5; }
.ep-card-kicker { margin-bottom: 7px; color: #557889; font-size: 10px; line-height: 1.4; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ep-industry-card h3 { margin-bottom: 10px; font-size: 21px; }
.ep-industry-card p { margin-bottom: 20px; color: #4b6577; font-size: 14px; line-height: 1.65; }
.ep-card-link { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: auto; padding-top: 15px; border-top: 1px solid #e4edf3; color: #1a618c; font-size: 13px; font-weight: 700; }
.ep-card-link span:last-child { font-size: 18px; }
.ep-industry-card[data-group='care'] .ep-card-icon { background: #f3edf7; color: #775194; }
.ep-industry-card[data-group='local'] .ep-card-icon, .ep-industry-card[data-group='appointments'] .ep-card-icon { background: #e9f5f1; color: #256c60; }
.ep-industry-card[data-group='creative'] .ep-card-icon { background: #f3edf7; color: #775194; }
.ep-directory-note { margin-top: 20px; }
.ep-featured { background: radial-gradient(ellipse at 100% 0,#e1b06d1f,transparent 58%),#102e45; border-color: #385a70; color: #fff; }
.ep-featured .ep-card-icon { background: #1f4860; color: #9dd6f6; }
.ep-featured .ep-card-kicker { color: #a8c4d5; }
.ep-featured p { color: #d1e1eb; }
.ep-featured .ep-card-link { border-color: #446579; color: #fff; }
.ep-process { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 33px; margin-top: 40px; }
.ep-step { position: relative; min-width: 0; padding-top: 21px; border-top: 1px solid #385b72; }
.ep-step-number { display: block; margin-bottom: 19px; color: #f5af72; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.ep-step h3 { font-size: 19px; margin-bottom: 13px; }
.ep-step p { font-size: 14px; line-height: 1.75; margin-bottom: 0; }
.ep-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.ep-service-card { padding: 28px; border-top: 2px solid #98bbd0; background: #f7fafc; border-radius: 0 0 8px 8px; }
.ep-service-card h3 { margin-bottom: 13px; font-size: 21px; }
.ep-service-card p { color: #486679; font-size: 15px; line-height: 1.75; }
.ep-service-card ul { padding-left: 18px; margin-bottom: 0; font-size: 14px; color: #486679; }
.ep-service-card li { padding-block: 4px; }
.ep-tabs { display: grid; grid-template-columns: minmax(230px,.7fr) minmax(0,1.7fr); gap: 30px; align-items: start; }
.ep-tabs [role='tablist'] { display: flex; flex-direction: column; gap: 10px; }
.ep-tabs [role='tab'] { position: relative; width: 100%; padding: 18px 20px; border: 1px solid #496d84; border-radius: 8px; background: #183b52; color: #fff; text-align: left; font-size: 15px; font-weight: 700; }
.ep-tabs [role='tab']::after { content: '↗'; position: absolute; right: 18px; }
.ep-tabs [role='tab']:hover { background: #254b64; }
.ep-tabs [role='tab'][aria-selected='true'] { background: linear-gradient(125deg,#1c7169,#295c89); border-color: #55cda7; box-shadow: inset 3px 0 #35dfaa,0 0 18px #35dfaa25; }
.ep-tabs [role='tab'][data-service='voice'][aria-selected='true'], .ep-tabs [role='tab'][data-service='followup'][aria-selected='true'] { background: linear-gradient(125deg,#514399,#883d91); border-color: #b281ff; box-shadow: inset 3px 0 #b281ff,0 0 18px #a875ff25; }
.ep-tabs [role='tab'][data-service='booking'][aria-selected='true'] { background: linear-gradient(125deg,#255d98,#326987); border-color: #70c9ff; box-shadow: inset 3px 0 #70c9ff,0 0 18px #70c9ff25; }
.ep-service-panel { min-width: 0; padding: 32px; border: 1px solid #456a82; border-radius: 12px; background: #0b2334a6; }
.ep-service-panel h3 { font-size: 26px; margin-bottom: 14px; }
.ep-service-panel > p { font-size: 16px; }
.ep-service-panel ul { padding-left: 21px; font-size: 15px; color: #d3e4ee; }
.ep-service-panel li { margin-bottom: 8px; }
.ep-sample-window { overflow: hidden; width: 100%; border: 1px solid #426d88; border-radius: 15px; background: #102e45; box-shadow: 0 24px 65px #00132033; }
.ep-window-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 50px; padding: 12px 20px; border-bottom: 1px solid #426078; color: #e1eef6; font-size: 11px; font-weight: 700; letter-spacing: .015em; }
.ep-window-bar > span:first-child { color: #8da9bb; letter-spacing: .15em; }
.ep-sample-window .ep-inquiry { margin: 21px; padding: 20px; border: 1px solid #dde8ef; border-radius: 9px; background: #fff; color: #123046; }
.ep-inquiry h3 { font-size: 20px; margin-bottom: 11px; }
.ep-inquiry p { color: #456174; font-size: 14px; line-height: 1.65; margin-bottom: 15px; }
.ep-inquiry small { display: block; margin-bottom: 7px; font-size: 10px; color: #648296; letter-spacing: .11em; font-weight: 700; text-transform: uppercase; }
.ep-message { position: relative; margin: 0 21px 18px 42px; padding: 17px 20px; border: 1px solid #c9e9e3; border-radius: 10px 10px 10px 2px; background: #e8f7f3; color: #184a46; }
.ep-message strong { display: block; font-size: 11px; margin-bottom: 5px; letter-spacing: .02em; }
.ep-message p { font-size: 14px; line-height: 1.65; color: #285753; margin-bottom: 0; }
.ep-sample-window > .ep-message:first-of-type, .ep-sample-window > .ep-window-bar + .ep-message { margin-top: 21px; }
.ep-sample-window > .ep-message:not(.ep-message-reply) { margin-right: 42px; margin-left: 21px; background: #fff; border-color: #dce7ef; border-radius: 10px 10px 2px 10px; }
.ep-sample-window > .ep-message:not(.ep-message-reply) p { color: #2e4d62; }
.ep-sample-window > .ep-message .ep-card-kicker { display: block; color: #577988; font-size: 9px; }
.ep-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 19px 21px; }
.ep-field { padding: 12px 14px; border: 1px solid #3f637c; border-radius: 6px; color: #fff; font-size: 13px; background: #173b52; }
.ep-field small { display: block; color: #b0ccdd; font-size: 10px; margin-bottom: 3px; }
.ep-status { display: inline-flex; align-items: center; gap: 7px; color: #b4efd4; font-size: 11px; font-weight: 600; }
.ep-status::before { display: block; content: ''; width: 6px; height: 6px; border-radius: 50%; background: #81deb4; }
.ep-sample-window > .ep-status { display: flex; margin: 0 21px 23px; padding: 16px; gap: 12px; border: 1px solid #3b6778; border-radius: 8px; background: #183e50; }
.ep-sample-window > .ep-status::before { display: none; }
.ep-sample-window > .ep-status > span { color: #81deb4; font-size: 22px; }
.ep-sample-window > .ep-status strong { color: #d6f2e8; font-size: 12px; font-weight: 600; }
.ep-sample-window > .ep-status p { color: #b4d0db; margin: 3px 0 0; font-size: 11px; }
.ep-demo-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: center; }
.ep-demo-grid .ep-process { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 0; }
.ep-demo-grid .ep-step { display: grid; grid-template-columns: 30px 1fr; gap: 19px; padding-block: 22px; }
.ep-demo-grid .ep-step:last-child { padding-bottom: 0; }
.ep-demo-grid .ep-step-number { margin-top: 2px; }
.ep-demo-grid .ep-step h3 { margin-bottom: 8px; }
.ep-demo-copy .ep-eyebrow { margin-bottom: 18px; }
.ep-demo-copy p { line-height: 1.75; }
.ep-demo-console { min-width: 0; padding: 28px; background: #0b2234; border: 1px solid #456f89; border-radius: 15px; box-shadow: 0 24px 60px #00132030; }
.ep-demo-console .ep-window-bar { padding: 0 0 16px; margin-bottom: 23px; }
/* Reuse the approved receptionist artwork as a service example, with no text over the portrait. */
.ep-visual-feature { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1fr); gap: 94px; align-items: center; }
.ep-portrait { position: relative; isolation: isolate; width: min(100%,480px); margin: 0; }
.ep-portrait::before, .ep-portrait::after { position: absolute; z-index: -1; pointer-events: none; content: ''; border-radius: 50%; transform: rotate(-23deg); }
.ep-portrait::before { top: 10%; left: -10%; width: 120%; height: 75%; border: 1px solid #e8b15c55; box-shadow: 0 0 45px #d4932e17; }
.ep-portrait::after { top: 1%; left: -18%; width: 137%; height: 93%; border: 1px solid #b784b136; }
.ep-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 18px; box-shadow: 0 22px 55px #00132038; }
.ep-portrait figcaption { margin-top: 16px; color: #b6d0e1; font-size: 12px; line-height: 1.6; text-align: center; }
.ep-feature-copy { min-width: 0; }
.ep-feature-copy .ep-eyebrow { margin-bottom: 18px; }
.ep-feature-copy h2 { max-width: 520px; }
.ep-feature-copy h2 span { display: block; }
.ep-feature-copy > p { max-width: 510px; font-size: 17px; line-height: 1.75; }
.ep-voice-example { margin: 27px 0 23px; padding: 22px 24px; border: 1px solid #496b82; border-radius: 10px; background: #0b2334a6; }
.ep-voice-example small { display: block; margin-bottom: 6px; color: #c5dcea; font-size: 10px; line-height: 1.5; font-weight: 700; letter-spacing: .12em; }
.ep-voice-example p { margin-bottom: 17px; color: #fff; font-size: 16px; line-height: 1.65; }
.ep-voice-example p:last-child { margin-bottom: 0; color: #d3e4ee; }
.ep-voice-example p + small { margin-top: 17px; color: #b4e0d6; }
#ep-sample-state { display: block; color: #a6d3ed; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
#ep-sample-text { min-height: 125px; margin-block: 15px 25px; font-size: 22px; line-height: 1.45; font-family: 'Manrope',Arial,sans-serif; font-weight: 600; letter-spacing: -.025em; color: #fff; }
#ep-sample-start { min-height: 44px; font-size: 13px; }
.ep-demo-progress { display: flex; gap: 8px; padding: 0; margin: 24px 0 0; list-style: none; }
.ep-demo-progress li { flex: 1; border-top: 3px solid #3c5c72; padding-top: 8px; font-size: 10px; color: #b2cbdc; }
.ep-demo-progress li.is-active { border-color: #f5ab6d; color: #fff; }
.ep-demo-progress li.is-complete { border-color: #65bcaa; color: #d1ece5; }
.ep-reveal { margin-top: 43px; border: 1px solid #46728e; border-radius: 10px; background: linear-gradient(100deg,#112e45,#1b4968); color: #fff; overflow: hidden; }
.ep-reveal > summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px 28px; list-style: none; cursor: pointer; }
.ep-reveal > summary::-webkit-details-marker { display: none; }
.ep-reveal > summary::marker { content: ''; }
.ep-reveal-title { font-family: 'Manrope',Arial,sans-serif; font-size: 21px; font-weight: 800; line-height: 1.3; letter-spacing: -.035em; }
.ep-reveal-title small { display: block; margin-bottom: 6px; font-family: 'DM Sans',Arial,sans-serif; font-size: 10px; font-weight: 700; color: #b5d8ed; letter-spacing: .13em; text-transform: uppercase; }
.ep-reveal-cue { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.ep-reveal-cue svg { width: 58px; height: 28px; fill: none; stroke: #ff8529; stroke-width: 2.8px; stroke-linecap: round; stroke-linejoin: round; }
.ep-reveal-plus { display: inline-grid; place-items: center; width: 48px; height: 48px; border: 1px solid #ffb577; border-radius: 11px; background: linear-gradient(145deg,#ff8b2c,#ff650b); box-shadow: 0 0 0 4px #ff781a16,0 0 26px #ff781a38; color: #082439; font-size: 31px; line-height: 1; font-style: normal; transition: transform .18s ease; }
.ep-reveal[open] .ep-reveal-plus { transform: rotate(45deg); }
.ep-reveal .ep-open-label { display: none; }
.ep-reveal[open] .ep-open-label { display: inline; }
.ep-reveal[open] .ep-closed-label { display: none; }
.ep-reveal-content { padding: 27px 28px; border-top: 1px solid #487391; }
.ep-reveal-content p:last-child { margin-bottom: 0; }
.ep-reveal-content ul { color: #d5e5ee; padding-left: 21px; }
.ep-faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; align-items: start; }
.ep-faq-page .ep-faq-layout > div:first-child { position: sticky; top: 28px; }
.ep-faq-page h1 { font-size: clamp(42px,4.1vw,58px); }
.ep-faq-jump { margin-top: 40px; max-width: 310px; }
.ep-faq-jump .ep-card-kicker { color: #a7c8dd; margin-bottom: 12px; }
.ep-faq-jump a { display: flex; justify-content: space-between; gap: 25px; padding-block: 12px; border-bottom: 1px solid #3b5a70; font-size: 14px; text-decoration: none; color: #e1edf5; }
.ep-faq-jump a span { color: #f8af75; }
.ep-faq-jump a:hover { color: #fff; border-color: #94b6cc; }
.ep-faq-layout > .ep-section-head { position: sticky; top: 30px; }
.ep-faq-layout h2 { font-size: clamp(32px,3.2vw,43px); }
.ep-faq-group + .ep-faq-group { margin-top: 35px; }
.ep-faq-group > h3 { padding-bottom: 15px; margin-bottom: 0; border-bottom: 1px solid #47667c; color: #a9cfe6; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.ep-faq-group > h2 { padding-bottom: 15px; margin-bottom: 0; border-bottom: 1px solid #47667c; color: #a9cfe6; font-size: 11px; line-height: 1.6; letter-spacing: .14em; text-transform: uppercase; }
.ep-faq { border-bottom: 1px solid #416075; }
.ep-faq summary { position: relative; padding: 21px 37px 21px 0; font-family: 'Manrope',Arial,sans-serif; font-size: 16px; line-height: 1.6; letter-spacing: -.015em; font-weight: 700; list-style: none; cursor: pointer; }
.ep-faq summary::-webkit-details-marker { display: none; }
.ep-faq summary::marker { content: ''; }
.ep-faq summary::after { position: absolute; right: 2px; top: 21px; content: '+'; font-family: Arial,sans-serif; font-size: 22px; font-weight: 400; color: #f3ab6f; line-height: 1.2; }
.ep-faq[open] summary::after { content: '−'; }
.ep-faq > div, .ep-faq > p { padding-bottom: 20px; margin-bottom: 0; font-size: 15px; color: #d0e0e9; line-height: 1.75; }
.ep-faq > div p:last-child { margin-bottom: 0; }
.ep-faq a { text-underline-offset: 4px; }
.ep-section:not(.ep-stage) .ep-faq-group > h3 { color: #4f7187; border-color: #d3e2ec; }
.ep-section:not(.ep-stage) .ep-faq-group > h2 { color: #4f7187; border-color: #d3e2ec; }
.ep-section:not(.ep-stage) .ep-faq { border-color: #d3e2ec; }
.ep-section:not(.ep-stage) .ep-faq > div, .ep-section:not(.ep-stage) .ep-faq > p { color: #426176; }
.ep-section:not(.ep-stage) .ep-faq summary::after { color: #146a9e; }
.ep-scenic { position: relative; isolation: isolate; overflow: hidden; min-height: 435px; display: flex; align-items: center; color: #fff; background: #102b3b url('/sunset-vehicle-new-logo.png') center 54%/cover no-repeat; }
.ep-scenic::before { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg,#051a2bf2 0%,#0a2035d6 29%,#10283b52 63%,#10283b00); }
.ep-scenic .ep-wrap { padding-block: 70px; }
.ep-scenic h2 { max-width: 540px; font-size: clamp(32px,3.1vw,45px); }
.ep-scenic p { max-width: 460px; color: #e0eaf2; font-size: 17px; }
.ep-scenic .ep-eyebrow { color: #b9d6e9; }
.ep-scenic .ep-button { margin-top: 9px; }
.ep-scenic .ep-link { color: #fff !important; border-color: #9cb6c6; }
.ep-scenic .ep-note { color: #c0d3df; font-size: 12px; }
.ep-scenic .ep-button-orange { background: linear-gradient(145deg,#ff8b2c,#ff650b); color: #092b40 !important; border-color: #ffac71; box-shadow: 0 6px 23px #ff781a2b; }
.ep-footer { display: block; padding-block: 43px 25px; background: #0c2537; color: #b0c6d4; }
.ep-footer > .ep-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 50px; }
.ep-footer .ep-brand { margin-bottom: 15px; }
.ep-footer p { max-width: 330px; color: inherit; font-size: 13px; line-height: 1.7; }
.ep-footer h3, .ep-footer h4 { margin-block: 4px 14px; color: #15364c; font-family: 'DM Sans',Arial,sans-serif; font-size: 12px; font-weight: 700; }
.ep-footer h2 { margin-block: 8px 16px; color: #fff; font-family: 'DM Sans',Arial,sans-serif; font-size: 13px; line-height: 1.5; letter-spacing: 0; font-weight: 700; }
.ep-footer a:not(.ep-brand) { display: block; width: fit-content; padding-block: 3px; font-size: 13px; text-decoration: none; }
.ep-footer a:hover { color: #fff; text-decoration: underline; }
.ep-footer .ep-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 25px; margin-top: 32px; padding-top: 20px; border-top: 1px solid #365268; font-size: 11px; }
.ep-preview-bar { position: fixed; z-index: 100; inset: auto 0 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 26px; min-height: 46px; padding: 10px 20px; border-top: 1px solid #335872; background: #071d2df5; color: #b8cedd; box-shadow: 0 -3px 20px #071d2d10; font-family: 'DM Sans',Arial,sans-serif; font-size: 11px; line-height: 1.6; }
.ep-preview-bar strong { color: #fff; font-weight: 600; }
.ep-preview-bar > span { color: #e1edf5; }
.ep-preview-bar > span i { display: inline-block; width: 5px; height: 5px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; background: #ffa355; }
.ep-preview-bar nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.ep-preview-bar a { color: #c8deeb; text-underline-offset: 3px; }
.ep-preview-bar nav a { display: inline-flex; align-items: center; min-height: 27px; }
.ep-preview-bar a:hover { color: #fff; }
.ep-booking-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; padding: 42px 45px; border: 1px solid #ccdfeb; border-radius: 12px; background: radial-gradient(ellipse at 100% 0,#b6e7ff65,transparent 60%),#f5faff; }
.ep-booking-card h2 { margin-bottom: 15px; font-size: 33px; }
.ep-booking-card p { max-width: 680px; color: #48677b; margin-bottom: 0; font-size: 16px; }
.ep-booking-card .ep-note { margin-top: 15px; font-size: 12px; }
#ep-booking-dialog { width: min(520px,calc(100% - 36px)); padding: 35px; border: 1px solid #8cb1c8; border-radius: 13px; color: #123147; box-shadow: 0 25px 90px #00132055; }
#ep-booking-dialog::backdrop { background: #061a29b8; }
#ep-booking-dialog h2 { padding-right: 25px; font-size: 29px; margin-bottom: 18px; }
#ep-booking-dialog p { font-size: 16px; color: #456477; }
#ep-booking-dialog [data-close-dialog] { padding: 10px 18px; border: 1px solid #b4ccdc; border-radius: 6px; color: #244b65; background: #edf6fb; font-size: 14px; font-weight: 700; }
#ep-booking-dialog .ep-button[data-close-dialog] { color: #fff; background: linear-gradient(135deg,#0989ff,#0069ee); border-color: #0071e9; }
#ep-booking-dialog .ep-dialog-close { position: absolute; top: 13px; right: 13px; width: 35px; height: 35px; padding: 0; border: 0; background: #edf6fb; color: #31576e; font-size: 24px; font-weight: 400; }
/* A new adaptation of approved Sculpted Glow geometry, not a historical restoration. */
.ep-home .homepage-faq { position: relative; isolation: isolate; overflow: hidden; }
.ep-home .homepage-faq::before { position: absolute; z-index: -1; pointer-events: none; content: ''; width: 780px; height: 460px; right: -310px; top: -110px; border: 1px solid #e8b15c44; border-radius: 50%; transform: rotate(-24deg); box-shadow: 0 0 65px #ddaf291a,inset 0 0 85px #e8b15c07; }
.ep-home .homepage-faq::after { position: absolute; z-index: -1; pointer-events: none; content: ''; width: 1020px; height: 600px; left: -450px; bottom: -390px; border: 1px solid #af73a83d; border-radius: 50%; transform: rotate(-24deg); box-shadow: 0 0 80px #a078bc15; }
.ep-skip-link, .ep-skip { position: fixed; z-index: 200; top: -80px; left: 20px; padding: 12px 20px; background: #fff; border: 2px solid #0878ed; border-radius: 6px; color: #123147; }
.ep-skip-link:focus, .ep-skip:focus { top: 12px; }
@media (max-width: 1100px) {
  .ep-header > .ep-wrap { gap: 20px; }
  .ep-nav { gap: 18px; }
  .ep-nav a { font-size: 13px; }
  .ep-brand img { width: 180px; }
  .ep-hero-grid { gap: 38px; }
  .ep-demo-grid { gap: 40px; }
}
@media (max-width: 950px) {
  .ep-header > .ep-wrap { min-height: 79px; }
  .ep-menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0; min-width: 44px; }
  .ep-nav { display: none; position: absolute; top: calc(100% - 1px); left: 0; right: 0; padding: 18px 32px 25px; border-bottom: 1px solid #c8dce8; box-shadow: 0 15px 20px #102e4510; background: #fff; }
  .ep-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 5px; }
  .ep-nav a { display: block; padding: 10px 9px; font-size: 15px; }
  .ep-nav a[aria-current='page']::after { bottom: 5px; left: 9px; right: auto; width: 28px; }
  .ep-nav a.ep-nav-cta { margin-top: 8px; padding: 13px 18px; text-align: center; }
  .ep-hero-grid { padding-block: 54px 65px; gap: 38px; grid-template-columns: 1fr 1fr; }
  .ep-page:where(:not(.ep-home)) h1 { font-size: 44px; }
  .ep-lede { font-size: 16px; line-height: 1.7; }
  .ep-hero-art::before { width: 300px; height: 300px; right: -20px; }
  .ep-hero-art::after { width: 340px; height: 270px; }
  .ep-hero .ep-actions { gap: 15px 20px; }
  .ep-section { padding-block: 65px; }
  .ep-stage:not(.ep-section) { padding-block: 65px; }
  .ep-industry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ep-industry-card { min-height: 265px; }
  .ep-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ep-process { gap: 25px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ep-tabs { grid-template-columns: 1fr; gap: 22px; }
  .ep-tabs [role='tablist'] { flex-direction: row; overflow-x: auto; gap: 10px; padding: 4px 4px 10px; }
  .ep-tabs [role='tab'] { width: auto; min-width: 170px; flex-shrink: 0; padding: 15px 34px 15px 17px; font-size: 14px; }
  .ep-tabs [role='tab']::after { right: 13px; }
  .ep-faq-layout { gap: 40px; grid-template-columns: .75fr 1.25fr; }
  .ep-faq-layout > .ep-section-head { position: static; }
  .ep-faq-page .ep-faq-layout > div:first-child { position: static; }
  .ep-demo-grid { grid-template-columns: 1fr 1.05fr; gap: 30px; }
  .ep-visual-feature { gap: 48px; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
  .ep-feature-copy > p { font-size: 16px; }
  .ep-voice-example { padding: 20px; }
  .ep-demo-console { padding: 23px; }
  .ep-sample-window .ep-inquiry { margin: 16px; padding: 16px; }
  .ep-sample-window .ep-message { margin-inline: 28px 16px; padding: 15px; }
  .ep-sample-window .ep-field-grid { margin: 16px; gap: 8px; }
  .ep-field { padding: 10px; font-size: 11px; }
  .ep-window-bar { padding-inline: 16px; }
  .ep-footer > .ep-wrap { gap: 30px; }
  .ep-booking-card { gap: 25px; padding: 35px; }
}
@media (max-width: 650px) {
  .ep-page { padding-bottom: 84px; font-size: 16px; }
  .ep-wrap { width: calc(100% - 38px); }
  .ep-header > .ep-wrap { min-height: 76px; gap: 15px; }
  .ep-nav { padding-inline: 19px; }
  .ep-brand img { width: 174px; }
  .ep-breadcrumb { padding-top: 16px; font-size: 11px; }
  .ep-breadcrumb span { margin-inline: 7px; }
  .ep-hero-grid { grid-template-columns: 1fr; padding-block: 37px 46px; gap: 38px; }
  .ep-page:where(:not(.ep-home)) h1 { max-width: 530px; font-size: clamp(38px,10.8vw,48px); line-height: 1.08; margin-bottom: 22px; }
  .ep-page:where(:not(.ep-home)) h2 { font-size: 33px; }
  .ep-lede { font-size: 16px; }
  .ep-hero .ep-eyebrow { margin-bottom: 18px; }
  .ep-actions { gap: 15px 20px; margin-top: 25px; }
  .ep-button { font-size: 14px; min-height: 48px; padding: 12px 20px; }
  .ep-link { font-size: 13px; }
  .ep-hero-art { width: min(100%,480px); margin-inline: auto; }
  .ep-hero-art::before { width: 290px; height: 290px; right: 0; top: -18px; }
  .ep-hero-art::after { width: 350px; height: 260px; left: -13px; }
  .ep-section { padding-block: 51px; }
  .ep-stage:not(.ep-section) { padding-block: 51px; }
  .ep-section-head { margin-bottom: 28px; }
  .ep-section-head p { font-size: 16px; }
  .ep-filters { gap: 8px; margin-bottom: 22px; }
  .ep-filters button { padding: 9px 12px; font-size: 12px; }
  .ep-industry-grid { gap: 12px; grid-template-columns: 1fr; }
  .ep-industry-card { min-height: 0; padding: 23px; }
  .ep-card-icon { width: 40px; height: 40px; margin-bottom: 17px; }
  .ep-industry-card h3 { font-size: 22px; }
  .ep-industry-card p { max-width: 450px; font-size: 15px; margin-bottom: 17px; }
  .ep-card-link { padding-top: 13px; }
  .ep-process { grid-template-columns: 1fr 1fr; gap: 25px 21px; margin-top: 30px; }
  .ep-step h3 { font-size: 17px; }
  .ep-step p { font-size: 13px; }
  .ep-step-number { margin-bottom: 14px; }
  .ep-service-grid { grid-template-columns: 1fr; gap: 17px; }
  .ep-service-card { padding: 24px; }
  .ep-tabs { gap: 17px; }
  .ep-tabs [role='tab'] { min-width: 165px; padding-block: 14px; }
  .ep-service-panel { padding: 24px 21px; }
  .ep-service-panel h3 { font-size: 25px; }
  .ep-service-panel > p { font-size: 15px; }
  .ep-demo-grid { grid-template-columns: 1fr; gap: 27px; }
  .ep-visual-feature { grid-template-columns: 1fr; gap: 34px; }
  .ep-portrait { width: min(100%,390px); margin-inline: auto; }
  .ep-portrait::before { left: -7%; width: 114%; }
  .ep-portrait::after { left: -13%; width: 126%; }
  .ep-portrait figcaption { font-size: 12px; margin-top: 13px; }
  .ep-feature-copy h2 { max-width: 420px; }
  .ep-voice-example { margin-block: 23px 18px; padding: 20px; }
  .ep-demo-console { padding: 23px; }
  #ep-sample-text { min-height: 120px; font-size: 21px; }
  .ep-window-bar { font-size: 10px; }
  .ep-inquiry h3 { font-size: 19px; }
  .ep-field { font-size: 12px; }
  .ep-field small { font-size: 10px; }
  .ep-reveal { margin-top: 30px; }
  .ep-reveal > summary { padding: 23px 21px; flex-wrap: wrap; gap: 18px; }
  .ep-reveal-title { font-size: 20px; }
  .ep-reveal-cue { margin-left: auto; gap: 9px; font-size: 12px; }
  .ep-reveal-cue svg { width: 46px; }
  .ep-reveal-plus { width: 44px; height: 44px; font-size: 29px; }
  .ep-reveal-content { padding: 24px 21px; }
  .ep-faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .ep-faq-layout .ep-section-head { margin-bottom: 0; }
  .ep-faq-layout h2 { font-size: 33px; }
  .ep-faq-layout .ep-faq-group > h2 { font-size: 11px; }
  .ep-faq summary { font-size: 16px; padding-block: 19px; }
  .ep-faq-group + .ep-faq-group { margin-top: 30px; }
  .ep-scenic { min-height: 435px; background-position: 65% center; }
  .ep-scenic::before { background: linear-gradient(90deg,#051a2bf2,#0a2035cb 55%,#10283b66); }
  .ep-scenic .ep-wrap { padding-block: 53px; }
  .ep-scenic h2 { max-width: 350px; font-size: 34px; }
  .ep-scenic p { max-width: 310px; font-size: 15px; }
  .ep-footer { padding-block: 36px 23px; }
  .ep-footer > .ep-footer-grid { grid-template-columns: 1fr 1fr; gap: 25px 20px; }
  .ep-footer > .ep-footer-grid > :first-child { grid-column: 1/-1; }
  .ep-footer a:not(.ep-brand) { display: flex; align-items: center; min-height: 44px; }
  .ep-footer .ep-footer-bottom { margin-top: 26px; }
  .ep-preview-bar { min-height: 76px; gap: 5px; padding: 9px 15px; font-size: 10px; }
  .ep-preview-bar > :first-child { flex-basis: 100%; text-align: center; }
  .ep-preview-bar nav { gap: 15px; }
  .ep-booking-card { grid-template-columns: 1fr; gap: 23px; padding: 28px 23px; }
  .ep-booking-card h2 { font-size: 29px; }
  .ep-booking-card p { font-size: 15px; }
  .ep-booking-card .ep-button { justify-self: start; }
  #ep-booking-dialog { padding: 27px; }
  .ep-orbit { width: 470px; height: 300px; right: -250px; }
  .ep-orbit-two { width: 670px; height: 420px; right: -350px; }
}
@media (prefers-reduced-motion: reduce) {
  .ep-page *, .ep-page *::before, .ep-page *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation: none !important; }
}
@media (forced-colors: active) {
  .ep-page .ep-button, .ep-page .ep-nav-cta, .ep-page .ep-industry-card, .ep-page .ep-filters button, .ep-page .ep-reveal-plus { border: 1px solid ButtonText; }
}
