/*
Theme Name: Endpoint Electrical — RE:ALIGN
Theme URI: https://www.endpointelectrical.com/
Author: RE:ALIGN
Description: Custom responsive Endpoint Electrical website theme with editable Gutenberg page content, a dedicated commercial projects archive, individual project case studies, and standard WordPress blog support. Requires the companion Endpoint Content plugin to create and manage Projects.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: endpoint-realign
License: GPL-2.0-or-later
*/
:root{--ep-dark:#07111c;--ep-ink:#101923;--ep-deep:#0b1724;--ep-red:#ef3433;--ep-blue:#4772ef;--ep-light:#f5f7f8;--ep-line:#dbe3eb;--ep-muted:#627383;--ep-white:#fff;--ep-display:Impact,'Arial Narrow','DejaVu Sans Condensed',Arial,sans-serif;--ep-sans:'Arial',sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--ep-light);color:var(--ep-ink);font:16px/1.6 var(--ep-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}img{max-width:100%;height:auto}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a:hover{color:var(--ep-red)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #5297fc;outline-offset:3px}.ep-container{max-width:1320px;width:calc(100% - 100px);margin-inline:auto}.ep-skip{position:absolute;top:-100px;left:12px;padding:12px;z-index:100;background:white;color:#17283b}.ep-skip:focus{top:12px}.ep-topline{height:4px;background:linear-gradient(90deg,var(--ep-red) 0 36%,var(--ep-blue) 36% 46%,#081725 46%)}.ep-header{background:#07111cf8;color:white;position:sticky;top:0;z-index:50;min-height:84px;border-bottom:1px solid #ffffff1e;backdrop-filter:blur(10px)}.ep-header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.ep-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:white}.ep-brand:hover{color:white}.ep-brand-mark{width:50px;height:55px;object-fit:contain}.ep-brand-type strong{display:block;line-height:1;font-weight:900;letter-spacing:.055em;font-size:22px}.ep-brand-type small{display:block;margin-top:6px;letter-spacing:.13em;font-size:9px;white-space:nowrap;font-weight:700}.ep-nav-list{display:flex;gap:19px;align-items:center;list-style:none;padding:0;margin:0}.ep-nav-list a{font-size:11px;text-transform:uppercase;font-weight:800;color:#e5ebf1;white-space:nowrap;letter-spacing:.035em}.ep-nav-list a:hover,.ep-nav-list .current-menu-item>a{color:#f66b70}.ep-header-actions{display:flex;align-items:center;gap:21px}.ep-phone{font-size:13px;white-space:nowrap;font-weight:700}.ep-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:0!important;min-height:50px;padding:15px 23px;background:var(--ep-ink);border:1px solid transparent;color:white!important;text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:800;line-height:1.3;transition:background .18s,transform .18s}.ep-button:hover,.wp-block-button__link:hover{background:#1b3548;transform:translateY(-2px)}.ep-button-red,.ep-button-red:hover,.ep-hero .wp-block-button:first-child .wp-block-button__link,.ep-callout-red .wp-block-button__link{background:var(--ep-red);color:white!important}.ep-button-red:hover,.ep-hero .wp-block-button:first-child .wp-block-button__link:hover{background:#d32330}.ep-header-bid{padding:14px 18px;min-height:44px;font-size:11px}.ep-menu-toggle{display:none;border:1px solid #8495a4;background:transparent;cursor:pointer;width:48px;height:48px;padding:13px;flex-direction:column;align-items:center;justify-content:space-around}.ep-menu-toggle span{height:2px;background:#fff;width:100%}.ep-mobile-nav-bid{display:none}.ep-mobile-action{display:none}
/* Home: faithful commercial-first interpretation of uploaded RE:ALIGN prototype with real Gutenberg blocks */
.ep-home-content{margin:0}.ep-hero.wp-block-cover{min-height:660px!important;padding:70px max(48px,calc((100% - 1320px)/2))!important;display:flex;justify-content:flex-start;align-items:center}.ep-hero .wp-block-cover__inner-container{max-width:1320px;margin:auto;width:100%;position:relative}.ep-hero .wp-block-cover__image-background{object-position:59% center}.ep-hero h1{font-family:var(--ep-display);font-size:clamp(78px,10vw,154px)!important;letter-spacing:-.028em;line-height:.86!important;color:#fff!important;text-transform:uppercase;margin:22px 0 28px!important;max-width:980px;font-weight:900}.ep-hero h1 em{display:block;color:var(--ep-red);font-style:normal}.ep-hero p{max-width:560px;font-size:20px;line-height:1.45;color:#ecf2f7}.ep-hero .ep-kicker{color:#e6edf2}.ep-hero .wp-block-buttons{margin-top:30px;gap:14px}.ep-hero .wp-block-button:not(:first-child) .wp-block-button__link{background:#101b2470;border:1px solid #f7fafac0;color:white}.ep-kicker{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800}.ep-kicker:before{content:'';display:inline-block;width:29px;height:3px;background:var(--ep-red);margin-right:12px;vertical-align:middle}.ep-proof{background:var(--ep-deep);color:white;margin:0!important}.ep-proof .wp-block-columns{max-width:1320px;width:calc(100% - 100px);margin:0 auto!important;gap:0;padding:22px 0}.ep-proof .wp-block-column{padding:5px 31px;border-right:1px solid #425167}.ep-proof .wp-block-column:first-child{padding-left:0}.ep-proof .wp-block-column:last-child{border:0}.ep-proof h2{font-family:var(--ep-display);font-size:21px;text-transform:uppercase;line-height:1.15;margin:0 0 6px;color:white}.ep-proof p{font-size:12px;color:#c2d0dc;line-height:1.6;margin:0}.ep-section{padding:100px 0;margin:0!important}.ep-section>.wp-block-group__inner-container,.ep-section .ep-inner{max-width:1320px;width:calc(100% - 100px);margin-inline:auto}.ep-section h2,.ep-section .ep-section-title{font-family:var(--ep-display);font-size:clamp(48px,5.5vw,79px)!important;font-weight:900;line-height:.99;text-transform:uppercase;margin:13px 0 24px}.ep-section h2 em{font-style:normal;color:var(--ep-red)}.ep-section>.wp-block-group__inner-container>p,.ep-section .ep-inner>p{max-width:710px;font-size:15px;line-height:1.75;color:#67788a}.ep-services{background:#f6f8fa}.ep-services .wp-block-columns{gap:18px;margin:35px 0 25px}.ep-service-card{background:#fff;border:1px solid #d7e0e8;overflow:hidden;height:100%}.ep-service-card .wp-block-image{margin:0}.ep-service-card img{width:100%;height:225px;object-fit:cover}.ep-service-card h3{font-family:var(--ep-display);font-size:30px;text-transform:uppercase;padding:0 24px;margin:22px 0 10px;line-height:1.1}.ep-service-card p{font-size:13px;line-height:1.6;color:#687887;padding:0 24px 25px;margin:0}.ep-projects-home{background:#091927;color:white}.ep-projects-home p{color:#adbfcd!important}.ep-projects-home h2{color:white}.ep-projects-home .ep-project-cards{margin:30px 0}.ep-projects-home .ep-card{background:#1b2d3e;border-color:#374b5f;color:white}.ep-projects-home .ep-card h2{font-size:28px!important;color:white}.ep-projects-home .ep-card p{color:#c3d0db!important}.ep-qualifications{background:#fff}.ep-qualifications .wp-block-columns{align-items:center;gap:50px}.ep-qualifications .wp-block-column:nth-child(2){background:#e9f0f6;padding:45px}.ep-qualifications .wp-block-column:nth-child(2) h3{font-size:22px;margin:0 0 8px;font-weight:800;color:#102d45}.ep-qualifications .wp-block-column:nth-child(2) p{font-size:14px;color:#566d80;line-height:1.6}.ep-owner{background:#13283b;color:white}.ep-owner .wp-block-columns{align-items:center;gap:65px}.ep-owner h2{color:white}.ep-owner p{color:#c5d0db;max-width:620px}.ep-owner-placeholder{min-height:330px;background:linear-gradient(125deg,#284b67,#0e1b2b);border:1px dashed #7c96ad;display:flex;align-items:center;justify-content:center;color:#d7e2eb;text-align:center;padding:30px;font-size:14px}.ep-careers{background:#e9eff3}.ep-careers .wp-block-columns{align-items:center}.ep-careers .wp-block-buttons{justify-content:flex-end}.ep-cta{background:var(--ep-red);color:white}.ep-cta h2{color:white}.ep-cta p{color:#fff!important}.ep-cta .wp-block-button__link{background:var(--ep-ink)}.ep-cta .wp-block-button__link:hover{background:#24374a}
/* Project grid and post archive */
.ep-page-hero{background:#122438;color:white;padding:75px 0 65px}.ep-page-hero .ep-kicker{color:#c5d8eb}.ep-page-hero h1{font-family:var(--ep-display);font-size:clamp(59px,7vw,107px);line-height:.95;text-transform:uppercase;margin:20px 0 14px}.ep-page-hero p{color:#becdd9;max-width:750px;font-size:17px;line-height:1.5}.ep-page-content{padding:78px 0 100px;min-height:320px}.ep-article-content{padding:60px 0 100px;max-width:940px}.ep-article-content .ep-article-feature{width:100%;max-height:535px;object-fit:cover;margin-bottom:35px}.ep-article-content h2,.ep-page-content h2{font-size:clamp(30px,3.6vw,48px);line-height:1.13}.ep-article-content p,.ep-page-content p{line-height:1.8}.ep-article-content .wp-block-image img{max-width:100%;height:auto}.ep-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ep-card{display:block;border:1px solid #dce2e7;background:#fff;color:#172537;transition:transform .18s}.ep-card:hover{transform:translateY(-3px);color:inherit}.ep-card>img{width:100%;height:250px;object-fit:cover}.ep-card-copy{padding:23px}.ep-card-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8293a4;font-weight:750}.ep-card h2{font-family:var(--ep-display);font-size:30px;margin:12px 0;line-height:1.1;text-transform:uppercase}.ep-card p{font-size:13px;line-height:1.65;color:#637283;margin:0}.ep-card-link{display:inline-block;color:var(--ep-red);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:22px}.ep-card-fallback{height:250px;display:flex;align-items:center;justify-content:center;color:#92adc6;background:linear-gradient(140deg,#14293b,#394f64);font-family:var(--ep-display);font-size:35px}.ep-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.ep-filter{padding:11px 16px;border:1px solid #bcc7d0;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.ep-filter.active,.ep-filter:hover{background:var(--ep-ink);color:white;border-color:var(--ep-ink)}.ep-empty-projects{grid-column:1/-1;background:#eaf0f4;padding:40px}.ep-project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:25px 0 38px;background:#eef2f5;padding:14px 30px}.ep-project-facts>div{border-bottom:1px solid #ced8e0;padding:15px 0}.ep-project-facts small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#617589;font-weight:800}.ep-project-facts strong{display:block;margin-top:6px;line-height:1.4;color:#1b3246}.ep-pagination{margin-top:28px}.ep-pagination ul{display:flex;gap:12px;list-style:none;padding:0}.ep-pagination a,.ep-pagination span{padding:10px 13px;background:white;border:1px solid #b5c2cd}.ep-pagination .current{background:#07111c;color:white}
/* Editor-authored inner page blocks */
.entry-content .wp-block-columns{margin-top:25px;margin-bottom:25px}.entry-content .wp-block-image{margin-bottom:20px}.ep-page-content>.wp-block-group{margin:25px 0}.ep-page-content ul{padding-left:25px}.ep-page-content h2,.ep-page-content h3{letter-spacing:-.03em}.ep-page-content .wp-block-cover{margin:35px 0}.ep-note{padding:20px 25px;background:#f4eacb;border-left:4px solid #d1a243;color:#534c3d;font-size:14px}.ep-bid-placeholder{padding:24px;background:#e8eff5;border-left:4px solid var(--ep-blue);margin:25px 0;line-height:1.7}.ep-bid-placeholder strong{display:block}.ep-bid-placeholder code{padding:3px 5px;background:white}.ep-page-content a:not(.wp-block-button__link),.ep-article-content a:not(.ep-button){color:#b82e32;text-decoration:underline;text-underline-offset:3px}
/* Footer */
.ep-residential-note{background:#e6edf2}.ep-residential-note>.ep-container{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:25px}.ep-residential-note strong{font-size:14px}.ep-residential-note p{font-size:12px;margin:4px 0 0;color:#536a7b}.ep-text-link{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ep-footer{background:#081623;color:#b8cbd9;padding:58px 0 25px}.ep-footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.15fr;gap:40px;padding-bottom:40px}.ep-footer-grid h3{font-size:12px;color:white;letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px}.ep-footer-grid>div>a:not(.ep-brand){display:block;margin-bottom:12px;font-size:13px;color:#bfccda;overflow-wrap:anywhere}.ep-footer-desc{font-size:13px;color:#92a4b5;line-height:1.8;max-width:320px;margin:25px 0 0}.ep-footer-base{border-top:1px solid #23384a;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#92a5b6}
/* Default WordPress blocks */
.wp-block-buttons{gap:12px}.wp-block-group.alignfull,.wp-block-cover.alignfull{width:100%;max-width:none}.entry-content img{max-width:100%}.ep-home-content>.wp-block-group,.ep-home-content>.wp-block-cover{margin:0}.wp-block-image img{display:block}.ep-home-content .wp-block-columns{box-sizing:border-box}.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;border-color:currentColor}.wp-block-query .wp-block-post-featured-image img{height:230px;object-fit:cover}.wp-block-query .wp-block-post-title{font-family:var(--ep-display);font-size:30px!important;line-height:1.1;text-transform:uppercase}.wp-block-query .wp-block-post-excerpt{font-size:13px;line-height:1.6;color:#c4cfda}.wp-block-query ul.wp-block-post-template{gap:18px}.wp-block-query li.wp-block-post{background:#1b2d3e;border:1px solid #354c60;padding-bottom:20px}.wp-block-query li.wp-block-post h3,.wp-block-query li.wp-block-post p{padding-inline:20px}.wp-block-query li.wp-block-post h3 a{color:#fff}.ep-home-projects-shortcode .ep-cards-grid{margin-top:25px}
@media(max-width:1190px){.ep-nav-list{gap:11px}.ep-nav-list a{font-size:10px}.ep-header-actions .ep-phone{display:none}.ep-container{width:calc(100% - 60px)}}
@media(max-width:980px){.ep-header-inner{height:73px}.ep-header{min-height:73px}.ep-menu-toggle{display:flex}.ep-header-bid{display:none}.ep-navigation{display:none;position:absolute;top:73px;left:0;right:0;background:var(--ep-dark);max-height:calc(100dvh - 80px);overflow:auto;padding:20px 30px 30px}.ep-navigation.is-open{display:block}.ep-nav-list{flex-direction:column;align-items:stretch}.ep-nav-list li a{display:block;padding:14px 0;font-size:14px;border-bottom:1px solid #2b4258}.ep-mobile-nav-bid{display:flex;margin-top:23px;background:var(--ep-red);padding:15px 20px;color:white;font-weight:800;text-transform:uppercase}.ep-menu-open{overflow:hidden}.ep-hero.wp-block-cover{padding:75px 30px!important}.ep-proof .wp-block-columns{width:calc(100% - 60px)}.ep-section>.wp-block-group__inner-container{width:calc(100% - 60px)}.ep-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}.ep-header{padding-top:env(safe-area-inset-top,0px)}.ep-header-inner{height:70px}.ep-navigation{top:calc(70px + env(safe-area-inset-top,0px))}.ep-container{width:calc(100% - 36px)}.ep-brand-mark{width:41px;height:46px}.ep-brand-type strong{font-size:20px}.ep-brand-type small{font-size:7px}.ep-hero.wp-block-cover{min-height:610px!important;padding:60px 19px!important;align-items:end}.ep-hero h1{font-size:clamp(50px,15.3vw,82px)!important;line-height:.93!important;margin:14px 0 20px!important}.ep-hero p{font-size:16px}.ep-hero .wp-block-buttons{gap:9px}.ep-hero .wp-block-button__link{padding:15px 12px;font-size:11px}.ep-proof .wp-block-columns{width:calc(100% - 36px);gap:0}.ep-proof .wp-block-column{padding:18px 0;border-right:0;border-bottom:1px solid #45556a}.ep-section{padding:62px 0}.ep-section>.wp-block-group__inner-container{width:calc(100% - 36px)}.ep-section h2{font-size:clamp(39px,11vw,58px)!important}.ep-services .wp-block-columns{gap:14px}.ep-services .wp-block-columns>.wp-block-column{margin:0}.ep-service-card img{height:210px}.ep-owner .wp-block-columns{gap:25px}.ep-qualifications .wp-block-column:nth-child(2){padding:28px}.ep-careers .wp-block-buttons{justify-content:flex-start}.ep-page-hero{padding:48px 0}.ep-page-hero h1{font-size:clamp(48px,13vw,77px)}.ep-page-hero p{font-size:15px}.ep-page-content{padding:50px 0 72px}.ep-cards-grid{grid-template-columns:minmax(0,1fr)}.ep-card>img{height:230px}.ep-card-copy{padding:20px}.ep-project-facts{grid-template-columns:minmax(0,1fr);padding:10px 20px}.ep-article-content{padding:45px 0 75px}.ep-footer{padding-bottom:35px}.ep-footer-grid{gap:30px 17px}.ep-footer-grid>div:first-child{grid-column:1/-1}.ep-footer-base{display:block;line-height:1.6}.ep-residential-note>.ep-container{display:block}.ep-residential-note .ep-text-link{display:inline-block;margin-top:13px}.ep-mobile-action{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:49;gap:9px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#06121e;box-shadow:0 -7px 20px #0004}.ep-mobile-action a{min-height:47px;padding:12px 15px;display:flex;align-items:center;justify-content:center;color:white;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.ep-mobile-action a:first-child{width:35%;background:#233b51}.ep-mobile-action a:last-child{flex:1;background:var(--ep-red)}.ep-menu-open .ep-mobile-action{display:none}.ep-page-content input,.ep-page-content select,.ep-page-content textarea{font-size:16px!important}}
@media(max-width:380px){.ep-container{width:calc(100% - 30px)}.ep-brand-type strong{font-size:17px}.ep-brand-mark{width:36px}.ep-hero h1{font-size:clamp(45px,15vw,61px)!important}.ep-service-card h3{font-size:26px}.ep-footer-grid{grid-template-columns:1fr}.ep-footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Explicit layout rules keep the design stable even when WordPress block styles differ by version. */
.ep-hero.wp-block-cover{position:relative;overflow:hidden;display:flex;isolation:isolate}
.ep-hero .wp-block-cover__image-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.ep-hero .wp-block-cover__background{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,13,21,.93),rgba(4,13,21,.58) 57%,rgba(4,13,21,.29));opacity:1!important}
.ep-hero .wp-block-cover__inner-container{position:relative;z-index:2;flex:1;max-width:1320px}
.ep-home-content .wp-block-columns{display:flex;gap:20px}
.ep-home-content .wp-block-column{flex:1;min-width:0}
.ep-home-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}
@media(max-width:700px){.ep-home-content .wp-block-columns{flex-direction:column}.ep-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(4,13,21,.91),rgba(4,13,21,.60))}.ep-proof .wp-block-columns{gap:0}}
