/* ─── Design tokens ─── */
:root{--ep-white:#fff;--ep-black:#000;--ep-muted:#f5f5f5;--ep-muted-text:#525252;--ep-line:#e5e5e5;--ep-mono:"JetBrains Mono",monospace;--ep-display:"Playfair Display",Georgia,serif;--ep-body:"Source Serif 4",Georgia,serif;
/* Override ALL WP theme color tokens — kills purple/blue bleed */
--wp--preset--color--primary:#000;--wp--preset--color--secondary:#000;--wp--preset--color--background:#fff;--wp--preset--color--foreground:#000;--wp--preset--color--dark-shade:#000;--wp--preset--color--light-color:#fff;--wp--preset--color--foreground-alt:#525252;--wp--preset--color--background-alt:#f5f5f5;--wp--preset--color--accent:#000;--wp--preset--color--border:#000;
/* CRITICAL: WP global-styles sets heading-color to #FFFFFD (near-white) — override to black */
--wp--preset--color--heading-color:#000;--wp--preset--color--black-color:#000;--wp--preset--color--white-color:#fff;
--ep-content-width:1180px;--ep-wide-width:1440px;--ep-section-space:clamp(72px,6vw,96px);--ep-section-space-dark:clamp(88px,7vw,112px);--ep-copy-measure:42rem}

/* ─── CRITICAL: Section-level token scoping ─── */
/* White-bg sections: force all WP color tokens to black so theme classes render readable text */
#about,#services,#pricing,#contact,footer{--wp--preset--color--light-color:var(--ep-black);--wp--preset--color--foreground:var(--ep-black);--wp--preset--color--background-color:var(--ep-white);--wp--preset--color--heading-color:var(--ep-black);--wp--preset--color--foreground-alt:#525252}
/* Dark-bg sections: keep color tokens white */
header,#home .wp-block-cover,#portfolio,#reviews{--wp--preset--color--light-color:var(--ep-white);--wp--preset--color--heading-color:var(--ep-white);--wp--preset--color--foreground:var(--ep-white)}
/* Featured pricing card should still read like the other white cards unless hovered */
#pricing .is-style-saaslauncher-gradient-border{--wp--preset--color--light-color:var(--ep-black)!important;--wp--preset--color--foreground-alt:var(--ep-muted-text)!important}
/* Card hover states turn dark — restore white tokens */
#services .wp-block-group.has-border-color:hover,#services .wp-block-group.has-border-color.is-hovered,#pricing .wp-block-column > .wp-block-group:hover,#pricing .wp-block-column > .wp-block-group.is-hovered{--wp--preset--color--light-color:var(--ep-white)!important;--wp--preset--color--foreground-alt:rgba(255,255,255,.72)!important}

/* ─── Global resets ─── */
html{scroll-behavior:smooth}
html,body{margin:0!important;padding:0!important}
*,*::before,*::after{box-sizing:border-box}
body{overflow-x:hidden;background:var(--ep-white)!important;color:var(--ep-black)!important;font-family:var(--ep-body)!important}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,#000 1px,#000 2px);background-size:100% 4px;opacity:.012;z-index:0}
body>*{position:relative;z-index:1}
img{max-width:100%!important;height:auto!important}
.wp-site-blocks,body>.wp-site-blocks,main.wp-block-group.has-background.is-layout-constrained{width:100%!important;max-width:none!important;margin:0!important}
main.wp-block-group.has-background.is-layout-constrained{padding-inline:0!important}
main.wp-block-group.has-background.is-layout-constrained>.wp-block-group.alignfull:not(#home){width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:clamp(24px,4vw,48px)!important}
main.wp-block-group.has-background.is-layout-constrained>.wp-block-group.alignfull:not(#home)>*{width:min(var(--ep-content-width),100%)!important;max-width:var(--ep-content-width)!important;margin-inline:auto!important}
main.wp-block-group.has-background.is-layout-constrained>.wp-block-group.alignfull:not(#home)>.wp-block-group.alignfull{width:100%!important;max-width:none!important}
/* Restore the critical Gutenberg layout utilities we moved out of inline HTML */
.is-layout-constrained{max-width:min(var(--ep-content-width),calc(100vw - 48px));margin-inline:auto}
.alignwide{max-width:min(var(--ep-wide-width),calc(100vw - 48px));margin-inline:auto}
.alignfull{max-width:none;width:100%}
.is-layout-flex{display:flex;flex-wrap:wrap;gap:1.5rem}
.is-layout-flex.is-nowrap{flex-wrap:nowrap}
.is-layout-flex.is-vertical{flex-direction:column;align-items:stretch}
.is-layout-grid{display:grid;gap:1.5rem}
.is-content-justification-left{justify-content:flex-start}
.is-content-justification-center{justify-content:center}
.is-content-justification-right{justify-content:flex-end}
.is-content-justification-space-between,.items-justified-space-between{justify-content:space-between}
.are-vertically-aligned-center{align-items:center}
.wp-block-columns.is-layout-flex{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}
.wp-block-column{flex:1 1 0;min-width:0}
.wp-block-buttons.is-layout-flex{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap;gap:var(--wp--style--unstable-gallery-gap,16px);align-items:center}
.wp-block-gallery.has-nested-images figure.wp-block-image{display:flex;align-items:center;justify-content:center;margin:0}
.wp-block-social-links{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding-left:0;list-style:none}
.wp-block-navigation__container{padding-left:0;list-style:none}
/* Sharp corners everywhere — non-negotiable */
*{border-radius:0!important}
.ep-mobile-break{display:none}
main .is-style-endless-gradient-border{display:block!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
#home figure.wp-block-video{display:none!important}
/* Kill AOS scroll animations — instant/minimal motion only */
[data-aos],[data-aos].aos-animate{opacity:1!important;transform:translate(0,0) scale(1)!important;transition:none!important}
[style*="Montserrat"]{font-family:var(--ep-display)!important}

/* ─── Header ─── */
header{background:var(--ep-black)!important;color:var(--ep-white)!important;border-bottom:1px solid rgba(255,255,255,.18)!important;backdrop-filter:none!important;box-shadow:none!important}
header .alignfull{padding-inline:0!important}
header .saaslauncher-header{width:min(1320px,calc(100vw - 48px))!important;margin-inline:auto!important;padding:1.05rem 0 .92rem!important}
header .saaslauncher-header>.wp-block-group.is-style-saaslauncher-boxshadow{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;column-gap:2rem!important;row-gap:.8rem!important}
header .wp-block-site-logo{margin:0!important}
header .custom-logo-link{display:inline-flex!important;align-items:center!important}
header .custom-logo,header img.custom-logo{width:154px!important;max-width:100%!important;height:auto!important}
header .custom-logo,header img.custom-logo{height:auto;filter:grayscale(1) contrast(1.35) brightness(.92)!important}
header .wp-block-site-title{display:none!important}
header .wp-block-group{background:transparent!important;box-shadow:none!important}
header .wp-block-columns{align-items:center!important}
header .wp-block-buttons .wp-block-button{margin:0!important}
header .wp-block-navigation{justify-self:center!important;width:auto!important;min-width:0!important}
header .wp-block-navigation ul.wp-block-navigation__container{display:flex!important;align-items:center!important;justify-content:center!important;gap:1.7rem!important;flex-wrap:wrap!important}
header .wp-block-navigation-item__content{font-family:var(--ep-mono)!important;font-size:.77rem!important;letter-spacing:.14em!important;text-transform:uppercase;color:rgba(255,255,255,.78)!important;padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .1s linear,color .1s linear}
header .wp-block-navigation-item__content:hover{color:var(--ep-white)!important;border-color:var(--ep-white)!important}
header .wp-block-navigation__responsive-container{background:var(--ep-black)!important;color:var(--ep-white)!important}
header .wp-block-navigation__responsive-container .wp-block-navigation-item__content{color:var(--ep-white)!important}
header .wp-block-navigation__responsive-container-content{display:flex;flex-direction:column;gap:1.5rem}
header .ep-mobile-menu__brand{display:none}
header .ep-mobile-menu__brand-link{display:inline-flex;align-items:center;gap:.85rem;color:var(--ep-white)!important;text-decoration:none!important;border-bottom:none!important}
header .ep-mobile-menu__brand-link img{width:34px;height:auto;filter:grayscale(1) brightness(1.08)!important}
header .ep-mobile-menu__brand-name{display:none!important}
header .ep-mobile-menu__cta{display:none}
header .ep-mobile-menu__cta .wp-block-button__link{display:inline-flex!important;align-items:center;justify-content:center;width:100%;min-height:48px}
header .wp-block-navigation__responsive-container-close,header .wp-block-navigation__responsive-container-open{color:var(--ep-white)!important}
header .wp-block-navigation__responsive-container-open svg,header .wp-block-navigation__responsive-container-open svg path,header .wp-block-navigation__responsive-container-close svg,header .wp-block-navigation__responsive-container-close svg path{fill:var(--ep-white)!important}
header .wp-block-buttons{justify-self:end!important}

/* ─── Buttons ─── */
.wp-block-button__link,.ep-form__submit{border-radius:0!important;box-shadow:none!important;background:var(--ep-black)!important;color:var(--ep-white)!important;border:2px solid var(--ep-black)!important;font-family:var(--ep-mono)!important;font-size:.8rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-weight:500!important;padding:1rem 2rem!important;transition:background-color .1s linear,color .1s linear,border-color .1s linear}
.wp-block-button__link:hover,.ep-form__submit:hover{background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-black)!important}
.wp-block-button__link:focus-visible,.ep-form__submit:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ep-black)!important;outline-offset:3px!important}
header .wp-block-button__link{padding:.9rem 1.45rem!important;background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-white)!important}
header .wp-block-button__link:hover{background:var(--ep-black)!important;color:var(--ep-white)!important;border-color:var(--ep-white)!important}

/* ─── Section structure ─── */
#home,#about,#services,#portfolio,#pricing,#reviews,#contact,footer{position:relative}
#about,#services,#portfolio,#pricing,#reviews,#contact,footer{border-top:4px solid var(--ep-black)!important}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands){padding-block:clamp(28px,3vw,44px)!important}
#about,#services,#pricing,#contact{padding-block:var(--ep-section-space)!important}
#portfolio,#reviews{padding-block:var(--ep-section-space-dark)!important}

/* ─── Trusted brand strip ─── */
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands){
display:grid!important;
justify-items:center!important;
row-gap:clamp(12px,1.4vw,18px)!important
}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands) > .wp-block-group{
margin:0!important
}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands) > .wp-block-group:first-child{
display:flex!important;
justify-content:center!important;
width:100%!important
}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands) > .wp-block-group:first-child h2{
margin:0!important;
font-family:var(--ep-mono)!important;
font-size:clamp(.72rem,.72vw,.8rem)!important;
line-height:1.2!important;
letter-spacing:.2em!important;
text-transform:uppercase!important;
font-weight:500!important;
color:rgba(255,255,255,.72)!important
}

/* ─── Eyebrow labels (all sections) ─── */
#about .is-style-endless-gradient-border,#services .is-style-endless-gradient-border,#portfolio .is-style-endless-gradient-border,#pricing .is-style-endless-gradient-border,#reviews .is-style-endless-gradient-border,#contact .is-style-endless-gradient-border{display:block!important;margin-bottom:1rem!important;border:0!important;border-bottom:1px solid currentColor!important;padding:0 0 .45rem 0!important;background:transparent!important;box-shadow:none!important}
#about .is-style-endless-gradient-border h5,#services .is-style-endless-gradient-border h5,#portfolio .is-style-endless-gradient-border h5,#pricing .is-style-endless-gradient-border h5,#reviews .is-style-endless-gradient-border h5,#contact .is-style-endless-gradient-border h5{margin:0!important;color:inherit!important}

