:root{--epf-ink:#11110e;--epf-ink-2:#191813;--epf-ink-3:#25231d;--epf-paper:#f5f1e8;--epf-paper-2:#ece6da;--epf-white:#fff;--epf-gold:#c8913b;--epf-gold-light:#e3bd74;--epf-copy:#5d594f;--epf-line:rgba(17,17,14,.16);--epf-dark-line:rgba(255,255,255,.14);--epf-serif:'DM Serif Display',Georgia,serif;--epf-sans:'DM Sans',Arial,sans-serif;--epf-width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--epf-paper);color:var(--epf-ink);font-family:var(--epf-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.shell{width:min(var(--epf-width),calc(100% - 64px));margin-inline:auto}.epf-nav{height:92px;display:flex;align-items:center;justify-content:space-between;color:#fff;position:relative;z-index:20}.epf-brand{display:flex;align-items:center;gap:13px}.epf-brand__mark{width:43px;height:43px;border:1px solid var(--epf-gold);border-radius:50%;display:grid;place-items:center;color:var(--epf-gold-light);font:22px var(--epf-serif)}.epf-brand__name{font-size:13px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase}.epf-brand__name b{display:block;color:var(--epf-gold-light);font-weight:600}.epf-nav__links{display:flex;align-items:center;gap:28px;font-size:13px}.epf-nav__phone{color:var(--epf-gold-light);font-weight:700}.epf-nav__cta{border:1px solid var(--epf-gold);padding:11px 18px;border-radius:999px}.epf-nav__cta:hover{background:var(--epf-gold);color:var(--epf-ink)}.mobile-menu{display:none;border:1px solid rgba(255,255,255,.24);background:none;color:white;border-radius:99px;padding:10px 13px;font:600 12px var(--epf-sans)}
.epf-hero{background:radial-gradient(circle at 75% 40%,rgba(200,145,59,.12),transparent 29%),var(--epf-ink);color:#fff;min-height:820px;position:relative}.epf-hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.1)}.hero-grid{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:45px;padding:30px 0 46px}.hero-copy{position:relative;z-index:5}.kicker{display:flex;align-items:center;gap:11px;color:var(--epf-gold-light);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.kicker:before{content:'';width:28px;height:1px;background:var(--epf-gold)}.epf-hero h1{font:400 clamp(58px,6.2vw,88px)/.98 var(--epf-serif);letter-spacing:-.026em;max-width:700px;margin:21px 0 25px}.hero-copy>p{font-size:18px;line-height:1.62;color:rgba(255,255,255,.73);max-width:585px;margin:0}.action-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.epf-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:15px 23px;border-radius:999px;font-size:14px;font-weight:700;transition:transform .22s ease,background .22s ease,border-color .22s ease}.epf-btn:hover{transform:translateY(-2px)}.epf-btn--gold{background:var(--epf-gold);color:#17120a}.epf-btn--gold:hover{background:var(--epf-gold-light)}.epf-btn--line{border:1px solid rgba(255,255,255,.35);color:#fff}.epf-btn--dark{background:var(--epf-ink);color:#fff}.epf-btn--paper{border:1px solid rgba(17,17,14,.28);color:var(--epf-ink)}
.orbit{height:590px;position:relative;display:grid;place-items:center}.orbit__photo{width:370px;height:370px;border-radius:50%;object-fit:cover;filter:saturate(.72) contrast(1.06);box-shadow:0 0 0 1px rgba(227,189,116,.55),0 30px 100px rgba(0,0,0,.45)}.orbit__ring{position:absolute;border:1px solid rgba(200,145,59,.35);border-radius:50%;width:490px;height:490px}.orbit__ring--outer{width:570px;height:570px;border-color:rgba(255,255,255,.1)}.orbit__point{position:absolute;z-index:3;background:#181712;border:1px solid rgba(200,145,59,.48);border-radius:50%;width:110px;height:110px;display:grid;place-items:center;text-align:center;font-size:10.5px;line-height:1.3;color:rgba(255,255,255,.72);box-shadow:0 12px 34px rgba(0,0,0,.3)}.orbit__point b{display:block;color:var(--epf-gold-light);font:20px var(--epf-serif);margin-bottom:3px}.orbit__point--one{top:30px;left:77px}.orbit__point--two{right:0;top:201px}.orbit__point--three{bottom:37px;left:66px}
.contract-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--epf-dark-line);border-bottom:0;background:#181712;position:relative;z-index:4}.contract-cell{padding:24px 26px 27px;border-right:1px solid var(--epf-dark-line)}.contract-cell:last-child{border-right:0}.contract-cell strong{display:block;color:var(--epf-gold-light);font:25px var(--epf-serif);font-weight:400}.contract-cell span{display:block;margin-top:7px;color:rgba(255,255,255,.6);font-size:12px;line-height:1.5}
.section{padding:104px 0}.section--paper{background:var(--epf-paper)}.section--soft{background:var(--epf-paper-2)}.section--dark{background:var(--epf-ink);color:#fff}.section-head{display:grid;grid-template-columns:.8fr 1.3fr .8fr;gap:38px;align-items:end;margin-bottom:54px}.section-head h2{font:400 clamp(42px,4.4vw,64px)/1.02 var(--epf-serif);letter-spacing:-.02em;margin:0}.section-head p{margin:0;color:var(--epf-copy);font-size:15px;line-height:1.65}.section--dark .section-head p{color:rgba(255,255,255,.62)}.section-tag{align-self:start;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#815a21;font-weight:700}.section--dark .section-tag{color:var(--epf-gold-light)}
.services-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:1fr 1fr;gap:14px}.service-card{min-height:272px;padding:31px;background:#fff;border:1px solid var(--epf-line);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.service-card--image{grid-row:1/3;min-height:558px;background:linear-gradient(180deg,rgba(14,14,12,.05) 34%,rgba(14,14,12,.9)),url('images/commercial-cleaning-glass-v3.webp') center/cover;color:#fff;border:0}.service-card--gold{background:var(--epf-gold);color:#17120a}.service-card__number{font:18px var(--epf-serif);color:#916224}.service-card--image .service-card__number{color:var(--epf-gold-light)}.service-card h3{font:400 30px/1.06 var(--epf-serif);margin:16px 0 10px}.service-card p{font-size:13.5px;line-height:1.57;max-width:330px;margin:0;color:#676157}.service-card--gold p{color:#43331c}.service-card--image p{color:rgba(255,255,255,.72)}.service-link{font-size:12px;font-weight:700;margin-top:23px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid currentColor;padding-top:14px;opacity:.83}
.standard-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.standard-visual{height:600px;position:relative}.standard-visual img{width:83%;height:100%;object-fit:cover}.standard-visual__card{position:absolute;right:0;bottom:44px;background:var(--epf-gold);color:#18130b;width:270px;padding:28px}.standard-visual__card span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.standard-visual__card strong{display:block;font:32px/1.05 var(--epf-serif);font-weight:400;margin-top:25px}.standard-copy h2{font:400 clamp(44px,4.3vw,64px)/1.02 var(--epf-serif);margin:20px 0 22px}.standard-copy>p{color:rgba(255,255,255,.66);font-size:16px;line-height:1.65;max-width:540px}.checks{margin:35px 0 0;padding:0;list-style:none}.checks li{display:grid;grid-template-columns:34px 1fr;gap:15px;border-top:1px solid var(--epf-dark-line);padding:18px 0}.checks b{color:var(--epf-gold-light);font:18px var(--epf-serif)}.checks strong{display:block;font-size:14px}.checks span{font-size:12.5px;color:rgba(255,255,255,.56)}
.footprint{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.footprint h2{font:400 clamp(45px,4.4vw,64px)/1.02 var(--epf-serif);margin:20px 0}.footprint p{color:var(--epf-copy);line-height:1.65}.towns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--epf-line);border-left:1px solid var(--epf-line)}.town{padding:22px;border-right:1px solid var(--epf-line);border-bottom:1px solid var(--epf-line);font:22px var(--epf-serif);display:flex;justify-content:space-between}.town:after{content:'\2197';color:#9b6b27;font:15px var(--epf-sans)}.multi-note{margin-top:23px;border-left:2px solid var(--epf-gold);padding:4px 0 4px 18px;font-size:13px;color:#716b60}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--epf-dark-line)}.step{padding:34px 26px 12px 0;border-right:1px solid var(--epf-dark-line);min-height:220px}.step+.step{padding-left:27px}.step:last-child{border-right:0}.step b{font:22px var(--epf-serif);color:var(--epf-gold-light)}.step h3{font:400 24px var(--epf-serif);margin:36px 0 10px}.step p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.58);margin:0}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro h2{font:400 clamp(45px,4.4vw,64px)/1.02 var(--epf-serif);margin:20px 0}.faq-intro p{color:var(--epf-copy);line-height:1.65}.faq-list details{border-top:1px solid var(--epf-line);padding:21px 0}.faq-list details:last-child{border-bottom:1px solid var(--epf-line)}.faq-list summary{cursor:pointer;list-style:none;font:21px var(--epf-serif);display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:'+';color:#906225;font:22px var(--epf-sans)}.faq-list details[open] summary:after{content:'-'}.faq-answer{padding-top:14px;color:var(--epf-copy);font-size:14px;line-height:1.65;max-width:670px}
.closing{padding:80px 0;background:linear-gradient(90deg,rgba(16,16,13,.97),rgba(16,16,13,.72)),url('images/cta-reception-v3.webp') center/cover;color:#fff}.closing__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.closing h2{font:400 clamp(48px,5vw,72px)/1 var(--epf-serif);margin:18px 0 0}.closing p{color:rgba(255,255,255,.7);line-height:1.65;margin:0}.closing .action-row{margin-top:25px}.epf-footer{background:#0b0b09;color:rgba(255,255,255,.63);padding:58px 0 30px;border-top:1px solid rgba(200,145,59,.5)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:70px}.footer-copy{font-size:13px;line-height:1.7;max-width:380px;margin-top:20px}.footer-col strong{display:block;color:var(--epf-gold-light);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px}.footer-col a{display:block;font-size:13px;margin:10px 0}.footer-bottom{border-top:1px solid var(--epf-dark-line);margin-top:45px;padding-top:22px;font-size:11px;display:flex;justify-content:space-between;gap:15px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible,.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.section-head{grid-template-columns:1fr 1.4fr}.section-head p{grid-column:2}.services-grid{grid-template-columns:1fr 1fr}.service-card--image{grid-column:1/3;grid-row:auto;min-height:430px}.standard-grid,.footprint,.faq-grid{gap:45px}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--epf-dark-line)}}
@media(max-width:640px){.shell{width:calc(100% - 34px)}.epf-nav{height:78px}.epf-brand__mark{width:38px;height:38px}.epf-brand__name{font-size:10px}.epf-nav__links a{display:none}.epf-nav__links .epf-nav__cta{display:block;font-size:11px;padding:10px 13px}.hero-grid{grid-template-columns:1fr;gap:25px;padding:50px 0 35px}.hero-copy{order:1}.orbit{order:2;height:410px}.epf-hero h1{font-size:51px;line-height:1.01;margin:18px 0 23px}.hero-copy>p{font-size:16px;line-height:1.55}.action-row{margin-top:26px}.epf-btn{padding:14px 18px}.orbit__photo{width:238px;height:238px}.orbit__ring{width:316px;height:316px}.orbit__ring--outer{width:380px;height:380px}.orbit__point{width:82px;height:82px;font-size:9px}.orbit__point b{font-size:16px}.orbit__point--one{top:4px;left:4px}.orbit__point--two{top:142px;right:0}.orbit__point--three{left:18px;bottom:0}.contract-strip{grid-template-columns:1fr 1fr}.contract-cell{padding:19px 16px;border-bottom:1px solid var(--epf-dark-line)}.contract-cell:nth-child(2){border-right:0}.contract-cell strong{font-size:21px}.section{padding:72px 0}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:34px}.section-head p{grid-column:auto}.section-head h2{font-size:43px}.services-grid{grid-template-columns:1fr}.service-card--image{grid-column:auto;min-height:450px}.service-card{min-height:240px;padding:26px}.standard-grid,.footprint,.faq-grid,.closing__inner{grid-template-columns:1fr;gap:40px}.standard-visual{height:440px}.standard-visual img{width:88%}.standard-visual__card{width:225px;bottom:24px;padding:22px}.standard-visual__card strong{font-size:26px}.standard-copy h2,.footprint h2,.faq-intro h2{font-size:43px}.town{font-size:19px;padding:18px}.steps{grid-template-columns:1fr}.step,.step+.step{padding:26px 0;border-right:0;border-bottom:1px solid var(--epf-dark-line);min-height:auto}.step h3{margin:20px 0 8px}.closing{padding:70px 0}.closing h2{font-size:48px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px}.footer-grid>:first-child{grid-column:1/3}.footer-bottom{display:grid;gap:2px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.orbit__ring{animation:none!important}}



:focus-visible{outline:2px solid var(--epf-gold-light);outline-offset:4px}

/* Finesse pass keeps the type system intentionally small and repeatable. */
.epf-brand__name,.epf-nav__links,.service-card p,.checks strong,.checks span,.step p,.faq-answer,.footer-copy,.footer-col a,.multi-note{font-size:14px}
.kicker,.section-tag,.service-link,.standard-visual__card span,.contract-cell span,.footer-col strong,.footer-bottom,.orbit__point{font-size:12px}
.section-head p,.standard-copy>p,.footprint p,.closing p{font-size:16px}
.section-head h2,.standard-copy h2,.footprint h2,.faq-intro h2,.closing h2{font-size:64px}
.epf-nav__links>a:not(.epf-nav__cta){padding-block:10px}
.service-link{min-height:38px}.footer-col a{line-height:1.8}
@media(max-width:640px){.section-head h2,.standard-copy h2,.footprint h2,.faq-intro h2,.closing h2{font-size:43px}}

/* Grand presentation pass */
.epf-hero{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 73% 42%,rgba(200,145,59,.19),transparent 27%),radial-gradient(circle at 15% 8%,rgba(255,255,255,.035),transparent 24%),var(--epf-ink)}
.epf-hero:before{content:'EXCLUSIVE';position:absolute;z-index:-1;left:50%;top:43%;transform:translate(-50%,-50%);font:400 clamp(140px,18vw,270px)/1 var(--epf-serif);letter-spacing:.03em;color:transparent;-webkit-text-stroke:1px rgba(227,189,116,.055);white-space:nowrap;pointer-events:none}
.epf-hero h1 span{display:block;color:var(--epf-gold-light);text-shadow:0 16px 55px rgba(200,145,59,.16)}
.epf-brand__mark{position:relative;box-shadow:0 0 0 8px rgba(200,145,59,.035),0 0 35px rgba(200,145,59,.1)}
.orbit:before{content:'';position:absolute;width:548px;height:548px;border-radius:50%;background:conic-gradient(from 12deg,transparent 0 22%,rgba(227,189,116,.72) 28%,transparent 34% 69%,rgba(227,189,116,.34) 74%,transparent 82%);-webkit-mask:radial-gradient(circle,transparent 68%,#000 68.4% 68.8%,transparent 69.2%);mask:radial-gradient(circle,transparent 68%,#000 68.4% 68.8%,transparent 69.2%);animation:epfOrbit 24s linear infinite;opacity:.72}
.orbit__photo{outline:1px solid rgba(255,255,255,.08);outline-offset:12px}.orbit__point{backdrop-filter:blur(12px);background:rgba(24,23,18,.9);transition:transform .3s ease,border-color .3s ease}.orbit__point:hover{transform:scale(1.06);border-color:var(--epf-gold-light)}
.contract-strip{box-shadow:0 -24px 70px rgba(0,0,0,.25)}.contract-cell{position:relative;overflow:hidden}.contract-cell:after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--epf-gold);transition:width .4s ease}.contract-cell:hover:after{width:100%}
.section-head h2,.standard-copy h2,.footprint h2,.faq-intro h2{max-width:760px}.section--paper{background:radial-gradient(circle at 90% 5%,rgba(200,145,59,.08),transparent 22%),var(--epf-paper)}
.service-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(26,20,12,.12);border-color:rgba(200,145,59,.46)}.service-card--image:hover{box-shadow:0 28px 70px rgba(0,0,0,.2)}
.standard-visual:before{content:'';position:absolute;left:-28px;top:-28px;width:62%;height:70%;border:1px solid rgba(227,189,116,.38)}.standard-visual__card{box-shadow:0 25px 70px rgba(0,0,0,.42)}
.town{transition:background .25s ease,color .25s ease}.town:hover{background:var(--epf-ink);color:#fff}.town:hover:after{color:var(--epf-gold-light)}
.closing{position:relative;overflow:hidden}.closing:after{content:'';position:absolute;right:-9%;top:-75%;width:560px;height:560px;border:1px solid rgba(227,189,116,.25);border-radius:50%;box-shadow:0 0 0 68px rgba(227,189,116,.03),0 0 0 136px rgba(227,189,116,.025);pointer-events:none}.closing__inner{position:relative;z-index:2}.closing h2{font-size:72px;max-width:780px}
.epf-btn--gold{position:relative;overflow:hidden;box-shadow:0 14px 34px rgba(200,145,59,.18)}.epf-btn--gold:after{content:'';position:absolute;inset:-80% auto -80% -35%;width:28%;transform:rotate(18deg);background:rgba(255,255,255,.25);transition:left .55s ease}.epf-btn--gold:hover:after{left:120%}
@keyframes epfOrbit{to{transform:rotate(360deg)}}
@media(max-width:640px){.epf-hero:before{font-size:100px;top:31%;opacity:.7}.orbit:before{width:360px;height:360px}.standard-visual:before{left:-12px;top:-12px}.closing h2{font-size:48px}.closing:after{width:300px;height:300px;right:-42%;top:-20%}}
@media(prefers-reduced-motion:reduce){.orbit:before{animation:none}.service-card:hover,.orbit__point:hover,.epf-btn:hover{transform:none}}


/* Homepage navigation: complete service links at phone width. */
.epf-nav__toggle{display:none;width:44px;height:44px;border:1px solid rgba(218,166,76,.7);border-radius:50%;padding:0;background:#17150f;color:#efc77a;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;position:relative;z-index:42}
.epf-nav__toggle span{display:block;width:19px;height:1.5px;background:currentColor;transition:transform .22s ease,opacity .22s ease}
.epf-nav__toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}
.epf-nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.epf-nav__toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.epf-nav__toggle:focus-visible,.epf-nav__links a:focus-visible{outline:2px solid #efc77a;outline-offset:3px}
@media(max-width:1100px){
 .epf-nav__toggle{display:flex}
 .epf-nav__links{display:none;position:absolute;left:-17px;right:-17px;top:100%;padding:12px 17px 22px;background:#15140f;border:1px solid rgba(218,166,76,.42);border-top:0;box-shadow:0 20px 40px rgba(0,0,0,.35);z-index:40;flex-direction:column;align-items:stretch;gap:0}
 .epf-nav__links.is-open{display:flex}
 .epf-nav__links a,.epf-nav__links .epf-nav__cta{display:flex;align-items:center;min-height:49px;width:100%;padding:10px 7px;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;font-size:16px;color:#f5f1e7}
 .epf-nav__links .epf-nav__phone{color:#efc77a}
 .epf-nav__links .epf-nav__cta{justify-content:center;margin-top:12px;border:1px solid #c8953e;border-radius:3px;color:#efc77a;font-size:15px}
}
@media(prefers-reduced-motion:reduce){.epf-nav__toggle span{transition:none}}

/* Keep primary content visible if a scroll observer or script is delayed. */
.reveal,.reveal.rv,.reveal.in,.reveal.rv.in{opacity:1!important;visibility:visible!important;transform:none!important}
