@layer ep-reset, ep-tokens, ep-base, ep-typography, ep-layout, ep-components, ep-utilities; @layer ep-tokens {
:root { --ep-color-primary: #EE4036;
--ep-color-primary-hover: #D9362A;
--ep-color-primary-light: #FDEEEC; --ep-color-amber: #FAAF40;
--ep-color-amber-hover: #E89A2B; --ep-color-ink: #282828;
--ep-color-ink-muted: #5A5A5A;
--ep-color-ink-quiet: #8A8A8A; --ep-color-bg-page: #FFFFFF;
--ep-color-bg-soft: #EDEDED;
--ep-color-bg-card: #F7F7F7;
--ep-color-bg-dark: #000000;
--ep-color-bg-dark-soft: #1F1F1F; --ep-color-border: #E4E4E4;
--ep-color-border-strong: #C4C4C4; --ep-color-success: #2D7D46;
--ep-color-warning: #C0832D;
--ep-color-error: #B33A2A; --ep-container-main: 1440px;
--ep-container-text: 1080px;
--ep-container-narrow: 720px;
--ep-container-padding: clamp(16px, 4vw, 32px); --ep-font-display: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
--ep-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
--ep-font-mono: 'Fira Code', ui-monospace, 'SF Mono', Menlo, monospace; --ep-type-display: clamp(48px, 6vw, 80px);
--ep-type-h1: clamp(40px, 5vw, 60px);
--ep-type-h2: clamp(28px, 3.5vw, 42px);
--ep-type-h3: clamp(20px, 2.4vw, 28px);
--ep-type-h4: 20px;
--ep-type-body-lg: 18px;
--ep-type-body: 16px;
--ep-type-small: 14px;
--ep-type-caption: 12px;
--ep-leading-tight: 1.15;
--ep-leading-snug: 1.3;
--ep-leading-normal: 1.55;
--ep-leading-loose: 1.7;
--ep-tracking-tight: -0.01em;
--ep-tracking-normal: 0;
--ep-tracking-wide: 0.05em;
--ep-tracking-wider: 0.1em;
--ep-weight-regular: 400;
--ep-weight-medium: 500;
--ep-weight-semibold: 600;
--ep-weight-bold: 700;
--ep-weight-extrabold: 800; --ep-space-section: clamp(64px, 8vw, 120px);
--ep-space-block: clamp(32px, 4vw, 64px);
--ep-space-2xl: 48px;
--ep-space-xl: 32px;
--ep-space-lg: 24px;
--ep-space-md: 16px;
--ep-space-sm: 12px;
--ep-space-xs: 8px;
--ep-space-2xs: 4px;
--ep-radius-button: 999px;
--ep-radius-card: 8px;
--ep-radius-image: 4px;
--ep-radius-input: 6px;
--ep-shadow-sm: 0 1px 2px rgb(0 0 0 / 4%), 0 1px 1px rgb(0 0 0 / 2%);
--ep-shadow-md: 0 4px 12px rgb(0 0 0 / 6%), 0 2px 4px rgb(0 0 0 / 4%);
--ep-shadow-lg: 0 12px 32px rgb(0 0 0 / 10%), 0 4px 8px rgb(0 0 0 / 6%);
--ep-transition-fast: 120ms ease-out;
--ep-transition-base: 200ms ease-out;
--ep-transition-slow: 320ms ease-out; color-scheme: light;
}
} @layer ep-base {
*, *::before, *::after {
box-sizing: border-box;
}
html, body { margin: 0;
padding: 0;
}
html {
scroll-padding-top: 80px;  }
body {
font-family: var(--ep-font-body);
font-size: var(--ep-type-body);
line-height: var(--ep-leading-normal);
color: var(--ep-color-ink);
background-color: var(--ep-color-bg-page);
overflow-wrap: anywhere; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
} :where(img, picture, video, svg) {
max-width: 100%;
height: auto;
display: block;
} :where(a) {
color: var(--ep-color-primary);
text-decoration: none;
transition: color var(--ep-transition-fast);
}
:where(a):hover {
color: var(--ep-color-primary-hover);
} :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
outline: 2px solid var(--ep-color-primary);
outline-offset: 2px;
border-radius: 2px;
}
} @layer ep-typography {
:where(h1, h2, h3, h4, h5, h6, .ep-h1, .ep-h2, .ep-h3, .ep-h4) {
font-family: var(--ep-font-display);
font-weight: var(--ep-weight-bold);
line-height: var(--ep-leading-tight);
letter-spacing: var(--ep-tracking-tight);
color: var(--ep-color-ink);
margin: 0 0 var(--ep-space-md);
text-wrap: balance; }
:where(h1, .ep-h1) { font-size: var(--ep-type-h1); }
:where(h2, .ep-h2) { font-size: var(--ep-type-h2); }
:where(h3, .ep-h3) { font-size: var(--ep-type-h3); line-height: var(--ep-leading-snug); }
:where(h4, .ep-h4) { font-size: var(--ep-type-h4); font-weight: var(--ep-weight-semibold); }
.ep-display {
font-family: var(--ep-font-display);
font-size: var(--ep-type-display);
font-weight: var(--ep-weight-extrabold);
line-height: var(--ep-leading-tight);
letter-spacing: var(--ep-tracking-tight);
text-wrap: balance;
}
:where(p) {
margin: 0 0 var(--ep-space-md);
line-height: var(--ep-leading-normal);
text-wrap: pretty; }
.ep-lead {
font-size: var(--ep-type-body-lg);
line-height: var(--ep-leading-snug);
color: var(--ep-color-ink-muted);
}
.ep-eyebrow {
font-size: var(--ep-type-caption);
font-weight: var(--ep-weight-semibold);
letter-spacing: var(--ep-tracking-wider);
text-transform: uppercase;
color: var(--ep-color-primary);
margin: 0 0 var(--ep-space-sm);
}
} @layer ep-layout {
:where(.ep-container, .ep-container-main) {
width: 100%;
max-width: var(--ep-container-main);
margin-inline: auto;
padding-inline: var(--ep-container-padding);
}
.ep-container-text {
width: 100%;
max-width: var(--ep-container-text);
margin-inline: auto;
padding-inline: var(--ep-container-padding);
}
.ep-container-narrow {
width: 100%;
max-width: var(--ep-container-narrow);
margin-inline: auto;
padding-inline: var(--ep-container-padding);
}
.ep-section {
padding-block: var(--ep-space-section);
} .ep-section--immediate {
content-visibility: visible;
contain-intrinsic-size: none;
}
.ep-section-tight {
padding-block: var(--ep-space-block);
}
.ep-section--dark {
background-color: var(--ep-color-bg-dark);
color: #FFFFFF;
}
.ep-section--dark :where(h1, h2, h3, h4) {
color: #FFFFFF;
}
.ep-section--dark :where(p) {
color: rgb(255 255 255 / 85%);
}
.ep-section--soft {
background-color: var(--ep-color-bg-soft);
}
} @layer ep-components { :is(a, button, input[type="submit"]).ep-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--ep-space-xs);
padding: 14px 28px;
font-family: var(--ep-font-display);
font-size: var(--ep-type-small);
font-weight: var(--ep-weight-semibold);
letter-spacing: var(--ep-tracking-wide);
text-transform: uppercase;
text-decoration: none;
background-color: var(--ep-color-primary);
color: #FFFFFF;
border: 1px solid var(--ep-color-primary);
border-radius: var(--ep-radius-button);
cursor: pointer;
transition:
background-color var(--ep-transition-base),
border-color var(--ep-transition-base),
transform var(--ep-transition-fast);
}
:is(a, button).ep-btn:hover {
background-color: var(--ep-color-primary-hover);
border-color: var(--ep-color-primary-hover);
color: #FFFFFF;
}
:is(a, button).ep-btn:active {
transform: translateY(1px);
}
:is(a, button).ep-btn--secondary {
background-color: transparent;
color: var(--ep-color-ink);
border-color: var(--ep-color-ink);
}
:is(a, button).ep-btn--secondary:hover {
background-color: var(--ep-color-ink);
color: #FFFFFF;
}
:is(a, button).ep-btn--ghost {
background-color: transparent;
color: var(--ep-color-primary);
border-color: transparent;
padding-inline: 0;
}
:is(a, button).ep-btn--ghost:hover {
background-color: transparent;
color: var(--ep-color-primary-hover);
}
:is(a, button).ep-btn--inverse {
background-color: #FFFFFF;
color: var(--ep-color-ink);
border-color: #FFFFFF;
}
:is(a, button).ep-btn--inverse:hover {
background-color: var(--ep-color-primary);
color: #FFFFFF;
border-color: var(--ep-color-primary);
}
:is(a, button).ep-btn--lg {
padding: 18px 36px;
font-size: var(--ep-type-body);
} .ep-card {
background-color: var(--ep-color-bg-page);
border: 1px solid var(--ep-color-border);
border-radius: var(--ep-radius-card);
padding: var(--ep-space-xl);
contain: layout style; transition:
box-shadow var(--ep-transition-base),
transform var(--ep-transition-base);
}
.ep-card:hover {
box-shadow: var(--ep-shadow-md);
}
.ep-card--soft {
background-color: var(--ep-color-bg-soft);
border-color: transparent;
}
.ep-card--media {
padding: 0;
overflow: hidden;
}
.ep-card--media .ep-card__img {
aspect-ratio: 4 / 3;
object-fit: cover;
width: 100%;
}
.ep-card--media .ep-card__body {
padding: var(--ep-space-lg);
} .ep-faq {
display: flex;
flex-direction: column;
gap: var(--ep-space-sm);
}
.ep-faq__item {
background-color: var(--ep-color-bg-page);
border: 1px solid var(--ep-color-border);
border-radius: var(--ep-radius-card);
overflow: hidden;
contain: layout style;
transition: border-color var(--ep-transition-base);
}
.ep-faq__item[open] {
border-color: var(--ep-color-primary);
}
.ep-faq__question {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--ep-space-md);
padding: var(--ep-space-lg);
font-family: var(--ep-font-display);
font-size: var(--ep-type-body-lg);
font-weight: var(--ep-weight-semibold);
color: var(--ep-color-ink);
cursor: pointer;
list-style: none;
user-select: none;
}
.ep-faq__question::-webkit-details-marker { display: none; } .ep-faq__question::after {
content: '';
flex-shrink: 0;
width: 14px;
height: 14px;
border-right: 2px solid var(--ep-color-primary);
border-bottom: 2px solid var(--ep-color-primary);
transform: rotate(45deg);
transition: transform var(--ep-transition-base);
}
.ep-faq__item[open] .ep-faq__question::after {
transform: rotate(-135deg);
}
.ep-faq__answer {
padding: 0 var(--ep-space-lg) var(--ep-space-lg);
color: var(--ep-color-ink-muted);
line-height: var(--ep-leading-normal);
} .ep-hero {
position: relative;
padding-block: clamp(80px, 12vw, 160px);
background-color: var(--ep-color-bg-dark);
color: #FFFFFF;
overflow: hidden;
} .ep-hero__bg {
position: absolute;
inset: 0;
object-fit: cover;
width: 100%;
height: 100%;
z-index: 0;
}
.ep-hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(180deg,
rgb(0 0 0 / 30%) 0%,
rgb(0 0 0 / 55%) 100%);
z-index: 1;
}
.ep-hero__content {
position: relative;
z-index: 2;
max-width: 800px;
}
.ep-hero__title {
color: #FFFFFF;
font-size: var(--ep-type-display);
margin-bottom: var(--ep-space-lg);
}
.ep-hero__subtitle {
font-size: var(--ep-type-body-lg);
color: rgb(255 255 255 / 92%);
margin-bottom: var(--ep-space-2xl);
max-width: 600px;
}
.ep-hero__actions {
display: flex;
gap: var(--ep-space-md);
flex-wrap: wrap;
} .ep-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: var(--ep-space-xl);
padding-block: var(--ep-space-block);
border-block: 1px solid var(--ep-color-border);
}
.ep-stat {
text-align: center;
}
.ep-stat__number {
display: block;
font-family: var(--ep-font-display);
font-size: clamp(40px, 4vw, 56px);
font-weight: var(--ep-weight-extrabold);
color: var(--ep-color-primary);
line-height: 1;
margin-bottom: var(--ep-space-xs);
}
.ep-stat__label {
font-size: var(--ep-type-small);
font-weight: var(--ep-weight-semibold);
letter-spacing: var(--ep-tracking-wider);
text-transform: uppercase;
color: var(--ep-color-ink-muted);
} .ep-logos {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: var(--ep-space-2xl);
padding-block: var(--ep-space-block);
}
.ep-logos__item {
height: 36px;
width: auto;
opacity: 0.7;
filter: grayscale(100%);
transition:
opacity var(--ep-transition-base),
filter var(--ep-transition-base);
}
.ep-logos__item:hover {
opacity: 1;
filter: grayscale(0%);
} .ep-testimonials {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--ep-space-lg);
}
.ep-testimonial {
background-color: var(--ep-color-bg-card);
border-radius: var(--ep-radius-card);
padding: var(--ep-space-xl);
display: flex;
flex-direction: column;
gap: var(--ep-space-md);
contain: layout style;
} .ep-testimonial__quote {
font-size: var(--ep-type-body-lg);
line-height: var(--ep-leading-snug);
color: var(--ep-color-ink);
font-style: italic;
margin: 0;
}
.ep-testimonial__quote::before {
content: '"';
font-family: var(--ep-font-display);
font-size: 48px;
line-height: 0;
color: var(--ep-color-primary);
margin-right: 4px;
vertical-align: -8px;
aria-hidden: true; }
.ep-testimonial__author {
font-size: var(--ep-type-small);
font-weight: var(--ep-weight-semibold);
color: var(--ep-color-ink-muted);
margin-top: auto;
} .ep-form-wrap {
background-color: var(--ep-color-bg-soft);
padding: var(--ep-space-2xl);
border-radius: var(--ep-radius-card);
max-width: var(--ep-container-narrow);
margin-inline: auto;
}
.ep-dubsado-embed {
width: 100%;
min-height: 600px;
border: 0;
background: transparent;
} .ep-testimonials {
background-color: var(--ep-color-bg-soft);
padding-block: clamp(72px, 8vw, 100px);
font-family: var(--ep-font-body);
}
.ep-testimonials__row { width: 100%;
max-width: var(--ep-container-main);
margin-inline: auto;
padding-inline: var(--ep-container-padding);
display: grid; grid-template-columns: 1fr 1.25fr;
gap: clamp(40px, 5vw, 72px);
align-items: center;
}
.ep-testimonials__heading {
display: flex;
flex-direction: column;
}
.ep-testimonials h2 {
font-size: clamp(28px, 3.2vw, 38px);
font-weight: 700;
line-height: 1.15;
color: var(--ep-color-ink);
margin: 0 0 28px;
text-wrap: balance;
} .ep-testimonials__actions {
display: flex;
flex-direction: column;
gap: 14px;
align-items: stretch;
width: max-content;
max-width: 100%;
}
.ep-testimonials__btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 32px;
font-family: inherit;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
text-decoration: none;
border-radius: 999px;
border: 1px solid transparent;
cursor: pointer;
transition: background var(--ep-transition-base),
color var(--ep-transition-base),
border-color var(--ep-transition-base);
}
.ep-testimonials__btn--outline {
background: transparent;
color: var(--ep-color-ink);
border-color: var(--ep-color-ink);
}
.ep-testimonials__btn--outline:hover {
background: var(--ep-color-ink);
color: #fff;
}
.ep-testimonials__btn--dark {
background: var(--ep-color-ink);
color: #fff;
border-color: var(--ep-color-ink);
}
.ep-testimonials__btn--dark:hover {
background: var(--ep-color-primary);
border-color: var(--ep-color-primary);
} .ep-testimonial {
display: flex;
flex-direction: column;
margin: 0; gap: 0;
}
.ep-testimonial__stars {
color: var(--ep-color-ink);
font-size: 18px;
letter-spacing: 2px;
margin-bottom: 24px;
}
.ep-testimonial__quote {
font-size: 17px;
line-height: 1.55;
color: var(--ep-color-ink);
margin: 0 0 28px;
}
.ep-testimonial__author {
font-size: 14px;
color: var(--ep-color-ink-muted);
margin: 0;
} .js-testi-swiper { padding-bottom: 44px; }
.js-testi-swiper .swiper-pagination { bottom: 8px; }
@media (max-width: 1024px) {
.ep-testimonials__row {
grid-template-columns: 1fr;
gap: 40px;
}
.ep-testimonials__heading {
text-align: center;
align-items: center;
}
}
@media (max-width: 640px) {
.ep-testimonials { padding-block: 56px; }
.ep-testimonials__btn { padding: 10px 24px; font-size: 12px; }
} .ep-quote-form { background-color: var(--ep-color-bg-soft);
padding-block: clamp(64px, 8vw, 100px);
color: var(--ep-color-ink);
font-family: var(--ep-font-body);
}
.ep-quote-form__inner { width: 100%;
max-width: var(--ep-container-main); margin-inline: auto;
padding-inline: var(--ep-container-padding);
display: grid;
grid-template-columns: minmax(280px, 1fr) minmax(0, 1.4fr);
gap: clamp(40px, 5vw, 80px);
align-items: start;
}
.ep-quote-form__intro h2 {
font-size: clamp(28px, 3vw, 38px);
font-weight: 700;
color: var(--ep-color-ink);
margin: 0 0 16px;
line-height: 1.15;
text-wrap: balance;
}
.ep-quote-form__intro p {
font-size: 16px;
line-height: 1.6;
color: var(--ep-color-ink);
margin: 0 0 18px;
} .ep-quote-form__contact {
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid var(--ep-color-border);
}
.ep-quote-form__contact p {
font-size: 14px;
color: var(--ep-color-ink-muted);
margin: 0 0 8px;
}
.ep-quote-form__contact a {
font-weight: 600;
color: var(--ep-color-ink);
text-decoration: none;
transition: color var(--ep-transition-fast);
}
.ep-quote-form__contact a:hover { color: var(--ep-color-primary); }
.ep-quote-form__embed {
background: #fff;
border-radius: var(--ep-radius-card); padding: 0;
box-shadow: var(--ep-shadow-md); overflow: hidden;
}
.ep-quote-form__embed iframe {
width: 100%; min-height: 940px;
margin-top: -32px;
margin-bottom: -16px;
border: 0;
background: transparent;
display: block;
} .ep-quote-form__embed-fallback {
display: flex;
align-items: center;
justify-content: center;
min-height: 480px;
color: var(--ep-color-ink-muted);
font-size: 14px;
text-align: center;
padding: 24px;
}
@media (max-width: 1024px) {
.ep-quote-form__inner {
grid-template-columns: 1fr;
gap: 40px;
}
}
@media (max-width: 640px) {
.ep-quote-form { padding-block: 48px; } .ep-quote-form__embed iframe { min-height: 1140px; }
} .ep-final-cta {
position: relative;
padding: clamp(80px, 10vw, 130px) clamp(20px, 4vw, 40px);
background-image:
linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.55)),
url(//eventphotos.com.au/2022/wp-content/uploads/Asset-1CTA-bg.jpg);
background-size: cover; background-position: 90% center;
color: #fff;
font-family: var(--ep-font-body);
}
.ep-final-cta__inner { max-width: var(--ep-container-main); margin-inline: auto;
}
.ep-final-cta__content {
max-width: 560px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 18px;
}
.ep-final-cta h2 {
font-size: clamp(32px, 4vw, 45px);
font-weight: 700;
color: #fff;
margin: 0;
line-height: 1.15;
text-wrap: balance;
}
.ep-final-cta__lead {
font-size: clamp(18px, 1.6vw, 22px);
font-weight: 600;
color: rgba(255,255,255,0.95);
margin: 0;
max-width: 480px;
line-height: 1.3;
}
.ep-final-cta__sub {
font-size: 15px;
font-weight: 400;
color: rgba(255,255,255,0.85);
margin: 0;
max-width: 480px;
line-height: 1.5;
}
.ep-final-cta__actions {
display: flex;
gap: 14px;
flex-wrap: wrap;
margin-top: 8px;
}
.ep-final-cta__btn {
display: inline-flex;
align-items: center;
padding: 11px 26px;
border-radius: 999px;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
text-decoration: none;
transition: background var(--ep-transition-base),
color var(--ep-transition-base),
border-color var(--ep-transition-base);
}
.ep-final-cta__btn--ghost {
background: transparent;
color: #fff;
border: 1px solid #fff;
}
.ep-final-cta__btn--ghost:hover {
background: #fff;
color: var(--ep-color-ink);
}
.ep-final-cta__btn--solid {
background: #fff;
color: var(--ep-color-ink);
border: 1px solid #fff;
}
.ep-final-cta__btn--solid:hover {
background: var(--ep-color-primary);
color: #fff;
border-color: var(--ep-color-primary);
}
.ep-final-cta__phone {
font-size: 15px;
font-style: italic;
color: rgba(255,255,255,0.9);
margin: 4px 0 0;
}
.ep-final-cta__phone a {
color: #fff;
text-decoration: none;
transition: color var(--ep-transition-fast);
}
.ep-final-cta__phone a:hover { color: var(--ep-color-amber); }
@media (max-width: 768px) {
.ep-final-cta { padding: 64px 20px; }
.ep-final-cta__actions { flex-direction: column; align-items: stretch; }
.ep-final-cta__btn { justify-content: center; }
} .ep-footer {
background-color: var(--ep-color-bg-page);
color: var(--ep-color-ink); padding-block: 75px 30px;
font-family: var(--ep-font-body);
}
.ep-footer__row { width: 100%;
max-width: var(--ep-container-main); margin-inline: auto;
padding-inline: var(--ep-container-padding);
display: grid; grid-template-columns: minmax(280px, 1fr) minmax(0, 2.4fr);
gap: clamp(32px, 4vw, 64px);
align-items: start;
} .ep-footer__brand { display: flex; flex-direction: column; gap: 24px; }
.ep-footer__logo { display: inline-block; }
.ep-footer__logo img,
.ep-footer__logo svg { width: 333px;
max-width: 100%;
height: auto;
}
.ep-footer__contact { display: flex; flex-direction: column; gap: 12px; }
.ep-footer__contact p {
display: flex;
align-items: center;
gap: 12px;
font-size: 14px;
color: var(--ep-color-ink);
margin: 0;
}
.ep-footer__contact a {
color: var(--ep-color-ink);
text-decoration: none;
transition: color var(--ep-transition-fast);
}
.ep-footer__contact a:hover { color: var(--ep-color-primary); }
.ep-footer__social { display: flex; gap: 10px; }
.ep-footer__social a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
background: var(--ep-color-ink);
color: #fff;
border-radius: 3px;
text-decoration: none;
transition: background var(--ep-transition-base);
}
.ep-footer__social a:hover { background: var(--ep-color-primary); } .ep-footer__lists {
display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
gap: clamp(24px, 3vw, 50px);
} .ep-footer__services {
display: flex;
flex-direction: column;
gap: 8px;
}
.ep-footer__services-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.ep-footer__services-list li { font-size: 13px;
font-weight: 500;
letter-spacing: 0.02em;
text-transform: uppercase;
color: var(--ep-color-ink);
line-height: 1.4;
margin: 0;
} .ep-footer__services-list a {
color: inherit;
text-decoration: none;
transition: color var(--ep-transition-fast);
}
.ep-footer__services-list a:hover { color: var(--ep-color-primary); }
.ep-footer__cities { font-size: 12px;
font-weight: 500;
color: var(--ep-color-ink);
line-height: 1.5;
margin: 8px 0 0;
} .ep-footer__photogs {
display: flex;
flex-direction: column;
gap: 12px;
}
.ep-footer__photogs-title {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.02em;
text-transform: uppercase;
color: var(--ep-color-ink);
margin: 0 0 4px;
} .ep-footer__photogs-groups {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px 32px;
}
.ep-footer__photogs-subtitle {
font-size: 12px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ep-color-primary);
margin: 0 0 10px;
}
.ep-footer__photogs-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 6px;
}
.ep-footer__photogs-list li { margin: 0; }
.ep-footer__photogs-list a {
font-size: 12px;
font-weight: 500;
color: var(--ep-color-ink);
text-decoration: none;
transition: color var(--ep-transition-fast);
}
.ep-footer__photogs-list a:hover { color: var(--ep-color-primary); } .ep-footer__bottom { width: 100%;
max-width: var(--ep-container-main); margin: 50px auto 0;
padding: 20px var(--ep-container-padding) 0;
border-top: 1px solid var(--ep-color-border);
font-size: 10px;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ep-color-ink);
text-align: left;
}
.ep-footer__bottom a {
color: var(--ep-color-ink);
text-decoration: none;
}
.ep-footer__bottom a:hover { color: var(--ep-color-primary); } @media (max-width: 1024px) {
.ep-footer { padding-block: 60px 24px; }
.ep-footer__row { grid-template-columns: 1fr;
gap: 48px;
}
.ep-footer__logo img,
.ep-footer__logo svg { width: 280px; }
} @media (max-width: 640px) {
.ep-footer { padding-block: 48px 20px; }
.ep-footer__lists { grid-template-columns: 1fr;
gap: 32px;
}
.ep-footer__photogs-groups { grid-template-columns: 1fr; gap: 24px; }
.ep-footer__logo img,
.ep-footer__logo svg { width: 240px; }
} .ep-slider {
display: flex;
align-items: center;
justify-content: center; gap: 16px;
width: 100%;
min-width: 0;
} .ep-slider .swiper {
flex: 1 1 auto;
width: 100%;
max-width: 560px;
min-width: 0;
overflow: hidden;
} .ep-slider .swiper-slide {
display: flex;
justify-content: center;
align-items: flex-start;
box-sizing: border-box;
} .ep-slider__slide {
width: 100%;
max-width: 544px;
padding-inline: 8px;
margin-inline: auto;
box-sizing: border-box;
overflow-wrap: break-word;
}
.ep-slider__arrow {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
padding: 0;
border-radius: 50%;
cursor: pointer;
transition: color var(--ep-transition-base),
background var(--ep-transition-base),
border-color var(--ep-transition-base);
}
.ep-slider__arrow svg { width: 18px; height: 18px; }
.ep-slider__arrow.swiper-button-disabled { opacity: 0.35; cursor: not-allowed; } .ep-slider--light .ep-slider__arrow {
color: rgb(0 0 0 / 30%);
background: rgb(255 255 255 / 50%);
border: 1px solid rgb(0 0 0 / 8%);
}
.ep-slider--light .ep-slider__arrow:hover {
color: var(--ep-color-primary);
background: #fff;
border-color: var(--ep-color-primary);
} .ep-slider--dark {
--swiper-pagination-color: var(--ep-color-amber);
--swiper-pagination-bullet-inactive-color: #ffffff;
--swiper-pagination-bullet-inactive-opacity: 0.45;
--swiper-pagination-bullet-size: 10px;
--swiper-pagination-bullet-horizontal-gap: 5px;
}
.ep-slider--dark .ep-slider__arrow {
color: #fff;
background: rgb(0 0 0 / 45%);
border: 1px solid rgb(255 255 255 / 30%);
}
.ep-slider--dark .ep-slider__arrow:hover {
color: var(--ep-color-amber);
background: rgb(0 0 0 / 70%);
border-color: var(--ep-color-amber);
} .ep-slider--light {
--swiper-pagination-color: var(--ep-color-primary);
--swiper-pagination-bullet-inactive-color: #000000;
--swiper-pagination-bullet-inactive-opacity: 0.25;
--swiper-pagination-bullet-size: 10px;
--swiper-pagination-bullet-horizontal-gap: 5px;
} .ep-slider .swiper-pagination {
bottom: 0;
text-align: center;
padding: 0;
}
.ep-slider .swiper-pagination-bullet {
transition: background var(--ep-transition-base), opacity var(--ep-transition-base);
}
.ep-slider .swiper-pagination-bullet-active {
opacity: 1;
} .wp-block-group.ep-container,
.wp-block-group.ep-container-main {
max-width: var(--ep-container-main);
}
.wp-block-buttons .wp-block-button__link {
border-radius: var(--ep-radius-button);
padding: 14px 28px;
font-weight: var(--ep-weight-semibold);
letter-spacing: var(--ep-tracking-wide);
text-transform: uppercase;
background-color: var(--ep-color-primary);
}
.wp-block-buttons .wp-block-button__link:hover {
background-color: var(--ep-color-primary-hover);
}
} @layer ep-utilities { .ep-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
} .ep-skip-link {
position: absolute;
top: -100px;
left: var(--ep-space-md);
background: var(--ep-color-primary);
color: #FFFFFF;
padding: var(--ep-space-sm) var(--ep-space-md);
border-radius: var(--ep-radius-input);
z-index: 9999;
font-weight: var(--ep-weight-semibold);
transition: top var(--ep-transition-base);
}
.ep-skip-link:focus {
top: var(--ep-space-md);
}
.ep-text-center { text-align: center; }
.ep-text-left { text-align: left; }
.ep-text-right { text-align: right; }
.ep-mt-0 { margin-top: 0; }
.ep-mb-0 { margin-bottom: 0; }
.ep-mb-sm { margin-bottom: var(--ep-space-sm); }
.ep-mb-md { margin-bottom: var(--ep-space-md); }
.ep-mb-lg { margin-bottom: var(--ep-space-lg); }
.ep-mb-xl { margin-bottom: var(--ep-space-xl); } .ep-hidden { display: none; }
@media (max-width: 768px) {
.ep-hidden-mobile { display: none; }
}
@media (min-width: 769px) {
.ep-hidden-desktop { display: none; }
}
} @media (prefers-reduced-motion: no-preference) {
html {
scroll-behavior: smooth;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
} @media (forced-colors: active) {
:is(a, button).ep-btn {
border: 1px solid CanvasText;
forced-color-adjust: none;
}
.ep-faq__question::after {
border-color: CanvasText;
}
} @media print {
.ep-hero__bg,
.ep-hero__overlay {
display: none;
}
.ep-section--dark,
.ep-hero,
.ep-footer {
background: transparent !important;
color: #000 !important;
}
:is(a, button).ep-btn {
background: transparent !important;
color: #000 !important;
border: 1px solid #000 !important;
} a[href^="http"]::after {
content: " (" attr(href) ")";
font-size: 0.85em;
color: #555;
} .ep-section {
content-visibility: visible !important;
contain-intrinsic-size: none !important;
break-inside: avoid;
}
}  .epxsp-gallery__grid a.epxsp-gallery__item,
.epxsp-gallery__grid img,
.epx-gallery__grid .epx-gallery__item,
.epx-gallery__grid img {
cursor: zoom-in;
}
.ep-lightbox {
position: fixed;
inset: 0;
z-index: 200;
display: none;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.9);
padding: clamp(16px, 4vw, 48px);
}
.ep-lightbox.is-open { display: flex; }
.ep-lightbox__img {
max-width: 92vw;
max-height: 86vh;
width: auto;
height: auto;
border-radius: 4px;
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);
}
.ep-lightbox__close,
.ep-lightbox__nav {
position: absolute;
background: rgba(255, 255, 255, 0.12);
color: #fff;
border: 0;
cursor: pointer;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
transition: background var(--ep-transition-base);
}
.ep-lightbox__close:hover,
.ep-lightbox__nav:hover { background: var(--ep-color-primary); }
.ep-lightbox__close {
top: 18px; right: 22px;
width: 44px; height: 44px;
font-size: 28px; line-height: 1;
}
.ep-lightbox__nav {
top: 50%;
transform: translateY(-50%);
width: 52px; height: 52px;
font-size: 32px; line-height: 1;
}
.ep-lightbox__prev { left: clamp(8px, 2vw, 24px); }
.ep-lightbox__next { right: clamp(8px, 2vw, 24px); }
@media (max-width: 600px) {
.ep-lightbox__nav { width: 42px; height: 42px; font-size: 26px; }
} @media (max-width: 768px) {
.ep-final-cta:has(+ .ep-quote-form) {
display: none;
}
} @layer ep-components {
.ep-blocks{display:flow-root}
.ep-blocks__h2{margin:clamp(32px,4vw,52px) 0 14px;font-weight:800;line-height:1.15;font-size:clamp(1.5rem,2.8vw,2.15rem);letter-spacing:-.015em;color:var(--ep-color-ink)}
.ep-blocks__h2::after{content:"";display:block;width:52px;height:4px;border-radius:2px;background:var(--ep-color-primary);margin-top:12px}
.ep-blocks__h3{margin:clamp(24px,3vw,36px) 0 10px;font-weight:700;line-height:1.2;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--ep-color-ink)}
.ep-blocks__h2:first-child,.ep-blocks__h3:first-child{margin-top:0}
.ep-blocks__prose{color:var(--ep-color-ink);font-size:clamp(1rem,1.4vw,1.115rem);line-height:1.75}
.ep-blocks__prose > :first-child{margin-top:0}
.ep-blocks__prose > :last-child{margin-bottom:0}
.ep-blocks__prose p{margin:0 0 1.1em}
.ep-blocks__prose a{color:var(--ep-color-primary);text-underline-offset:.18em}
.ep-blocks__prose a:hover{color:var(--ep-color-primary-hover)}
.ep-blocks__prose ul,.ep-blocks__prose ol{margin:0 0 1.1em;padding-left:1.35em}
.ep-blocks__prose li{margin:0 0 .45em}
.ep-blocks__prose img{max-width:100%;height:auto;border-radius:4px} .ep-blocks__images{display:grid;gap:12px;margin:clamp(24px,3vw,36px) 0}
.ep-blocks__images--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ep-blocks__images--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ep-blocks__img,.ep-blocks__gallery-img{width:100%;height:auto;border-radius:4px;display:block}
.ep-blocks__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(160px,22vw,260px),1fr));gap:12px;margin:clamp(24px,3vw,36px) 0}
.ep-blocks__gallery-img{aspect-ratio:3/2;object-fit:cover;cursor:zoom-in}
.ep-blocks__video{position:relative;aspect-ratio:16/9;margin:clamp(24px,3vw,36px) 0;border-radius:4px;overflow:hidden;background:#000}
.ep-blocks__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0} .ep-blocks__features{list-style:none;margin:clamp(20px,2.5vw,32px) 0;padding:0;display:grid;gap:10px}
.ep-blocks__features li{position:relative;padding-left:30px;line-height:1.6}
.ep-blocks__features li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--ep-color-primary)}
.ep-blocks__faq{margin:clamp(28px,3.5vw,44px) 0} .ep-blocks__highlight{margin:clamp(28px,3.5vw,44px) 0;padding:clamp(20px,3vw,32px);background:var(--ep-color-bg-soft);border-left:4px solid var(--ep-color-primary);border-radius:4px}
.ep-blocks__highlight > :last-child{margin-bottom:0}
.ep-blocks__highlight .ep-blocks__h2{margin-top:0} .ep-blocks--editor{color:var(--ep-color-ink);font-size:clamp(1rem,1.4vw,1.115rem);line-height:1.75}
.ep-blocks--editor > :first-child{margin-top:0}
.ep-blocks--editor > :last-child{margin-bottom:0}
.ep-blocks--editor p{margin:0 0 1.1em}
.ep-blocks--editor a{color:var(--ep-color-primary);text-underline-offset:.18em}
.ep-blocks--editor a:hover{color:var(--ep-color-primary-hover)}
.ep-blocks--editor ul:not([class]),.ep-blocks--editor ol{margin:0 0 1.1em;padding-left:1.35em}
.ep-blocks--editor ul:not([class]) li,.ep-blocks--editor ol li{margin:0 0 .45em}
.ep-blocks--editor img:not([class]){max-width:100%;height:auto;border-radius:4px}
.ep-blocks--editor h2:not([class]){margin:clamp(32px,4vw,52px) 0 14px;font-weight:800;line-height:1.15;font-size:clamp(1.5rem,2.8vw,2.15rem);letter-spacing:-.015em;color:var(--ep-color-ink)}
.ep-blocks--editor h2:not([class])::after{content:"";display:block;width:52px;height:4px;border-radius:2px;background:var(--ep-color-primary);margin-top:12px}
.ep-blocks--editor h3:not([class]){margin:clamp(24px,3vw,36px) 0 10px;font-weight:700;line-height:1.2;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--ep-color-ink)}
.ep-blocks--editor .ep-faq__question h3{font-size:inherit;line-height:inherit;font-weight:inherit;margin:0;color:inherit}
.ep-blocks--editor > h2:not([class]):first-child,.ep-blocks--editor > h3:not([class]):first-child,.ep-blocks--editor .ep-blocks__highlight > h2:not([class]){margin-top:0}
@media (min-width:769px){
.ep-blocks__features{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
}
@media (max-width:720px){
.ep-blocks__images--2,.ep-blocks__images--3{grid-template-columns:1fr}
} .ep-faq__question :where(h2,h3,h4){font-size:inherit;line-height:inherit;font-weight:inherit;margin:0;color:inherit} .ep-section:has(> .ep-container-text){padding-block:var(--ep-space-block)}
.ep-section:has(> .ep-container-text) + .ep-section:has(> .ep-container-text){padding-block-start:0} .ep-bridge{border-top:1px solid var(--ep-color-border)}  .ep-bridge--cards .ep-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ep-bridge--cards .ep-blocks > :not(.ep-bridge__card){grid-column:1/-1} .ep-bridge__card:not([open]) .ep-bridge__card-summary{height:100%;min-height:84px;box-sizing:border-box} .ep-bridge.ep-bridge--cards{background-color:var(--ep-color-bg-page);padding-block:clamp(28px,3.5vw,48px) var(--ep-space-block)} .ep-section.ep-bridge-faqs.ep-bridge-faqs.ep-bridge-faqs{padding-block:var(--ep-space-block)} .ep-bridge.ep-bridge--cards.ep-home-band{background-color:var(--ep-color-bg-soft);border-top:0}
body.home .ep-quote-form{background-color:var(--ep-color-bg-page)}
.ep-bridge__card{background:#fff;border:1px solid var(--ep-color-border);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.ep-bridge__card[open]{grid-column:1/-1}
.ep-bridge__card-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;cursor:pointer;list-style:none}
.ep-bridge__card-summary::-webkit-details-marker{display:none}
.ep-bridge__card-summary:hover .ep-bridge__card-title{color:var(--ep-color-primary)}
.ep-bridge__card-title{margin:0;font-size:clamp(1rem,1.4vw,1.1rem);font-weight:700;line-height:1.35;color:var(--ep-color-ink);transition:color var(--ep-transition-fast)}
.ep-bridge__card-chev{flex:0 0 auto;width:11px;height:11px;border-right:2px solid var(--ep-color-primary);border-bottom:2px solid var(--ep-color-primary);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--ep-transition-fast)}
.ep-bridge__card[open] .ep-bridge__card-chev{transform:rotate(-135deg) translate(-2px,-2px)}
.ep-bridge__card-body{padding:2px 20px 20px}
.ep-bridge__card-body > :first-child{margin-top:0}
.ep-bridge__card-body .ep-blocks__h2,.ep-bridge__card-body .ep-blocks__h3{font-size:1.05rem;margin:18px 0 8px}
.ep-bridge__card-body .ep-blocks__h2::after{width:36px;height:3px;margin-top:8px}
.ep-bridge__card-body .ep-blocks__highlight{margin:16px 0} .ep-bridge__card-body > .ep-blocks__prose + .ep-blocks__prose{margin-top:1.1em}
@media (max-width:760px){
.ep-bridge--cards .ep-blocks{grid-template-columns:1fr}
}
} @layer ep-components {
.epx-more{background:#fff;border-top:1px solid var(--ep-color-border);padding:clamp(64px,8vw,100px) var(--ep-container-padding)}
.epx-more__inner{width:100%;max-width:var(--ep-container-main);margin-inline:auto;display:grid;gap:clamp(48px,6vw,72px)}
.epx-more__block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);align-items:start}
.epx-more__block--noheading{grid-template-columns:minmax(0,1fr)}
.epx-more__block--noheading .epx-more__body{max-width:var(--ep-container-text)}
.epx-more__block h2{font-size:clamp(24px,2.6vw,32px);font-weight:700;color:var(--ep-color-ink);margin:0;line-height:1.15;text-wrap:pretty}
.epx-more__block h2::after{content:"";display:block;width:40px;height:3px;background:var(--ep-color-primary);margin-top:12px}
.epx-more__body{font-size:16px;line-height:1.65;color:var(--ep-color-ink);text-wrap:pretty}
.epx-more__body > :first-child{margin-top:0}
.epx-more__body > :last-child{margin-bottom:0}
.epx-more__body p{margin:0 0 18px}
.epx-more__body h3{font-size:20px;font-weight:700;color:var(--ep-color-ink);margin:28px 0 12px;line-height:1.3}
.epx-more__body ul,.epx-more__body ol{margin:0 0 18px;padding-left:1.35em}
.epx-more__body li{margin:0 0 8px}
.epx-more__body a{color:var(--ep-color-primary);text-underline-offset:.18em}
.epx-more__body a:hover{color:var(--ep-color-primary-hover)}
@media (max-width:900px){
.epx-more__block{grid-template-columns:1fr;gap:16px}
}
} @layer ep-components {
.ep-optin__card {
padding: clamp(24px, 4vw, 48px); padding-left: calc(clamp(24px, 4vw, 48px) - 2px);
background: var(--ep-color-bg-page);
border: 1px solid var(--ep-color-border);
border-left: 3px solid var(--ep-color-primary);
border-radius: var(--ep-radius-card);
box-shadow: var(--ep-shadow-sm);
}
.ep-optin__title {
margin: 0 0 var(--ep-space-xs);
font-size: var(--ep-type-h3);
line-height: var(--ep-leading-snug);
color: var(--ep-color-ink);
}
.ep-optin__text {
margin: 0 0 var(--ep-space-lg);
font-size: var(--ep-type-body-lg);
line-height: var(--ep-leading-normal);
color: var(--ep-color-ink-muted);
text-wrap: pretty;
}
.ep-optin__text > p { margin: 0; }
.ep-optin__text > p + p { margin-top: var(--ep-space-sm); } .ep-optin__form > script + * { margin-top: 0; }
.ep-optin__form > :last-child { margin-bottom: 0; }
.ep-optin__form img,
.ep-optin__form iframe,
.ep-optin__form .inline-container {
max-width: 100%;
}
.ep-optin__fallback {
margin: 0;
font-size: var(--ep-type-body);
line-height: var(--ep-leading-normal);
color: var(--ep-color-ink-muted);
} .ep-optin__fallback[hidden] { display: none; }
} .ep-optin__form div.inline-container[data-form] {
width: 100% !important;
max-width: none !important;
padding: 0 !important;
background: transparent !important;
border-radius: 0 !important;
}
.ep-optin__form div.form-container {
max-width: none !important;
}
.ep-optin__form input[type="submit"].btn {
height: auto !important;
padding: 12px 28px !important;
border-radius: var(--ep-radius-button) !important;
font-family: var(--ep-font-body) !important;
font-weight: var(--ep-weight-semibold) !important;
}
.ep-optin__form input.form-control {
border-color: var(--ep-color-border-strong) !important;
border-radius: var(--ep-radius-input) !important;
font-family: var(--ep-font-body) !important;
}