/* ─── Kill neon gradient border pseudo-elements (WP global-styles injects these) ─── */
/* ::before is the neon gradient bar — replace with transparent */
.is-style-endless-gradient-border::before,.is-style-saaslauncher-gradient-border::before{display:none!important;background:none!important;content:none!important}
/* > * rule in WP global-styles forces children background to #000 — reset */
.is-style-endless-gradient-border>*,.is-style-saaslauncher-gradient-border>*{background:transparent!important}
/* But featured pricing card overrides this deliberately: */
#pricing .is-style-saaslauncher-gradient-border>*{background:transparent}

/* ─── Direct per-section heading colours (belt-and-suspenders against WP class overrides) ─── */
/* White-background sections: all headings must be black */
#about h1,#about h2,#about h3,#about h4,#about h5,#about h6,
#services h1,#services h2,#services h3,#services h4,#services h5,#services h6,
#pricing h1,#pricing h2,#pricing h3,#pricing h4,#pricing h5,#pricing h6,
#contact h1,#contact h2,#contact h3,#contact h4,#contact h5,#contact h6,
footer h1,footer h2,footer h3,footer h4,footer h5,footer h6{color:var(--ep-black)!important}
/* Dark-background sections: all headings must be white */
#home h1,#home h2,#home h3,#home h4,#home h5,#home h6,
#portfolio h1,#portfolio h2,#portfolio h3,#portfolio h4,#portfolio h5,#portfolio h6,
#reviews h1,#reviews h2,#reviews h3,#reviews h4,#reviews h5,#reviews h6{color:var(--ep-white)!important}
/* Brand System card should match the other default white cards */
#pricing .is-style-saaslauncher-gradient-border h1,#pricing .is-style-saaslauncher-gradient-border h2,
#pricing .is-style-saaslauncher-gradient-border h3,#pricing .is-style-saaslauncher-gradient-border h4,
#pricing .is-style-saaslauncher-gradient-border h5,#pricing .is-style-saaslauncher-gradient-border h6{color:var(--ep-black)!important}
/* Hovered service/pricing cards invert to dark — headings white */
#services .wp-block-group.has-border-color:hover h1,#services .wp-block-group.has-border-color:hover h2,
#services .wp-block-group.has-border-color:hover h3,#services .wp-block-group.has-border-color:hover h4,
#services .wp-block-group.has-border-color:hover h5,#services .wp-block-group.has-border-color:hover h6,
#services .wp-block-group.has-border-color.is-hovered h1,#services .wp-block-group.has-border-color.is-hovered h2,
#services .wp-block-group.has-border-color.is-hovered h3,#services .wp-block-group.has-border-color.is-hovered h4,
#services .wp-block-group.has-border-color.is-hovered h5,#services .wp-block-group.has-border-color.is-hovered h6,
#pricing .wp-block-column>.wp-block-group:hover h1,#pricing .wp-block-column>.wp-block-group:hover h2,
#pricing .wp-block-column>.wp-block-group:hover h3,#pricing .wp-block-column>.wp-block-group:hover h4,
#pricing .wp-block-column>.wp-block-group:hover h5,#pricing .wp-block-column>.wp-block-group:hover h6,
#pricing .wp-block-column>.wp-block-group.is-hovered h1,#pricing .wp-block-column>.wp-block-group.is-hovered h2,
#pricing .wp-block-column>.wp-block-group.is-hovered h3,#pricing .wp-block-column>.wp-block-group.is-hovered h4,
#pricing .wp-block-column>.wp-block-group.is-hovered h5,#pricing .wp-block-column>.wp-block-group.is-hovered h6{color:var(--ep-white)!important}

/* ─── WP has-heading-color-color class overrides per section ─── */
/* This class uses var(--wp--preset--color--heading-color)!important — our token scoping handles it,
   but an extra direct override ensures it survives any theme !important chains */
#about .has-heading-color-color,#services .has-heading-color-color,
#pricing .has-heading-color-color,#contact .has-heading-color-color,
footer .has-heading-color-color{color:var(--ep-black)!important}
#home .has-heading-color-color,#portfolio .has-heading-color-color,
#reviews .has-heading-color-color{color:var(--ep-white)!important}

/* ─── Typography ─── */
h1,h2,h3,h4,h5,h6,.wp-block-heading{font-family:var(--ep-display)!important;color:inherit!important}
h2{font-size:clamp(2.75rem,4.8vw,5.5rem)!important;line-height:.95!important;letter-spacing:-.045em!important;font-weight:600!important}
h3{font-size:clamp(2rem,3vw,3.5rem)!important;line-height:.95!important;letter-spacing:-.04em!important}
h4{font-size:1.6rem!important;line-height:1.05!important;letter-spacing:-.03em!important}
h5{font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.16em!important;text-transform:uppercase!important}
p,li,label,input,textarea,select{font-family:var(--ep-body)!important}
/* Display-style <p> tags (e.g. portfolio section title) */
p[style*="font-weight:500"][style*="font-size:clamp"]{font-family:var(--ep-display)!important;letter-spacing:-.04em!important}
/* About headline needs a touch more breathing room than the global display setting */
#about h2{line-height:1.01!important;letter-spacing:-.032em!important;text-wrap:balance}

/* ─── Hero (#home) ─── */
#home .wp-block-cover{position:relative;overflow:hidden;display:flex!important;align-items:center!important;justify-content:center!important;min-height:clamp(760px,92vh,980px)!important;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-top:8.5rem!important;padding-right:clamp(32px,4vw,72px)!important;padding-bottom:6rem!important;padding-left:clamp(32px,4vw,72px)!important;background:var(--ep-black)!important;color:var(--ep-white)!important;--ep-hero-mouse-x:0px;--ep-hero-mouse-y:0px}
#home .wp-block-cover::before{content:"";position:absolute;inset:-4%;background-image:repeating-linear-gradient(0deg,transparent,transparent 36px,rgba(255,255,255,.035) 36px,rgba(255,255,255,.035) 37px),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),radial-gradient(circle at 50% 18%,rgba(255,255,255,.085),transparent 40%);background-size:100% 100%,220px 220px,100% 100%;background-position:50% calc(50% + var(--ep-hero-scroll,0px)),50% calc(50% + var(--ep-hero-scroll,0px) * .4),50% 0;opacity:.13;pointer-events:none;transform:scale(1.015) translate3d(0,var(--ep-hero-drift,0px),0)}
#home .wp-block-cover::after{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.1),transparent 34%),linear-gradient(118deg,transparent 0%,rgba(255,255,255,.015) 34%,rgba(255,255,255,.08) 48%,transparent 61%);opacity:.12;mix-blend-mode:screen;pointer-events:none;transform:translate3d(var(--ep-hero-sheen,0px),0,0) scale(1.04)}
#home .wp-block-cover__inner-container{position:relative;z-index:1;width:min(1320px,100%)!important;margin-inline:auto!important;display:grid!important;justify-items:center!important;align-content:center!important;gap:1.35rem!important;text-align:center!important;transition:transform 720ms var(--ep-motion-soft)}
#home .wp-block-cover__inner-container>.wp-block-group,
#home .wp-block-cover__inner-container>.wp-block-buttons{width:100%!important;margin-inline:auto!important}
#home .wp-block-cover__inner-container>.wp-block-group:first-child,
#home .wp-block-cover__inner-container>.wp-block-group:last-child,
#home .wp-block-cover__inner-container>.wp-block-buttons{display:flex!important;justify-content:center!important}
#home .is-style-endless-gradient-border{display:inline-block!important;margin-bottom:1.4rem!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.26)!important;padding:0 0 .45rem 0!important;background:transparent!important}
#home .is-style-endless-gradient-border h5{margin:0!important;font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.16em!important;text-transform:uppercase;color:rgba(255,255,255,.86)!important}
#home .saaslauncher-big-title,#home h1.saaslauncher-big-title,#home .saaslauncher-big-title *{max-width:7.9ch;margin-inline:auto!important;font-family:var(--ep-display)!important;font-size:clamp(4.55rem,8.5vw,9.4rem)!important;line-height:.9!important;letter-spacing:-.053em!important;font-weight:700!important;color:var(--ep-white)!important;text-wrap:balance;position:relative;padding-bottom:2.7rem;transform-origin:center 70%;will-change:transform}
#home .saaslauncher-big-title span,#home h1.saaslauncher-big-title em,#home h1.saaslauncher-big-title i{font-style:italic!important;color:var(--ep-white)!important}
#home .saaslauncher-big-title::before,#home h1.saaslauncher-big-title::before{content:"";position:absolute;top:clamp(.15rem,1.6vw,1.2rem);right:clamp(-.4rem,5vw,3.6rem);width:clamp(26px,3.1vw,44px);height:clamp(26px,3.1vw,44px);border:2px solid rgba(255,255,255,.82);background:radial-gradient(circle at 38% 34%,rgba(255,255,255,.76) 0 18%,transparent 19% 100%);opacity:.88;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 26px rgba(255,255,255,.08)}
/* Decorative: thick rule + bordered square */
#home .saaslauncher-big-title::after,#home h1.saaslauncher-big-title::after{content:"";position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);width:96px;height:16px;background:linear-gradient(var(--ep-white),var(--ep-white)) 0 6px/72px 4px no-repeat,linear-gradient(var(--ep-white),var(--ep-white)) 80px 0/16px 2px no-repeat,linear-gradient(var(--ep-white),var(--ep-white)) 80px 14px/16px 2px no-repeat,linear-gradient(var(--ep-white),var(--ep-white)) 80px 0/2px 16px no-repeat,linear-gradient(var(--ep-white),var(--ep-white)) 94px 0/2px 16px no-repeat}
#home .has-text-align-center.has-foreground-alt-color{max-width:34rem;margin-inline:auto;color:rgba(255,255,255,.74)!important;font-size:1.13rem!important;line-height:1.65!important}
#home .wp-block-buttons{margin-top:2.1rem!important;gap:1rem!important}
#home .wp-block-buttons .wp-block-button__link{min-width:220px!important}
#home .wp-block-button__link{min-width:0;background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-white)!important;position:relative;overflow:hidden}
#home .wp-block-button__link::after{content:"";position:absolute;inset:-20% auto -20% -35%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg) translateX(0);opacity:0;pointer-events:none}
#home .wp-block-button__link:hover{background:var(--ep-black)!important;color:var(--ep-white)!important;border-color:var(--ep-white)!important}

