:root{
  --ink:#0D0D0D;--paper:#F7F7F3;--white:#fff;--ice:#A9C6DA;--ice-soft:#DCE8F0;--ice-deep:#789CB5;--champagne:#C9B98C;--graphite:#686868;--mist:#E9EEF1;--line:rgba(13,13,13,.14);
  --shell:min(1520px,calc(100vw - 64px));--display:"Superior Title","Bodoni 72",Didot,Georgia,serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}::selection{background:var(--ice);color:var(--ink)}
.em-shell{width:var(--shell);margin-inline:auto}.em-section{padding:clamp(92px,10vw,176px) 0}.em-display{font-family:var(--display);font-weight:400;letter-spacing:.04em;line-height:.94}.em-kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.69rem;font-weight:700}.em-kicker--light{color:#b7b7b7}.em-section-title{font-size:clamp(3.7rem,7.6vw,8.8rem);margin:.16em 0 0;max-width:1100px}.em-arrow-link{display:inline-flex;align-items:center;gap:12px;font-size:.82rem;font-weight:650;border-bottom:1px solid currentColor;padding-bottom:4px}.em-arrow-link span{transition:transform .35s var(--ease)}.em-arrow-link:hover span{transform:translate(4px,-4px)}
.em-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:2px;pointer-events:none}.em-progress span{display:block;width:100%;height:100%;background:var(--ice);transform:scaleX(0);transform-origin:left center}

/* Header: transparent over hero, crisp white once scrolled */
.em-header{position:fixed;z-index:1000;top:0;left:0;right:0;padding:22px 30px;color:#fff;transition:padding .45s var(--ease),background .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease),backdrop-filter .45s var(--ease)}.em-header:after{content:"";position:absolute;left:30px;right:30px;bottom:0;height:1px;background:rgba(255,255,255,.22);transition:opacity .35s}.em-header.is-scrolled{padding:13px 30px;background:rgba(247,247,243,.92);color:var(--ink);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 1px 0 rgba(13,13,13,.08)}.em-header.is-scrolled:after{opacity:0}.em-header__inner{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.em-brand{justify-self:start;position:relative;width:210px;height:44px;z-index:1002}.em-brand__logo{position:absolute;left:0;top:50%;transform:translateY(-50%);width:205px;max-height:42px;object-fit:contain;object-position:left center;transition:opacity .35s}.em-brand__logo--dark{opacity:0}.em-header.is-scrolled .em-brand__logo--light{opacity:0}.em-header.is-scrolled .em-brand__logo--dark{opacity:1}
.em-nav{grid-column:2/4;display:flex;align-items:center;justify-content:flex-end;gap:32px}.em-nav__list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.em-nav__list a{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;position:relative}.em-nav__list a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}.em-nav__list a:hover:after{transform:scaleX(1);transform-origin:left}.em-nav__cta{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.72);border-radius:4px;padding:12px 16px;font-size:.75rem;font-weight:700;background:rgba(255,255,255,.06);backdrop-filter:blur(8px);transform:translate(var(--bx,0),var(--by,0));transition:background .3s,color .3s,border .3s,transform .16s ease-out}.em-nav__cta:hover{background:#fff;color:var(--ink)}.em-header.is-scrolled .em-nav__cta{background:var(--ink);color:#fff;border-color:var(--ink)}.em-menu-toggle{display:none;justify-self:end;background:transparent;border:0;width:44px;height:44px;padding:9px;position:relative;color:inherit;z-index:1002}.em-menu-toggle span{position:absolute;left:8px;right:8px;height:1px;background:currentColor;transition:.3s var(--ease)}.em-menu-toggle span:first-child{top:18px}.em-menu-toggle span:last-child{top:25px}

/* Hero: Porsche-like full-bleed scene with minimal messaging */
.em-hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#111;color:#fff;isolation:isolate;--hero-scale:1.045;--hero-shift:0px;--hero-copy-opacity:1}.em-hero__backdrop{position:absolute;inset:-3%;z-index:-3;background-image:var(--hero,linear-gradient(135deg,#2c3338,#111));background-size:cover;background-position:center;transform:translateY(var(--hero-shift)) scale(var(--hero-scale));will-change:transform}.em-hero__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(4,7,9,.28) 0%,rgba(4,7,9,.06) 34%,rgba(4,7,9,.22) 60%,rgba(4,7,9,.76) 100%),linear-gradient(90deg,rgba(0,0,0,.32),transparent 52%)}.em-hero__content{position:absolute;left:max(32px,calc((100vw - min(1520px,calc(100vw - 64px)))/2));bottom:clamp(92px,11vh,132px);max-width:1040px;opacity:var(--hero-copy-opacity);transform:translateY(calc(var(--hero-shift)*.25));will-change:transform,opacity}.em-hero__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.19em;font-weight:700;margin-bottom:22px}.em-hero__title{font-family:var(--display);font-weight:400;letter-spacing:.04em;line-height:.89;font-size:clamp(4.9rem,9.5vw,10.8rem);margin:0;text-shadow:0 1px 24px rgba(0,0,0,.18)}.em-hero__copy{max-width:610px;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55;margin:25px 0 0;color:rgba(255,255,255,.9)}.em-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.em-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:0 18px;border-radius:4px;border:1px solid transparent;font-size:.79rem;font-weight:700;transform:translate(var(--bx,0),var(--by,0));transition:transform .16s ease-out,background .3s,color .3s,border .3s}.em-btn span{transition:transform .3s var(--ease)}.em-btn:hover span{transform:translate(4px,-4px)}.em-btn--light{background:#fff;color:var(--ink)}.em-btn--light:hover{background:#e9eef1}.em-btn--glass{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(10,10,10,.15);backdrop-filter:blur(10px)}.em-btn--glass:hover{background:#fff;color:var(--ink)}.em-btn--large{min-height:56px;padding:0 24px}.em-hero__meta{position:absolute;right:32px;bottom:24px;display:flex;gap:22px;font-size:.59rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.65)}.em-hero__scroll{position:absolute;right:32px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;display:flex;align-items:center;gap:10px;font-size:.59rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.74)}.em-hero__scroll span{width:42px;height:1px;background:currentColor}

/* Intro */
.em-intro{background:var(--paper)}.em-intro__grid{display:grid;grid-template-columns:minmax(150px,.52fr) minmax(0,2fr);gap:clamp(50px,8vw,130px)}.em-intro__headline{font-size:clamp(3.3rem,6.4vw,7.2rem);margin:0;max-width:1160px}.em-intro__lower{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-top:54px;border-top:1px solid var(--line);padding-top:28px}.em-intro__lower p{max-width:660px;margin:0;color:#414141;font-size:1.05rem;line-height:1.7}

/* Porsche-inspired service selector */
.em-journey{padding-top:40px}.em-journey__head,.em-work__head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.em-service-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.em-service-tile{min-height:610px;border-radius:8px;overflow:hidden;position:relative;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transform:perspective(1300px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .22s ease-out,box-shadow .45s var(--ease)}.em-service-tile:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(500px circle at var(--mx,55%) var(--my,35%),rgba(255,255,255,.58),transparent 48%)}.em-service-tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.62),transparent 55%)}.em-service-tile--01{background:#1b1d1f;color:#fff}.em-service-tile--02{background:var(--ice);color:#111}.em-service-tile--03{background:#d8c9a7;color:#111}.em-service-tile--04{background:#d7d9da;color:#111}.em-service-tile--02:after,.em-service-tile--03:after,.em-service-tile--04:after{background:linear-gradient(to top,rgba(255,255,255,.12),transparent 55%)}.em-service-tile:hover{box-shadow:0 28px 70px rgba(13,13,13,.15)}.em-service-tile__index{position:absolute;left:28px;top:25px;font-size:.65rem;letter-spacing:.14em}.em-service-tile__copy{position:relative;z-index:2}.em-service-tile__copy h3{font-family:var(--display);font-weight:400;font-size:clamp(2.3rem,3vw,4rem);letter-spacing:.035em;line-height:.96;margin:0 0 14px}.em-service-tile__copy p{margin:0;max-width:310px;font-size:.88rem;line-height:1.55;opacity:.78}.em-service-tile__arrow{position:absolute;right:25px;top:22px;font-size:1.15rem;transition:transform .3s var(--ease)}.em-service-tile:hover .em-service-tile__arrow{transform:translate(5px,-5px)}.em-service-tile__graphic{position:absolute;left:12%;right:12%;top:14%;height:48%;opacity:.78}.em-service-tile__graphic span{position:absolute;display:block;border:1px solid currentColor;opacity:.45}.em-service-tile__graphic span:nth-child(1){inset:5% 15% 18% 2%;border-radius:46% 8% 16% 5%}.em-service-tile__graphic span:nth-child(2){inset:18% 2% 4% 26%;border-radius:8% 40% 8% 22%}.em-service-tile__graphic span:nth-child(3){width:44%;height:44%;left:28%;top:28%;border-radius:50%}

/* Signature brand moment */
.em-statement{background:var(--ice);min-height:82svh;display:grid;align-items:center;position:relative;overflow:hidden;padding:clamp(110px,14vw,210px) 0}.em-statement__orb{position:absolute;width:min(70vw,1000px);aspect-ratio:1;border-radius:50%;right:-18vw;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.75),rgba(255,255,255,.06) 45%,rgba(37,73,95,.08) 66%,transparent 69%);filter:blur(.2px)}.em-statement__grid{position:relative;display:grid;grid-template-columns:.6fr 2fr .8fr;gap:clamp(35px,6vw,110px);align-items:end}.em-statement h2{font-size:clamp(5rem,10vw,11rem);margin:0}.em-statement h2 em{font-style:italic}.em-statement p{margin:0;font-size:1rem;line-height:1.7;max-width:360px}