/* ─── Motion System ─── */
:root{--ep-motion-ease:cubic-bezier(.22,1,.36,1);--ep-motion-soft:cubic-bezier(.16,.84,.44,1);--ep-motion-duration:980ms;--ep-motion-duration-long:1600ms}
body.ep-motion-ready [data-ep-reveal]{opacity:0;transform:translate3d(0,52px,0) scale(.985);transition:opacity var(--ep-motion-duration) var(--ep-motion-ease),transform var(--ep-motion-duration-long) var(--ep-motion-soft);transition-delay:var(--ep-stagger-delay,0ms);will-change:opacity,transform}
body.ep-motion-ready [data-ep-reveal="detail"]{transform:translate3d(0,24px,0) scale(.992)}
body.ep-motion-ready #services > .wp-block-columns[data-ep-reveal="section"]{transform:translate3d(0,14px,0) scale(.996)}
body.ep-motion-ready [data-ep-reveal].is-visible{opacity:1;transform:none}
body.ep-motion-ready #home [data-ep-hero-part]{opacity:0;transform:translate3d(0,72px,0) scale(.975);transition:opacity 1100ms var(--ep-motion-ease),transform 1700ms var(--ep-motion-soft);transition-delay:var(--ep-delay,0ms);will-change:opacity,transform}
body.ep-motion-started #home [data-ep-hero-part]{opacity:1;transform:none}
body.ep-motion-ready #home .saaslauncher-big-title::before,body.ep-motion-ready #home h1.saaslauncher-big-title::before{opacity:0;transform:translate3d(0,18px,0) scale(.74) rotate(-14deg)}
body.ep-motion-started #home .saaslauncher-big-title::before,body.ep-motion-started #home h1.saaslauncher-big-title::before{opacity:.88;transform:translate3d(0,0,0) scale(1) rotate(0deg);transition:opacity 900ms var(--ep-motion-ease) 560ms,transform 1600ms var(--ep-motion-soft) 560ms}
body.ep-motion-ready #home .saaslauncher-big-title::after,body.ep-motion-ready #home h1.saaslauncher-big-title::after{opacity:0;transform:translateX(-50%) scaleX(.62)}
body.ep-motion-started #home .saaslauncher-big-title::after,body.ep-motion-started #home h1.saaslauncher-big-title::after{opacity:1;transform:translateX(-50%) scaleX(1);transition:opacity 900ms var(--ep-motion-ease) 720ms,transform 1300ms var(--ep-motion-soft) 720ms}
body.ep-motion-ready #home .wp-block-cover::before{animation:epHeroTextureDrift 18s linear infinite alternate}
body.ep-motion-ready #home .wp-block-cover::after{animation:epHeroSheen 7.8s ease-in-out infinite alternate}
body.ep-motion-ready #home .saaslauncher-big-title,body.ep-motion-ready #home h1.saaslauncher-big-title{animation:epHeroBreath 7.2s ease-in-out infinite alternate,epHeroTitleShift 14s ease-in-out infinite alternate}
body.ep-motion-ready #home .saaslauncher-big-title::before,body.ep-motion-ready #home h1.saaslauncher-big-title::before{animation:epHeroMarkerFloat 6.8s ease-in-out infinite alternate}
body.ep-motion-ready #home .has-text-align-center.has-foreground-alt-color{animation:epHeroCopyFloat 12s ease-in-out infinite alternate}
body.ep-motion-ready #home .wp-block-button__link::after{animation:epHeroButtonSheen 6.6s ease-in-out infinite}
body.ep-motion-ready header .custom-logo,body.ep-motion-ready header .wp-block-navigation,body.ep-motion-ready header .wp-block-buttons{opacity:0;transform:translate3d(0,-18px,0);transition:opacity 900ms var(--ep-motion-ease),transform 1200ms var(--ep-motion-soft)}
body.ep-motion-started header .custom-logo,body.ep-motion-started header .wp-block-navigation,body.ep-motion-started header .wp-block-buttons{opacity:1;transform:none}
body.ep-motion-started header .custom-logo{transition-delay:80ms}
body.ep-motion-started header .wp-block-navigation{transition-delay:180ms}
body.ep-motion-started header .wp-block-buttons{transition-delay:280ms}
body.ep-motion-ready .saaslauncher-brands .wp-block-image.is-visible{animation:epLogoFloat 7.5s ease-in-out infinite;animation-delay:calc(var(--ep-stagger-index,0) * 220ms)}
.wp-block-button__link,.ep-form__submit{transition:background-color .18s linear,color .18s linear,border-color .18s linear,transform .45s var(--ep-motion-soft)!important}
.wp-block-button__link:hover,.ep-form__submit:hover{transform:translate3d(0,-2px,0)}
#services .wp-block-group.has-border-color,#pricing .wp-block-column > .wp-block-group,#portfolio .wp-block-cover{transform:translate3d(0,0,0);transition:background-color .18s linear,color .18s linear,border-color .18s linear,transform .55s var(--ep-motion-soft),opacity .3s linear!important;will-change:transform}
#services .wp-block-group.has-border-color:hover,
#services .wp-block-group.has-border-color.is-hovered{transform:none!important}
#pricing .wp-block-column > .wp-block-group:hover,
#pricing .wp-block-column > .wp-block-group.is-hovered{transform:none!important}
#portfolio .wp-block-cover:hover{transform:translate3d(0,-6px,0)}

@keyframes epHeroTextureDrift{
0%{background-position:50% 0,50% 0,50% 0}
100%{background-position:50% 48px,50% 22px,50% -18px}
}
@keyframes epHeroSheen{
0%{transform:translate3d(-12%,0,0) scale(1.04);opacity:.06}
48%{opacity:.28}
100%{transform:translate3d(12%,0,0) scale(1.11);opacity:.14}
}
@keyframes epLogoFloat{
0%,100%{transform:translate3d(0,0,0)}
50%{transform:translate3d(0,-6px,0)}
}
@keyframes epPortfolioReveal{
0%{filter:grayscale(1);transform:scale(1)}
42%{filter:grayscale(0);transform:scale(1.035)}
100%{filter:grayscale(1);transform:scale(1)}
}
@keyframes epHeroBreath{
0%{transform:translate3d(calc(var(--ep-hero-mouse-x,0px) * .2),calc(var(--ep-hero-mouse-y,0px) * .2),0)}
100%{transform:translate3d(calc(var(--ep-hero-mouse-x,0px) * .2),calc(-10px + (var(--ep-hero-mouse-y,0px) * .2)),0)}
}
@keyframes epHeroTitleShift{
0%{letter-spacing:-.058em}
100%{letter-spacing:-.051em}
}
@keyframes epHeroMarkerFloat{
0%{transform:translate3d(0,0,0) rotate(0deg)}
100%{transform:translate3d(0,-9px,0) rotate(8deg)}
}
@keyframes epHeroCopyFloat{
0%{transform:translate3d(0,0,0)}
100%{transform:translate3d(0,-4px,0)}
}
@keyframes epHeroButtonSheen{
0%,58%{transform:skewX(-20deg) translateX(0);opacity:0}
68%{opacity:.8}
86%{transform:skewX(-20deg) translateX(420%);opacity:.5}
100%{transform:skewX(-20deg) translateX(420%);opacity:0}
}

@media (prefers-reduced-motion: reduce){
body.ep-motion-ready [data-ep-reveal],body.ep-motion-ready #home [data-ep-hero-part]{opacity:1!important;transform:none!important;transition:none!important}
#home .wp-block-cover::before,#home .wp-block-cover::after,#home .saaslauncher-big-title,#home h1.saaslauncher-big-title,#home .saaslauncher-big-title::before,#home h1.saaslauncher-big-title::before,#home .has-text-align-center.has-foreground-alt-color,#home .wp-block-button__link::after,.saaslauncher-brands .wp-block-image.is-visible,.wp-block-button__link,.ep-form__submit,#services .wp-block-group.has-border-color,#pricing .wp-block-column > .wp-block-group,#portfolio .wp-block-cover,header .custom-logo,header .wp-block-navigation,header .wp-block-buttons,#home .wp-block-cover__inner-container{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}

/* ─── Section-wide text colour enforcement ─── */
/* White-bg sections: ALL text descendants → black */
#about *,#services *,#contact *,footer *{color:inherit}
#about p,#services p,#contact p,footer p,
#about li,#services li,#contact li,footer li,
#about span:not(.wp-block-navigation-item__label),
#services span:not(.wp-block-navigation-item__label){color:var(--ep-black)!important}
/* Dark-bg sections: ALL text descendants → white */
#portfolio p,#reviews p,#portfolio span,#reviews span{color:rgba(255,255,255,.82)!important}

/* Trusted logo strip: remove theme brightening wash so logos sit cleanly */
.saaslauncher-brands.is-style-enable-grayscale-mode-on-image .wp-block-image img{
filter:none!important;
-webkit-filter:none!important;
opacity:.9!important;
transition:opacity .1s linear,filter .1s linear!important
}
.saaslauncher-brands.is-style-enable-grayscale-mode-on-image{--ep-brand-row-gap:clamp(20px,2.2vw,28px)}
.saaslauncher-brands{
display:grid!important;
grid-template-columns:repeat(6,minmax(120px,1fr))!important;
justify-content:stretch!important;
align-items:center!important;
gap:clamp(18px,2vw,24px)!important;
width:min(1080px,100%)!important;
margin-inline:auto!important;
margin-top:.85rem!important
}
.saaslauncher-brands.wp-block-gallery.has-nested-images{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;align-items:center!important}
.saaslauncher-brands .wp-block-image{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-height:56px!important;
margin:0!important;
float:none!important;
clear:none!important;
width:100%!important;
max-width:100%!important
}
.saaslauncher-brands .wp-block-image img{
display:block!important;
width:auto!important;
max-width:min(100%,176px)!important;
max-height:46px!important;
height:auto!important
}
.saaslauncher-brands .wp-block-image img[alt="Katie Louise Beauty logo"]{max-height:52px!important}
.saaslauncher-brands .wp-block-image img[alt="GDM logo"],
.saaslauncher-brands .wp-block-image img[alt="Acapella Guru logo"]{max-height:50px!important}
.saaslauncher-brands.is-style-enable-grayscale-mode-on-image .wp-block-image img:hover{
filter:none!important;
-webkit-filter:none!important;
opacity:1!important
}

/* ─── About (#about) ─── */
#about{background:var(--ep-white)!important;color:var(--ep-black)!important}
/* Layout groups are transparent containers — no stray borders */
#about .wp-block-group{background:transparent!important;border:none!important;box-shadow:none!important}
#about > .wp-block-columns{position:relative!important;gap:clamp(56px,6vw,92px)!important;align-items:flex-start!important;padding-top:clamp(34px,3vw,42px)!important}
#about > .wp-block-columns > .wp-block-column:first-child{padding-right:clamp(0px,1.6vw,16px)!important}
#about > .wp-block-columns > .wp-block-column:first-child > .wp-block-group:first-child{position:absolute!important;top:0!important;left:50%!important;transform:translateX(-50%)!important;display:flex!important;justify-content:center!important;width:auto!important;margin:0!important;z-index:2!important}
#about > .wp-block-columns > .wp-block-column:first-child .is-style-endless-gradient-border{width:fit-content!important;margin:0 auto!important}
#about .is-style-endless-gradient-border{margin-bottom:1.35rem!important}
#about h2{margin:0 0 2rem!important;max-width:10.5ch!important}
#about p{max-width:var(--ep-copy-measure)!important;margin:0!important;font-size:clamp(1.06rem,1.25vw,1.24rem)!important;line-height:1.58!important}
/* Image: greyscale + strong black border */
#about img{display:block!important;width:100%!important;min-height:460px!important;object-fit:cover!important;filter:grayscale(1);border:2px solid var(--ep-black)!important}

/* ─── Services / Process (#services) ─── */
#services{background:var(--ep-white)!important;color:var(--ep-black)!important;padding-top:clamp(4.9rem,6.2vw,6.15rem)!important;padding-bottom:var(--ep-section-space)!important}
#services::after{display:none!important;content:none!important;background:none!important}
#services>*{position:relative;z-index:1}
#services .wp-block-columns{gap:0!important}
#services > .wp-block-columns{position:relative!important;display:grid!important;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr)!important;justify-content:center!important;gap:clamp(42px,3.8vw,64px)!important;align-items:flex-start!important;width:min(1180px,100%)!important;max-width:1180px!important;margin-inline:auto!important;padding-top:0!important}
#services > .wp-block-columns > .wp-block-column:first-child{flex:none!important;max-width:none!important;width:auto!important}
#services > .wp-block-columns > .wp-block-column:first-child .wp-block-group.is-position-sticky{top:116px!important;max-width:35rem!important;margin:0 auto!important;padding-top:0!important;padding-right:0!important}
#services > .wp-block-columns > .wp-block-column:first-child .wp-block-group.is-position-sticky > .wp-block-group:first-child{position:relative!important;top:auto!important;left:auto!important;transform:none!important;display:flex!important;justify-content:center!important;width:100%!important;margin:0 0 clamp(1.8rem,2.5vw,2.35rem)!important;z-index:auto!important}
#services > .wp-block-columns > .wp-block-column:first-child .is-style-endless-gradient-border{width:fit-content!important;margin:0 auto!important}
#services > .wp-block-columns > .wp-block-column:first-child h3{margin:0 0 1.45rem!important;max-width:8.8ch!important;font-size:clamp(2.85rem,4.05vw,4.15rem)!important;line-height:.93!important;letter-spacing:-.045em!important;text-wrap:balance!important}
#services > .wp-block-columns > .wp-block-column:first-child p{max-width:32rem!important;margin:0!important;font-size:clamp(1.01rem,1.02vw,1.08rem)!important;line-height:1.6!important}
#services .wp-block-column{display:flex}
#services{counter-reset:services-step}
#services > .wp-block-columns > .wp-block-column:last-child{display:flex!important;flex-direction:column!important;gap:0!important;padding-top:clamp(2rem,2.8vw,2.6rem)!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;align-items:stretch!important;width:100%!important;max-width:none!important;margin-top:0!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns:last-child{grid-template-columns:minmax(0,1fr)!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns > .wp-block-column{display:flex!important;flex:1 1 0!important;min-width:0!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns > .wp-block-column + .wp-block-column .wp-block-group.has-border-color{border-left:0!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns + .wp-block-columns .wp-block-group.has-border-color{border-top:0!important}
/* Service cards */
#services .wp-block-group.has-border-color{position:relative!important;display:flex;flex:1 1 auto!important;flex-direction:column;justify-content:flex-start;gap:1.55rem!important;min-height:332px!important;height:100%!important;padding:1.95rem 1.9rem 1.75rem!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important;box-shadow:none!important;overflow:hidden!important;isolation:isolate!important;transition:background-color .18s linear,color .18s linear;counter-increment:services-step}
#services .wp-block-group.has-border-color::after{content:"";position:absolute;top:-2px;right:-2px;bottom:-18px;left:-2px;background:var(--ep-white)!important;z-index:0;pointer-events:none;transition:transform .55s var(--ep-motion-soft),background-color .18s linear!important}
#services .wp-block-group.has-border-color > *{position:relative;z-index:1;transition:transform .55s var(--ep-motion-soft),opacity .18s linear!important;will-change:transform}
#services .wp-block-group.has-border-color::before{content:counter(services-step,decimal-leading-zero);display:block;position:relative;z-index:1;margin-bottom:1.3rem;padding-bottom:.82rem;border-bottom:1px solid currentColor;font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.18em!important;line-height:1;text-transform:uppercase;color:rgba(0,0,0,.68)!important;transition:transform .55s var(--ep-motion-soft),color .18s linear,border-color .18s linear!important}
#services .wp-block-group.has-border-color figure{display:none!important}
#services .wp-block-group.has-border-color h4{margin:0!important;max-width:8ch!important;font-size:clamp(1.7rem,1.82vw,2rem)!important;line-height:.98!important;text-wrap:balance}
#services .wp-block-group.has-border-color p{margin-top:auto!important;max-width:25ch!important;font-size:.97rem!important;line-height:1.56!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns:last-child .wp-block-group.has-border-color{min-height:252px!important}
#services .wp-block-group.has-border-color:hover,
#services .wp-block-group.has-border-color.is-hovered{background:var(--ep-white)!important;color:var(--ep-white)!important}
#services .wp-block-group.has-border-color:hover::after,
#services .wp-block-group.has-border-color.is-hovered::after{transform:translate3d(0,-10px,0);background:var(--ep-black)!important}
#services .wp-block-group.has-border-color:hover::before,
#services .wp-block-group.has-border-color.is-hovered::before{transform:translate3d(0,-10px,0);color:rgba(255,255,255,.74)!important;border-color:rgba(255,255,255,.24)!important}
#services .wp-block-group.has-border-color:hover > *,
#services .wp-block-group.has-border-color.is-hovered > *{transform:translate3d(0,-10px,0)}
#services .wp-block-group.has-border-color:hover p,
#services .wp-block-group.has-border-color:hover span:not(.wp-block-navigation-item__label),
#services .wp-block-group.has-border-color.is-hovered p,
#services .wp-block-group.has-border-color.is-hovered span:not(.wp-block-navigation-item__label){color:rgba(255,255,255,.82)!important}
/* Non-card groups in services are layout containers */
#services .wp-block-group:not(.has-border-color){background:transparent!important;border:none!important;box-shadow:none!important}

/* ─── Portfolio (#portfolio) ─── */
#portfolio{background:var(--ep-black)!important;color:var(--ep-white)!important}
/* Editorial grid texture */
#portfolio::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:40px 40px;opacity:.06;pointer-events:none}
#portfolio > .wp-block-group.is-content-justification-left.is-nowrap.is-layout-flex{margin-bottom:.95rem!important}
#portfolio > p.has-light-color-color{display:block!important;width:min(11ch,100%)!important;max-width:11ch!important;margin:0 0 .85rem!important;font-family:var(--ep-display)!important;font-size:clamp(2.1rem,3vw,3.45rem)!important;line-height:.98!important;letter-spacing:-.045em!important;color:var(--ep-white)!important}
#portfolio > p:empty{display:none!important}
#portfolio > .wp-block-group.is-content-justification-left.is-layout-constrained{margin-bottom:clamp(52px,5vw,72px)!important}
#portfolio > .wp-block-group.is-content-justification-left.is-layout-constrained p{max-width:50rem!important;margin:0!important;font-size:1.01rem!important;line-height:1.55!important;color:rgba(255,255,255,.72)!important}
#portfolio > .wp-block-columns{display:grid!important;align-items:start!important;gap:clamp(30px,2.8vw,42px)!important}
#portfolio > .wp-block-columns.ep-portfolio-row--lead-left{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important}
#portfolio > .wp-block-columns.ep-portfolio-row--lead-right{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important}
#portfolio > .wp-block-columns + .wp-block-columns{margin-top:clamp(32px,2.8vw,42px)!important}
#portfolio > .wp-block-columns > .wp-block-column{display:flex!important;flex-direction:column!important;gap:.95rem!important}
#portfolio .wp-block-cover{border:1px solid rgba(255,255,255,.78)!important;overflow:hidden!important;min-height:340px!important;transition:border-color .1s linear,border-width .1s linear,transform .1s linear!important;box-shadow:none!important}
#portfolio .wp-block-column.is-primary .wp-block-cover{min-height:372px!important}
#portfolio .wp-block-cover:hover{border-width:2px!important}
#portfolio .wp-block-cover img{transition:transform .35s ease,filter .35s ease;filter:grayscale(1) contrast(1.02)}
#portfolio .wp-block-cover:hover img{transform:scale(1.045);filter:grayscale(0)}
/* Force monochrome overlay — remove any theme-set colour tints */
#portfolio .wp-block-cover__background,#portfolio .has-background-dim{background-color:var(--ep-black)!important;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.62))!important}
#portfolio .wp-block-cover strong,#portfolio .wp-block-cover h3{letter-spacing:-.02em!important}
#portfolio p{color:rgba(255,255,255,.76)!important}
#portfolio .wp-block-cover.ep-portfolio-tease{border-color:rgba(255,255,255,.96)!important}
#portfolio .wp-block-cover.ep-portfolio-tease img{animation:epPortfolioReveal 1900ms var(--ep-motion-soft) both;animation-delay:calc(var(--ep-stagger-index,0) * 130ms)}
#portfolio .ep-portfolio-caption{display:grid!important;gap:.3rem!important;align-content:start!important}
#portfolio .ep-portfolio-kicker{margin:0!important;font-family:var(--ep-mono)!important;font-size:.68rem!important;line-height:1.4!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(255,255,255,.48)!important}
#portfolio .ep-portfolio-title{margin:0!important;font-family:var(--ep-display)!important;font-size:clamp(1.02rem,1.1vw,1.24rem)!important;line-height:1.02!important;letter-spacing:-.022em!important;color:var(--ep-white)!important}
#portfolio .ep-portfolio-note{max-width:33ch!important;margin:0!important;font-size:.93rem!important;line-height:1.46!important;color:rgba(255,255,255,.66)!important}
#portfolio .wp-block-column.is-primary .ep-portfolio-title{font-size:clamp(1.1rem,1.25vw,1.38rem)!important}

/* ─── Pricing (#pricing) ─── */
#pricing{background:var(--ep-white)!important;color:var(--ep-black)!important;padding-top:clamp(4rem,6vw,5.6rem)!important;padding-bottom:clamp(2.1rem,3.2vw,2.9rem)!important}
/* Price: oversized — number as graphic element */
#pricing h3{font-size:clamp(2.75rem,4vw,4.5rem)!important;letter-spacing:-.06em!important;line-height:1!important}
#pricing > .wp-block-group:first-child{display:grid!important;gap:1.3rem!important;justify-items:center!important;max-width:58rem!important;margin:0 auto clamp(2.6rem,4vw,3.3rem)!important;text-align:center!important}
#pricing > .wp-block-group:first-child h2{margin:0 auto .55rem!important;max-width:none!important;font-size:clamp(4.15rem,5.15vw,5.45rem)!important;line-height:.92!important;letter-spacing:-.048em!important;text-wrap:balance!important}
#pricing .ep-pricing-heading-line{display:block!important}
#pricing > .wp-block-group:first-child p{max-width:44rem!important;margin:0 auto!important;font-size:1.01rem!important;line-height:1.56!important}
#pricing .wp-block-columns{gap:0!important}
#pricing > .wp-block-columns{margin-bottom:clamp(34px,3.6vw,52px)!important}
#pricing > .wp-block-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;width:min(var(--ep-content-width),100%)!important;margin-inline:auto!important}
#pricing .wp-block-column{display:flex!important;align-self:stretch!important}
/* All pricing cards: sharp border, white bg */
#pricing .wp-block-column > .wp-block-group{position:relative!important;display:flex;flex:1 1 auto!important;flex-direction:column;justify-content:flex-start;gap:0!important;min-height:100%!important;height:100%!important;padding:1.45rem 1.95rem 1.85rem!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important;box-shadow:none!important;overflow:hidden!important;isolation:isolate!important;transition:background-color .18s linear,color .18s linear,border-color .18s linear}
#pricing .wp-block-column > .wp-block-group::after{content:"";position:absolute;top:-2px;right:-2px;bottom:-18px;left:-2px;background:var(--ep-white)!important;z-index:0;pointer-events:none;transition:transform .55s var(--ep-motion-soft),background-color .18s linear!important}
#pricing .wp-block-column + .wp-block-column > .wp-block-group{border-left:0!important}
#pricing .wp-block-column > .wp-block-group > *{position:relative;z-index:1;transition:transform .55s var(--ep-motion-soft),opacity .18s linear!important;will-change:transform}
#pricing .wp-block-column > .wp-block-group > .wp-block-group.is-nowrap{margin:0 0 .85rem!important}
#pricing .wp-block-column > .wp-block-group > .wp-block-group.is-nowrap h3{margin:0!important}
#pricing .wp-block-column > .wp-block-group .wp-block-buttons{display:flex!important;justify-content:flex-start!important;width:100%!important;margin:1.55rem 0 0!important;padding-top:0!important}
#pricing .wp-block-column > .wp-block-group .wp-block-group.is-vertical{margin-top:0!important;padding-top:0!important}
#pricing .wp-block-column > .wp-block-group ul{width:100%!important;margin:1.2rem 0 0!important;padding:1rem 0 0 1.3rem!important;border-top:1px solid var(--ep-line)!important}
#pricing .wp-block-column > .wp-block-group li{line-height:1.36!important;font-size:.94rem!important}
#pricing .wp-block-column > .wp-block-group p{width:100%!important;margin:0!important;max-width:23ch!important;font-size:.97rem!important;line-height:1.5!important}
#pricing .wp-block-column > .wp-block-group h4{width:100%!important;margin:0 0 1rem!important;line-height:1.04!important;min-height:0!important}
#pricing .ep-pricing-kicker{position:absolute!important;top:1.18rem!important;right:1.95rem!important;display:block!important;width:auto!important;margin:0!important;font-family:var(--ep-mono)!important;font-size:.68rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:rgba(0,0,0,.58)!important;text-align:right!important;z-index:2!important}
#pricing .wp-block-column:nth-child(2) > .wp-block-group{padding-top:1.45rem!important;border-top-width:4px!important}
#pricing .wp-block-column:nth-child(2) > .wp-block-group > .wp-block-group.is-nowrap{margin-bottom:.85rem!important}
#pricing .wp-block-column:nth-child(2) > .wp-block-group h4{font-weight:700!important}
/* Normal card hover → invert */
#pricing .wp-block-column > .wp-block-group:hover,
#pricing .wp-block-column > .wp-block-group.is-hovered{background:var(--ep-white)!important;color:var(--ep-white)!important}
#pricing .wp-block-column > .wp-block-group:hover::after,
#pricing .wp-block-column > .wp-block-group.is-hovered::after{transform:translate3d(0,-10px,0);background:var(--ep-black)!important}
#pricing .wp-block-column > .wp-block-group:hover > *,
#pricing .wp-block-column > .wp-block-group.is-hovered > *{transform:translate3d(0,-10px,0)}
/* Brand System card: same default treatment as the other cards, with only a subtle lift */
#pricing .is-style-saaslauncher-gradient-border{background:transparent!important;color:var(--ep-black)!important;border:2px solid var(--ep-black)!important;transform:none!important}
#pricing .is-style-saaslauncher-gradient-border .wp-block-button__link{background:var(--ep-black)!important;color:var(--ep-white)!important;border-color:var(--ep-black)!important}
#pricing .is-style-saaslauncher-gradient-border .wp-block-button__link:hover{background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-black)!important}
#pricing .wp-block-button__link{align-self:flex-start;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:.92rem 1.55rem!important;line-height:1!important;text-decoration:none!important;border-bottom:none!important;box-shadow:none!important}
#pricing .wp-block-button__link span{text-decoration:none!important}
#pricing .wp-block-button.is-style-button-hover-secondary-bgcolor .wp-block-button__link:hover{background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-black)!important}
#pricing ul.wp-block-list.is-style-list-style-check-circle li::before,
#pricing ul.wp-block-list.is-style-list-style-check-circle-white li::before,
#pricing ul.wp-block-list.is-style-list-style-check-circle-fade li::before{background:#c9c9c9!important;border:1px solid #c9c9c9!important}
#pricing ul.wp-block-list.is-style-list-style-check-circle li::after,
#pricing ul.wp-block-list.is-style-list-style-check-circle-white li::after,
#pricing ul.wp-block-list.is-style-list-style-check-circle-fade li::after{background:var(--ep-black)!important}
/* Pricing section body text */
#pricing p,#pricing li,#pricing span:not(.wp-block-navigation-item__label){color:var(--ep-black)!important}
/* List item colours: muted on white cards, white on dark cards */
#pricing ul li{color:var(--ep-muted-text)!important}
#pricing .is-style-saaslauncher-gradient-border p,
#pricing .is-style-saaslauncher-gradient-border li,
#pricing .is-style-saaslauncher-gradient-border span{color:var(--ep-black)!important}
#pricing .is-style-saaslauncher-gradient-border ul li{color:var(--ep-muted-text)!important}
#pricing .wp-block-column>.wp-block-group:hover ul li,
#pricing .wp-block-column>.wp-block-group.is-hovered ul li{color:rgba(255,255,255,.76)!important}
#pricing .wp-block-column>.wp-block-group:hover p,#pricing .wp-block-column>.wp-block-group:hover li,
#pricing .wp-block-column>.wp-block-group:hover span,
#pricing .wp-block-column>.wp-block-group.is-hovered p,#pricing .wp-block-column>.wp-block-group.is-hovered li,
#pricing .wp-block-column>.wp-block-group.is-hovered span{color:var(--ep-white)!important}
#pricing .wp-block-column>.wp-block-group:hover .ep-pricing-kicker,
#pricing .wp-block-column>.wp-block-group.is-hovered .ep-pricing-kicker{color:rgba(255,255,255,.68)!important}
#pricing .wp-block-column>.wp-block-group:hover .wp-block-button__link,
#pricing .wp-block-column>.wp-block-group:hover .wp-block-button__link:hover,
#pricing .wp-block-column>.wp-block-group.is-hovered .wp-block-button__link,
#pricing .wp-block-column>.wp-block-group.is-hovered .wp-block-button__link:hover{background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-white)!important}
#pricing .wp-block-column>.wp-block-group:hover .wp-block-button.is-style-button-hover-secondary-bgcolor .wp-block-button__link:hover,
#pricing .wp-block-column>.wp-block-group.is-hovered .wp-block-button.is-style-button-hover-secondary-bgcolor .wp-block-button__link:hover{background:var(--ep-white)!important;color:var(--ep-black)!important;border-color:var(--ep-white)!important}
#pricing .wp-block-column>.wp-block-group:hover li::before,
#pricing .wp-block-column>.wp-block-group.is-hovered li::before{background:#4a4a4a!important;color:var(--ep-white)!important;border-color:#4a4a4a!important}
#pricing .wp-block-column>.wp-block-group:hover ul.wp-block-list.is-style-list-style-check-circle li::after,
#pricing .wp-block-column>.wp-block-group:hover ul.wp-block-list.is-style-list-style-check-circle-white li::after,
#pricing .wp-block-column>.wp-block-group:hover ul.wp-block-list.is-style-list-style-check-circle-fade li::after,
#pricing .wp-block-column>.wp-block-group.is-hovered ul.wp-block-list.is-style-list-style-check-circle li::after,
#pricing .wp-block-column>.wp-block-group.is-hovered ul.wp-block-list.is-style-list-style-check-circle-white li::after,
#pricing .wp-block-column>.wp-block-group.is-hovered ul.wp-block-list.is-style-list-style-check-circle-fade li::after{background:var(--ep-white)!important}
/* Layout groups inside pricing are transparent */
#pricing .wp-block-group:not(.wp-block-column>.wp-block-group){background:transparent!important;border:none!important;box-shadow:none!important}
#pricing > .wp-block-group:last-child{display:grid!important;gap:1rem!important;max-width:68rem!important}
#pricing > .wp-block-group:last-child p{margin:0!important;font-size:1.02rem!important;line-height:1.6!important}

/* ─── Reviews (#reviews) ─── */
#reviews{background:var(--ep-black)!important;color:var(--ep-white)!important}
/* Vertical line texture */
#reviews::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 44px,rgba(255,255,255,.045) 44px,rgba(255,255,255,.045) 46px);opacity:.12;pointer-events:none}
#reviews .wp-block-group,#reviews .wp-block-columns,#reviews .wp-block-column{position:relative;z-index:1}
#reviews .wp-block-group{background:transparent!important;box-shadow:none!important}
#reviews > .wp-block-group:first-child{display:grid!important;gap:1.2rem!important;max-width:var(--ep-content-width)!important;margin:0 auto clamp(38px,4vw,56px)!important;justify-items:start!important}
#reviews > .wp-block-group:first-child .is-style-endless-gradient-border{margin:0 auto 0!important}
#reviews > .wp-block-group:first-child h2{margin:0!important;max-width:9.5ch!important}
#reviews > .wp-block-group:first-child p{max-width:46rem!important;margin:0!important;font-size:1.02rem!important;line-height:1.58!important}
#reviews > .wp-block-columns:nth-child(2){max-width:var(--ep-content-width)!important;margin:0 auto clamp(36px,4vw,52px)!important}
#reviews > .wp-block-buttons{justify-content:flex-start!important;max-width:var(--ep-content-width)!important;margin-inline:auto!important}
/* Testimonial card: horizontal rules only — no box borders */
#reviews .saaslauncher-hover-box{border:none!important;border-top:2px solid var(--ep-white)!important;border-bottom:2px solid var(--ep-white)!important;padding:2.15rem 0!important}
/* Editorial pull quote */
#reviews .saaslauncher-hover-box p:first-child{font-family:var(--ep-display)!important;font-style:italic!important;font-size:clamp(1.75rem,2.75vw,3.05rem)!important;line-height:1.2!important;position:relative;padding-left:1.85rem;color:var(--ep-white)!important}
/* Subtle editorial quotation mark */
#reviews .saaslauncher-hover-box p:first-child::before{content:'"';position:absolute;left:0;top:-.18rem;font-family:var(--ep-display)!important;font-size:3.4rem;line-height:1;font-style:normal;opacity:.14;color:rgba(255,255,255,.9)}
#reviews p{color:rgba(255,255,255,.82)!important}
/* Avatar: square, white-bordered, greyscale */
#reviews img[style*="border-radius"]{border-radius:0!important;border:2px solid var(--ep-white)!important;filter:grayscale(1)}
#reviews .wp-block-button__link{display:inline-flex!important;align-items:center!important;gap:.72rem!important;background:transparent!important;color:var(--ep-white)!important;border:2px solid var(--ep-white)!important}
#reviews .wp-block-button__link::after{content:none!important;display:none!important}
#reviews .wp-block-button__link:hover{background:var(--ep-white)!important;color:var(--ep-black)!important}

/* ─── Contact (#contact) ─── */
#contact{background:var(--ep-white)!important;color:var(--ep-black)!important}
#contact .wp-block-group{background:transparent!important;border:none!important;box-shadow:none!important}
#contact > .wp-block-group{display:grid!important;gap:clamp(34px,3.6vw,48px)!important;width:min(1180px,100%)!important;max-width:1180px!important;margin-inline:auto!important}
#contact > .wp-block-group > .wp-block-group,
#contact > .wp-block-group > .wp-block-columns{width:100%!important;max-width:none!important;margin-inline:auto!important}
#contact > .wp-block-group > .wp-block-columns{display:block!important}
#contact > .wp-block-group > .wp-block-columns > .wp-block-column{width:100%!important;max-width:100%!important;flex-basis:100%!important;flex-grow:0!important}
#contact h2{margin:0 0 1rem!important;max-width:9ch!important}
#contact > .wp-block-group > .wp-block-group p{max-width:54rem!important;margin:0!important;font-size:1.08rem!important;line-height:1.58!important}
#contact .ep-enquiry-form{padding:2.5rem!important;border:2px solid var(--ep-black)!important;background:transparent!important;box-shadow:none!important}
#contact .ep-form{display:flex;flex-direction:column;gap:1.5rem}
#contact .ep-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.5rem}
#contact .ep-form__field{display:flex;flex-direction:column;gap:.5rem;min-width:0}
#contact .ep-form__field--full{grid-column:1 / -1}
#contact .ep-form__label,#contact .ep-form__legend{font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--ep-black)!important}
#contact .ep-form__legend{margin:0 0 .6rem 0;padding:0}
#contact .ep-form__input,#contact .ep-form__select,#contact .ep-form__textarea{width:100%;background:transparent!important;border:0!important;border-bottom:2px solid var(--ep-black)!important;color:var(--ep-black)!important;border-radius:0!important;box-shadow:none!important;padding:.85rem 0!important;font-size:1rem!important;line-height:1.5!important;appearance:none}
#contact .ep-form__input::placeholder,#contact .ep-form__textarea::placeholder{color:rgba(82,82,82,.58)!important;font-style:italic}
#contact .ep-form__select.is-placeholder{color:rgba(82,82,82,.66)!important}
#contact .ep-form__input.is-empty,#contact .ep-form__textarea.is-empty{color:rgba(82,82,82,.72)!important}
#contact .ep-form__input:focus,#contact .ep-form__select:focus,#contact .ep-form__textarea:focus{border-bottom:4px solid var(--ep-black)!important;outline:none!important}
#contact .ep-form__textarea{min-height:150px;resize:vertical}
#contact .ep-form__fieldset{margin:0;padding:0;border:0}
#contact .ep-form__hint{margin:.1rem 0 0 0;color:rgba(82,82,82,.72)!important;font-size:.92rem!important;line-height:1.55!important}
#contact .ep-form__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
#contact .ep-form__choice{display:flex;align-items:flex-start;gap:.7rem;padding:.9rem 0;border-top:1px solid var(--ep-line);cursor:pointer}
#contact .ep-form__choice input{margin:0;accent-color:var(--ep-black)}
#contact .ep-form__choice span{display:block;color:var(--ep-black)!important;line-height:1.45!important}
#contact .ep-form__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1.35rem;flex-wrap:wrap}
#contact .ep-form__status{display:none;width:100%;padding:1rem 1.1rem;border:2px solid var(--ep-black);font-size:1rem;line-height:1.6}
#contact .ep-form__status.is-visible{display:block}
#contact .ep-form__status.is-error{background:var(--ep-white);color:var(--ep-black)}
#contact .ep-form__status.is-success{background:var(--ep-black);color:var(--ep-white)}
#contact .ep-form__microcopy{margin:0;max-width:34rem!important;color:var(--ep-muted-text)!important;font-size:.95rem!important;line-height:1.6!important}
#contact .ep-form__submit{padding:1rem 1.8rem!important;min-width:220px}
#contact .ep-form__submit[disabled]{opacity:.72;cursor:wait}
#contact .ep-form__honeypot{position:absolute;left:-5000px;opacity:0;pointer-events:none}
#contact .ep-form__success-card{display:flex;flex-direction:column;gap:1rem;padding:2rem;border:2px solid var(--ep-black);background:var(--ep-black);color:var(--ep-white)}
#contact .ep-form__success-card h3{margin:0;color:var(--ep-white)!important}
#contact .ep-form__success-card p{margin:0;color:rgba(255,255,255,.82)!important}

/* ─── Footer ─── */
footer{background:var(--ep-white)!important;color:var(--ep-black)!important}
footer .wp-block-group{background:transparent!important;border:none!important;box-shadow:none!important}
footer .saaslauncher-footer>.wp-block-group{width:min(var(--ep-content-width),100%)!important;max-width:var(--ep-content-width)!important;margin-inline:auto!important}
footer .saaslauncher-footer>.wp-block-group>.wp-block-columns{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(150px,.62fr) minmax(190px,.76fr) minmax(320px,.96fr)!important;gap:clamp(30px,3vw,48px)!important;align-items:start!important}
/* Force all footer text to black */
footer p,footer li,footer h3,footer h4,footer h5{color:var(--ep-black)!important}
footer a{color:var(--ep-black)!important;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .1s linear}
footer a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word}
footer a:hover{border-color:var(--ep-black)!important}
/* Footer column headings: monospace label style */
footer .saaslauncher-footer-list h3,footer .saaslauncher-footer-list > h3{font-family:var(--ep-mono)!important;font-size:.75rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-weight:500!important;margin-bottom:.75rem!important;color:var(--ep-black)!important}
footer .saaslauncher-footer-list ul{display:grid!important;gap:.5rem!important}
/* Footer social icons: force black */
footer .wp-block-social-links .wp-social-link{background:transparent!important;border:1px solid var(--ep-black)!important}
footer .wp-block-social-link-label{display:none!important}
footer .wp-block-social-link-anchor span{display:none!important}
footer .wp-block-social-links{display:flex!important;gap:12px!important;flex-wrap:wrap!important}
footer .wp-block-social-link-anchor{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;padding:0!important}
footer .wp-block-social-links .wp-social-link svg,footer .wp-block-social-links .wp-social-link svg path{fill:var(--ep-black)!important;color:var(--ep-black)!important}
/* Footer brand icon: force monochrome black instead of inheriting tinted theme treatment */
footer img[src*="Pixels-3-icon.png"]{filter:grayscale(1) brightness(0)!important;-webkit-filter:grayscale(1) brightness(0)!important}
/* Footer contact/theme icons: they're white PNGs → invert to black */
footer img[src*="/wp-content/themes/saaslauncher/assets/images/icon_"]{filter:invert(1)!important;-webkit-filter:invert(1)!important}
/* But about section & portfolio images stay greyscale (not inverted) */
#about img{filter:grayscale(1)!important;border:2px solid var(--ep-black)!important}
/* Large editorial wordmark */
footer .wp-block-site-title{display:block!important;font-family:var(--ep-display)!important;font-size:clamp(3rem,6vw,7rem)!important;line-height:1!important;letter-spacing:-.04em!important;font-weight:700!important;color:var(--ep-black)!important;text-decoration:none!important;margin-bottom:1.5rem}
footer .wp-block-site-title a{color:var(--ep-black)!important;text-decoration:none!important;border-bottom:none!important}
/* Bottom copyright rule */
footer .wp-block-group[style*="border-top"]{border-top:1px solid var(--ep-line)!important}
footer p:empty,footer p:last-child:empty{display:none!important}
footer .saaslauncher-footer-list.is-vertical{gap:1rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:.65rem 1rem!important;align-items:start!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child{max-width:320px!important;justify-self:end!important;width:100%!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns > .wp-block-column{width:auto!important;max-width:none!important;flex:none!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns .wp-block-image{margin:0!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns ul{margin:0!important;padding:0!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns li{margin:0!important;line-height:1.45!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child a[href^="mailto:"],
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child a[href^="https://wa.me/"]{word-break:normal!important;overflow-wrap:break-word!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child p,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child li,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child a{font-size:1rem!important;line-height:1.62!important}

/* ─── Responsive ─── */
@media(max-width:900px){
#pricing .is-style-saaslauncher-gradient-border{transform:none}
#services .wp-block-group.has-border-color + .wp-block-group.has-border-color,#pricing .wp-block-column + .wp-block-column > .wp-block-group{border-left:2px solid var(--ep-black)!important;border-top:0!important}
.saaslauncher-brands,
.saaslauncher-brands.wp-block-gallery.has-nested-images{grid-template-columns:repeat(3,minmax(120px,1fr))!important}
}

@media(max-width:782px){
body::before{display:none!important}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands),
#about,#services,#portfolio,#pricing,#reviews,#contact{padding-block:56px!important}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands){padding-block:30px 34px!important;row-gap:12px!important}
header .saaslauncher-header{width:min(100vw - 24px,100%)!important;padding:1rem 0!important}
header .saaslauncher-header>.wp-block-group.is-style-saaslauncher-boxshadow{display:flex!important;align-items:center!important;justify-content:space-between!important;column-gap:1rem!important}
header .wp-block-buttons{display:none!important}
header .custom-logo{width:min(132px,40vw)!important;height:auto!important}
header .wp-block-navigation{margin-left:auto!important;transform:none!important;opacity:1!important}
header .custom-logo,header .wp-block-buttons{transform:none!important;opacity:1!important}
header .wp-block-navigation__responsive-container.is-menu-open{inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;max-width:100vw!important;min-height:100dvh!important;height:100dvh!important;padding:1.25rem 1.5rem 1.75rem!important;box-sizing:border-box!important;opacity:1!important;visibility:visible!important;display:flex!important;align-items:stretch!important;justify-content:flex-start!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
header .wp-block-navigation__responsive-container{transform:none!important}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{display:block!important;position:relative!important;width:100%!important;min-height:100%!important}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{display:flex!important;flex-direction:column!important;position:relative!important;width:100%!important;max-width:none!important;min-height:100%!important;height:auto!important;padding-top:0!important}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:100%;padding-top:0!important}
header .wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;gap:0!important}
header .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-item{width:100%!important}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;padding:.85rem 0!important;font-size:.88rem!important;letter-spacing:.18em!important;text-align:left!important}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{position:absolute!important;top:.2rem!important;right:0!important;z-index:3!important}
header .wp-block-navigation__responsive-container.is-menu-open .ep-mobile-menu__brand{display:flex;align-items:center;justify-content:flex-start;padding:0 0 1.15rem 0;border-bottom:1px solid rgba(255,255,255,.12)}
header .wp-block-navigation__responsive-container.is-menu-open .ep-mobile-menu__cta{display:block;margin-top:auto;padding-top:1.5rem}
header .wp-block-navigation__responsive-container-open{display:inline-flex!important;align-items:center;justify-content:center;margin-left:auto;padding:6px;background:transparent;border:0}
header .wp-block-navigation__responsive-container-open svg{width:28px;height:28px}
#home .saaslauncher-big-title{font-size:clamp(3.5rem,14vw,6rem)!important;max-width:7ch}
#home .has-text-align-center.has-foreground-alt-color{max-width:25ch;font-size:1.05rem!important}
#home .wp-block-cover{padding-right:24px!important;padding-left:24px!important;padding-bottom:60px!important}
#home .wp-block-buttons{flex-direction:column!important}
#home .wp-block-buttons .wp-block-button{width:100%!important}
#about > .wp-block-columns{gap:2rem!important}
#about img{min-height:360px!important}
#services > .wp-block-columns{display:flex!important;flex-direction:column!important;gap:1.2rem!important}
#services > .wp-block-columns > .wp-block-column{width:100%!important;flex-basis:100%!important}
#services > .wp-block-columns > .wp-block-column:first-child{max-width:100%!important}
#services > .wp-block-columns > .wp-block-column:first-child .wp-block-group.is-position-sticky{position:static!important;padding-right:0!important}
#services > .wp-block-columns > .wp-block-column:first-child h3{max-width:7.3ch!important;font-size:clamp(2.7rem,12vw,4rem)!important;margin-bottom:1.15rem!important}
#services > .wp-block-columns > .wp-block-column:first-child p{max-width:none!important;font-size:1rem!important;line-height:1.6!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns + .wp-block-columns{margin-top:0!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns > .wp-block-column{width:100%!important;flex-basis:100%!important;display:block!important;flex:none!important}
#services .wp-block-group.has-border-color{display:block!important;height:auto!important;min-height:0!important;padding:1.3rem 1.2rem 1.2rem!important;gap:.8rem!important}
#services .wp-block-group.has-border-color + .wp-block-group.has-border-color{border-top:0!important;border-left:2px solid var(--ep-black)!important}
#services .wp-block-group.has-border-color::before{margin-bottom:.8rem!important;padding-bottom:.6rem!important}
#services .wp-block-group.has-border-color h4{max-width:9ch!important;font-size:clamp(1.55rem,8.6vw,1.95rem)!important;line-height:.98!important}
#services .wp-block-group.has-border-color p{margin-top:0!important;max-width:none!important;font-size:.95rem!important;line-height:1.52!important}
#portfolio > .wp-block-columns,
#portfolio > .wp-block-columns.ep-portfolio-row--lead-left,
#portfolio > .wp-block-columns.ep-portfolio-row--lead-right{display:grid!important;grid-template-columns:1fr!important;gap:2rem!important}
#portfolio > .wp-block-columns + .wp-block-columns{margin-top:1.45rem!important}
#portfolio > .wp-block-columns > .wp-block-column{display:grid!important;gap:.78rem!important}
#portfolio .wp-block-column.is-primary .wp-block-cover,
#portfolio .wp-block-cover{min-height:210px!important}
#portfolio > p.has-light-color-color{max-width:100%!important}
#portfolio > .wp-block-group.is-content-justification-left.is-layout-constrained{margin-bottom:1.5rem!important}
#portfolio > .wp-block-group.is-content-justification-left.is-layout-constrained p{max-width:100%!important}
#portfolio .ep-portfolio-caption{gap:.35rem!important}
#portfolio .ep-portfolio-kicker{font-size:.62rem!important}
#portfolio .ep-portfolio-title{font-size:1.06rem!important}
#portfolio .ep-portfolio-note{max-width:none!important;font-size:.9rem!important;line-height:1.45!important}
#about .wp-block-columns,
#pricing .wp-block-columns,
#reviews .wp-block-columns,
#contact .wp-block-columns,
footer .wp-block-columns{display:flex!important;flex-direction:column!important;gap:1.5rem!important}
#about .wp-block-column,
#pricing .wp-block-column,
#reviews .wp-block-column,
#contact .wp-block-column,
footer .wp-block-column{width:100%!important;flex-basis:100%!important;max-width:100%!important}
#pricing > .wp-block-columns{display:flex!important}
#pricing > .wp-block-group:first-child{gap:1rem!important;margin-bottom:1.85rem!important}
#pricing > .wp-block-group:first-child h2{max-width:8.2ch!important;font-size:clamp(2.8rem,12vw,4.4rem)!important}
#pricing > .wp-block-group:first-child p{max-width:none!important;font-size:1rem!important;line-height:1.6!important}
#pricing .wp-block-column > .wp-block-group{padding:1.45rem 1.35rem 1.55rem!important}
#pricing .wp-block-column > .wp-block-group > .wp-block-group.is-nowrap{display:grid!important;gap:.3rem!important;margin-bottom:.9rem!important}
#pricing .wp-block-column > .wp-block-group h3{font-size:clamp(2.8rem,13vw,4.2rem)!important}
#pricing .wp-block-column > .wp-block-group h4{margin-bottom:.9rem!important}
#pricing .wp-block-column > .wp-block-group p{max-width:none!important;font-size:.98rem!important;line-height:1.56!important}
#pricing .ep-pricing-kicker{position:static!important;top:auto!important;right:auto!important;display:block!important;margin:0 0 .15rem!important;font-size:.63rem!important;text-align:left!important}
#pricing .wp-block-column > .wp-block-group .wp-block-buttons{margin-top:1.2rem!important}
#pricing .wp-block-column > .wp-block-group ul{margin-top:.85rem!important;padding-top:.8rem!important}
#contact .ep-form__grid,#contact .ep-form__choices{grid-template-columns:1fr!important}
#contact .ep-form__meta{flex-direction:column;align-items:stretch}
#contact .ep-form__submit{width:100%}
.saaslauncher-brands,
.saaslauncher-brands.wp-block-gallery.has-nested-images{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.9rem .8rem!important}
.saaslauncher-brands{max-width:100%!important;margin:0 auto!important}
.saaslauncher-brands .wp-block-image{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.saaslauncher-brands .wp-block-image img{max-width:min(100%,116px)!important;max-height:30px!important;width:auto!important;height:auto!important}
footer .wp-block-site-title{font-size:clamp(2.5rem,10vw,4rem)!important}
footer .saaslauncher-footer>.wp-block-group>.wp-block-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.6rem 1.2rem!important;align-items:start!important}
footer .saaslauncher-footer>.wp-block-group>.wp-block-columns>.wp-block-column:first-child,
footer .saaslauncher-footer>.wp-block-group>.wp-block-columns>.wp-block-column:last-child{grid-column:1 / -1!important}
footer .saaslauncher-footer>.wp-block-group>.wp-block-columns>.wp-block-column:first-child{padding-bottom:.25rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:first-child p{max-width:24ch!important;margin-bottom:1rem!important;font-size:1rem!important;line-height:1.58!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:first-child .wp-block-social-links{gap:.6rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:nth-child(2),
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:nth-child(3){align-self:start!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:nth-child(2) .saaslauncher-footer-list ul,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:nth-child(3) .saaslauncher-footer-list ul{gap:.45rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child{max-width:none!important;justify-self:stretch!important;width:100%!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns{grid-template-columns:18px minmax(0,1fr)!important;gap:.6rem .8rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns li,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns a,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns p{font-size:.98rem!important;line-height:1.48!important}
}

@media(max-width:480px){
header .custom-logo{width:110px!important}
#home .saaslauncher-big-title,
#home h1.saaslauncher-big-title{font-size:clamp(2.35rem,10.6vw,3.45rem)!important;line-height:.96!important;max-width:100%!important;padding-bottom:1.25rem!important;letter-spacing:-.045em!important}
#home .saaslauncher-big-title::after,#home h1.saaslauncher-big-title::after{display:none}
#home h5{font-size:.72rem!important;letter-spacing:.14em!important;line-height:1.4!important}
#home .has-text-align-center.has-foreground-alt-color{max-width:24ch;font-size:1rem!important;line-height:1.6!important}
#home .wp-block-cover{padding-top:88px!important;padding-bottom:52px!important}
#home .wp-block-button__link{width:100%}
#services .wp-block-group.has-border-color,#pricing .wp-block-column > .wp-block-group,#reviews .saaslauncher-hover-box,#contact .ep-enquiry-form{padding:1.2rem!important}
#services .wp-block-group.has-border-color h4{font-size:clamp(1.42rem,8.3vw,1.8rem)!important}
#services .wp-block-group.has-border-color p{font-size:.93rem!important;line-height:1.5!important}
#portfolio .wp-block-cover{min-height:192px!important}
#portfolio .ep-portfolio-title{font-size:1rem!important}
#portfolio .ep-portfolio-note{font-size:.88rem!important}
.saaslauncher-brands{max-width:100%!important}
.wp-block-columns{gap:1.25rem!important}
#services .wp-block-columns,
#pricing .wp-block-columns{gap:0!important}
#services > .wp-block-columns{gap:1rem!important}
#services > .wp-block-columns > .wp-block-column:last-child{display:block!important}
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns,
#services > .wp-block-columns > .wp-block-column:last-child > .wp-block-columns > .wp-block-column{display:contents!important}
#services > .wp-block-columns > .wp-block-column:last-child .wp-block-group.has-border-color{margin:0!important}
#services > .wp-block-columns > .wp-block-column:last-child .wp-block-group.has-border-color + .wp-block-group.has-border-color{margin-top:-2px!important}
#pricing > .wp-block-group:first-child{margin-bottom:1.35rem!important}
#pricing > .wp-block-columns{display:flex!important;gap:0!important}
#pricing > .wp-block-columns > .wp-block-column{margin:0!important}
.saaslauncher-brands,
.saaslauncher-brands.wp-block-gallery.has-nested-images{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.75rem .65rem!important}
.saaslauncher-brands .wp-block-image{min-height:40px!important}
.saaslauncher-brands .wp-block-image img{max-width:min(100%,92px)!important;max-height:24px!important}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands){padding-block:24px 28px!important;row-gap:10px!important}
main > .wp-block-group.alignfull.has-black-color-background-color.has-background.is-layout-constrained:has(.saaslauncher-brands) > .wp-block-group:first-child h2{font-size:.68rem!important;letter-spacing:.18em!important}
#pricing > .wp-block-group:first-child h2{max-width:8.6ch!important;font-size:clamp(2.45rem,11.4vw,3.6rem)!important}
#pricing .wp-block-column > .wp-block-group h3{font-size:clamp(2.55rem,12vw,3.8rem)!important}
#pricing .wp-block-column > .wp-block-group p{font-size:.95rem!important;line-height:1.52!important}
#contact .ep-form__grid,#contact .ep-form__choices{grid-template-columns:1fr!important}
#contact .ep-form__meta{flex-direction:column;align-items:stretch}
#contact .ep-form__submit{width:100%}
footer .saaslauncher-footer>.wp-block-group>.wp-block-columns{gap:1.35rem 1rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:first-child p{max-width:22ch!important;font-size:.98rem!important;line-height:1.55!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns{grid-template-columns:18px minmax(0,1fr)!important;gap:.5rem .7rem!important}
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns li,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns a,
footer .saaslauncher-footer > .wp-block-group > .wp-block-columns > .wp-block-column:last-child .wp-block-columns p{font-size:.95rem!important;line-height:1.45!important}
}

@media (hover:none), (pointer:coarse){
#services .wp-block-group.has-border-color,
#pricing .wp-block-column > .wp-block-group{transform:none!important}
#services .wp-block-group.has-border-color:hover,
#services .wp-block-group.has-border-color.is-hovered,
#pricing .wp-block-column > .wp-block-group:hover,
#pricing .wp-block-column > .wp-block-group.is-hovered{background:transparent!important;color:inherit!important}
#services .wp-block-group.has-border-color:hover::after,
#services .wp-block-group.has-border-color.is-hovered::after,
#pricing .wp-block-column > .wp-block-group:hover::after,
#pricing .wp-block-column > .wp-block-group.is-hovered::after{transform:none!important}
#services .wp-block-group.has-border-color:hover::before,
#services .wp-block-group.has-border-color.is-hovered::before,
#pricing .wp-block-column > .wp-block-group:hover > *,
#pricing .wp-block-column > .wp-block-group.is-hovered > *,
#services .wp-block-group.has-border-color:hover > *,
#services .wp-block-group.has-border-color.is-hovered > *{transform:none!important}
}

.ep-proof-section{padding-top:clamp(3.2rem,4.8vw,4.25rem)!important;padding-right:var(--wp--preset--spacing--40)!important;padding-bottom:clamp(2.55rem,3.3vw,3rem)!important;padding-left:var(--wp--preset--spacing--40)!important;background:var(--ep-white)!important;color:var(--ep-black)!important}
.ep-proof-section__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.4rem,2.8vw,2.6rem);align-items:start}
.ep-proof-section__eyebrow{display:inline-flex;align-items:center;padding:.45rem .9rem;border:1px solid rgba(0,0,0,.14);border-radius:999px;background:rgba(0,0,0,.02)}
.ep-proof-section__eyebrow p{margin:0!important;font-size:.78rem!important;line-height:1!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ep-black)!important}
.ep-proof-section__intro{max-width:28.5rem}
.ep-proof-section__intro h2{margin:.75rem 0 .85rem!important;font-size:clamp(2.15rem,4.3vw,3.55rem)!important;line-height:.96!important;letter-spacing:-.045em!important;color:var(--ep-black)!important;max-width:8.1ch}
.ep-proof-section__intro > p{margin:0!important;max-width:31ch!important;font-size:.98rem!important;line-height:1.58!important;color:var(--ep-muted-text)!important}
.ep-proof-section__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.ep-proof-card{display:grid;align-content:start;gap:.8rem;margin:0;padding:1.35rem 1.4rem 1.45rem!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important}
.ep-proof-card + .ep-proof-card{margin-left:-2px}
.ep-proof-card__stat{margin:0!important;font-family:var(--ep-display)!important;font-size:clamp(2.6rem,4vw,4rem)!important;line-height:.9!important;letter-spacing:-.05em!important;color:var(--ep-black)!important}
.ep-proof-card h3{margin:0!important;font-size:clamp(1.35rem,2vw,2rem)!important;line-height:1.02!important;color:var(--ep-black)!important}
.ep-proof-card > p{margin:0!important;font-size:.98rem!important;line-height:1.6!important;color:var(--ep-muted-text)!important}
.ep-proof-card__source{padding-top:.75rem!important;border-top:1px solid var(--ep-line)!important}
.ep-proof-card__source a{font-family:var(--ep-mono)!important;font-size:.7rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--ep-black)!important;text-decoration:none!important}
.ep-proof-card__source a:hover{text-decoration:underline!important}

.ep-faq-section{padding-top:clamp(4.4rem,6vw,5.8rem)!important;padding-right:var(--wp--preset--spacing--40)!important;padding-bottom:clamp(4.6rem,6.2vw,6rem)!important;padding-left:var(--wp--preset--spacing--40)!important;background:var(--ep-white)!important;color:var(--ep-black)!important;border-top:2px solid var(--ep-black)!important;border-bottom:1px solid rgba(0,0,0,.12)!important}
.ep-faq-section__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,3.4vw,3.4rem);align-items:start}
.ep-faq-section__eyebrow{display:inline-flex;align-items:center;padding:.45rem .9rem;border:1px solid rgba(0,0,0,.14);border-radius:999px;background:rgba(0,0,0,.02)}
.ep-faq-section__eyebrow p{margin:0!important;font-size:.78rem!important;line-height:1!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ep-black)!important}
.ep-faq-section__intro{max-width:26rem}
.ep-faq-section__intro h2{margin:.9rem 0 1rem!important;font-size:clamp(2.05rem,3.85vw,3.25rem)!important;line-height:.96!important;letter-spacing:-.045em!important;color:var(--ep-black)!important;max-width:7.4ch}
.ep-faq-section__intro > p{margin:0!important;max-width:31ch!important;font-size:1rem!important;line-height:1.62!important;color:var(--ep-muted-text)!important}
.ep-faq-section__list{display:grid;gap:1rem}
.ep-faq-item{margin:0!important;padding:1.1rem 1.4rem!important;border:1px solid rgba(0,0,0,.14)!important;border-radius:24px!important;background:var(--ep-white)!important;box-shadow:none!important}
.ep-faq-item summary{cursor:pointer;list-style:none;color:var(--ep-black)!important;font-size:1.02rem;line-height:1.34;font-weight:600}
.ep-faq-item summary::-webkit-details-marker{display:none}
.ep-faq-item p{margin:.78rem 0 0!important;font-size:.96rem!important;line-height:1.6!important;color:var(--ep-muted-text)!important;max-width:62ch}
.ep-faq-item[open]{border-color:var(--ep-black)!important;background:rgba(0,0,0,.015)!important;box-shadow:none!important}

@media(max-width:960px){
.ep-proof-section__inner,.ep-faq-section__inner{grid-template-columns:1fr!important}
.ep-proof-section__intro h2,.ep-proof-section__intro > p,.ep-faq-section__intro h2,.ep-faq-section__intro > p{max-width:none!important}
.ep-proof-section__grid{grid-template-columns:1fr!important}
.ep-proof-card + .ep-proof-card{margin-left:0;margin-top:-2px}
}

@media(max-width:480px){
.ep-proof-section,.ep-faq-section{padding-block:3.2rem!important}
.ep-proof-card{padding:1rem 1.05rem!important}
.ep-proof-card__stat{font-size:clamp(2.15rem,12vw,3rem)!important}
.ep-proof-card h3{font-size:1.18rem!important}
.ep-proof-card > p{font-size:.93rem!important;line-height:1.58!important}
.ep-faq-item{padding:1rem 1.05rem!important;border-radius:18px!important}
.ep-faq-item summary{font-size:.98rem!important}
.ep-faq-item p{font-size:.93rem!important;line-height:1.58!important}
}

.ep-service-page{width:min(1180px,100%)!important;max-width:1180px!important;margin:0 auto!important;padding:clamp(48px,6vw,88px) clamp(24px,4vw,40px)!important;color:var(--ep-black)!important}
.ep-service-page h2,.ep-service-page h3{color:var(--ep-black)!important}
.ep-service-page p,.ep-service-page li{color:var(--ep-muted-text)!important}
.ep-service-intro{display:grid;gap:1rem;padding-bottom:clamp(28px,4vw,44px);border-bottom:2px solid var(--ep-black)!important}
.ep-service-eyebrow{margin:0!important;font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--ep-black)!important}
.ep-page-title{margin:0!important;font-size:clamp(2.8rem,5vw,5.1rem)!important;line-height:.94!important;letter-spacing:-.05em!important;color:var(--ep-black)!important;max-width:11ch}
.ep-service-lead{max-width:44rem!important;margin:0!important;font-size:clamp(1.08rem,1.35vw,1.25rem)!important;line-height:1.68!important}
.ep-service-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.5rem}
.ep-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(28px,4vw,40px)}
.ep-service-card{display:grid;align-content:start;gap:.9rem;padding:1.35rem 1.4rem!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important}
.ep-service-card h2,.ep-service-card h3{margin:0!important;font-size:clamp(1.4rem,2vw,2rem)!important;line-height:1.03!important}
.ep-service-card p,.ep-service-card ul{margin:0!important}
.ep-service-card ul{padding-left:1.15rem!important}
.ep-service-section{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start;margin-top:clamp(32px,4vw,48px);padding-top:clamp(24px,3vw,34px);border-top:2px solid var(--ep-black)!important}
.ep-service-section > h2{margin:0!important;max-width:10ch!important;font-size:clamp(2rem,3.6vw,3.3rem)!important;line-height:.97!important;letter-spacing:-.04em!important}
.ep-service-section__body{display:grid;gap:1rem}
.ep-service-section__body p,.ep-service-section__body ul{margin:0!important}
.ep-service-section__body ul{padding-left:1.15rem!important}
.ep-service-faq{margin-top:clamp(32px,4vw,48px);padding:clamp(24px,3vw,34px)!important;background:var(--ep-black)!important;color:var(--ep-white)!important}
.ep-service-faq h2{margin:0 0 1rem!important;color:var(--ep-white)!important;font-size:clamp(2rem,3.6vw,3.3rem)!important;line-height:.97!important}
.ep-service-faq > p{margin:0 0 1rem!important;max-width:42rem!important;color:rgba(255,255,255,.72)!important}
.ep-service-faq details{padding:1rem 0!important;border-top:1px solid rgba(255,255,255,.14)!important}
.ep-service-faq details:last-child{border-bottom:1px solid rgba(255,255,255,.14)!important}
.ep-service-faq summary{cursor:pointer;list-style:none;font-family:var(--ep-display)!important;font-size:1.18rem!important;line-height:1.3!important;color:var(--ep-white)!important}
.ep-service-faq summary::-webkit-details-marker{display:none}
.ep-service-faq details p{margin:.75rem 0 0!important;color:rgba(255,255,255,.72)!important}
.ep-service-linklist{display:flex;flex-wrap:wrap;gap:.75rem 1rem;padding:0!important;list-style:none!important}
.ep-service-linklist li{margin:0!important}
.ep-service-linklist a{font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--ep-black)!important;text-decoration:none!important}
.ep-service-linklist a:hover{text-decoration:underline!important}
.ep-case-study-hero{margin-top:clamp(28px,4vw,40px);border:2px solid var(--ep-black)!important;background:var(--ep-white)!important}
.ep-case-study-hero img{display:block;width:100%!important;height:auto!important}
.ep-case-study-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(28px,4vw,40px)}
.ep-case-study-facts .ep-service-card h2{font-size:clamp(1.2rem,1.8vw,1.6rem)!important}
.ep-case-study-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(32px,4vw,48px)}
.ep-case-study-gallery figure{margin:0!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important}
.ep-case-study-gallery img{display:block;width:100%!important;height:auto!important}
.ep-case-study-gallery figcaption{padding:.9rem 1rem!important;border-top:1px solid var(--ep-line)!important;font-size:.9rem!important;line-height:1.55!important;color:var(--ep-muted-text)!important}
.ep-case-study-quote{margin-top:clamp(32px,4vw,48px);padding:clamp(24px,3vw,34px)!important;border:2px solid var(--ep-black)!important;background:var(--ep-black)!important}
.ep-case-study-quote p{margin:0!important;color:rgba(255,255,255,.78)!important}
.ep-case-study-quote blockquote{margin:0!important;font-size:clamp(1.25rem,2.1vw,1.8rem)!important;line-height:1.35!important;color:var(--ep-white)!important}
.ep-case-study-quote cite{display:block;margin-top:1rem!important;font-family:var(--ep-mono)!important;font-size:.78rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-style:normal!important;color:rgba(255,255,255,.68)!important}
.ep-about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1rem;margin-top:clamp(28px,4vw,40px)}
.ep-about-card{padding:1.35rem 1.4rem!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important}
.ep-about-card h2,.ep-about-card h3{margin:0 0 .75rem!important}
.ep-about-card p:last-child,.ep-about-card ul:last-child{margin-bottom:0!important}
.ep-about-card ul{margin:0;padding-left:1.15rem!important}
.ep-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(28px,4vw,40px)}
.ep-collection-card{display:grid;align-content:start;gap:1rem;padding:1.25rem!important;border:2px solid var(--ep-black)!important;background:var(--ep-white)!important}
.ep-collection-card figure{margin:0!important;border:2px solid var(--ep-black)!important}
.ep-collection-card img{display:block;width:100%!important;height:auto!important}
.ep-collection-card h2{margin:0!important;font-size:clamp(1.7rem,2.4vw,2.35rem)!important;line-height:1.02!important}
.ep-collection-card p{margin:0!important}
.ep-collection-card .ep-service-linklist{margin-top:.25rem!important}

@media(max-width:960px){
.ep-service-grid{grid-template-columns:1fr!important}
.ep-service-section{grid-template-columns:1fr!important}
.ep-service-section > h2{max-width:none!important}
.ep-case-study-facts,.ep-case-study-gallery,.ep-about-grid,.ep-collection-grid{grid-template-columns:1fr!important}
}

@media(max-width:640px){
.ep-service-page{padding-inline:20px!important}
.ep-service-actions{flex-direction:column;align-items:stretch}
.ep-service-actions .wp-block-button__link{width:100%;text-align:center}
.ep-page-title{font-size:clamp(2.35rem,12vw,3.2rem)!important}
.ep-service-faq summary{font-size:1.05rem!important}
}