/* Work */
.em-project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.em-project-card:first-child{grid-row:span 2}.em-project-card__media{display:block;position:relative;overflow:hidden;background:#d9dee1;border-radius:7px;aspect-ratio:4/3}.em-project-card:first-child .em-project-card__media{height:100%;aspect-ratio:auto}.em-project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}.em-project-card:hover img{transform:scale(1.025)}.em-project-card__blank{height:100%;min-height:310px;display:grid;place-items:center;background:linear-gradient(140deg,#e8edf0,#c8d7e1);text-transform:uppercase;font-size:.65rem;letter-spacing:.16em}.em-project-card__view{position:absolute;right:18px;bottom:18px;background:rgba(247,247,243,.94);padding:12px 14px;border-radius:4px;font-size:.7rem;font-weight:700;transform:translateY(8px);opacity:0;transition:.35s var(--ease)}.em-project-card:hover .em-project-card__view{transform:none;opacity:1}.em-project-card__meta{display:grid;grid-template-columns:42px 1fr;align-items:center;padding:15px 2px}.em-project-card__meta span{font-size:.62rem;letter-spacing:.14em}.em-project-card__meta h3{font-size:.82rem;font-weight:650;text-transform:uppercase;letter-spacing:.1em;margin:0}.em-project-grid--archive{grid-template-columns:repeat(2,1fr)}.em-project-grid--archive .em-project-card:first-child{grid-row:auto}

/* Process */
.em-process{background:#fff}.em-process__grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:clamp(60px,9vw,160px);align-items:start}.em-process__sticky{position:sticky;top:130px}.em-process__sticky p{max-width:430px;color:#555;font-size:1.05rem}.em-process__steps{border-top:1px solid var(--line)}.em-process-step{display:grid;grid-template-columns:70px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:38px 0}.em-process-step>span{font-size:.64rem;letter-spacing:.15em;color:var(--ice-deep)}.em-process-step h3{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4.2vw,4.8rem);letter-spacing:.035em;line-height:1;margin:0 0 12px}.em-process-step p{margin:0;color:#555;max-width:550px}

/* Local brand moment */
.em-location{min-height:86svh;position:relative;overflow:hidden;background:#111;color:#fff;display:grid;align-items:center}.em-location__map{position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(169,198,218,.18),transparent 34%),linear-gradient(135deg,#141719,#080909)}.em-location__rings{position:absolute;width:820px;aspect-ratio:1;border:1px solid rgba(169,198,218,.20);border-radius:50%;right:-120px;top:50%;transform:translateY(-50%)}.em-location__rings:before,.em-location__rings:after{content:"";position:absolute;border:1px solid rgba(169,198,218,.15);border-radius:50%;inset:14%}.em-location__rings:after{inset:30%}.em-location__pin{position:absolute;right:26%;top:48%;width:16px;height:16px;border-radius:50%;background:var(--ice);box-shadow:0 0 0 14px rgba(169,198,218,.12),0 0 0 30px rgba(169,198,218,.05)}.em-location__content{position:relative}.em-location h2{font-size:clamp(4.8rem,9vw,10rem);margin:.16em 0 .24em;max-width:950px}.em-location p{max-width:650px;font-size:1.05rem;color:#c7c7c7}

/* CTA + footer */
.em-final-cta{background:var(--ink);color:#fff;padding:clamp(110px,14vw,200px) 0;border-bottom:1px solid rgba(255,255,255,.12)}.em-final-cta__inner{display:grid;grid-template-columns:.55fr 2fr auto;gap:50px;align-items:end}.em-final-cta h2{font-size:clamp(4.9rem,9vw,10rem);margin:0}.em-footer{background:var(--ink);color:#fff;padding:70px 0 24px}.em-footer__top{display:grid;grid-template-columns:1.25fr .55fr 1fr;gap:70px}.em-footer__identity img{width:235px}.em-footer__identity p{max-width:460px;color:#aaa;font-size:.9rem}.em-footer__nav{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}.em-footer__nav a{font-size:.84rem;color:#d8d8d8}.em-footer__biglink{display:inline-flex;align-items:center;gap:14px;font-family:var(--display);font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;margin-top:18px}.em-footer__bottom{margin-top:58px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:20px;color:#777;font-size:.61rem;text-transform:uppercase;letter-spacing:.12em}

/* Interior pages */
.em-page{padding-top:190px}.em-page__inner{max-width:1050px}.em-page-title{font-size:clamp(4.7rem,10vw,10rem);margin:.16em 0 .5em}.em-content{font-size:1.08rem;line-height:1.8}.em-content>*{max-width:800px}.em-content>.alignwide{max-width:1280px}.em-content>.alignfull{max-width:none}.em-post-row{border-top:1px solid var(--line);padding:30px 0}.em-project-single__head{max-width:1200px}.em-project-single__lede{font-size:1.25rem;color:#4c4c4c;max-width:700px}.em-project-single__hero img{width:100%;max-height:88vh;object-fit:cover}.em-project-single__content{max-width:900px}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1120px){
  :root{--shell:min(100% - 40px,1520px)}.em-header{padding-left:20px;padding-right:20px}.em-header__inner{grid-template-columns:1fr auto}.em-nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);padding:130px 24px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transform:translateY(-105%);transition:transform .55s var(--ease);z-index:1001}.em-nav.is-open{transform:none}.em-nav__list{display:grid;gap:19px}.em-nav__list a{font-family:var(--display);font-size:clamp(2.7rem,7vw,5.2rem);letter-spacing:.035em;text-transform:none}.em-nav__cta{background:var(--ink);color:#fff;border-color:var(--ink);margin-top:16px}.em-menu-toggle{display:block}.menu-open .em-menu-toggle span:first-child{top:22px;transform:rotate(45deg)}.menu-open .em-menu-toggle span:last-child{top:22px;transform:rotate(-45deg)}.menu-open .em-brand__logo--light{opacity:0}.menu-open .em-brand__logo--dark{opacity:1}.em-intro__grid,.em-statement__grid,.em-final-cta__inner{grid-template-columns:1fr}.em-service-track{grid-template-columns:repeat(2,1fr)}.em-service-tile{min-height:560px}.em-statement__grid{gap:34px}.em-statement p{max-width:600px}.em-process__grid{grid-template-columns:1fr}.em-process__sticky{position:relative;top:auto}.em-final-cta .em-btn{justify-self:start}.em-footer__top{grid-template-columns:1fr 1fr}.em-footer__identity{grid-column:1/-1}
}
@media(max-width:700px){
  :root{--shell:calc(100% - 24px)}.em-section{padding:82px 0}.em-header{padding:12px}.em-header.is-scrolled{padding:8px 12px}.em-header:after{left:12px;right:12px}.em-brand{width:168px;height:40px}.em-brand__logo{width:164px}.em-hero{min-height:670px}.em-hero__content{left:18px;right:18px;bottom:78px}.em-hero__title{font-size:clamp(4rem,17vw,6.4rem)}.em-hero__copy{font-size:.98rem}.em-hero__meta{display:none}.em-hero__scroll{display:none}.em-intro__grid{grid-template-columns:1fr}.em-intro__lower{grid-template-columns:1fr;align-items:start}.em-journey__head,.em-work__head{display:grid}.em-service-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-right:-12px;padding-right:12px;scrollbar-width:none}.em-service-track::-webkit-scrollbar{display:none}.em-service-tile{flex:0 0 82vw;min-height:540px;scroll-snap-align:start}.em-statement{min-height:auto}.em-project-grid,.em-project-grid--archive{grid-template-columns:1fr}.em-project-card:first-child{grid-row:auto}.em-project-card:first-child .em-project-card__media{height:auto;aspect-ratio:4/3}.em-project-card__view{opacity:1;transform:none}.em-process-step{grid-template-columns:42px 1fr}.em-location h2{font-size:clamp(4.2rem,16vw,7rem)}.em-location__rings{width:600px;right:-320px}.em-final-cta h2{font-size:clamp(4.2rem,16vw,7rem)}.em-footer__top{grid-template-columns:1fr}.em-footer__identity{grid-column:auto}.em-footer__bottom{display:grid}.em-page{padding-top:150px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}.em-hero__backdrop{transform:none!important}.em-service-tile{transform:none!important}}

/* v0.3 — Projects / portfolio experience */
body.post-type-archive-em_project .em-header,
body.tax-em_project_type .em-header,
body.single-em_project .em-header,
body.page:not(.home) .em-header{background:rgba(247,247,243,.92);color:var(--ink);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 1px 0 rgba(13,13,13,.08)}
body.post-type-archive-em_project .em-header:after,
body.tax-em_project_type .em-header:after,
body.single-em_project .em-header:after,
body.page:not(.home) .em-header:after{opacity:0}
body.post-type-archive-em_project .em-brand__logo--light,
body.tax-em_project_type .em-brand__logo--light,
body.single-em_project .em-brand__logo--light,
body.page:not(.home) .em-brand__logo--light{opacity:0}
body.post-type-archive-em_project .em-brand__logo--dark,
body.tax-em_project_type .em-brand__logo--dark,
body.single-em_project .em-brand__logo--dark,
body.page:not(.home) .em-brand__logo--dark{opacity:1}
body.post-type-archive-em_project .em-nav__cta,
body.tax-em_project_type .em-nav__cta,
body.single-em_project .em-nav__cta,
body.page:not(.home) .em-nav__cta{background:var(--ink);color:#fff;border-color:var(--ink)}

.em-projects-hero{padding:clamp(190px,17vw,270px) 0 clamp(90px,10vw,150px);background:var(--paper);overflow:hidden}
.em-projects-hero__grid{display:grid;grid-template-columns:.45fr minmax(0,1.8fr) .7fr;gap:clamp(35px,6vw,100px);align-items:end}
.em-projects-hero__main{max-width:1000px}.em-projects-hero__title{font-size:clamp(4.7rem,9.2vw,10.7rem);margin:0;max-width:1050px}
.em-projects-hero__intro{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7;color:#474747;max-width:720px;margin:36px 0 0}
.em-projects-hero__aside{align-self:end;padding-bottom:6px}.em-projects-hero__aside p{font-size:.88rem;line-height:1.7;color:#5a5a5a;margin:18px 0 0;max-width:280px}
.em-projects-hero__line{display:block;width:64px;height:2px;background:var(--ice)}

.em-project-browser{padding:0 0 clamp(100px,12vw,190px)}
.em-project-browser__head{display:flex;justify-content:space-between;align-items:end;gap:50px;border-top:1px solid var(--line);padding-top:28px;margin-bottom:48px}
.em-project-browser__head h2{font-size:clamp(3.2rem,5.8vw,6.7rem);margin:.16em 0 0}
.em-project-filters{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:680px}
.em-project-filter{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;transition:.3s var(--ease);background:rgba(255,255,255,.3)}
.em-project-filter:hover,.em-project-filter.is-active{background:var(--ink);border-color:var(--ink);color:#fff}

.em-portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:20px;row-gap:clamp(58px,7vw,100px)}
.em-portfolio-card{grid-column:span 6}.em-portfolio-card--lead{grid-column:1/-1}
.em-portfolio-card__media{display:block;position:relative;overflow:hidden;background:#d8dfe3;border-radius:8px;aspect-ratio:4/3;isolation:isolate}
.em-portfolio-card--lead .em-portfolio-card__media{aspect-ratio:16/7}
.em-portfolio-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s var(--ease)}
.em-portfolio-card:hover .em-portfolio-card__media img{transform:scale(1.025)}
.em-portfolio-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.02) 55%,rgba(0,0,0,.33));opacity:.72;transition:opacity .4s;z-index:1}
.em-portfolio-card:hover .em-portfolio-card__shade{opacity:.92}
.em-portfolio-card__number{position:absolute;left:20px;top:18px;z-index:2;color:#fff;font-size:.64rem;letter-spacing:.17em;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.em-portfolio-card__view{position:absolute;right:18px;bottom:18px;z-index:2;background:rgba(247,247,243,.96);color:var(--ink);padding:12px 14px;border-radius:4px;font-size:.7rem;font-weight:700;transform:translateY(9px);opacity:0;transition:.35s var(--ease)}
.em-portfolio-card__view span{display:inline-block;margin-left:7px;transition:transform .3s var(--ease)}
.em-portfolio-card:hover .em-portfolio-card__view{transform:none;opacity:1}.em-portfolio-card:hover .em-portfolio-card__view span{transform:translate(3px,-3px)}
.em-portfolio-card__placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,var(--ice-soft),#c9d6de 55%,#aabac4)}
.em-portfolio-card__placeholder span{font-family:var(--display);font-size:clamp(5rem,12vw,14rem);color:rgba(13,13,13,.14)}
.em-portfolio-card__content{padding-top:18px}.em-portfolio-card__meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin-bottom:14px;color:#666;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em}
.em-portfolio-card__meta span+span:before{content:"·";margin-right:18px;color:#a3a3a3}
.em-portfolio-card__title{font-size:clamp(2.5rem,4.1vw,5.2rem);line-height:.96;margin:0;max-width:900px}.em-portfolio-card:not(.em-portfolio-card--lead) .em-portfolio-card__title{font-size:clamp(2.15rem,3.1vw,3.7rem)}
.em-portfolio-card__title a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .45s var(--ease)}
.em-portfolio-card__title a:hover{background-size:100% 1px}.em-portfolio-card__excerpt{max-width:650px;color:#525252;line-height:1.7;margin:14px 0 0;font-size:.93rem}

.em-project-pagination{margin-top:80px;border-top:1px solid var(--line);padding-top:26px}.em-project-pagination .nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.em-project-pagination .page-numbers{min-width:42px;height:42px;border:1px solid var(--line);display:inline-grid;place-items:center;padding:0 11px;border-radius:4px;font-size:.74rem}
.em-project-pagination .page-numbers.current,.em-project-pagination a.page-numbers:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.em-project-empty{border-top:1px solid var(--line);padding:80px 0 20px;max-width:980px}.em-project-empty h2{font-size:clamp(3.5rem,7vw,7.5rem);margin:.16em 0 .3em}.em-project-empty p{max-width:580px;line-height:1.7;color:#555;margin:0 0 28px}.em-btn--dark{background:var(--ink);color:#fff}.em-btn--dark:hover{background:#272727}

.em-projects-local{background:#fff;padding:clamp(100px,12vw,180px) 0}.em-projects-local__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(60px,10vw,170px);align-items:start}
.em-projects-local h2{font-size:clamp(4rem,7.5vw,8.7rem);margin:.16em 0 0;max-width:1000px}.em-projects-local__copy{padding-top:32px;border-top:2px solid var(--ice)}
.em-projects-local__copy p{font-size:1rem;line-height:1.75;color:#515151;margin:0 0 20px}.em-projects-local__copy .em-arrow-link{margin-top:12px}
.em-projects-cta{background:var(--ink);color:#fff;padding:clamp(110px,14vw,200px) 0}.em-projects-cta__inner{display:grid;grid-template-columns:.6fr 2fr auto;gap:50px;align-items:end}.em-projects-cta h2{font-size:clamp(4.8rem,9vw,10rem);margin:0}

/* Single project */
.em-project-single__intro{padding:clamp(170px,16vw,250px) 0 80px}.em-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:#666;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:65px}.em-breadcrumbs a:hover{color:var(--ink)}
.em-project-single__head{display:grid;grid-template-columns:1.6fr .65fr;gap:80px;align-items:end}.em-project-single__title{font-size:clamp(4.6rem,9vw,10rem);margin:.15em 0 0}.em-project-single__lede{font-size:1.05rem;line-height:1.7;color:#555;margin:0 0 10px}
.em-project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:60px 0 0}.em-project-facts div{background:var(--paper);padding:18px 20px}.em-project-facts dt{font-size:.61rem;text-transform:uppercase;letter-spacing:.12em;color:#777}.em-project-facts dd{margin:7px 0 0;font-size:.9rem}
.em-project-single__hero{margin:0;width:100%;overflow:hidden}.em-project-single__hero img{width:100%;height:min(82vh,980px);object-fit:cover}.em-project-single__body-grid{display:grid;grid-template-columns:.45fr 1.55fr;gap:clamp(60px,10vw,160px)}
.em-project-single__aside{display:flex;flex-direction:column;gap:30px;align-items:flex-start}.em-project-single__content{max-width:900px}.em-project-single__content>p:first-child{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.65;color:#282828}

@media(max-width:1120px){
  .em-projects-hero__grid{grid-template-columns:1fr}.em-projects-hero__label{order:1}.em-projects-hero__main{order:2}.em-projects-hero__aside{order:3;max-width:600px}.em-project-browser__head{display:grid}.em-project-filters{justify-content:flex-start}.em-projects-local__grid{grid-template-columns:1fr}.em-projects-local__copy{max-width:700px}.em-projects-cta__inner{grid-template-columns:1fr}.em-projects-cta .em-btn{justify-self:start}.em-project-single__head,.em-project-single__body-grid{grid-template-columns:1fr}.em-project-single__lede{max-width:700px}.em-project-facts{max-width:760px}
}
@media(max-width:700px){
  .em-projects-hero{padding:145px 0 78px}.em-projects-hero__title{font-size:clamp(4rem,17vw,6.7rem)}.em-projects-hero__intro{margin-top:25px}.em-project-browser__head{margin-bottom:32px}.em-project-filters{overflow-x:auto;flex-wrap:nowrap;margin-right:-12px;padding:0 12px 6px 0;scrollbar-width:none}.em-project-filters::-webkit-scrollbar{display:none}.em-project-filter{white-space:nowrap}.em-portfolio-grid{grid-template-columns:1fr;row-gap:58px}.em-portfolio-card,.em-portfolio-card--lead{grid-column:auto}.em-portfolio-card--lead .em-portfolio-card__media,.em-portfolio-card__media{aspect-ratio:4/3}.em-portfolio-card__view{opacity:1;transform:none}.em-portfolio-card__meta span+span:before{margin-right:9px}.em-portfolio-card__meta{gap:8px 9px}.em-projects-local h2{font-size:clamp(4rem,16vw,7rem)}.em-projects-cta h2{font-size:clamp(4.2rem,16vw,7rem)}.em-project-single__intro{padding:145px 0 60px}.em-breadcrumbs{margin-bottom:45px}.em-project-single__title{font-size:clamp(4rem,16vw,7rem)}.em-project-facts{grid-template-columns:1fr}.em-project-single__hero img{height:62vh;min-height:440px}.em-project-single__body-grid{gap:45px}
}

/* --------------------------------------------------------------------------
   CONTACT / START A PROJECT — v0.4
   Light architectural composition with Porsche-inspired interaction.
   -------------------------------------------------------------------------- */
.em-contact-hero{padding:clamp(165px,16vw,235px) 0 clamp(95px,10vw,155px);background:var(--paper);overflow:hidden;position:relative}.em-contact-hero:before{content:"";position:absolute;width:min(62vw,920px);aspect-ratio:1;border:1px solid rgba(120,156,181,.20);border-radius:50%;right:-22vw;top:-25%;box-shadow:0 0 0 95px rgba(169,198,218,.035),0 0 0 190px rgba(169,198,218,.025);pointer-events:none}.em-contact-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:clamp(65px,9vw,150px);align-items:end}.em-contact-hero__copy h1{font-size:clamp(5rem,10.3vw,11.6rem);line-height:.88;margin:.15em 0 .22em}.em-contact-hero__copy>p{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.7;color:#4b4b4b;max-width:680px}.em-contact-hero__signal{display:flex;align-items:center;gap:7px;margin-top:48px}.em-contact-hero__signal span{display:block;height:6px;border-radius:999px;background:var(--ice)}.em-contact-hero__signal span:nth-child(1){width:86px}.em-contact-hero__signal span:nth-child(2){width:24px;background:var(--champagne)}.em-contact-hero__signal span:nth-child(3){width:8px;background:var(--ink)}.em-contact-card{background:var(--ice);padding:clamp(28px,3vw,48px);border-radius:8px;min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.em-contact-card:before{content:"";position:absolute;width:360px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.45);right:-130px;top:-120px;box-shadow:0 0 0 42px rgba(255,255,255,.08),0 0 0 84px rgba(255,255,255,.05)}.em-contact-card__index{position:absolute;left:30px;top:27px;font-size:.62rem;letter-spacing:.16em;font-weight:700}.em-contact-card h2{font-size:clamp(2.9rem,4vw,5.2rem);line-height:.95;margin:0 0 20px;position:relative}.em-contact-card>p{max-width:460px;line-height:1.65;margin:0 0 30px;position:relative}.em-contact-card__details{position:relative;border-top:1px solid rgba(13,13,13,.22);padding-top:20px;display:grid;gap:18px}.em-contact-card__details>div{display:grid;gap:4px}.em-contact-card__details span{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;opacity:.62}.em-contact-card__details a,.em-contact-card__details strong{font-size:.82rem;line-height:1.55}.em-contact-card__details a{text-decoration:underline;text-underline-offset:4px}
.em-contact-form-section{background:#fff;padding:clamp(100px,11vw,180px) 0}.em-contact-form-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(70px,10vw,170px);align-items:start}.em-contact-form-intro{position:sticky;top:130px}.em-contact-form-intro h2{font-size:clamp(3.7rem,6vw,7.1rem);line-height:.94;margin:.18em 0 .28em}.em-contact-form-intro>p{max-width:520px;color:#555;line-height:1.75}.em-contact-steps{margin-top:46px;border-top:1px solid var(--line)}.em-contact-steps>div{display:grid;grid-template-columns:44px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:17px 0}.em-contact-steps span{font-size:.62rem;letter-spacing:.14em;color:var(--ice-deep)}.em-contact-steps p{margin:0;font-size:.87rem}.em-contact-form-wrap{max-width:860px}.em-contact-form{display:grid;gap:31px}.em-form-row{display:grid;gap:24px}.em-form-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.em-field{display:grid;gap:10px}.em-field>span,.em-contact-method legend{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:#4c4c4c}.em-field em{font-style:normal;color:var(--ice-deep)}.em-field input,.em-field select,.em-field textarea{width:100%;border:0;border-bottom:1px solid rgba(13,13,13,.28);background:transparent;border-radius:0;padding:13px 0 14px;color:var(--ink);outline:none;transition:border-color .25s,box-shadow .25s}.em-field textarea{resize:vertical;min-height:175px;line-height:1.65}.em-field input::placeholder,.em-field textarea::placeholder{color:#9a9a9a}.em-field input:focus,.em-field select:focus,.em-field textarea:focus{border-color:var(--ice-deep);box-shadow:0 1px 0 var(--ice-deep)}.em-field--select{position:relative}.em-field--select select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%);background-position:calc(100% - 13px) 52%,calc(100% - 8px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.em-contact-method{border:0;margin:0;padding:0}.em-contact-method legend{margin-bottom:14px}.em-contact-method label{display:inline-flex;align-items:center;gap:8px;margin:0 18px 8px 0;font-size:.88rem;cursor:pointer}.em-contact-method input{accent-color:var(--ice-deep)}.em-contact-submit{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:8px}.em-contact-submit p{max-width:410px;color:#777;font-size:.73rem;line-height:1.55;margin:0}.em-btn--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.em-btn--dark:hover{background:var(--ice);border-color:var(--ice);color:var(--ink)}.em-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.em-form-error{padding:16px 18px;border-left:3px solid #a63c32;background:#f8eeee;margin-bottom:32px;font-size:.88rem;line-height:1.55}.em-form-success{min-height:560px;background:var(--ice-soft);border-radius:8px;padding:clamp(35px,6vw,75px);display:grid;grid-template-columns:auto 1fr;gap:25px;align-content:center;position:relative;overflow:hidden}.em-form-success:after{content:"";position:absolute;width:500px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(120,156,181,.22);right:-260px;bottom:-270px}.em-form-success__icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:20px}.em-form-success h2{font-size:clamp(3.5rem,6vw,7rem);margin:.18em 0}.em-form-success p{font-size:1rem;line-height:1.7;max-width:540px;margin:0 0 28px}
.em-contact-local{padding:clamp(105px,12vw,190px) 0;background:var(--paper)}.em-contact-local__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(60px,10vw,180px);align-items:end}.em-contact-local h2{font-size:clamp(4.4rem,8.5vw,9.5rem);line-height:.91;margin:.18em 0 0;max-width:900px}.em-contact-local__copy{border-top:1px solid var(--line);padding-top:25px}.em-contact-local__copy p{font-size:1rem;line-height:1.75;color:#4f4f4f}.em-contact-close{background:var(--ink);color:#fff;min-height:78svh;display:grid;align-items:center;position:relative;overflow:hidden;padding:100px 0}.em-contact-close__orb{position:absolute;width:min(78vw,1150px);aspect-ratio:1;border-radius:50%;right:-28vw;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 38% 38%,rgba(169,198,218,.23),rgba(169,198,218,.04) 45%,transparent 68%);border:1px solid rgba(169,198,218,.16)}.em-contact-close h2{position:relative;font-size:clamp(5rem,10vw,11rem);line-height:.89;margin:.16em 0 0;max-width:1200px}
@media(max-width:1120px){.em-contact-hero__grid,.em-contact-form-grid,.em-contact-local__grid{grid-template-columns:1fr}.em-contact-hero__copy>p{max-width:760px}.em-contact-card{max-width:720px;min-height:390px}.em-contact-form-intro{position:relative;top:auto;max-width:760px}.em-contact-form-wrap{max-width:none}.em-contact-local__copy{max-width:760px}}
@media(max-width:700px){.em-contact-hero{padding:145px 0 72px}.em-contact-hero__copy h1{font-size:clamp(4rem,17vw,6.5rem)}.em-contact-card{min-height:410px;padding:28px 23px}.em-contact-card__index{left:23px;top:22px}.em-contact-form-section{padding:80px 0}.em-contact-form-intro h2{font-size:clamp(3.6rem,15vw,6rem)}.em-form-row--2{grid-template-columns:1fr}.em-contact-form{gap:27px}.em-contact-submit{display:grid}.em-contact-submit .em-btn{width:100%}.em-form-success{grid-template-columns:1fr;min-height:470px}.em-contact-local h2{font-size:clamp(4rem,16vw,6.6rem)}.em-contact-close{min-height:650px}.em-contact-close h2{font-size:clamp(4.1rem,16vw,7rem)}}

.em-contact-form .em-btn:disabled{opacity:.68;cursor:wait;transform:none}.em-contact-form .em-btn.is-submitting span{animation:emSubmitPulse .8s ease-in-out infinite alternate}@keyframes emSubmitPulse{to{transform:translate(4px,-4px)}}

/* --------------------------------------------------------------------------
   SERVICES — v0.5
   Porsche-scale interaction + luxury residential restraint.
   -------------------------------------------------------------------------- */
.em-services-hero{min-height:820px}.em-services-hero .em-hero__backdrop{background-image:var(--hero)}.em-services-hero__content{max-width:1120px}.em-services-hero__content .em-hero__title{font-size:clamp(5.2rem,10.4vw,11.9rem)}.em-services-hero__mesh{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.23;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(to left,#000,transparent 78%);-webkit-mask-image:linear-gradient(to left,#000,transparent 78%)}.em-services-hero__rail{position:absolute;right:32px;bottom:24px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.72);font-size:.58rem;text-transform:uppercase;letter-spacing:.16em}.em-services-hero__rail i{width:16px;height:1px;background:rgba(255,255,255,.35)}

.em-services-intro{background:var(--paper)}.em-services-intro__grid{display:grid;grid-template-columns:minmax(140px,.48fr) minmax(0,2fr);gap:clamp(55px,8vw,135px)}.em-services-intro__headline{font-size:clamp(4rem,7.5vw,8.6rem);margin:0;max-width:1220px}.em-services-intro__headline em{font-weight:400;color:var(--ice-deep)}.em-services-intro__lower{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:end;border-top:1px solid var(--line);padding-top:28px;margin-top:50px}.em-services-intro__lower p{max-width:700px;margin:0;color:#454545;font-size:1.06rem;line-height:1.76}

.em-services-index{padding:clamp(80px,9vw,145px) 0 clamp(105px,11vw,175px);background:#fff;overflow:hidden}.em-services-index__head{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:46px}.em-services-index__head h2{font-size:clamp(4rem,7vw,8.2rem);margin:.18em 0 0}.em-services-index__head>p{max-width:510px;margin:0;color:#555;line-height:1.75}.em-services-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.em-services-selector__card{height:clamp(500px,42vw,670px);border-radius:8px;padding:26px;position:relative;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate;transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out,box-shadow .4s var(--ease)}.em-services-selector__card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(460px circle at var(--mx,65%) var(--my,28%),rgba(255,255,255,.56),transparent 53%)}.em-services-selector__card:hover{box-shadow:0 32px 85px rgba(13,13,13,.14)}.em-services-selector__card--ink{background:#17191b;color:#fff}.em-services-selector__card--ice{background:var(--ice);color:var(--ink)}.em-services-selector__card--champagne{background:#d8caa7;color:var(--ink)}.em-services-selector__card--mist{background:#e5e7e8;color:var(--ink)}.em-services-selector__card--blue{background:#829fb4;color:#0b1115}.em-services-selector__number{position:absolute;top:24px;left:26px;font-size:.61rem;letter-spacing:.17em;font-weight:700}.em-services-selector__arrow{position:absolute;right:24px;top:20px;font-size:1.25rem;transition:transform .35s var(--ease)}.em-services-selector__card:hover .em-services-selector__arrow{transform:translate(5px,5px)}.em-services-selector__card h3{font-size:clamp(2.35rem,2.9vw,4rem);line-height:.94;margin:0 0 13px}.em-services-selector__card p{font-size:.83rem;line-height:1.58;max-width:270px;margin:0;opacity:.78}.em-services-selector__graphic{position:absolute;inset:13% 10% 38%;opacity:.5}.em-services-selector__graphic i{position:absolute;display:block;border:1px solid currentColor}.em-services-selector__graphic i:nth-child(1){inset:8% 2% 15% 20%;border-radius:50% 18% 44% 12%}.em-services-selector__graphic i:nth-child(2){inset:20% 20% 0 0;border-radius:12% 44% 18% 50%}.em-services-selector__graphic i:nth-child(3){width:33%;aspect-ratio:1;border-radius:50%;left:36%;top:31%;background:rgba(255,255,255,.08)}

.em-services-deep-dive{background:var(--paper);padding:clamp(115px,12vw,200px) 0}.em-services-deep-dive__layout{display:grid;grid-template-columns:minmax(220px,.44fr) minmax(0,1.56fr);gap:clamp(55px,8vw,130px);align-items:start}.em-services-nav{position:sticky;top:125px;align-self:start;padding-right:18px}.em-services-nav ol{list-style:none;margin:30px 0 28px;padding:0;border-top:1px solid var(--line)}.em-services-nav li{border-bottom:1px solid var(--line)}.em-services-nav a{display:grid;grid-template-columns:35px 1fr;gap:8px;padding:14px 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#777;transition:color .3s,padding-left .3s var(--ease)}.em-services-nav a span{font-size:.58rem;letter-spacing:.13em;color:#a0a0a0;padding-top:2px}.em-services-nav a:hover,.em-services-nav a.is-active{color:var(--ink);padding-left:5px}.em-services-nav a.is-active span{color:var(--ice-deep)}.em-services-nav__line{height:2px;background:rgba(13,13,13,.08);overflow:hidden}.em-services-nav__line span{display:block;width:20%;height:100%;background:var(--ice-deep);transform:translateX(var(--service-progress,0%));transition:transform .45s var(--ease)}

.em-services-deep-dive__content{display:grid;gap:clamp(100px,13vw,210px)}.em-service-chapter{scroll-margin-top:115px;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);gap:clamp(45px,7vw,105px);border-top:1px solid var(--line);padding-top:24px;position:relative}.em-service-chapter__top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.em-service-chapter__number{font-size:.62rem;letter-spacing:.18em;font-weight:700;color:var(--ice-deep)}.em-service-chapter__visual{min-height:clamp(520px,48vw,760px);border-radius:8px;position:relative;overflow:hidden;isolation:isolate;transform:perspective(1300px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out}.em-service-chapter--ink .em-service-chapter__visual{background:#17191b;color:#fff}.em-service-chapter--ice .em-service-chapter__visual{background:var(--ice);color:#16222a}.em-service-chapter--champagne .em-service-chapter__visual{background:#d8caa7;color:#191814}.em-service-chapter--mist .em-service-chapter__visual{background:#e2e5e6;color:#222}.em-service-chapter--blue .em-service-chapter__visual{background:#829fb4;color:#0e161c}.em-service-chapter__visual:after{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at var(--mx,60%) var(--my,30%),rgba(255,255,255,.38),transparent 52%);z-index:-1}.em-service-chapter__visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:58px 58px;opacity:.34;mask-image:linear-gradient(135deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(135deg,#000,transparent 85%)}.em-service-chapter__orbit{position:absolute;display:block;border:1px solid currentColor;border-radius:50%;opacity:.28}.em-service-chapter__orbit--1{width:72%;aspect-ratio:1;right:-19%;top:-8%}.em-service-chapter__orbit--2{width:44%;aspect-ratio:1;left:-13%;bottom:8%}.em-service-chapter__beam{position:absolute;width:1px;height:115%;left:58%;top:-8%;background:currentColor;opacity:.22;transform:rotate(28deg);transform-origin:center}.em-service-chapter__visual strong{position:absolute;left:30px;bottom:17px;font-family:var(--display);font-size:clamp(8rem,16vw,17rem);line-height:.8;font-weight:400;letter-spacing:.02em;opacity:.18}.em-service-chapter__copy{padding-top:clamp(30px,7vw,100px);align-self:start}.em-service-chapter__eyebrow{margin:0 0 19px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:#686868}.em-service-chapter__copy h2{font-size:clamp(4rem,6.2vw,7.2rem);line-height:.91;margin:0 0 28px}.em-service-chapter__description{font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.78;color:#4a4a4a;max-width:670px;margin:0 0 42px}.em-service-chapter__capabilities{border-top:1px solid var(--line);padding-top:18px;margin-bottom:36px}.em-service-chapter__capabilities ul{list-style:none;margin:15px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}.em-service-chapter__capabilities li{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.8rem}.em-service-chapter__capabilities li span{font-size:.72rem;color:var(--ice-deep)}

.em-services-standard{background:var(--ice);padding:clamp(120px,13vw,210px) 0;position:relative;overflow:hidden;isolation:isolate}.em-services-standard__field{position:absolute;inset:0;pointer-events:none;z-index:-1}.em-services-standard__field:before,.em-services-standard__field:after,.em-services-standard__field span{content:"";position:absolute;border:1px solid rgba(255,255,255,.36);border-radius:50%}.em-services-standard__field:before{width:54vw;aspect-ratio:1;right:-18vw;top:-28%}.em-services-standard__field:after{width:37vw;aspect-ratio:1;right:-8vw;top:-8%}.em-services-standard__field span:nth-child(1){width:22vw;aspect-ratio:1;right:1vw;top:12%}.em-services-standard__field span:nth-child(2){width:1px;height:110%;left:33%;top:-5%;border:0;background:rgba(255,255,255,.22);border-radius:0;transform:rotate(24deg)}.em-services-standard__field span:nth-child(3){width:1px;height:110%;left:67%;top:-5%;border:0;background:rgba(255,255,255,.16);border-radius:0;transform:rotate(24deg)}.em-services-standard__inner>h2{font-size:clamp(5rem,10vw,11.2rem);line-height:.87;margin:.17em 0 clamp(70px,9vw,130px);max-width:1150px}.em-services-standard__inner>h2 em{font-weight:400;color:#fff}.em-services-standard__principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(13,13,13,.25)}.em-services-standard__principles>div{padding:25px 27px 0 0;min-height:240px;border-right:1px solid rgba(13,13,13,.18)}.em-services-standard__principles>div+div{padding-left:27px}.em-services-standard__principles>div:last-child{border-right:0}.em-services-standard__principles span{font-size:.59rem;letter-spacing:.16em;font-weight:700}.em-services-standard__principles h3{font-family:var(--display);font-size:clamp(2.2rem,3vw,3.7rem);font-weight:400;letter-spacing:.04em;margin:40px 0 10px}.em-services-standard__principles p{font-size:.84rem;line-height:1.65;margin:0;max-width:280px;color:#23313a}

.em-services-local{background:#fff}.em-services-local__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(60px,10vw,170px);align-items:end}.em-services-local h2{font-size:clamp(5rem,9.4vw,10.5rem);line-height:.88;margin:.16em 0 0}.em-services-local__copy{border-top:1px solid var(--line);padding-top:27px}.em-services-local__copy p{font-size:1rem;line-height:1.78;color:#4a4a4a;margin:0 0 19px}.em-services-local__copy .em-arrow-link{margin-top:8px}

.em-services-faq{background:var(--paper)}.em-services-faq__grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(65px,9vw,155px);align-items:start}.em-services-faq__intro{position:sticky;top:130px}.em-services-faq__intro h2{font-size:clamp(4.4rem,7vw,8rem);margin:.18em 0 0}.em-services-faq__list{border-top:1px solid var(--line)}.em-services-faq details{border-bottom:1px solid var(--line)}.em-services-faq summary{list-style:none;display:flex;justify-content:space-between;gap:30px;align-items:center;padding:27px 0;cursor:pointer;font-family:var(--display);font-size:clamp(1.55rem,2.3vw,2.7rem);letter-spacing:.03em;line-height:1.12}.em-services-faq summary::-webkit-details-marker{display:none}.em-services-faq summary i{font-family:var(--sans);font-style:normal;font-size:1.35rem;font-weight:300;transition:transform .35s var(--ease)}.em-services-faq details[open] summary i{transform:rotate(45deg)}.em-services-faq details p{max-width:760px;color:#555;line-height:1.75;margin:0;padding:0 60px 28px 0}

.em-services-close{background:var(--ink);color:#fff;min-height:82svh;padding:clamp(110px,13vw,200px) 0;display:grid;align-items:center;position:relative;overflow:hidden;isolation:isolate}.em-services-close__glow{position:absolute;z-index:-1;width:min(88vw,1250px);aspect-ratio:1;border-radius:50%;right:-33vw;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 36% 42%,rgba(169,198,218,.26),rgba(169,198,218,.05) 47%,transparent 69%);border:1px solid rgba(169,198,218,.15);box-shadow:0 0 0 100px rgba(169,198,218,.015),0 0 0 200px rgba(169,198,218,.01)}.em-services-close__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:60px;align-items:end}.em-services-close h2{font-size:clamp(5.2rem,10vw,11.5rem);line-height:.87;margin:.16em 0 0}.em-services-close__action{padding-bottom:14px}.em-services-close__action p{font-size:1rem;line-height:1.7;color:#c4c4c4;max-width:420px;margin:0 0 30px}

@media(max-width:1280px){.em-services-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.em-services-selector__card:nth-child(4),.em-services-selector__card:nth-child(5){height:540px}.em-services-deep-dive__layout{grid-template-columns:190px 1fr;gap:55px}.em-service-chapter{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}}
@media(max-width:1020px){.em-services-hero__rail{display:none}.em-services-intro__grid,.em-services-local__grid,.em-services-faq__grid,.em-services-close__inner{grid-template-columns:1fr}.em-services-index__head{display:grid}.em-services-index__head>p{max-width:700px}.em-services-deep-dive__layout{grid-template-columns:1fr}.em-services-nav{position:sticky;top:72px;z-index:20;background:rgba(247,247,243,.94);backdrop-filter:blur(18px);margin-inline:-32px;padding:14px 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.em-services-nav>.em-kicker,.em-services-nav__line{display:none}.em-services-nav ol{display:flex;gap:23px;overflow-x:auto;border:0;margin:0;scrollbar-width:none}.em-services-nav ol::-webkit-scrollbar{display:none}.em-services-nav li{border:0;flex:none}.em-services-nav a{display:flex;gap:7px;padding:7px 0;white-space:nowrap}.em-services-nav a:hover,.em-services-nav a.is-active{padding-left:0}.em-service-chapter{scroll-margin-top:135px}.em-services-faq__intro{position:relative;top:auto}.em-services-standard__principles{grid-template-columns:repeat(2,minmax(0,1fr))}.em-services-standard__principles>div:nth-child(2){border-right:0}.em-services-standard__principles>div:nth-child(3),.em-services-standard__principles>div:nth-child(4){border-top:1px solid rgba(13,13,13,.18);padding-top:26px;margin-top:20px}.em-services-close__action{max-width:650px}}
@media(max-width:760px){.em-services-hero{min-height:720px}.em-services-hero__content .em-hero__title{font-size:clamp(4.5rem,18vw,7rem)}.em-services-hero__mesh{background-size:54px 54px}.em-services-intro__lower{grid-template-columns:1fr}.em-services-selector{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;scrollbar-width:none}.em-services-selector::-webkit-scrollbar{display:none}.em-services-selector__card,.em-services-selector__card:nth-child(4),.em-services-selector__card:nth-child(5){flex:0 0:min(84vw,360px);height:520px;scroll-snap-align:start}.em-services-index__head h2{font-size:clamp(3.7rem,15vw,6.4rem)}.em-services-nav{margin-inline:-20px;padding-inline:20px}.em-service-chapter{grid-template-columns:1fr;gap:32px}.em-service-chapter__top{margin-bottom:4px}.em-service-chapter__visual{min-height:470px}.em-service-chapter__copy{padding-top:0}.em-service-chapter__copy h2{font-size:clamp(3.8rem,15vw,6rem)}.em-service-chapter__capabilities ul{grid-template-columns:1fr}.em-services-standard__inner>h2{font-size:clamp(4.4rem,17vw,7.2rem)}.em-services-standard__principles{grid-template-columns:1fr}.em-services-standard__principles>div,.em-services-standard__principles>div+div{border-right:0;border-top:1px solid rgba(13,13,13,.18);padding:24px 0 34px;margin:0}.em-services-standard__principles>div:first-child{border-top:0}.em-services-standard__principles h3{margin-top:28px}.em-services-local h2{font-size:clamp(4.3rem,17vw,7rem)}.em-services-faq__intro h2{font-size:clamp(4rem,16vw,6.6rem)}.em-services-faq summary{font-size:clamp(1.45rem,7vw,2.2rem);padding:22px 0}.em-services-faq details p{padding-right:0}.em-services-close{min-height:720px}.em-services-close h2{font-size:clamp(4.2rem,17vw,7rem)}}

/* =========================================================
   ABOUT — editable Gutenberg page, luxury editorial + motion
   ========================================================= */
.em-about-page{overflow:hidden;background:var(--paper)}
.em-about-page .wp-block-group,.em-about-page .wp-block-image,.em-about-page .wp-block-heading,.em-about-page .wp-block-buttons,.em-about-page p{margin-block-start:0;margin-block-end:0}
.em-about-page .wp-block-image img{width:100%;height:100%;object-fit:cover}
.em-about-kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.69rem;font-weight:700}.em-about-kicker--light{color:rgba(255,255,255,.58)}

.em-about-hero{height:100svh;min-height:760px;position:relative;color:#fff;background:#111;isolation:isolate;overflow:hidden;--hero-scale:1.045;--hero-shift:0px;--hero-copy-opacity:1}
.em-about-hero__image{position:absolute;inset:-3%;z-index:-4;margin:0!important;transform:translateY(var(--hero-shift)) scale(var(--hero-scale));will-change:transform}
.em-about-hero__image img{width:100%;height:106%;object-fit:cover;filter:saturate(.72) contrast(1.03)}
.em-about-hero:before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(6,8,10,.28),rgba(6,8,10,.05) 34%,rgba(6,8,10,.28) 64%,rgba(6,8,10,.82)),linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.04) 67%)}
.em-about-hero:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:8.333vw 8.333vw;mask-image:linear-gradient(to bottom,rgba(0,0,0,.32),transparent 54%)}
.em-about-hero__content{position:absolute;z-index:2;left:max(32px,calc((100vw - min(1520px,calc(100vw - 64px)))/2));bottom:clamp(94px,12vh,145px);max-width:1120px;opacity:var(--hero-copy-opacity);transform:translateY(calc(var(--hero-shift)*.22))}
.em-about-hero__title{font-size:clamp(5.1rem,9.6vw,11.4rem);line-height:.86;max-width:1100px;margin:20px 0 0!important;text-wrap:balance;text-shadow:0 3px 34px rgba(0,0,0,.14)}
.em-about-hero__copy{max-width:650px;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.62;color:rgba(255,255,255,.88);margin-top:27px!important}
.em-about-hero__buttons{gap:10px;margin-top:31px!important}.em-about-page .wp-block-button__link{border-radius:4px;padding:15px 20px;font-size:.77rem;font-weight:720;text-decoration:none;transition:transform .25s var(--ease),background .3s,color .3s,border-color .3s}.em-about-page .wp-block-button__link:hover{transform:translateY(-2px)}
.em-about-button--light .wp-block-button__link{background:#fff;color:var(--ink)}.em-about-button--light .wp-block-button__link:hover{background:var(--ice-soft)}
.em-about-button--glass .wp-block-button__link{background:rgba(12,12,12,.18);color:#fff;border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(12px)}.em-about-button--glass .wp-block-button__link:hover{background:#fff;color:var(--ink)}
.em-about-button--dark .wp-block-button__link{background:var(--ink);color:#fff}.em-about-button--dark .wp-block-button__link:hover{background:#272727}
.em-about-button--outline .wp-block-button__link{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.46)}.em-about-button--outline .wp-block-button__link:hover{background:#fff;color:var(--ink)}
.em-about-hero__index{position:absolute;right:32px;bottom:27px;z-index:2;font-size:.59rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62)}

.em-about-intro{background:var(--paper)}.em-about-intro__grid{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,2fr);gap:clamp(55px,8vw,140px)}.em-about-intro__headline{font-size:clamp(3.7rem,7vw,8.4rem);line-height:.91;max-width:1250px}.em-about-intro__headline em,.em-about-manifesto__quote em,.em-about-craft__copy h2 em{font-style:italic;color:var(--ice-deep)}.em-about-intro__copy{max-width:820px;display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:58px;border-top:1px solid var(--line);padding-top:30px}.em-about-intro__copy p{font-size:1rem;line-height:1.75;color:#464646}

.em-about-founder{padding-top:35px;background:linear-gradient(to bottom,var(--paper) 0,var(--paper) 28%,#eceeec 28%,#eceeec 100%)}.em-about-founder__grid{display:grid;grid-template-columns:minmax(380px,.88fr) minmax(0,1.12fr);gap:clamp(55px,8vw,135px);align-items:center}.em-about-founder__media{position:relative;min-height:760px;transform:perspective(1500px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out}.em-about-founder__portrait{height:100%;min-height:760px;margin:0!important;overflow:hidden;border-radius:3px}.em-about-founder__portrait img{transition:transform 1.2s var(--ease)}.em-about-founder__media:hover img{transform:scale(1.025)}.em-about-founder__badge{position:absolute;right:-35px;bottom:42px;width:118px;height:118px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:4.3rem;line-height:1;border-radius:50%;box-shadow:0 22px 50px rgba(13,13,13,.2)}.em-about-founder__title{font-size:clamp(4.1rem,6.5vw,8rem);line-height:.9;margin:22px 0 0!important;max-width:850px}.em-about-founder__lead{font-family:var(--display);font-size:clamp(1.6rem,2.2vw,2.7rem);line-height:1.25;letter-spacing:.025em;max-width:760px;margin-top:45px!important}.em-about-founder__body{font-size:1rem;line-height:1.78;color:#4c4c4c;max-width:720px;margin-top:25px!important}.em-about-founder__signature{margin-top:42px!important;padding-top:24px;border-top:1px solid rgba(13,13,13,.16);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.em-about-founder__signature strong{font-size:.78rem}.em-about-founder__signature span{display:inline-block;margin-top:4px;color:#6e6e6e;font-size:.68rem}

.em-about-manifesto{min-height:96svh;background:var(--ink);color:#fff;display:grid;align-items:center;position:relative;isolation:isolate;overflow:hidden;padding:clamp(125px,14vw,220px) 0}.em-about-manifesto:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(700px circle at var(--mx,70%) var(--my,40%),rgba(169,198,218,.18),transparent 62%)}.em-about-manifesto__orbit{position:absolute;z-index:-1;width:min(78vw,1200px);aspect-ratio:1;border:1px solid rgba(169,198,218,.13);border-radius:50%;right:-23vw;top:50%;transform:translateY(-50%)}.em-about-manifesto__orbit:before,.em-about-manifesto__orbit:after{content:"";position:absolute;border:1px solid rgba(169,198,218,.1);border-radius:50%;inset:10%}.em-about-manifesto__orbit:after{inset:23%}.em-about-manifesto__quote{font-size:clamp(4.5rem,8.4vw,10.3rem);line-height:.91;max-width:1390px;margin-top:45px!important}.em-about-manifesto__quote em{color:var(--ice);font-style:italic}.em-about-manifesto__footer{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.18);margin-top:65px;padding-top:20px;font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.57)}.em-about-manifesto__footer p{margin:0!important}

.em-about-values{background:var(--paper)}.em-about-values__head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:80px;align-items:end;margin-bottom:55px}.em-about-values__head h2{font-size:clamp(4rem,7.2vw,8.8rem);line-height:.9;margin-top:18px!important}.em-about-values__head>p{max-width:520px;color:#555;line-height:1.72;padding-bottom:11px}.em-about-values__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.em-about-value{min-height:470px;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:5px}.em-about-value:after{content:"";position:absolute;width:260px;height:260px;border:1px solid currentColor;border-radius:50%;opacity:.13;right:-90px;top:52px;box-shadow:0 0 0 45px color-mix(in srgb,currentColor 5%,transparent),0 0 0 90px color-mix(in srgb,currentColor 3%,transparent)}.em-about-value__number{font-size:.64rem!important;letter-spacing:.18em;margin:0!important}.em-about-value h3{font-size:clamp(2.8rem,4vw,4.8rem);line-height:.94;margin-top:auto!important;position:relative;z-index:1}.em-about-value p{position:relative;z-index:1;max-width:280px;font-size:.88rem;line-height:1.62;margin-top:16px!important;opacity:.76}.em-about-value--ink{background:var(--ink);color:#fff}.em-about-value--ice{background:var(--ice)}.em-about-value--champagne{background:#d8c9a7}.em-about-value--mist{background:#d9dee1}

.em-about-craft{background:#eceeec}.em-about-craft__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(50px,7vw,120px);align-items:center}.em-about-craft__image{height:min(72vw,870px);max-height:870px;overflow:hidden;transform:perspective(1500px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out}.em-about-craft__image figure{height:100%;margin:0!important}.em-about-craft__copy h2{font-size:clamp(4.4rem,7vw,8.4rem);line-height:.89;margin:22px 0 0!important}.em-about-craft__copy>p{font-size:1rem;line-height:1.77;color:#484848;max-width:580px;margin-top:34px!important}.em-about-craft__copy .wp-block-buttons{margin-top:32px!important}

.em-about-local{background:var(--ice);padding:clamp(100px,11vw,175px) 0}.em-about-local__grid{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:clamp(60px,8vw,135px);align-items:center}.em-about-local__copy h2{font-size:clamp(5rem,8vw,9.5rem);line-height:.87;margin:22px 0 0!important}.em-about-local__copy>p:not(.em-about-kicker):not(.em-about-local__cities){font-size:1rem;line-height:1.75;max-width:560px;margin-top:32px!important}.em-about-local__cities{font-size:.7rem;line-height:1.8;text-transform:uppercase;letter-spacing:.14em;border-top:1px solid rgba(13,13,13,.2);padding-top:20px;margin-top:34px!important}.em-about-local__image{height:min(58vw,760px);overflow:hidden;border-radius:4px;box-shadow:0 28px 80px rgba(13,13,13,.11);transform:perspective(1500px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out}.em-about-local__image figure{height:100%;margin:0!important}

.em-about-close{background:var(--ink);color:#fff;min-height:88svh;display:grid;align-items:center;position:relative;isolation:isolate;overflow:hidden;padding:clamp(120px,13vw,210px) 0}.em-about-close__glow{position:absolute;z-index:-1;width:min(82vw,1250px);aspect-ratio:1;border-radius:50%;right:-29vw;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 35% 42%,rgba(169,198,218,.22),rgba(169,198,218,.05) 46%,transparent 68%);border:1px solid rgba(169,198,218,.12);box-shadow:0 0 0 110px rgba(169,198,218,.014),0 0 0 220px rgba(169,198,218,.008)}.em-about-close__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:70px;align-items:end}.em-about-close h2{font-size:clamp(5rem,9.4vw,11rem);line-height:.87;margin:20px 0 0!important}.em-about-close__buttons{justify-content:flex-end;align-items:flex-end;gap:10px;padding-bottom:15px}

/* Front-end editing affordance — visible only to logged-in editors. */
.em-edit-page{position:fixed;left:22px;bottom:22px;z-index:10020;display:inline-flex;align-items:center;gap:10px;background:rgba(13,13,13,.9);color:#fff!important;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);border-radius:999px;padding:11px 15px;font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 15px 40px rgba(0,0,0,.22);transition:transform .25s var(--ease),background .25s}.em-edit-page:hover{transform:translateY(-3px);background:var(--ice);color:var(--ink)!important}.em-edit-page span{font-size:.9rem}.admin-bar .em-header{top:32px}

/* Reveal classes for Gutenberg-managed About content. */
.em-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.em-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1100px){.em-about-intro__grid,.em-about-founder__grid,.em-about-craft__grid,.em-about-local__grid,.em-about-close__inner{grid-template-columns:1fr}.em-about-founder__media{max-width:720px}.em-about-founder__badge{right:24px}.em-about-values__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.em-about-values__head{grid-template-columns:1fr}.em-about-craft__image,.em-about-local__image{height:min(85vw,720px)}.em-about-close__buttons{justify-content:flex-start}.em-about-local__copy{max-width:760px}}
@media(max-width:782px){.admin-bar .em-header{top:46px}}
@media(max-width:760px){.em-about-hero{min-height:760px}.em-about-hero__content{left:20px;right:20px;bottom:92px}.em-about-hero__title{font-size:clamp(4.5rem,18vw,7.2rem)}.em-about-hero__copy{font-size:.96rem}.em-about-hero__index{right:20px;bottom:20px}.em-about-intro__grid{gap:35px}.em-about-intro__headline{font-size:clamp(3.7rem,15vw,6.2rem)}.em-about-intro__copy{grid-template-columns:1fr;gap:22px;margin-top:40px}.em-about-founder{background:#eceeec;padding-top:100px}.em-about-founder__media,.em-about-founder__portrait{min-height:610px}.em-about-founder__title{font-size:clamp(4rem,15vw,6.2rem)}.em-about-founder__lead{font-size:1.65rem}.em-about-manifesto{min-height:820px}.em-about-manifesto__quote{font-size:clamp(3.9rem,14.3vw,6.4rem)}.em-about-manifesto__footer{display:grid}.em-about-values__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;scrollbar-width:none}.em-about-values__grid::-webkit-scrollbar{display:none}.em-about-value{flex:0 0:min(84vw,350px);min-height:500px;scroll-snap-align:start}.em-about-values__head h2{font-size:clamp(3.9rem,15vw,6.4rem)}.em-about-craft__copy h2{font-size:clamp(4rem,15vw,6.5rem)}.em-about-local__copy h2{font-size:clamp(4.7rem,18vw,7.2rem)}.em-about-close{min-height:760px}.em-about-close h2{font-size:clamp(4.3rem,16.5vw,7rem)}.em-about-close__buttons{display:grid!important;width:100%}.em-about-close__buttons .wp-block-button,.em-about-close__buttons .wp-block-button__link{width:100%}.em-edit-page{left:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.em-reveal{opacity:1;transform:none;transition:none}.em-about-hero__image,.em-about-founder__media,.em-about-craft__image,.em-about-local__image{transform:none!important}}

/* ==============================================================
   v0.7 — Service detail pages
   Editable Gutenberg content + Porsche-inspired motion/scale
   ============================================================== */
.em-service-detail-page{overflow:hidden;background:var(--paper)}
.em-service-detail{--service-accent:var(--ice);--service-accent-soft:#dce8f0;--service-ink:#0d0d0d}
.em-service-detail--ink{--service-accent:#a9c6da;--service-accent-soft:#dce8f0}
.em-service-detail--ice{--service-accent:#a9c6da;--service-accent-soft:#e3edf3}
.em-service-detail--champagne{--service-accent:#c9b98c;--service-accent-soft:#e8dfc7}
.em-service-detail--mist{--service-accent:#aabecb;--service-accent-soft:#e6edf1}
.em-service-detail--blue{--service-accent:#8fb5cc;--service-accent-soft:#d6e6ef}
.em-service-detail .wp-block-group,.em-service-detail figure,.em-service-detail p,.em-service-detail h1,.em-service-detail h2,.em-service-detail h3{margin-block-start:0;margin-block-end:0}
.em-service-detail-kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.68rem;font-weight:750}
.em-service-detail-kicker--light{color:rgba(255,255,255,.55)}
.em-service-detail-button .wp-block-button__link{border-radius:4px!important;padding:15px 19px!important;font-size:.78rem!important;font-weight:750!important;line-height:1!important;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.em-service-detail-button .wp-block-button__link:hover{transform:translateY(-2px)}
.em-service-detail-button--light .wp-block-button__link{background:#fff!important;color:var(--ink)!important}
.em-service-detail-button--dark .wp-block-button__link{background:var(--ink)!important;color:#fff!important}
.em-service-detail-button--glass .wp-block-button__link{background:rgba(10,10,10,.16)!important;color:#fff!important;border:1px solid rgba(255,255,255,.72)!important;backdrop-filter:blur(12px)}
.em-service-detail-button--outline .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.42)!important}

.em-service-detail-hero{height:100svh;min-height:760px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#101214;color:#fff;isolation:isolate}
.em-service-detail-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,7,8,.08),rgba(5,7,8,.16) 38%,rgba(5,7,8,.82) 100%),linear-gradient(90deg,rgba(0,0,0,.28),transparent 62%)}
.em-service-detail-hero__image{position:absolute;inset:-2%;z-index:-2;margin:0!important;transform:scale(1.035);transition:transform 1.4s var(--ease)}
.em-service-detail-hero__image img{width:100%;height:100%;object-fit:cover}
.em-service-detail-hero:hover .em-service-detail-hero__image{transform:scale(1.02)}
.em-service-detail-hero__content{width:var(--shell);margin-inline:auto;padding-bottom:clamp(88px,11vh,135px);position:relative;z-index:2;max-width:none!important}
.em-service-detail-hero__title{font-size:clamp(5rem,9.3vw,10.8rem);line-height:.87;max-width:1300px;margin:20px 0 0!important;text-wrap:balance}
.em-service-detail-hero__lede{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65;max-width:680px;color:rgba(255,255,255,.9);margin-top:25px!important}
.em-service-detail-hero__buttons{margin-top:30px!important;gap:10px!important}
.em-service-detail-hero__index{position:absolute;right:32px;bottom:26px;z-index:2;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.58)}

.em-service-detail-intro{background:var(--paper)}
.em-service-detail-intro__grid{display:grid;grid-template-columns:minmax(175px,.5fr) minmax(0,1.75fr);gap:clamp(55px,8vw,140px)}
.em-service-detail-intro__title{font-size:clamp(4.1rem,7.4vw,8.8rem);line-height:.9;max-width:1260px}
.em-service-detail-intro__copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);max-width:920px;border-top:1px solid var(--line);padding-top:29px;margin-top:55px!important}
.em-service-detail-intro__copy p{font-size:1rem;line-height:1.78;color:#484848}

.em-service-detail-scope{background:#fff;padding-top:clamp(85px,9vw,145px);padding-bottom:clamp(100px,11vw,180px)}
.em-service-detail-scope__grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(65px,10vw,165px);align-items:start}
.em-service-detail-scope__intro{position:sticky;top:128px}
.em-service-detail-scope__intro h2{font-size:clamp(3.7rem,6.1vw,7rem);line-height:.93;margin-top:19px!important}
.em-service-detail-scope__intro>p:last-child{font-size:.92rem;line-height:1.72;color:#606060;max-width:430px;margin-top:30px!important}
.em-service-detail-scope__list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.em-service-detail-scope__list li{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 2px;border-bottom:1px solid var(--line);font-family:var(--display);font-size:clamp(2rem,3.4vw,4rem);letter-spacing:.025em;line-height:1.05;transition:padding .35s var(--ease),color .35s}
.em-service-detail-scope__list li:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--service-accent);transition:width .45s var(--ease)}
.em-service-detail-scope__list li:hover{padding-left:14px}.em-service-detail-scope__list li:hover:before{width:100%}.em-service-detail-scope__list li span{font-family:var(--sans);font-size:1rem;transition:transform .3s var(--ease)}.em-service-detail-scope__list li:hover span{transform:translate(5px,-5px)}

.em-service-detail-feature{background:#eceeec}
.em-service-detail-feature__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:clamp(55px,8vw,135px);align-items:center}
.em-service-detail-feature__media{height:min(70vw,850px);overflow:hidden;border-radius:4px;transform:perspective(1500px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out,box-shadow .5s var(--ease);box-shadow:0 22px 80px rgba(13,13,13,.08)}
.em-service-detail-feature__media figure{height:100%;margin:0!important}.em-service-detail-feature__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.em-service-detail-feature__media:hover img{transform:scale(1.025)}
.em-service-detail-feature__copy h2{font-size:clamp(4rem,6.8vw,8rem);line-height:.9;margin-top:20px!important}
.em-service-detail-feature__copy>p{font-size:1rem;line-height:1.78;color:#4b4b4b;max-width:590px;margin-top:27px!important}
.em-service-detail-feature__copy .wp-block-buttons{margin-top:34px!important}

.em-service-detail-manifesto{min-height:94svh;background:var(--ink);color:#fff;display:grid;align-items:center;position:relative;isolation:isolate;overflow:hidden;padding:clamp(120px,14vw,220px) 0}
.em-service-detail-manifesto:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(720px circle at var(--mx,72%) var(--my,42%),color-mix(in srgb,var(--service-accent) 22%,transparent),transparent 64%)}
.em-service-detail-manifesto__rings{position:absolute;z-index:-1;width:min(77vw,1180px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--service-accent) 22%,transparent);border-radius:50%;right:-24vw;top:50%;transform:translateY(-50%)}
.em-service-detail-manifesto__rings:before,.em-service-detail-manifesto__rings:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--service-accent) 17%,transparent);border-radius:50%;inset:11%}.em-service-detail-manifesto__rings:after{inset:25%}
.em-service-detail-manifesto__quote{font-size:clamp(4.5rem,8.2vw,10rem);line-height:.91;max-width:1400px;margin-top:43px!important}
.em-service-detail-manifesto__signoff{margin-top:70px!important;border-top:1px solid rgba(255,255,255,.16);padding-top:20px;font-size:.61rem;letter-spacing:.18em;color:rgba(255,255,255,.55)}

.em-service-detail-process{background:var(--paper)}
.em-service-detail-process__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:80px;align-items:end;margin-bottom:55px}
.em-service-detail-process__head h2{font-size:clamp(4.2rem,7.3vw,8.5rem);line-height:.9;margin-top:19px!important}.em-service-detail-process__head>p{font-size:1rem;line-height:1.75;color:#555;max-width:560px;padding-bottom:8px}
.em-service-detail-process__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.em-service-detail-process__step{min-height:390px;padding:27px 27px 30px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.em-service-detail-process__step+.em-service-detail-process__step{padding-left:27px}.em-service-detail-process__step:last-child{border-right:0}.em-service-detail-process__step>p:first-child{font-size:.61rem;letter-spacing:.18em;color:var(--ice-deep)}.em-service-detail-process__step h3{font-size:clamp(2.3rem,3.3vw,4rem);line-height:.94;margin-top:auto!important}.em-service-detail-process__step>p:last-child{font-size:.88rem;line-height:1.65;color:#5b5b5b;max-width:270px;margin-top:20px!important}

.em-service-detail-local{background:var(--service-accent);position:relative;overflow:hidden}.em-service-detail-local:after{content:"";position:absolute;width:min(60vw,900px);aspect-ratio:1;border:1px solid rgba(255,255,255,.32);border-radius:50%;right:-25vw;top:50%;transform:translateY(-50%);box-shadow:0 0 0 90px rgba(255,255,255,.06),0 0 0 180px rgba(255,255,255,.035)}
.em-service-detail-local__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:clamp(60px,9vw,145px);align-items:end}
.em-service-detail-local__headline h2{font-size:clamp(5rem,8.6vw,10rem);line-height:.87;margin-top:20px!important}.em-service-detail-local__copy{max-width:600px;border-top:1px solid rgba(13,13,13,.22);padding-top:26px}.em-service-detail-local__copy p{font-size:.97rem;line-height:1.75;color:#24313a}.em-service-detail-local__copy p+p{margin-top:22px!important}.em-service-detail-local__cities{font-size:.65rem!important;letter-spacing:.14em!important;line-height:1.8!important;font-weight:750;text-transform:uppercase;color:var(--ink)!important}

.em-service-detail-faq{background:#fff}.em-service-detail-faq__grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(70px,10vw,165px);align-items:start}.em-service-detail-faq__head{position:sticky;top:128px}.em-service-detail-faq__head h2{font-size:clamp(4.1rem,6.8vw,8rem);line-height:.91;margin-top:19px!important}.em-service-detail-faq__list{border-top:1px solid var(--line)}
.em-service-detail-faq__item{border-bottom:1px solid var(--line);margin:0!important}.em-service-detail-faq__item summary{list-style:none;cursor:pointer;font-family:var(--display);font-size:clamp(1.7rem,2.5vw,3rem);letter-spacing:.025em;line-height:1.1;padding:27px 52px 27px 0;position:relative}.em-service-detail-faq__item summary::-webkit-details-marker{display:none}.em-service-detail-faq__item summary:after{content:"+";position:absolute;right:5px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:1.3rem;font-weight:300;transition:transform .35s var(--ease)}.em-service-detail-faq__item[open] summary:after{transform:translateY(-50%) rotate(45deg)}.em-service-detail-faq__item>p{font-size:.96rem;line-height:1.78;color:#565656;max-width:760px;padding:0 50px 29px 0!important}

.em-service-detail-close{background:var(--ink);color:#fff;min-height:86svh;display:grid;align-items:center;position:relative;overflow:hidden;isolation:isolate;padding:clamp(120px,13vw,210px) 0}.em-service-detail-close__glow{position:absolute;z-index:-1;width:min(80vw,1200px);aspect-ratio:1;border-radius:50%;right:-30vw;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 35% 43%,color-mix(in srgb,var(--service-accent) 24%,transparent),color-mix(in srgb,var(--service-accent) 5%,transparent) 47%,transparent 69%);border:1px solid color-mix(in srgb,var(--service-accent) 17%,transparent)}
.em-service-detail-close__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:70px;align-items:end}.em-service-detail-close h2{font-size:clamp(5rem,9.4vw,11rem);line-height:.87;margin-top:18px!important}.em-service-detail-close__action{padding-bottom:12px}.em-service-detail-close__action>p{font-size:1rem;line-height:1.72;color:#bdbdbd;max-width:430px;margin-bottom:30px!important}.em-service-detail-close__action .wp-block-buttons{gap:10px!important}
.em-service-chapter__actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}

@media(max-width:1050px){
  .em-service-detail-intro__grid,.em-service-detail-scope__grid,.em-service-detail-feature__grid,.em-service-detail-local__grid,.em-service-detail-faq__grid,.em-service-detail-close__grid{grid-template-columns:1fr}
  .em-service-detail-intro__grid{gap:36px}.em-service-detail-scope__intro,.em-service-detail-faq__head{position:relative;top:auto;max-width:760px}.em-service-detail-feature__media{height:min(82vw,760px)}.em-service-detail-process__head{grid-template-columns:1fr}.em-service-detail-process__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.em-service-detail-process__step:nth-child(2){border-right:0}.em-service-detail-process__step:nth-child(3),.em-service-detail-process__step:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:760px){
  .em-service-detail-hero{min-height:760px}.em-service-detail-hero__content{width:calc(100% - 40px);padding-bottom:88px}.em-service-detail-hero__title{font-size:clamp(4.35rem,17vw,7rem)}.em-service-detail-hero__lede{font-size:.96rem;line-height:1.58}.em-service-detail-hero__index{right:20px;bottom:20px}.em-service-detail-hero__buttons{display:grid!important;width:100%}.em-service-detail-hero__buttons .wp-block-button,.em-service-detail-hero__buttons .wp-block-button__link{width:100%}
  .em-service-detail-intro__title{font-size:clamp(3.75rem,14.5vw,6.2rem)}.em-service-detail-intro__copy{grid-template-columns:1fr;gap:22px;margin-top:38px!important}
  .em-service-detail-scope__intro h2{font-size:clamp(3.6rem,14vw,5.8rem)}.em-service-detail-scope__list li{font-size:clamp(2rem,9.2vw,3.3rem);padding:22px 0}
  .em-service-detail-feature__media{height:125vw;max-height:690px}.em-service-detail-feature__copy h2{font-size:clamp(3.9rem,14.8vw,6rem)}
  .em-service-detail-manifesto{min-height:800px}.em-service-detail-manifesto__quote{font-size:clamp(3.8rem,14vw,6.2rem)}
  .em-service-detail-process__head h2{font-size:clamp(3.9rem,15vw,6.2rem)}.em-service-detail-process__grid{grid-template-columns:1fr}.em-service-detail-process__step,.em-service-detail-process__step+.em-service-detail-process__step{min-height:300px;border-right:0;border-top:1px solid var(--line);padding:24px 0 30px}.em-service-detail-process__step:first-child{border-top:0}
  .em-service-detail-local__headline h2{font-size:clamp(4.4rem,17vw,7rem)}.em-service-detail-local:after{width:850px;right:-620px}
  .em-service-detail-faq__head h2{font-size:clamp(4rem,15.5vw,6.4rem)}.em-service-detail-faq__item summary{font-size:clamp(1.55rem,7.2vw,2.3rem);padding:23px 45px 23px 0}.em-service-detail-faq__item>p{padding-right:0!important}
  .em-service-detail-close{min-height:760px}.em-service-detail-close h2{font-size:clamp(4.2rem,16.5vw,6.9rem)}.em-service-detail-close__action .wp-block-buttons{display:grid!important}.em-service-detail-close__action .wp-block-button,.em-service-detail-close__action .wp-block-button__link{width:100%}
}

/* v0.7 — iOS/mobile navigation hardening.
   The old off-canvas transform could leak the large menu labels into the page on Safari.
   Closed menus are now truly hidden, non-interactive, and only become visible when opened. */
@media(max-width:1120px){
  .em-header{transition:transform .36s var(--ease),padding .45s var(--ease),background .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease),backdrop-filter .45s var(--ease)}
  .em-header.is-hidden-mobile{transform:translateY(-115%)}
  body.menu-open .em-header{transform:none!important}
  .em-nav{height:100dvh;min-height:100svh;overflow-y:auto;overscroll-behavior:contain;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(0,-14px,0)!important;transition:opacity .28s ease,transform .48s var(--ease),visibility 0s linear .5s!important}
  .em-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0)!important;transition-delay:0s!important}
}

/* Service detail heroes use the white mark over imagery, then return to the light sticky header after scroll. */
body.page-template-page-service-detail-php .em-header:not(.is-scrolled){background:transparent;color:#fff;backdrop-filter:none;box-shadow:none}
body.page-template-page-service-detail-php .em-header:not(.is-scrolled):after{opacity:1;background:rgba(255,255,255,.22)}
body.page-template-page-service-detail-php .em-header:not(.is-scrolled) .em-brand__logo--light{opacity:1}
body.page-template-page-service-detail-php .em-header:not(.is-scrolled) .em-brand__logo--dark{opacity:0}
body.page-template-page-service-detail-php .em-header:not(.is-scrolled) .em-nav__cta{background:rgba(10,10,10,.15);color:#fff;border-color:rgba(255,255,255,.72)}
@media(max-width:1120px){body.page-template-page-service-detail-php.menu-open .em-header{background:var(--paper);color:var(--ink);backdrop-filter:blur(22px) saturate(150%)}body.page-template-page-service-detail-php.menu-open .em-brand__logo--light{opacity:0}body.page-template-page-service-detail-php.menu-open .em-brand__logo--dark{opacity:1}}

/* =========================================================
   v0.8 — LUXE UX PASS
   Calmer scale, stronger hierarchy, photographic placeholders,
   and progressive-enhancement motion for a more Porsche-like feel.
   ========================================================= */

:root{--shell:min(1480px,calc(100vw - 72px));--header-h:78px}
html{scrollbar-gutter:stable}
.em-section{padding:clamp(78px,7vw,128px) 0}
.em-section-title{font-size:clamp(3rem,5.2vw,6.1rem);line-height:.96;max-width:980px;text-wrap:balance}

/* Header / brand — the original source art had large transparent margins;
   v0.8 ships tightly cropped logo files so the mark finally reads at the intended scale. */
.em-header{padding:20px 34px}
.em-header.is-scrolled{padding:11px 34px}
.em-header__inner{max-width:1540px}
.em-brand{width:258px;height:48px}
.em-brand__logo{width:252px;max-height:46px}
.em-nav__list{gap:34px}.em-nav__list a{font-size:.7rem;letter-spacing:.14em}
.em-nav__cta{padding:13px 18px}

/* Hero — two deliberate statements instead of one oversized paragraph. */
.em-hero__content{max-width:900px;bottom:clamp(78px,10vh,116px)}
.em-hero__eyebrow{margin-bottom:18px}
.em-hero__title{font-size:clamp(4rem,7vw,7.9rem);line-height:.91;max-width:820px;letter-spacing:.035em}
.em-hero__title-line{display:block}
.em-hero__title-divider{display:block;width:clamp(64px,6vw,96px);height:1px;background:linear-gradient(90deg,var(--ice),rgba(255,255,255,.26));margin:clamp(18px,2vw,28px) 0 clamp(14px,1.4vw,20px)}
.em-hero__title-line--secondary{font-size:.92em;margin-left:clamp(18px,3vw,54px)}
.em-hero__copy{font-size:clamp(.96rem,1.05vw,1.12rem);max-width:590px;margin-top:22px}
.em-hero__actions{margin-top:26px}
.em-hero__backdrop{transition:filter .6s var(--ease)}
.em-hero:hover .em-hero__backdrop{filter:saturate(1.03) contrast(1.015)}

/* Home intro — editorial, not billboard-size. */
.em-intro__grid{grid-template-columns:minmax(140px,.42fr) minmax(0,1.58fr);gap:clamp(48px,7vw,108px)}
.em-intro__headline{font-size:clamp(3.15rem,4.9vw,5.65rem);line-height:.96;max-width:920px;text-wrap:balance}
.em-intro__lower{margin-top:42px;padding-top:24px}.em-intro__lower p{font-size:1rem;max-width:610px}

/* Home service selector — five photographic, tinted "models". */
.em-service-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.em-service-tile{min-height:520px;padding:24px;background-size:cover!important;background-position:center!important}
.em-service-tile:before{z-index:-1;background:radial-gradient(480px circle at var(--mx,55%) var(--my,35%),rgba(255,255,255,.24),transparent 52%)}
.em-service-tile:after{background:linear-gradient(to top,rgba(6,8,10,.82) 0%,rgba(6,8,10,.2) 57%,rgba(6,8,10,.08) 100%)}
.em-service-tile--01{background-image:linear-gradient(rgba(13,13,13,.18),rgba(13,13,13,.18)),url('../img/placeholders/placeholder-house-night.jpg');color:#fff}
.em-service-tile--02{background-image:linear-gradient(rgba(169,198,218,.25),rgba(12,20,25,.32)),url('../img/placeholders/placeholder-bright-kitchen.jpg');color:#fff}
.em-service-tile--03{background-image:linear-gradient(rgba(201,185,140,.2),rgba(30,27,21,.42)),url('../img/placeholders/placeholder-bathroom.jpg');color:#fff}
.em-service-tile--04{background-image:linear-gradient(rgba(169,198,218,.22),rgba(12,18,22,.44)),url('../img/placeholders/placeholder-property.jpg');color:#fff}
.em-service-tile--05{background-image:linear-gradient(rgba(104,104,104,.16),rgba(8,12,15,.45)),url('../img/placeholders/placeholder-exterior-detail.jpg');color:#fff}
.em-service-tile__graphic{opacity:.22}.em-service-tile__copy h3{font-size:clamp(1.75rem,2.1vw,2.9rem)}.em-service-tile__copy p{font-size:.8rem;color:rgba(255,255,255,.78)}
.em-service-tile__index{color:rgba(255,255,255,.78)}

/* Signature sections — still dramatic, now proportionate. */
.em-statement{min-height:70svh;padding:clamp(96px,10vw,150px) 0}.em-statement h2{font-size:clamp(4rem,7.2vw,8.1rem);line-height:.9}
.em-process-step h3{font-size:clamp(2rem,3vw,3.65rem)}
.em-location{min-height:76svh}.em-location h2{font-size:clamp(4rem,7vw,7.8rem)}
.em-final-cta{padding:clamp(88px,10vw,145px) 0}.em-final-cta h2{font-size:clamp(4rem,7vw,7.7rem)}

/* SERVICES landing — keep the scale premium, not theatrical. */
.em-services-hero__content .em-hero__title{font-size:clamp(4rem,7vw,8rem);max-width:860px}
.em-services-intro__headline{font-size:clamp(3.25rem,5.4vw,6.2rem);max-width:980px}
.em-services-index{padding:clamp(72px,7vw,112px) 0 clamp(88px,8vw,135px)}
.em-services-index__head h2{font-size:clamp(3.25rem,5.1vw,5.9rem)}
.em-services-selector__card{height:clamp(430px,34vw,570px);background-size:cover!important;background-position:center!important;color:#fff!important}
.em-services-selector__card:before{background:linear-gradient(to top,rgba(7,9,10,.72),rgba(7,9,10,.08) 64%),radial-gradient(440px circle at var(--mx,65%) var(--my,28%),rgba(255,255,255,.18),transparent 52%)}
.em-services-selector__card:nth-child(1){background-image:url('../img/placeholders/placeholder-house-night.jpg')}
.em-services-selector__card:nth-child(2){background-image:url('../img/placeholders/placeholder-bright-kitchen.jpg')}
.em-services-selector__card:nth-child(3){background-image:url('../img/placeholders/placeholder-bathroom.jpg')}
.em-services-selector__card:nth-child(4){background-image:url('../img/placeholders/placeholder-property.jpg')}
.em-services-selector__card:nth-child(5){background-image:url('../img/placeholders/placeholder-exterior-detail.jpg')}
.em-services-selector__graphic{opacity:.17}.em-services-selector__card h3{font-size:clamp(1.8rem,2.2vw,3rem)}.em-services-selector__card p{color:rgba(255,255,255,.78)}
.em-services-deep-dive{padding:clamp(90px,9vw,145px) 0}.em-services-deep-dive__content{gap:clamp(82px,9vw,145px)}
.em-service-chapter__visual{min-height:clamp(460px,41vw,650px);background-size:cover!important;background-position:center!important}
.em-service-chapter:nth-child(1) .em-service-chapter__visual{background-image:linear-gradient(rgba(8,10,12,.25),rgba(8,10,12,.38)),url('../img/placeholders/placeholder-house-night.jpg')}
.em-service-chapter:nth-child(2) .em-service-chapter__visual{background-image:linear-gradient(rgba(169,198,218,.14),rgba(10,14,16,.28)),url('../img/placeholders/placeholder-bright-kitchen.jpg')}
.em-service-chapter:nth-child(3) .em-service-chapter__visual{background-image:linear-gradient(rgba(201,185,140,.12),rgba(16,16,16,.25)),url('../img/placeholders/placeholder-bathroom.jpg')}
.em-service-chapter:nth-child(4) .em-service-chapter__visual{background-image:linear-gradient(rgba(169,198,218,.1),rgba(9,12,14,.32)),url('../img/placeholders/placeholder-property.jpg')}
.em-service-chapter:nth-child(5) .em-service-chapter__visual{background-image:linear-gradient(rgba(120,156,181,.1),rgba(7,10,12,.34)),url('../img/placeholders/placeholder-exterior-detail.jpg')}
.em-service-chapter__visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.34));z-index:-1}
.em-service-chapter__visual-grid{opacity:.18}.em-service-chapter__orbit{opacity:.18}.em-service-chapter__visual strong{color:#fff;opacity:.2}
.em-service-chapter__copy h2{font-size:clamp(3.15rem,4.6vw,5.55rem)}
.em-services-standard{padding:clamp(92px,10vw,150px) 0}.em-services-standard__inner>h2{font-size:clamp(4rem,7.3vw,8rem);margin-bottom:clamp(54px,6vw,86px)}
.em-services-local h2{font-size:clamp(4rem,7vw,7.8rem)}.em-services-faq__intro h2{font-size:clamp(3.5rem,5.2vw,5.9rem)}
.em-services-close{min-height:72svh}.em-services-close h2{font-size:clamp(4rem,7.2vw,8rem)}

/* ABOUT — more editorial breathing room, far less wall-of-text scale. */
.em-about-hero__title{font-size:clamp(4rem,7vw,8rem);max-width:900px;line-height:.9}.em-about-hero__content{max-width:940px}
.em-about-intro__headline{font-size:clamp(3.25rem,5.2vw,5.95rem);max-width:980px}.em-about-intro__copy{margin-top:44px;gap:38px}
.em-about-founder__media,.em-about-founder__portrait{min-height:650px}.em-about-founder__title{font-size:clamp(3.35rem,5vw,5.9rem);max-width:720px}
.em-about-founder__lead{font-size:clamp(1.35rem,1.65vw,1.9rem);max-width:660px;margin-top:32px!important}.em-about-founder__body{max-width:620px}
.em-about-manifesto{min-height:74svh;padding:clamp(96px,10vw,150px) 0}.em-about-manifesto__quote{font-size:clamp(3.7rem,6.2vw,7rem);line-height:.94;max-width:1120px;margin-top:34px!important}.em-about-manifesto__footer{margin-top:48px}
.em-about-values__head h2{font-size:clamp(3.45rem,5.4vw,6.1rem)}.em-about-value{min-height:390px}.em-about-value h3{font-size:clamp(2.35rem,3vw,3.55rem)}
.em-about-craft__image{height:min(58vw,740px)}.em-about-craft__copy h2{font-size:clamp(3.6rem,5.4vw,6.1rem)}
.em-about-local{padding:clamp(85px,8vw,125px) 0}.em-about-local__copy h2{font-size:clamp(4rem,6.4vw,7rem)}.em-about-local__image{height:min(50vw,650px)}
.em-about-close{min-height:72svh}.em-about-close h2{font-size:clamp(4rem,7vw,7.8rem)}

/* CONTACT — fix desktop collision/anchor clipping and simplify hierarchy. */
#project-inquiry{scroll-margin-top:110px}
.em-contact-hero{padding:clamp(135px,11vw,185px) 0 clamp(76px,7vw,110px)}
.em-contact-hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(56px,7vw,110px)}
.em-contact-hero__copy h1{font-size:clamp(4rem,7vw,7.9rem);max-width:840px}.em-contact-card h2{font-size:clamp(2.6rem,3.3vw,4.1rem)}
.em-contact-form-section{padding:clamp(88px,8vw,125px) 0}
.em-contact-form-grid{grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:clamp(62px,8vw,125px)}
.em-contact-form-intro{top:112px}.em-contact-form-intro h2{font-size:clamp(3.1rem,4.2vw,4.85rem);line-height:.98;max-width:560px;text-wrap:balance}
.em-contact-form-wrap{max-width:920px}.em-contact-form{gap:27px}.em-field textarea{min-height:155px}.em-contact-local h2{font-size:clamp(3.8rem,6.2vw,6.9rem)}.em-contact-close{min-height:66svh}.em-contact-close h2{font-size:clamp(4rem,7vw,7.7rem)}

/* Service detail pages — tuned down ~20–25% on desktop so layouts feel intentional. */
.em-service-detail-hero__title{font-size:clamp(4rem,7vw,8rem);max-width:980px}.em-service-detail-intro__title{font-size:clamp(3.35rem,5.2vw,6rem)}
.em-service-detail-scope__intro h2{font-size:clamp(3.25rem,4.8vw,5.5rem)}.em-service-detail-scope__list li{font-size:clamp(1.8rem,2.6vw,3rem)}
.em-service-detail-feature__copy h2{font-size:clamp(3.4rem,5vw,5.8rem)}.em-service-detail-manifesto{min-height:72svh;padding:clamp(96px,10vw,150px) 0}.em-service-detail-manifesto__quote{font-size:clamp(3.6rem,6vw,6.8rem);max-width:1120px}
.em-service-detail-process__head h2{font-size:clamp(3.45rem,5.1vw,5.8rem)}.em-service-detail-process__step h3{font-size:clamp(2rem,2.7vw,3.1rem)}
.em-service-detail-local__headline h2{font-size:clamp(4rem,6.4vw,7.2rem)}.em-service-detail-faq__head h2{font-size:clamp(3.4rem,5vw,5.8rem)}.em-service-detail-close{min-height:70svh}.em-service-detail-close h2{font-size:clamp(4rem,7vw,7.7rem)}

/* Premium image treatment */
.em-project-card__media,.em-about-craft__image,.em-about-local__image,.em-service-detail-feature__media,.em-service-detail-hero__image,.em-about-hero__image{overflow:hidden}
.em-project-card__media img,.em-about-craft__image img,.em-about-local__image img,.em-service-detail-feature__media img{transition:transform 1.1s var(--ease),filter .7s var(--ease)}
.em-project-card__media:hover img,.em-about-craft__image:hover img,.em-about-local__image:hover img,.em-service-detail-feature__media:hover img{transform:scale(1.028);filter:saturate(1.03)}

/* Futuristic progressive enhancement: cross-document page transitions.
   Unsupported browsers simply ignore this. */
::view-transition-old(root){animation:em-page-out .22s ease both}
::view-transition-new(root){animation:em-page-in .5s var(--ease) both}
@keyframes em-page-out{to{opacity:.78;filter:blur(2px);transform:scale(.997)}}
@keyframes em-page-in{from{opacity:0;filter:blur(5px);transform:translateY(10px)}}

/* Scroll-driven media float/reveal where supported. */
@supports (animation-timeline:view()){
  .em-about-craft__image,.em-about-local__image,.em-service-detail-feature__media,.em-project-card__media{animation:em-media-reveal linear both;animation-timeline:view();animation-range:entry 0% cover 32%}
  .em-about-craft__image img,.em-about-local__image img,.em-service-detail-feature__media img{animation:em-media-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes em-media-reveal{from{clip-path:inset(7% 0 7% 0 round 7px);opacity:.72}to{clip-path:inset(0 round 0);opacity:1}}
  @keyframes em-media-drift{from{transform:scale(1.055) translateY(-1.8%)}to{transform:scale(1.025) translateY(1.8%)}}
}

/* Button sheen: intentionally subtle, only on fine pointers. */
@media(pointer:fine){
  .em-btn,.em-nav__cta,.wp-block-button__link{position:relative;overflow:hidden}
  .em-btn:after,.em-nav__cta:after,.wp-block-button__link:after{content:"";position:absolute;inset:-80% auto -80% -35%;width:28%;transform:skewX(-18deg) translateX(-240%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:transform .75s var(--ease);pointer-events:none}
  .em-btn:hover:after,.em-nav__cta:hover:after,.wp-block-button__link:hover:after{transform:skewX(-18deg) translateX(620%)}
}

@media(max-width:1280px){
  :root{--shell:min(100% - 48px,1480px)}
  .em-brand{width:230px}.em-brand__logo{width:224px}
  .em-service-track{grid-template-columns:repeat(3,minmax(0,1fr))}.em-service-tile{min-height:500px}
}

@media(max-width:1120px){
  .em-brand{width:220px;height:45px}.em-brand__logo{width:214px;max-height:42px}
  .em-header{padding-left:22px;padding-right:22px}.em-header.is-scrolled{padding-left:22px;padding-right:22px}
  .em-service-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .em-contact-form-grid{grid-template-columns:1fr}.em-contact-form-intro{position:relative;top:auto;max-width:720px}
}

@media(max-width:760px){
  :root{--shell:calc(100% - 32px)}
  .em-section{padding:74px 0}
  .em-header{padding:10px 16px}.em-header.is-scrolled{padding:8px 16px}.em-header:after{left:16px;right:16px}
  .em-brand{width:205px;height:43px}.em-brand__logo{width:198px;max-height:40px}
  .em-hero{min-height:690px}.em-hero__content{left:20px;right:20px;bottom:74px}.em-hero__title{font-size:clamp(3.4rem,14vw,5.3rem);max-width:100%;line-height:.94}.em-hero__title-divider{margin:14px 0 12px;width:62px}.em-hero__title-line--secondary{margin-left:16px}.em-hero__copy{font-size:.94rem;max-width:520px}
  .em-intro__headline{font-size:clamp(2.9rem,11.7vw,4.6rem)}
  .em-service-track{display:flex}.em-service-tile{flex:0 0 84vw;min-height:500px}
  .em-statement h2{font-size:clamp(3.5rem,14vw,5.8rem)}.em-location h2,.em-final-cta h2{font-size:clamp(3.5rem,14vw,5.8rem)}
  .em-services-hero__content .em-hero__title{font-size:clamp(3.5rem,14vw,5.6rem)}.em-services-intro__headline{font-size:clamp(3rem,12vw,4.8rem)}
  .em-services-index__head h2,.em-services-standard__inner>h2,.em-services-local h2,.em-services-faq__intro h2,.em-services-close h2{font-size:clamp(3.2rem,13vw,5.2rem)}
  .em-about-hero__title{font-size:clamp(3.6rem,14.5vw,5.7rem)}.em-about-intro__headline{font-size:clamp(3rem,12vw,4.8rem)}.em-about-founder__title{font-size:clamp(3.1rem,12vw,4.8rem)}.em-about-founder__lead{font-size:1.4rem}.em-about-manifesto{min-height:auto}.em-about-manifesto__quote{font-size:clamp(3rem,12vw,4.85rem)}.em-about-values__head h2,.em-about-craft__copy h2,.em-about-local__copy h2,.em-about-close h2{font-size:clamp(3.1rem,12.5vw,5rem)}
  .em-about-founder__media,.em-about-founder__portrait{min-height:540px}.em-about-craft__image,.em-about-local__image{height:min(112vw,620px)}
  .em-contact-hero{padding:132px 0 68px}.em-contact-hero__copy h1{font-size:clamp(3.6rem,14vw,5.5rem)}.em-contact-form-section{padding:72px 0}.em-contact-form-intro h2{font-size:clamp(3rem,12vw,4.6rem)}.em-contact-local h2,.em-contact-close h2{font-size:clamp(3.3rem,13vw,5.2rem)}
  .em-service-detail-hero__title{font-size:clamp(3.5rem,14vw,5.6rem)}.em-service-detail-intro__title,.em-service-detail-scope__intro h2,.em-service-detail-feature__copy h2,.em-service-detail-process__head h2,.em-service-detail-faq__head h2{font-size:clamp(3.05rem,12vw,4.8rem)}.em-service-detail-manifesto__quote,.em-service-detail-local__headline h2,.em-service-detail-close h2{font-size:clamp(3.3rem,13vw,5.2rem)}
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* Hero choreography: stagger the two statements after the section itself reveals. */
.em-hero__title-line,.em-hero__title-divider{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .9s var(--ease),width .9s var(--ease)}
.em-hero__title.is-visible .em-hero__title-line,.em-hero__title.is-visible .em-hero__title-divider{opacity:1;transform:none}
.em-hero__title.is-visible .em-hero__title-line--secondary{transition-delay:.13s}.em-hero__title.is-visible .em-hero__title-divider{transition-delay:.08s}
.em-hero__backdrop{transform:translate3d(var(--hero-x,0px),calc(var(--hero-shift) + var(--hero-y,0px)),0) scale(var(--hero-scale))}
@media(prefers-reduced-motion:reduce){.em-hero__title-line,.em-hero__title-divider{opacity:1;transform:none;transition:none}}
.em-about-hero__image{transform:translate3d(var(--hero-x,0px),calc(var(--hero-shift) + var(--hero-y,0px)),0) scale(var(--hero-scale))}


/* =========================================================
   v0.9 — BUG SWEEP / MOBILE HARDENING / LOCAL SEO POLISH
   ========================================================= */
html,body{overflow-x:hidden}
main{overflow-x:clip}
.em-display,.em-hero__title,.em-intro__headline,.em-services-intro__headline,.em-service-chapter__copy h2,.em-about-manifesto__quote,.em-contact-hero__copy h1,.em-contact-form-intro h2{text-wrap:balance}

.em-brand{width:248px;height:52px}.em-brand__logo{width:242px;max-height:48px}

/* Home hero: calmer width, cleaner two-part hierarchy, no overflow */
.em-hero__content{max-width:min(840px,calc(100vw - 64px))}
.em-hero__title{font-size:clamp(3.9rem,6.7vw,7.4rem);line-height:.9;max-width:780px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.em-hero__title-line{display:block;max-width:7.6ch}
.em-hero__title-line--primary{max-width:8.3ch}
.em-hero__title-line--secondary{max-width:7.1ch;margin-left:22px}
.em-hero__title-divider{display:block;width:84px;height:1px;background:rgba(169,198,218,.92);margin:16px 0 14px;opacity:.95}
.em-hero__copy{max-width:560px}
.em-services-hero__content .em-hero__title{max-width:760px}

/* Home intro and section headlines */
.em-intro__headline{font-size:clamp(3.05rem,5.5vw,5.8rem);max-width:920px}
.em-journey__head{align-items:flex-end}
.em-location h2{font-size:clamp(3.8rem,6.3vw,6.9rem);max-width:760px}

/* Local section: Ohio outline + broader service-area feel */
.em-location__map:before{content:"";position:absolute;right:8%;top:50%;width:min(42vw,600px);aspect-ratio:620/460;transform:translateY(-50%);background:url('../img/ohio-outline.svg') center/contain no-repeat;opacity:.92;filter:drop-shadow(0 12px 40px rgba(0,0,0,.28))}
.em-location__rings{right:-180px;opacity:.65}
.em-location__pin{right:22.5%;top:43%;width:14px;height:14px;box-shadow:0 0 0 12px rgba(169,198,218,.13),0 0 0 26px rgba(169,198,218,.05)}
.em-location p{max-width:780px}

/* Service cards: keep text readable and never clipped */
.em-service-track{grid-template-columns:repeat(5,minmax(0,1fr))}
.em-service-tile{min-height:520px;background-size:cover!important;background-position:center!important;color:#fff!important}
.em-service-tile:before{background:linear-gradient(to top,rgba(7,9,10,.74),rgba(7,9,10,.14) 64%),radial-gradient(440px circle at var(--mx,65%) var(--my,28%),rgba(255,255,255,.16),transparent 52%)}
.em-service-tile__copy h3{font-size:clamp(1.8rem,2.2vw,3rem);max-width:8.7ch;text-wrap:balance}
.em-service-tile__copy p{max-width:25ch;color:rgba(255,255,255,.82)}
.em-service-tile__graphic{opacity:.18}
.em-service-tile:nth-child(1){background-image:url('../img/placeholders/placeholder-house-night.jpg')}
.em-service-tile:nth-child(2){background-image:url('../img/placeholders/placeholder-bright-kitchen.jpg')}
.em-service-tile:nth-child(3){background-image:url('../img/placeholders/placeholder-bathroom.jpg')}
.em-service-tile:nth-child(4){background-image:url('../img/placeholders/placeholder-property.jpg')}
.em-service-tile:nth-child(5){background-image:url('../img/placeholders/placeholder-exterior-detail.jpg')}

/* About values and mobile grids: no narrow horizontal cards */
@media(max-width:860px){
  .em-about-values__grid,.em-services-selector{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;margin-right:0!important;padding-right:0!important;gap:14px!important}
  .em-about-value,.em-services-selector__card,.em-services-selector__card:nth-child(4),.em-services-selector__card:nth-child(5){flex:none!important;width:100%!important;max-width:none!important;height:auto!important;min-height:360px!important}
  .em-service-track{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;margin-right:0!important;padding-right:0!important;gap:14px!important}
  .em-service-tile{flex:none!important;min-height:360px!important}
}

/* Services page mobile: remove sticky behavior that was leaking during scroll */
@media(max-width:1020px){
  .em-services-nav{position:relative!important;top:auto!important;z-index:1;background:transparent!important;backdrop-filter:none!important;margin:0 0 18px!important;padding:0!important;border:0!important}
  .em-services-nav ol{gap:14px;flex-wrap:wrap;overflow:visible}
  .em-services-nav a{padding:9px 12px!important;border:1px solid var(--line);border-radius:999px;background:#fff}
  .em-services-nav a.is-active{background:var(--ink);color:#fff}
  .em-services-nav a.is-active span{color:#fff}
  .em-service-chapter{grid-template-columns:1fr!important;gap:28px!important}
  .em-service-chapter__visual{min-height:360px!important}
  .em-service-chapter__copy{padding-top:0!important}
}

/* Contact page robustness */
.em-contact-hero__copy,.em-contact-card,.em-contact-form-intro,.em-contact-form-wrap,.em-contact-local__copy{min-width:0}
.em-contact-card__details strong{font-weight:600}
.em-contact-form .em-field input,.em-contact-form .em-field select,.em-contact-form .em-field textarea{font-size:16px}
.em-contact-method{display:grid;gap:10px}
.em-contact-method label{margin:0}

@media(max-width:760px){
  .em-header{padding:12px 16px}.em-header.is-scrolled{padding:9px 16px}
  .em-brand{width:220px;height:45px}.em-brand__logo{width:214px;max-height:42px}
  .em-nav{padding:118px 22px 34px}
  .em-nav__list{gap:15px}
  .em-nav__list a{font-size:clamp(3rem,13vw,4.4rem)!important;line-height:.94}
  .em-nav__cta{margin-top:8px;width:100%;justify-content:center}

  .em-hero{min-height:650px}
  .em-hero__content{left:20px;right:20px;bottom:62px;max-width:calc(100vw - 40px)}
  .em-hero__title{font-size:clamp(3.1rem,13vw,4.95rem);max-width:100%;line-height:.94}
  .em-hero__title-line--secondary{margin-left:12px}
  .em-hero__title-divider{width:66px;margin:12px 0 10px}
  .em-hero__copy{font-size:.94rem;max-width:100%}
  .em-intro__headline{font-size:clamp(2.5rem,11vw,4.1rem);max-width:100%}
  .em-intro__lower p{max-width:100%;font-size:.97rem}

  .em-location{min-height:auto;padding:86px 0 96px}
  .em-location__map:before{width:min(90vw,420px);right:-12%;top:22%;transform:none;opacity:.4}
  .em-location__rings{width:430px;right:-250px;top:62%}
  .em-location__pin{right:18%;top:28%}
  .em-location h2{font-size:clamp(3rem,12.5vw,5rem);max-width:100%}
  .em-location p{font-size:.95rem;max-width:100%}

  .em-services-intro__headline{font-size:clamp(2.8rem,11.4vw,4.6rem)}
  .em-services-index__head h2,.em-services-standard__inner>h2,.em-services-local h2,.em-services-faq__intro h2,.em-services-close h2{font-size:clamp(2.95rem,12vw,4.8rem)}
  .em-service-chapter__copy h2{font-size:clamp(2.65rem,11.5vw,4.3rem)}
  .em-service-chapter__description{font-size:.96rem;max-width:100%}
  .em-service-chapter__capabilities ul{grid-template-columns:1fr!important}

  .em-about-intro__headline,.em-about-founder__title,.em-about-values__head h2,.em-about-craft__copy h2,.em-about-local__copy h2,.em-about-close h2,.em-about-manifesto__quote{font-size:clamp(2.8rem,11.6vw,4.6rem)!important}
  .em-about-founder__lead{font-size:1.18rem}
  .em-about-craft__grid,.em-about-local__grid,.em-about-close__inner,.em-about-intro__copy,.em-about-founder__grid{gap:26px!important}
  .em-about-values__head{margin-bottom:24px}
  .em-about-value h3{font-size:clamp(2rem,9vw,3rem)}

  .em-contact-hero{padding:126px 0 62px}
  .em-contact-hero__grid{gap:28px!important}
  .em-contact-hero__copy h1{font-size:clamp(3rem,12.8vw,4.95rem);max-width:100%}
  .em-contact-card{padding:24px 20px;min-height:auto}
  .em-contact-card h2{font-size:clamp(2.1rem,10vw,3.2rem)}
  .em-contact-card__details a,.em-contact-card__details strong{font-size:.78rem}
  .em-contact-form-section{padding:64px 0}
  .em-contact-form-grid{grid-template-columns:1fr!important;gap:34px!important}
  .em-contact-form-intro h2{font-size:clamp(2.75rem,11.5vw,4.25rem);max-width:100%}
  .em-contact-form{gap:22px}
  .em-form-row,.em-form-row--2{grid-template-columns:1fr!important;gap:18px!important}
  .em-contact-method label{font-size:.93rem}
  .em-contact-submit{grid-template-columns:1fr!important;gap:18px!important}
  .em-contact-submit p{max-width:100%}
  .em-contact-submit .em-btn{width:100%}
  .em-field textarea{min-height:140px}
  .em-contact-local h2,.em-contact-close h2{font-size:clamp(3rem,12vw,4.9rem)}
}

@media(max-width:520px){
  :root{--shell:calc(100vw - 28px)}
  .em-brand{width:210px}.em-brand__logo{width:204px}
  .em-nav__list a{font-size:clamp(2.7rem,12.5vw,4rem)!important}
  .em-service-tile__copy h3,.em-services-selector__card h3{font-size:clamp(1.9rem,11vw,2.8rem)}
  .em-services-standard__principles h3{font-size:clamp(1.9rem,10vw,2.8rem)}
  .em-services-standard__principles p,.em-about-value p,.em-service-chapter__capabilities li,.em-contact-steps p{font-size:.84rem}
}

/* =========================================================
   v1.0 — SIGNATURE EXPERIENCE
   Quiet luxury + high-tech interaction. Progressive enhancement only.
   ========================================================= */

/* Accessible keyboard state across the custom interface. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--ice-deep);outline-offset:5px
}
.em-nav__list a.is-current:after{transform:scaleX(1);transform-origin:left}

/* A tiny bit more polish in the fixed chrome. */
.em-header.is-scrolled{background:color-mix(in srgb,var(--paper) 91%,transparent);box-shadow:0 1px 0 rgba(13,13,13,.07),0 12px 38px rgba(13,13,13,.035)}
.em-header.is-scrolled .em-brand{transform:scale(.965);transform-origin:left center}
.em-brand{transition:transform .45s var(--ease)}

/* Desktop-only ambient cursor halo. Native cursor remains available. */
.em-cursor-ring{position:fixed;z-index:100000;left:0;top:0;width:34px;height:34px;border:1px solid rgba(120,156,181,.58);border-radius:50%;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:width .28s var(--ease),height .28s var(--ease),border-color .28s,background .28s,opacity .25s;mix-blend-mode:multiply}
.em-cursor-ring.is-visible{opacity:.8}.em-cursor-ring.is-active{width:54px;height:54px;border-color:rgba(169,198,218,.92);background:rgba(169,198,218,.09)}
body.menu-open .em-cursor-ring{opacity:0!important}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.em-cursor-ring{display:none!important}}

/* Ambient light follows the pointer inside selected cinematic sections. */
.em-interactive-field{position:relative;isolation:isolate}
.em-field-glow{position:absolute;z-index:-1;width:680px;aspect-ratio:1;left:var(--fx,50%);top:var(--fy,50%);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(169,198,218,.11),rgba(169,198,218,.035) 37%,transparent 69%);filter:blur(3px);opacity:.9;transition:opacity .4s}
@media(pointer:coarse){.em-field-glow{display:none}}

/* Cross-document transition: soft architectural reveal instead of a basic fade. */
::view-transition-old(root){animation:em-page-out-luxe .26s ease both}
::view-transition-new(root){animation:em-page-in-luxe .62s var(--ease) both}
@keyframes em-page-out-luxe{to{opacity:.62;filter:blur(3px);transform:scale(.994)}}
@keyframes em-page-in-luxe{from{opacity:.2;filter:blur(8px);clip-path:inset(0 0 12% 0);transform:translateY(14px)}to{opacity:1;filter:none;clip-path:inset(0);transform:none}}

/* Home hero gets a very subtle technical grid that fades into the photography. */
.em-hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,rgba(0,0,0,.85),transparent 68%);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.85),transparent 68%)}
.em-hero__title-line--primary{position:relative}
.em-hero__title-line--primary:after{content:"01";position:absolute;left:calc(100% + 18px);top:.23em;font-family:var(--sans);font-size:.5rem;letter-spacing:.18em;color:rgba(255,255,255,.58)}

/* Sophisticated service-card interaction: hover one and the family recedes. */
@media(pointer:fine){
  .em-service-track:has(.em-service-tile:hover) .em-service-tile:not(:hover),
  .em-services-selector:has(.em-services-selector__card:hover) .em-services-selector__card:not(:hover){filter:brightness(.78) saturate(.72);opacity:.76}
  .em-service-tile,.em-services-selector__card{transition:filter .55s var(--ease),opacity .55s var(--ease),transform .22s ease-out,box-shadow .45s var(--ease)}
  .em-service-tile:hover,.em-services-selector__card:hover{box-shadow:0 35px 90px rgba(13,13,13,.2)}
}
.em-service-tile__copy,.em-services-selector__card>div:last-child{transition:transform .5s var(--ease)}
.em-service-tile:hover .em-service-tile__copy,.em-services-selector__card:hover>div:last-child{transform:translateY(-7px)}
.em-service-tile__copy h3,.em-services-selector__card h3{overflow-wrap:normal;word-break:normal;hyphens:none}

/* Local service-area treatment: broad reach without looking like an SEO keyword dump. */
.em-location__cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;max-width:900px}
.em-location__cities span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid rgba(169,198,218,.21);border-radius:999px;background:rgba(255,255,255,.035);backdrop-filter:blur(8px);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:#d5dde2;transition:background .3s,border-color .3s,transform .3s var(--ease)}
.em-location__cities span:hover{background:rgba(169,198,218,.1);border-color:rgba(169,198,218,.5);transform:translateY(-2px)}

/* Give imagery a premium optical frame without adding visible boxes everywhere. */
.em-project-card__media,.em-about-craft__image,.em-about-local__image,.em-service-detail-feature__media{position:relative}
.em-project-card__media:after,.em-about-craft__image:after,.em-about-local__image:after,.em-service-detail-feature__media:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(13,13,13,.045)}

/* Mobile navigation now behaves more like a designed product than a fallback drawer. */
@media(max-width:1120px){
  .em-nav{isolation:isolate;padding-bottom:96px!important}
  .em-nav:before{content:"11";position:fixed;z-index:-1;right:-.08em;bottom:-.18em;font-family:var(--display);font-size:min(54vw,480px);line-height:.8;letter-spacing:-.04em;color:rgba(169,198,218,.09);pointer-events:none}
  .em-nav:after{content:"GENERAL CONTRACTING · NORTHEAST OHIO";position:fixed;left:24px;bottom:28px;font-size:.56rem;font-weight:700;letter-spacing:.16em;color:#777;pointer-events:none}
  .em-nav__list{width:100%}
  .em-nav__list li{width:100%}
  .em-nav__list a{display:flex!important;align-items:center;justify-content:space-between;width:100%;padding:5px 0}
  .em-nav__list a:before{content:"↗";order:2;font-family:var(--sans);font-size:.9rem;opacity:.35;transform:translateX(-6px);transition:opacity .25s,transform .3s var(--ease)}
  .em-nav__list a:hover:before,.em-nav__list a.is-current:before{opacity:1;transform:none}
}

/* Small-screen spacing and typography: deliberate, not desktop squeezed into a phone. */
@media(max-width:760px){
  .em-hero:after{background-size:52px 52px;opacity:.07}
  .em-hero__title-line--primary:after{display:none}
  .em-location__cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:22px}
  .em-location__cities span{justify-content:center;text-align:center;padding:0 8px;font-size:.56rem;letter-spacing:.075em}
  .em-services-nav ol{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .em-services-nav li{min-width:0}.em-services-nav a{justify-content:flex-start;white-space:normal!important;font-size:.62rem;line-height:1.25}
  .em-services-nav a span{flex:0 0 auto}
  .em-service-chapter__top{padding-bottom:4px}
  .em-service-chapter__visual{border-radius:6px}
  .em-services-standard__principles>div{min-height:auto!important}
  .em-about-value{min-height:330px!important;padding:26px!important}
  .em-contact-card__details strong{overflow-wrap:anywhere}
  .em-contact-form-wrap,.em-contact-form,.em-contact-form-grid{width:100%;max-width:100%;min-width:0}
  .em-field,.em-field input,.em-field select,.em-field textarea{min-width:0;max-width:100%}
}

@media(max-width:390px){
  .em-location__cities{grid-template-columns:1fr}
  .em-services-nav ol{grid-template-columns:1fr}
  .em-nav:after{font-size:.5rem;right:18px}
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .em-service-tile__copy,.em-services-selector__card>div:last-child{transition:none}
}

/* v1.0 stacking safeguards for dynamically injected decorative layers. */
.em-interactive-field>.em-field-glow{z-index:0}
.em-interactive-field>*:not(.em-field-glow){position:relative;z-index:1}
@media(max-width:1120px){
  .em-nav:before{z-index:0!important}
  .em-nav:after{z-index:2!important}
  .em-nav>*{position:relative;z-index:1}
}


/* =========================================================
   v1.0.1 — sizing + service-area polish + overflow fixes
   ========================================================= */
@media(min-width:1021px){
  .em-intro__grid{grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);gap:clamp(28px,4vw,72px)}
  .em-intro__headline{font-size:clamp(2.95rem,4.7vw,5.7rem);max-width:18ch}
  .em-intro__lower{grid-template-columns:minmax(0,1fr) minmax(210px,auto);gap:30px;align-items:start}
  .em-intro__lower p{max-width:44ch}

  .em-service-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .em-service-tile{min-height:500px;padding:22px}
  .em-service-tile__copy{max-width:100%;padding-right:12px}
  .em-service-tile__copy h3{font-size:clamp(1.45rem,1.12vw + .85rem,2.2rem)!important;line-height:.92;max-width:9.8ch;text-wrap:pretty;overflow-wrap:anywhere;hyphens:auto;margin-bottom:12px}
  .em-service-tile__copy p{font-size:.82rem;line-height:1.5;max-width:26ch}

  .em-services-index__head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:end;gap:36px}
  .em-services-index__head h2{font-size:clamp(3.5rem,5.8vw,5.6rem);max-width:11ch}
  .em-services-index__head>p{max-width:34ch}
  .em-services-selector{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .em-services-selector__card{height:clamp(420px,31vw,540px);padding:22px}
  .em-services-selector__card h3{font-size:clamp(1.45rem,1.08vw + .86rem,2.15rem)!important;line-height:.92;max-width:9.3ch;text-wrap:pretty;overflow-wrap:anywhere;hyphens:auto;margin-bottom:10px}
  .em-services-selector__card p{font-size:.8rem;line-height:1.48;max-width:24ch}

  .em-statement{min-height:auto;padding:clamp(82px,8vw,120px) 0}
  .em-statement__grid{grid-template-columns:.45fr 1.5fr .65fr;gap:clamp(24px,4vw,60px);align-items:end}
  .em-statement h2{font-size:clamp(3.3rem,6vw,6.8rem);line-height:.91;max-width:8ch}
  .em-statement h2 em{display:block;margin-top:.16em}
  .em-statement__orb{width:min(36vw,520px);right:-8vw;top:42%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.7),rgba(255,255,255,.08) 42%,rgba(37,73,95,.08) 60%,transparent 67%)}
  .em-statement p{max-width:28ch}

  .em-location{min-height:auto;padding:clamp(92px,9vw,132px) 0}
  .em-location__map:before{width:min(33vw,490px);right:2%;top:50%}
  .em-location__rings{width:min(42vw,560px);right:-8vw;opacity:.42}
  .em-location__pin{right:18.5%;top:40.5%}
  .em-location h2{font-size:clamp(3.35rem,5.2vw,5.8rem);max-width:10ch}
  .em-location p{max-width:44ch}

  .em-final-cta{padding:clamp(90px,9vw,135px) 0}
  .em-final-cta__inner{grid-template-columns:.38fr 1.35fr auto;gap:34px}
  .em-final-cta h2{font-size:clamp(3.5rem,6vw,6.8rem)}

  .em-services-standard{padding:clamp(86px,8vw,128px) 0}
  .em-services-standard__field:before{width:min(34vw,480px);right:-8vw;top:-8%}
  .em-services-standard__field:after{width:min(24vw,340px);right:-2vw;top:5%}
  .em-services-standard__field span:nth-child(1){width:min(15vw,220px);right:3vw;top:19%}
  .em-services-standard__inner>h2{font-size:clamp(3.45rem,5.7vw,6.3rem);line-height:.9;max-width:9ch;margin-bottom:clamp(36px,4vw,60px)}
  .em-services-standard__inner>h2 em{display:block;margin-top:.14em}

  .em-services-close{min-height:auto;padding:clamp(92px,9vw,135px) 0}
  .em-services-close__glow{width:min(42vw,560px);right:-8vw;box-shadow:0 0 0 50px rgba(169,198,218,.012),0 0 0 100px rgba(169,198,218,.008)}
  .em-services-close h2{font-size:clamp(3.55rem,5.7vw,6.6rem)}

  .em-about-manifesto{min-height:auto;padding:clamp(92px,9vw,138px) 0}
  .em-about-manifesto__orbit{width:min(46vw,640px);right:-8vw}
  .em-about-manifesto__quote{font-size:clamp(3.3rem,5.55vw,6.4rem);max-width:13ch;line-height:.92}

  .em-about-intro__copy{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  .em-about-craft__copy h2{font-size:clamp(3.25rem,5.1vw,5.9rem);line-height:.92}
  .em-about-craft__copy h2 em{display:block;margin-top:.16em}
  .em-about-close{min-height:auto;padding:clamp(94px,10vw,145px) 0}
  .em-about-close__glow{width:min(44vw,580px);right:-8vw;box-shadow:0 0 0 50px rgba(169,198,218,.012),0 0 0 100px rgba(169,198,218,.008)}
  .em-about-close h2{font-size:clamp(3.55rem,5.7vw,6.6rem)}
}

@media(max-width:1200px){
  .em-intro__grid,.em-about-intro__grid{grid-template-columns:1fr;gap:28px}
  .em-intro__lower,.em-about-intro__copy{grid-template-columns:1fr;gap:22px}
  .em-intro__headline{max-width:16ch}
  .em-services-index__head{display:grid;grid-template-columns:1fr;gap:18px}
  .em-service-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .em-services-selector{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1020px){
  .em-statement,.em-location,.em-final-cta,.em-services-standard,.em-services-close,.em-about-manifesto,.em-about-close{min-height:auto!important}
  .em-statement__orb{width:min(58vw,420px);right:-16vw;top:28%}
  .em-location__map:before{width:min(78vw,360px);right:-9%;top:18%;opacity:.48}
  .em-location__rings{width:340px;right:-170px;top:58%;opacity:.32}
  .em-location__pin{right:19%;top:26%}
  .em-services-standard__field:before{width:62vw;right:-20vw;top:-8%}
  .em-services-standard__field:after{width:46vw;right:-12vw;top:4%}
  .em-services-standard__field span:nth-child(1){width:28vw;right:2vw;top:18%}
  .em-services-close__glow,.em-about-close__glow,.em-about-manifesto__orbit{width:min(88vw,560px);right:-30vw}
}

@media(max-width:760px){
  .em-intro__headline{font-size:clamp(2.35rem,10.5vw,3.8rem);line-height:.95;max-width:12ch}
  .em-intro__lower{gap:18px;margin-top:30px;padding-top:18px}
  .em-intro__lower .em-arrow-link{justify-self:start}
  .em-journey__head{gap:18px}
  .em-section-title{font-size:clamp(2.55rem,12vw,4.2rem)}
  .em-service-track,.em-services-selector{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;margin-right:0!important;padding-right:0!important;gap:14px!important}
  .em-service-tile,.em-services-selector__card,.em-services-selector__card:nth-child(4),.em-services-selector__card:nth-child(5){width:100%!important;max-width:none!important;flex:none!important;height:auto!important;min-height:360px!important}
  .em-service-tile__copy h3,.em-services-selector__card h3{font-size:clamp(1.9rem,9vw,2.55rem)!important;max-width:9.5ch}
  .em-service-tile__copy p,.em-services-selector__card p{max-width:24ch}
  .em-statement{padding:74px 0 82px}.em-statement__grid{gap:20px}.em-statement__orb{width:min(86vw,340px);right:-30vw;top:11%}.em-statement h2{font-size:clamp(2.7rem,12vw,4.3rem)}
  .em-location{padding:78px 0 92px}.em-location h2{font-size:clamp(2.65rem,12vw,4.6rem)}
  .em-location__cities{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .em-services-index__head h2{font-size:clamp(2.7rem,12vw,4.4rem)}
  .em-services-standard{padding:78px 0 88px}.em-services-standard__inner>h2{font-size:clamp(2.7rem,11.6vw,4.35rem);margin-bottom:34px}.em-services-standard__field:before{width:70vw;right:-22vw;top:-10%}.em-services-standard__field:after{width:48vw;right:-12vw;top:4%}.em-services-standard__field span:nth-child(1){width:28vw;top:18%;right:4vw}
  .em-services-close{padding:84px 0 94px}.em-services-close__glow{width:95vw;right:-48vw;top:42%}.em-services-close h2{font-size:clamp(2.8rem,12vw,4.5rem)}
  .em-about-manifesto{padding:84px 0 96px}.em-about-manifesto__orbit{width:95vw;right:-46vw}.em-about-manifesto__quote{font-size:clamp(2.75rem,11.6vw,4.5rem);max-width:11ch}
  .em-about-craft__copy h2{font-size:clamp(2.75rem,11.6vw,4.4rem)}
  .em-about-close{padding:84px 0 94px}.em-about-close__glow{width:95vw;right:-48vw}.em-about-close h2{font-size:clamp(2.8rem,12vw,4.5rem)}
}

@media(max-width:520px){
  .em-location__cities{grid-template-columns:1fr 1fr}
  .em-location__map:before{right:-16%;top:20%}
  .em-service-tile__copy h3,.em-services-selector__card h3{font-size:clamp(1.8rem,8.8vw,2.35rem)!important}
  .em-statement h2,.em-services-standard__inner>h2,.em-services-close h2,.em-about-manifesto__quote,.em-about-craft__copy h2,.em-about-close h2{max-width:9.5ch}
}

/* v1.0.2 final polish */
@media (min-width:1025px){
  .em-hero{min-height:720px}
  .em-hero__content{max-width:980px}
  .em-hero__title{font-size:clamp(4.45rem,6.9vw,6.65rem)!important;line-height:.9!important;max-width:8.3ch!important}
  .em-hero__title-line--secondary{margin-left:0!important;max-width:6.8ch!important}
  .em-hero__title-divider{margin:14px 0 16px!important}
  .em-hero__copy{max-width:35ch!important}

  .em-intro{padding-top:84px!important;padding-bottom:84px!important}
  .em-intro__grid{grid-template-columns:minmax(115px,.3fr) minmax(0,1fr)!important;gap:36px!important}
  .em-intro__headline{font-size:clamp(2.8rem,4.15vw,4.7rem)!important;max-width:14ch!important;line-height:.97!important}
  .em-intro__lower{grid-template-columns:minmax(0,1fr) minmax(210px,auto)!important;gap:26px!important;align-items:start!important}
  .em-intro__lower p{max-width:39ch!important}

  .em-journey{padding-top:84px!important;padding-bottom:84px!important}
  .em-journey__head .em-section-title{font-size:clamp(3.25rem,4.65vw,4.9rem)!important}
  .em-service-track{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
  .em-service-tile{min-height:470px!important;padding:22px 18px!important}
  .em-service-tile__graphic{inset:13% 10% 45%!important;opacity:.14!important}
  .em-service-tile__copy h3{font-size:clamp(1.3rem,1.03vw + .62rem,1.85rem)!important;line-height:.94!important;max-width:10.2ch!important;letter-spacing:.012em!important;text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .em-service-track > :nth-child(2) .em-service-tile__copy h3,
  .em-service-track > :nth-child(5) .em-service-tile__copy h3{font-size:clamp(1.16rem,0.95vw + .54rem,1.66rem)!important;max-width:11.1ch!important}
  .em-service-tile__copy p{font-size:.79rem!important;line-height:1.5!important;max-width:22ch!important}

  .em-statement{padding:70px 0 78px!important;min-height:auto!important}
  .em-statement__grid{grid-template-columns:.44fr 1.34fr .82fr!important;gap:28px!important;align-items:end!important}
  .em-statement__orb{width:min(22vw,285px)!important;left:2vw!important;right:auto!important;top:12%!important;transform:none!important;opacity:.82!important}
  .em-statement h2{font-size:clamp(2.55rem,4.15vw,4.6rem)!important;max-width:8.3ch!important;line-height:.92!important}
  .em-statement p{max-width:21ch!important;font-size:.95rem!important}

  .em-location{padding:82px 0 90px!important}
  .em-location h2{font-size:clamp(3.25rem,4.9vw,5rem)!important;max-width:7.6ch!important}
  .em-location__map:before{background:url('../img/ohio-outline.png') center/contain no-repeat!important;width:min(25vw,300px)!important;right:4.5%!important;top:18%!important;transform:none!important;opacity:.98!important;filter:drop-shadow(0 10px 28px rgba(0,0,0,.26))!important}

  .em-services-index{padding:78px 0 92px!important}
  .em-services-index__head h2{font-size:clamp(3rem,4.45vw,4.8rem)!important}
  .em-services-index__head>p{max-width:33ch!important}
  .em-services-selector{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
  .em-services-selector__card{height:460px!important;padding:22px 18px!important}
  .em-services-selector__graphic{inset:13% 10% 44%!important;opacity:.14!important}
  .em-services-selector__card h3{font-size:clamp(1.28rem,1.02vw + .6rem,1.8rem)!important;line-height:.94!important;max-width:10.2ch!important;letter-spacing:.012em!important;text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .em-services-selector>:nth-child(2) h3,
  .em-services-selector>:nth-child(5) h3{font-size:clamp(1.14rem,0.93vw + .52rem,1.62rem)!important;max-width:11.1ch!important}
  .em-services-selector__card p{font-size:.79rem!important;line-height:1.5!important;max-width:22ch!important}

  .em-services-close,.em-about-close,.em-contact-close{min-height:auto!important;padding:74px 0 84px!important}
  .em-services-close__glow,.em-about-close__glow{width:min(34vw,410px)!important;right:-10vw!important;top:46%!important;box-shadow:0 0 0 38px rgba(169,198,218,.012),0 0 0 76px rgba(169,198,218,.008)!important}
  .em-contact-close__orb{width:min(34vw,410px)!important;right:-10vw!important;top:46%!important}
  .em-services-close h2,.em-about-close h2,.em-contact-close h2{font-size:clamp(2.95rem,4.45vw,4.85rem)!important;max-width:10.2ch!important;line-height:.93!important}

  .em-about-manifesto{min-height:auto!important;padding:78px 0 88px!important}
  .em-about-manifesto__orbit{width:min(36vw,430px)!important;right:-10vw!important;top:46%!important}
  .em-about-manifesto__quote{font-size:clamp(2.72rem,4.45vw,5rem)!important;max-width:12.2ch!important;line-height:.93!important;margin-top:18px!important}
  .em-about-manifesto__footer{margin-top:34px!important}

  .em-about-craft,.em-about-local,.em-contact-local{padding-top:82px!important;padding-bottom:88px!important}
  .em-about-craft__copy h2,.em-about-local__copy h2{font-size:clamp(3rem,4.45vw,4.85rem)!important}
  .em-contact-local h2{font-size:clamp(2.95rem,4.2vw,4.8rem)!important;max-width:8ch!important}
}

/* =========================================================
   v1.0.3 — CONTACT MOBILE REBUILD
   Fixes cascade regressions that reintroduced desktop grids on phones.
   ========================================================= */
@media (max-width: 820px) {
  /* Contact hero is a true one-column mobile layout. */
  .em-contact-hero {
    padding: 112px 0 58px !important;
    overflow: clip !important;
  }
  .em-contact-hero:before {
    width: 520px !important;
    right: -330px !important;
    top: -90px !important;
    opacity: .45 !important;
  }
  .em-contact-hero__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
  }
  .em-contact-hero__copy,
  .em-contact-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .em-contact-hero__copy .em-kicker {
    max-width: 20ch !important;
    line-height: 1.55 !important;
  }
  .em-contact-hero__copy h1 {
    font-size: clamp(3rem, 12.6vw, 4.35rem) !important;
    line-height: .94 !important;
    max-width: 9.6ch !important;
    margin: .22em 0 .28em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .em-contact-hero__copy h1 br {
    display: none !important;
  }
  .em-contact-hero__copy > p {
    max-width: 32ch !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
  }
  .em-contact-hero__signal {
    margin-top: 28px !important;
  }

  .em-contact-card {
    min-height: 0 !important;
    padding: 30px 24px 26px !important;
    border-radius: 10px !important;
    justify-content: flex-start !important;
  }
  .em-contact-card:before {
    width: 300px !important;
    right: -155px !important;
    top: -135px !important;
    box-shadow: 0 0 0 34px rgba(255,255,255,.06), 0 0 0 68px rgba(255,255,255,.035) !important;
  }
  .em-contact-card__index {
    position: static !important;
    display: block !important;
    margin: 0 0 22px !important;
  }
  .em-contact-card h2 {
    font-size: clamp(2.5rem, 10.8vw, 3.55rem) !important;
    line-height: .95 !important;
    max-width: 9ch !important;
    margin: 0 0 20px !important;
  }
  .em-contact-card > p {
    font-size: .98rem !important;
    line-height: 1.62 !important;
    max-width: 31ch !important;
    margin-bottom: 26px !important;
  }
  .em-contact-card__details {
    gap: 20px !important;
    padding-top: 19px !important;
  }
  .em-contact-card__details a,
  .em-contact-card__details strong {
    font-size: .84rem !important;
    line-height: 1.52 !important;
    overflow-wrap: anywhere !important;
  }

  /* Project inquiry: never allow the desktop two-column rules back in. */
  #project-inquiry {
    scroll-margin-top: 86px !important;
  }
  .em-contact-form-section {
    padding: 66px 0 76px !important;
    overflow: clip !important;
  }
  .em-contact-form-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 44px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: start !important;
  }
  .em-contact-form-intro {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .em-contact-form-intro .em-kicker {
    line-height: 1.45 !important;
  }
  .em-contact-form-intro h2 {
    font-size: clamp(2.65rem, 11.2vw, 4rem) !important;
    line-height: .96 !important;
    max-width: 10.5ch !important;
    margin: .22em 0 .3em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .em-contact-form-intro > p {
    max-width: 34ch !important;
    font-size: .98rem !important;
    line-height: 1.66 !important;
  }
  .em-contact-steps {
    margin-top: 32px !important;
  }
  .em-contact-steps > div {
    grid-template-columns: 42px minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 17px 0 !important;
  }
  .em-contact-steps p {
    font-size: .91rem !important;
    line-height: 1.45 !important;
  }

  .em-contact-form-wrap,
  .em-contact-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .em-contact-form {
    gap: 24px !important;
  }
  .em-form-row,
  .em-form-row--2 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 20px !important;
    width: 100% !important;
  }
  .em-field {
    min-width: 0 !important;
    width: 100% !important;
  }
  .em-field input,
  .em-field select,
  .em-field textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important; /* prevents Safari focus zoom */
  }
  .em-field textarea {
    min-height: 145px !important;
  }
  .em-contact-method {
    display: grid !important;
    grid-template-columns: repeat(3, max-content) !important;
    gap: 10px 18px !important;
    max-width: 100% !important;
  }
  .em-contact-method legend {
    grid-column: 1 / -1 !important;
  }
  .em-contact-method label {
    margin: 0 !important;
    white-space: nowrap !important;
  }
  .em-contact-submit {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }
  .em-contact-submit p {
    max-width: 100% !important;
  }
  .em-contact-submit .em-btn {
    width: 100% !important;
    justify-content: space-between !important;
  }

  .em-form-success {
    min-height: 0 !important;
    padding: 32px 24px !important;
    grid-template-columns: 1fr !important;
  }
  .em-form-success h2 {
    font-size: clamp(2.6rem, 11vw, 4rem) !important;
    line-height: .96 !important;
  }

  /* Local / closing contact sections stay compact on phones. */
  .em-contact-local {
    padding: 70px 0 76px !important;
  }
  .em-contact-local__grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 26px !important;
    align-items: start !important;
  }
  .em-contact-local h2 {
    font-size: clamp(2.8rem, 11.6vw, 4.2rem) !important;
    line-height: .95 !important;
    max-width: 8.5ch !important;
  }
  .em-contact-local__copy {
    padding-top: 20px !important;
    max-width: 100% !important;
  }
  .em-contact-local__copy p {
    font-size: .94rem !important;
    line-height: 1.62 !important;
  }
  .em-contact-close {
    min-height: 0 !important;
    padding: 72px 0 78px !important;
  }
  .em-contact-close__orb {
    width: 300px !important;
    right: -160px !important;
    top: 42% !important;
    opacity: .72 !important;
  }
  .em-contact-close h2 {
    font-size: clamp(2.75rem, 11.4vw, 4.2rem) !important;
    line-height: .94 !important;
    max-width: 9.5ch !important;
  }
}

@media (max-width: 430px) {
  .em-contact-hero { padding-top: 104px !important; }
  .em-contact-hero__copy h1 { font-size: clamp(2.8rem, 12vw, 3.7rem) !important; max-width: 9.4ch !important; }
  .em-contact-card { padding: 27px 20px 24px !important; }
  .em-contact-card h2 { font-size: clamp(2.35rem, 10.5vw, 3.15rem) !important; }
  .em-contact-form-intro h2 { font-size: clamp(2.45rem, 10.7vw, 3.6rem) !important; }
  .em-contact-method { grid-template-columns: 1fr !important; gap: 10px !important; }
  .em-contact-method legend { grid-column: auto !important; }
  .em-contact-local h2,
  .em-contact-close h2 { font-size: clamp(2.6rem, 11vw, 3.7rem) !important; }
}

/* =========================================================
   v1.0.4 — Home inquiry + values spacing
   ========================================================= */
.em-home-inquiry{background:#fff;padding:clamp(72px,7vw,108px) 0;border-bottom:1px solid var(--line);scroll-margin-top:80px;overflow:clip}
.em-home-inquiry__grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(52px,7vw,110px);align-items:start}
.em-home-inquiry__intro{position:sticky;top:112px;min-width:0}
.em-home-inquiry__intro h2{font-size:clamp(3.3rem,5.25vw,5.7rem);line-height:.94;margin:.18em 0 .28em;max-width:8.7ch}
.em-home-inquiry__intro>p{font-size:1rem;line-height:1.72;color:#505050;max-width:38ch}
.em-home-inquiry__meta{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:10px;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#777}
.em-home-inquiry__meta a{color:var(--ink);text-transform:none;letter-spacing:0;font-size:.82rem;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.em-home-inquiry__formwrap{min-width:0}
.em-home-contact-form{gap:23px}
.em-home-contact-form .em-field textarea{min-height:120px}
.em-home-inquiry__submit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:center;padding-top:4px}
.em-home-inquiry__submit p{margin:0;font-size:.72rem;line-height:1.55;color:#777;max-width:390px}
.em-home-inquiry__success{background:var(--ice-soft);border-radius:8px;padding:clamp(36px,5vw,68px);min-height:380px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.em-home-inquiry__success:after{content:"";position:absolute;width:330px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(120,156,181,.22);right:-160px;top:-150px;box-shadow:0 0 0 45px rgba(169,198,218,.06),0 0 0 90px rgba(169,198,218,.035)}
.em-home-inquiry__success h3{font-size:clamp(3rem,5vw,5.2rem);line-height:.94;margin:.2em 0;max-width:9ch;position:relative;z-index:1}
.em-home-inquiry__success p{max-width:38ch;line-height:1.7;position:relative;z-index:1}

/* More breathing room between the About values headline and the 01–04 cards. */
.em-about-values__head{margin-bottom:clamp(74px,7vw,112px)!important}

@media(max-width:1020px){
  .em-home-inquiry__grid{grid-template-columns:1fr;gap:38px}
  .em-home-inquiry__intro{position:static;top:auto;max-width:720px}
  .em-home-inquiry__intro h2{max-width:10ch}
  .em-home-inquiry__optional{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .em-home-inquiry{padding:66px 0 74px;scroll-margin-top:68px}
  .em-home-inquiry__grid{gap:34px}
  .em-home-inquiry__intro h2{font-size:clamp(2.75rem,11.5vw,4.25rem);max-width:9.5ch}
  .em-home-inquiry__intro>p{font-size:.95rem;max-width:34ch}
  .em-home-inquiry__meta{margin-top:26px}
  .em-home-contact-form{gap:20px!important}
  .em-home-inquiry__optional{grid-template-columns:1fr!important}
  .em-home-inquiry__submit{grid-template-columns:1fr;gap:16px}
  .em-home-inquiry__submit .em-btn{width:100%;justify-content:space-between}
  .em-home-inquiry__success{min-height:0;padding:34px 24px}
  .em-home-inquiry__success h3{font-size:clamp(2.65rem,11vw,4rem)}
  .em-about-values__head{margin-bottom:48px!important}
}


/* =========================================================
   v1.0.5 — MOBILE FINAL CLEANUP / FOOTER HEIGHT FIX
   ========================================================= */
html{background:var(--ink)!important}
body{background:var(--ink)!important;min-height:100dvh!important}
#main-content{background:var(--paper);min-height:0!important;overflow:clip}
.em-footer{margin:0!important;position:relative;z-index:2}
::view-transition-old(root),::view-transition-new(root){display:none!important;animation:none!important}

/* Use the real Ohio art instead of the abstract outline. */
.em-location__map:before{display:none!important}
.em-location__state-map{position:absolute;right:4.5%;top:50%;transform:translateY(-50%);width:min(27vw,320px);pointer-events:none;z-index:0;opacity:.92}
.em-location__state-map img{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 30px rgba(0,0,0,.24))}
.em-location__content>*:not(.em-location__state-map){position:relative;z-index:1}

@media(max-width:760px){
  .em-section{padding:64px 0!important}
  .em-home-inquiry{padding:48px 0 56px!important}
  .em-home-inquiry__grid{gap:26px!important}
  .em-home-inquiry__intro h2{margin:.16em 0 .2em!important}
  .em-home-inquiry__intro>p{margin-bottom:0!important}
  .em-home-inquiry__meta{margin-top:20px!important;padding-top:16px!important}

  .em-contact-form,.em-home-contact-form{gap:16px!important}
  .em-form-row,.em-form-row--2{gap:14px!important}
  .em-field{gap:6px!important}
  .em-field>span,.em-contact-method legend{font-size:.64rem!important;line-height:1.3!important}
  .em-field input,.em-field select,.em-field textarea{padding:9px 0 10px!important;min-height:44px!important;line-height:1.35!important}
  .em-field textarea{min-height:112px!important;padding-top:10px!important}
  .em-contact-method{gap:8px!important;margin-top:2px!important}
  .em-contact-method legend{margin-bottom:8px!important}
  .em-contact-method label{font-size:.9rem!important;line-height:1.3!important;margin:0!important}
  .em-contact-submit,.em-home-inquiry__submit{gap:13px!important;padding-top:0!important}
  .em-contact-submit p,.em-home-inquiry__submit p{font-size:.69rem!important;line-height:1.45!important}
  .em-contact-submit .em-btn,.em-home-inquiry__submit .em-btn{min-height:52px!important}

  .em-contact-hero{padding:108px 0 38px!important}
  .em-contact-hero__grid{gap:24px!important}
  .em-contact-card{padding:25px 20px 22px!important}
  .em-contact-card__index{margin-bottom:16px!important}
  .em-contact-card h2{margin-bottom:15px!important}
  .em-contact-card>p{margin-bottom:20px!important}
  .em-contact-card__details{gap:14px!important;padding-top:15px!important}
  .em-contact-form-section{padding:44px 0 36px!important}
  .em-contact-form-grid{gap:28px!important}
  .em-contact-form-intro h2{margin:.18em 0 .22em!important}
  .em-contact-form-intro>p{margin-bottom:0!important}
  .em-contact-steps{margin-top:22px!important}
  .em-contact-steps>div{padding:13px 0!important}
  .em-contact-local{padding:44px 0 54px!important}
  .em-contact-local__grid{gap:20px!important}
  .em-contact-local h2{margin:.12em 0 .2em!important}
  .em-contact-local__copy{padding-top:16px!important}
  .em-contact-local__copy p{margin-top:0!important;margin-bottom:16px!important}
  .em-contact-close{padding:58px 0 64px!important}

  .em-intro{padding:58px 0 62px!important}
  .em-intro__grid{gap:20px!important}
  .em-intro__headline{margin-top:0!important}
  .em-intro__lower{margin-top:24px!important;padding-top:16px!important}
  .em-journey{padding:58px 0 64px!important}
  .em-journey__head{margin-bottom:28px!important}

  .em-location{padding:60px 0 68px!important;min-height:0!important}
  .em-location__content{display:block!important}
  .em-location h2{margin:.15em 0 .22em!important;max-width:9ch!important}
  .em-location p{font-size:.94rem!important;line-height:1.58!important;max-width:34ch!important;margin-bottom:0!important}
  .em-location__state-map{position:relative!important;right:auto!important;top:auto!important;transform:none!important;width:min(74vw,330px)!important;margin:26px auto 24px!important;opacity:.9!important}
  .em-location__rings,.em-location__pin{display:none!important}
  .em-location__cities{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:0!important}
  .em-location__cities span{min-height:38px!important;padding:8px 10px!important;font-size:.57rem!important}

  .em-footer{padding:44px 0 calc(20px + env(safe-area-inset-bottom))!important}
  .em-footer__top{gap:30px!important}
  .em-footer__identity img{width:205px!important}
  .em-footer__identity p{margin:12px 0 0!important}
  .em-footer__biglink{font-size:clamp(1.65rem,8vw,2.35rem)!important;margin-top:12px!important}
  .em-footer__bottom{margin-top:34px!important;padding-top:18px!important;gap:14px!important}
}

@media(max-width:430px){
  .em-contact-hero{padding-top:96px!important}
  .em-home-inquiry{padding-top:44px!important}
  .em-location__state-map{width:min(78vw,310px)!important}
  .em-location__cities span{font-size:.55rem!important}
}
