/* Erfesh Motion — front-end styles. Colors come from Settings → Erfesh Motion (printed as --em-* on :root). */
:root{
  --em-bg:#F4EEE6; --em-surface:#FFFBF6; --em-surface-2:#EDE4D8; --em-line:#DDD1C3;
  --em-fg:#2A2522; --em-muted:#6E6359; --em-accent:#E2B69D; --em-accent-ink:#965C40; --em-accent-2:#965C40; --em-on-accent:#2A2522; --em-on-accent-2:#FFFFFF; --em-tag-bg:#557E7A; --em-tag-fg:#FFFFFF;
  --em-display:'Archivo','Arial Narrow',Helvetica,sans-serif;
  --em-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --em-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --em-gutter:clamp(16px,4vw,56px);
  --em-ease-out:cubic-bezier(.19,1,.22,1);
  --em-ease-io:cubic-bezier(.77,0,.175,1);
}
body.em-site{background:var(--em-bg);color:var(--em-fg);overflow-x:clip}
/* Smooth-scroll engine (Lenis) — required so the browser doesn't double-smooth the scroll */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.em{font-family:var(--em-display);font-size:16px;line-height:1.5;color:var(--em-fg);-webkit-font-smoothing:antialiased;box-sizing:border-box}
.em *,.em *::before,.em *::after{box-sizing:border-box}
.em a,.em a:hover,.em a:focus{text-decoration:none !important;box-shadow:none}
.em h1,.em h2,.em h3,.em p{margin:0;color:inherit;font-family:inherit;letter-spacing:normal}
.em img{max-width:100%;height:auto}
.em :focus-visible{outline:2px solid var(--em-accent);outline-offset:4px;border-radius:6px}
.em-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.em-mono{font-family:var(--em-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.em-wrap{padding-inline:var(--em-gutter)}
.em em,.em .em-serif{font-family:var(--em-serif);font-style:italic;font-weight:400;letter-spacing:0}
.em-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---------- Buttons ---------- */
.em .em-btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-family:var(--em-display);font-size:15px;font-weight:600;line-height:1;letter-spacing:.01em;cursor:pointer;border:1.5px solid transparent;transition:transform 300ms var(--em-ease-out),box-shadow 300ms ease,border-color 200ms ease,color 200ms ease,background-color 200ms ease;white-space:nowrap;text-transform:none}
.em .em-btn svg{width:18px;height:18px;flex:none;transition:transform 300ms var(--em-ease-out)}
.em .em-btn:active{transform:scale(.97)}
.em .em-btn-primary{background:var(--em-accent);color:var(--em-on-accent)}
.em .em-btn-primary::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--em-accent-2);transform:translateY(101%);border-radius:inherit;transition:transform 450ms var(--em-ease-out)}
.em .em-btn-ghost{border-color:var(--em-line);color:var(--em-fg);background:transparent}
.em .em-btn-ghost::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--em-accent);opacity:0;transform:scale(.6);border-radius:inherit;transition:transform 400ms var(--em-ease-out),opacity 250ms ease}
@media (hover:hover) and (pointer:fine){
  .em .em-btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px -12px var(--em-accent);color:var(--em-on-accent-2)}
  .em .em-btn-primary:hover::before{transform:none}
  .em .em-btn:hover .em-arrow{transform:translateX(4px)}
  .em .em-btn-ghost:hover{border-color:var(--em-accent);color:var(--em-on-accent);transform:translateY(-3px)}
  .em .em-btn-ghost:hover::before{opacity:1;transform:none}
  .em .em-btn-ghost:hover svg:not(.em-arrow){transform:rotate(-8deg) scale(1.1)}
}
.em .em-btn-sm{min-height:44px;padding:0 18px;font-size:14px}
.em .em-btn-xl{min-height:64px;padding:0 34px;font-size:18px}

/* ---------- Header ---------- */
.em-header{contain:layout style;position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(env(safe-area-inset-top,0px) + 14px) var(--em-gutter) 14px;transition:background-color 300ms ease,border-color 300ms ease;border-bottom:1px solid transparent}
.admin-bar .em-header{top:32px}
@media (max-width:782px){.admin-bar .em-header{top:46px}}
.elementor-editor-active .em-header{position:relative;top:0}
.em-header.is-scrolled{background:color-mix(in srgb,var(--em-bg) 94%,transparent);border-bottom-color:color-mix(in srgb,var(--em-line) 70%,transparent)}
.em .em-logo{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;font-weight:900;font-size:clamp(17px,1.6vw,21px);letter-spacing:.02em;white-space:nowrap;color:var(--em-fg);text-transform:uppercase}
.em-logo{white-space:nowrap;contain:layout style}
.em-logo-mid{display:inline-flex;color:var(--em-accent-ink)}
.em-ch{display:inline-block;overflow:hidden;width:var(--w,auto);transition:width 460ms var(--em-ease-io),transform 460ms var(--em-ease-io),opacity 320ms ease}
.em-ch.em-sp{width:var(--w,.3em);min-width:0}
.em-ch.is-left{transform-origin:0 50%}
.em-ch.is-right{transform-origin:100% 50%}
.em-ch.is-hidden{width:0;transform:scaleX(0);opacity:0}
.em-logo.is-measuring .em-ch{transition:none}
.em-logo.is-js .em-ch{transition:none;will-change:width,opacity,transform}
.em-nav{display:flex;gap:4px}
.em .em-nav-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;font-size:15px;font-weight:500;color:var(--em-muted);transition:color 200ms ease,background-color 200ms ease}
.em-nav-link::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--em-accent);transform:scale(0);transition:transform 300ms var(--em-ease-out)}
.em .em-nav-link:hover,.em .em-nav-link.is-active{color:var(--em-fg);background:var(--em-surface)}
.em-nav-link:hover::before,.em-nav-link.is-active::before{transform:scale(1)}
@media (max-width:860px){.em-nav{display:none}}
.em-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--em-accent);transform-origin:left;transform:scaleX(0);z-index:1000;pointer-events:none}

/* ---------- Hero ---------- */
.em-hero{position:relative;overflow:hidden}
.em-hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.em-hero-copy{contain:layout style;position:absolute;left:var(--em-gutter);right:var(--em-gutter);bottom:clamp(28px,6vh,64px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.em-hero-line{font-size:clamp(24px,3.4vw,50px);line-height:1.15;font-weight:300;animation:em-rise 1200ms var(--em-ease-out) 300ms both}
@keyframes em-rise{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.em-rotator{position:relative;display:inline-block;vertical-align:bottom;height:1.2em;overflow:hidden;color:var(--em-accent-ink);font-weight:500;transition:width 650ms var(--em-ease-io)}
.em-rot-word{position:absolute;left:0;top:0;white-space:nowrap;line-height:1.2em;transform:translateY(100%);transition:transform 650ms var(--em-ease-io)}
.em-rot-word.is-on{transform:none}
.em-rot-word.is-out{transform:translateY(-100%)}
.em-cue{display:flex;align-items:center;gap:12px;color:var(--em-muted)}
.em-cue b{display:block;width:1px;height:48px;background:var(--em-line);position:relative;overflow:hidden}
.em-cue b::after{content:"";position:absolute;inset:0;background:var(--em-accent);animation:em-cue 1800ms var(--em-ease-io) infinite}
@keyframes em-cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* ---------- About ---------- */
.em-about{padding-block:clamp(88px,12vh,140px) clamp(48px,8vh,110px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(36px,6vw,96px);align-items:center;border-top:1px solid var(--em-line)}
.em-portrait{position:relative;width:min(100%,480px,calc(100vh - 220px));min-width:min(100%,260px);justify-self:center}
.em-portrait-frame{position:relative;aspect-ratio:1;border-radius:28px;overflow:hidden;background:var(--em-accent)}
.em-portrait-frame img{width:100%;height:100% !important;object-fit:cover;display:block;transform:scale(1.08);transform-origin:50% 40%}
.em-portrait-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--em-on-accent);font-family:var(--em-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.em-portrait-tag{position:absolute;right:-12px;bottom:72px;padding:12px 18px;border-radius:999px;background:var(--em-tag-bg);color:var(--em-tag-fg);font-family:var(--em-serif);font-style:italic;font-size:22px;box-shadow:0 12px 30px -14px rgba(0,0,0,.5);animation:em-bob 4s ease-in-out infinite}
@keyframes em-bob{50%{transform:translateY(-8px) rotate(-2deg)}}
.em-about-copy{display:flex;flex-direction:column;gap:clamp(14px,2.6vh,28px);min-width:0}
.em-about-copy .em-mono{color:var(--em-accent-ink)}
.em-about-text{max-width:30ch;font-size:clamp(21px,min(2.5vw,3.9vh),44px);line-height:1.16;font-weight:600;letter-spacing:-.015em;font-variation-settings:'wdth' 92;text-wrap:balance}
.em-about-text em{color:var(--em-accent-ink)}

/* ---------- Services reel ---------- */
.em-services{position:relative;overflow:hidden;border-top:1px solid var(--em-line);border-bottom:1px solid var(--em-line)}
.em-reel-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:clamp(90px,12vh,110px) var(--em-gutter) 0}
.em-pinned .em-reel-bar{position:absolute;top:0;left:0;right:0;z-index:2}
.em-reel-bar h2{font-size:clamp(20px,2vw,26px);font-weight:700}
.em-reel-count{font-variant-numeric:tabular-nums;color:var(--em-muted)}
.em-reel-progress{position:absolute;left:var(--em-gutter);right:var(--em-gutter);bottom:28px;height:2px;background:var(--em-line);display:none}
.em-pinned .em-reel-progress{display:block}
.em-reel-progress i{display:block;height:100%;background:var(--em-accent);transform-origin:left;transform:scaleX(0)}
.em-track{display:flex;flex-direction:column}
.em-pinned .em-track{flex-direction:row;width:max-content}
.em-panel{width:100%;min-height:auto;padding:clamp(40px,8vh,90px) var(--em-gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(24px,4vw,64px);align-items:center}
.em-pinned .em-panel{width:100vw;height:100vh;min-height:0;padding-top:clamp(132px,19vh,180px);padding-bottom:clamp(48px,8vh,80px)}
.em-panel+.em-panel{border-top:1px solid var(--em-line)}
.em-pinned .em-panel+.em-panel{border-top:0;border-left:1px solid var(--em-line)}
.em-panel-copy{display:flex;flex-direction:column;gap:clamp(12px,2.2vh,20px);min-width:0;align-items:flex-start}
.em-pinned .em-panel-copy{will-change:transform,opacity}
.em-pinned .em-track{will-change:transform}
.em-panel-copy .em-mono{color:var(--em-accent-ink)}
.em-big{font-weight:900;font-size:clamp(32px,min(4.4vw,7vh),72px);line-height:.92;text-transform:uppercase;font-stretch:100%;text-wrap:balance;max-width:100%}
.em-panel-copy p{max-width:44ch;font-size:clamp(16px,min(1.4vw,2.4vh),21px);color:var(--em-muted)}
.em-tags{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.em-tags li{margin:0;padding:6px 12px;border:1px solid var(--em-line);border-radius:999px;font-family:var(--em-mono);font-size:12px;color:var(--em-muted)}
.em-stage{position:relative;aspect-ratio:1;width:min(100%,calc(100vh - 270px));justify-self:center;border-radius:22px;background:var(--em-surface);border:1px solid var(--em-line);overflow:hidden}
.em-stage img{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;transition:transform 900ms var(--em-ease-out)}
.em-panel:hover .em-stage img{transform:scale(1.04)}
.em-stage-empty{position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,var(--em-accent),transparent 60%),radial-gradient(circle at 75% 70%,var(--em-accent-2),transparent 55%),var(--em-surface-2)}

/* ---------- Marquee ---------- */
.em-marquee{padding-block:clamp(56px,9vh,100px);overflow:hidden;display:flex;flex-direction:column;gap:8px}
.em-mq-row{display:flex;width:max-content;will-change:transform}
.em-mq-row span{font-weight:900;font-size:clamp(48px,9vw,140px);line-height:1;text-transform:uppercase;white-space:nowrap;padding-right:.4em;font-variation-settings:'wdth' 110}
.em-mq-row.is-outline span{color:transparent;-webkit-text-stroke:1.5px var(--em-accent-ink)}
.em-mq-row span i{font-style:normal;color:var(--em-accent-2);font-size:.5em;vertical-align:middle;padding:0 .3em}

/* ---------- Section heads ---------- */
.em-sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 20px;margin-bottom:clamp(24px,4vh,48px)}
.em-sec-head h2{font-size:clamp(40px,min(7vw,11vh),112px);line-height:.88;font-weight:900;text-transform:uppercase;font-variation-settings:'wdth' 110}
.em-sec-side{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:36ch;color:var(--em-muted)}

/* ---------- Portfolio stack ---------- */
.em-works{padding-block:clamp(80px,12vh,140px) 40px}
.em-stack{display:flex;flex-direction:column;gap:6vh;padding-bottom:10vh}
.em-card{--card-h:min(74vh,640px);will-change:transform;position:sticky;top:calc(96px + var(--i) * 16px);height:var(--card-h);border-radius:28px;background:var(--em-surface);border:1px solid var(--em-line);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;transform-origin:50% 0}
/* Laptop & desktop: the section heading stays pinned while the cards stack below it, and each card fits under it */
@media (min-width:761px) and (min-height:540px){
  .em-works .em-sec-head{position:sticky;top:var(--em-header-h,76px);z-index:4;align-items:center;margin-bottom:12px;padding-block:12px;background:var(--em-bg)}
  .em-works .em-sec-head h2{font-size:clamp(30px,min(4.6vw,7.5vh),72px);line-height:.95}
  .em-works .em-sec-head h2 br{display:none}
  .em-works .em-sec-side{flex-direction:row;align-items:center;max-width:none;gap:20px}
  .em-works .em-sec-side p{max-width:36ch}
  .em-works .em-card{top:calc(var(--em-header-h,76px) + var(--em-head-h,110px) + 8px + var(--i) * 14px);--card-h:min(640px,calc(100vh - var(--em-header-h,76px) - var(--em-head-h,110px) - 28px - (var(--n,1) - 1) * 14px))}
  .em-works .em-stack{gap:4vh}
}
.em-shade{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:2}
.em-card-copy{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px;height:100%;box-sizing:border-box;padding:clamp(22px,min(3.5vw,5vh),48px);min-width:0;overflow:hidden}
.em-card-copy .em-mono{color:var(--em-accent-ink)}
.em-card-copy h3{font-size:clamp(28px,min(4.4vw,7.5vh),76px);line-height:.92;font-weight:900;text-transform:uppercase;text-wrap:balance}
.em-card-copy p{color:var(--em-muted);font-size:clamp(16px,1.3vw,19px);max-width:36ch}
.em-art{position:relative;display:block;overflow:hidden;aspect-ratio:1;width:min(calc(var(--card-h) - 24px),48vw);margin:12px;border-radius:20px;background:var(--em-surface-2);--mx:0;--my:0}
/* Phones: square picture on top, text below */
@media (max-width:760px){
  .em-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch}
  .em-art{order:-1;justify-self:center;width:min(calc(100% - 24px),38vh);margin:12px auto 0}
  .em-card-copy{gap:12px;padding:18px 20px 22px}
}
.em-art img{position:absolute;inset:-5%;width:110% !important;height:110% !important;max-width:none !important;object-fit:cover;transform:translate(calc(var(--mx) * -24px),calc(var(--my) * -24px));transition:transform 700ms var(--em-ease-out)}
.em-art.is-contain{background:#fff}
.em-art.is-contain img{object-fit:contain;inset:6%;width:88% !important;height:88% !important}

/* ---------- Stats ---------- */
.em-stats{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));border-top:1px solid var(--em-line);border-bottom:1px solid var(--em-line)}
.em-stat{padding:clamp(28px,4vw,52px) clamp(12px,2vw,28px);display:flex;flex-direction:column;gap:6px;min-width:0;border-left:1px solid var(--em-line)}
.em-stat:first-child{border-left:0;padding-left:0}
.em-stat strong{font-size:clamp(48px,6.4vw,104px);font-weight:900;line-height:.9;font-variant-numeric:tabular-nums;font-variation-settings:'wdth' 110;white-space:nowrap}
.em-stat strong sup{font-size:.42em;color:var(--em-accent-ink);vertical-align:top;top:0}
.em-stat span{color:var(--em-muted)}
@media (max-width:900px){
  .em-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .em-stat:nth-child(odd){border-left:0;padding-left:0}
  .em-stat:nth-child(n+3){border-top:1px solid var(--em-line)}
}

/* ---------- Reviews ---------- */
.em-reviews{padding-block:clamp(92px,13vh,140px) clamp(48px,8vh,96px)}
.em-reviews .em-sec-head h2{font-size:clamp(34px,min(5vw,8vh),80px)}
.em-rv{--rv-h:clamp(300px,calc(100vh - 290px),620px);display:grid;grid-template-columns:auto minmax(0,1fr) minmax(250px,300px);gap:clamp(20px,3vw,48px);align-items:center}
.em-feature-poster{position:relative;display:block;height:var(--rv-h);aspect-ratio:768/953;border-radius:22px;overflow:hidden;background:var(--em-surface)}
.em-feature-poster img{position:absolute;inset:0;width:100%;height:100% !important;object-fit:cover;transition:opacity 420ms ease,transform 900ms var(--em-ease-out)}
.em-feature-info{transition:opacity 420ms ease}
.em-rv.is-fading .em-feature-poster img{opacity:0;transform:scale(1.02);transition:opacity 300ms ease,transform 300ms ease}
.em-rv.is-fading .em-feature-info{opacity:0;transition:opacity 300ms ease}
.em-feature-info{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,2.2vh,20px);min-width:0}
.em-feature-info .em-mono{color:var(--em-accent-ink)}
.em-f-title{display:flex;flex-direction:column;gap:clamp(6px,1.2vh,12px)}
.em-f-main{font-size:clamp(30px,min(4.2vw,7vh),72px);line-height:.92;font-weight:900;text-transform:uppercase;text-wrap:balance}
.em-f-sub{font-family:var(--em-serif);font-style:italic;font-weight:400;font-size:clamp(19px,min(2vw,3.4vh),32px);line-height:1.15;color:var(--em-accent-ink);text-wrap:balance}
.em-f-sub[hidden]{display:none}
.em-f-take{color:var(--em-muted);font-size:clamp(16px,min(1.3vw,2.3vh),20px);max-width:46ch;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.em-upnext{display:flex;flex-direction:column;gap:10px;min-width:0;max-height:var(--rv-h)}
.em-upnext-label{color:var(--em-muted)}
.em-rail{position:relative;display:flex;flex-direction:column;gap:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0 -8px;padding:0 8px}
.em .em-rail button{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:8px;margin:0;border:0;border-radius:14px;background:transparent;color:var(--em-muted);cursor:pointer;text-align:left;font-family:var(--em-display);font-size:15px;line-height:1.25;transition:background-color 200ms ease,color 200ms ease}
.em-thumb{position:relative;display:block;width:48px;aspect-ratio:768/953;border-radius:8px;overflow:hidden;background:var(--em-surface-2)}
.em-thumb img{width:100%;height:100% !important;object-fit:cover;display:block;transition:transform 500ms var(--em-ease-out)}
.em-rtext{display:flex;flex-direction:column;gap:8px;min-width:0}
.em-t{font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.em-bar{display:block;height:3px;border-radius:2px;background:var(--em-line);overflow:hidden}
.em-bar i{display:block;height:100%;background:var(--em-accent-ink);transform-origin:left;transform:scaleX(0)}
.em .em-rail button[aria-pressed="true"]{background:var(--em-surface);color:var(--em-fg)}
@media (hover:hover) and (pointer:fine){.em .em-rail button:hover{background:var(--em-surface);color:var(--em-fg)}.em-rail button:hover .em-thumb img{transform:scale(1.08)}}
@media (max-width:1100px){
  .em-rv{grid-template-columns:auto minmax(0,1fr)}
  .em-upnext{grid-column:1/-1;max-height:none}
  .em-rail{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding-bottom:6px}
  .em .em-rail button{grid-template-columns:1fr;width:118px;flex:none;align-items:start}
  .em-thumb{width:100%}
}
@media (max-width:720px){
  .em-rv{grid-template-columns:minmax(0,1fr)}
  .em-feature-poster{height:auto;width:min(100%,360px)}
}

/* ---------- Finale ---------- */
.em-end{position:relative;padding-block:clamp(120px,20vh,220px) 40px;--x:50%;--y:40%;background:radial-gradient(700px circle at var(--x) var(--y),color-mix(in srgb,var(--em-accent) 26%,transparent),transparent 60%),var(--em-bg);border-top:1px solid var(--em-line);overflow:hidden}
.em-end h2{margin:0 0 clamp(28px,5vh,48px);font-size:clamp(46px,min(9vw,14vh),170px);line-height:.86;font-weight:900;text-transform:uppercase;font-variation-settings:'wdth' 115;text-wrap:balance}
.em-end h2 em{text-transform:none;color:var(--em-accent-ink)}
.em-end-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.em-fine{margin-top:96px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--em-muted)}

/* ---------- Contact modal ---------- */
.em-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:fixed;inset:0;z-index:100000;background:var(--em-bg);color:var(--em-fg);overflow-y:auto;--ox:50%;--oy:50%;clip-path:circle(0 at var(--ox) var(--oy));transition:clip-path 800ms var(--em-ease-io)}
.em-modal[hidden]{display:none !important}
.em-modal.is-open{clip-path:circle(150% at var(--ox) var(--oy))}
.em-modal-inner{min-height:100%;padding:calc(env(safe-area-inset-top,0px) + clamp(76px,11vh,104px)) var(--em-gutter) clamp(28px,5vh,56px);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(28px,5vw,88px);align-items:center;max-width:1440px;margin:0 auto}
@media (max-width:900px){.em-modal-inner{grid-template-columns:minmax(0,1fr);align-items:start}}
.em-modal h2{font-size:clamp(52px,min(8vw,14vh),150px);line-height:.84;font-weight:900;text-transform:uppercase;font-variation-settings:'wdth' 120}
.em-modal h2 em{text-transform:none;display:block;color:var(--em-accent-ink)}
.em-modal-lede{margin-top:clamp(12px,2.4vh,24px) !important;font-size:clamp(17px,min(1.6vw,2.6vh),22px);max-width:30ch;opacity:.85}
.em-stagger>*{opacity:0;transform:translateY(24px);transition:opacity 500ms ease,transform 700ms var(--em-ease-out)}
.em-modal.is-open .em-stagger>*{opacity:1;transform:none}
.em-modal.is-open .em-stagger>*:nth-child(2){transition-delay:80ms}.em-modal.is-open .em-stagger>*:nth-child(3){transition-delay:160ms}
.em-modal.is-open .em-stagger>*:nth-child(4){transition-delay:240ms}.em-modal.is-open .em-stagger>*:nth-child(5){transition-delay:320ms}
.em .em-modal-close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);right:var(--em-gutter);width:56px;height:56px;padding:0;border-radius:50%;border:1.5px solid var(--em-line);background:transparent;color:var(--em-fg);cursor:pointer;display:grid;place-items:center;transition:transform 400ms var(--em-ease-out),background-color 200ms ease,color 200ms ease}
.em .em-modal-close:hover{transform:rotate(90deg);background:var(--em-accent);border-color:var(--em-accent);color:var(--em-on-accent)}
.em-modal-close svg{width:22px;height:22px}
.em-form{display:flex;flex-direction:column;gap:clamp(10px,2vh,22px);min-width:0}
.em-chips{border:0;margin:0;padding:0;min-width:0}
.em-chip-row{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px;margin:0 -2px}
.em-chip-row::-webkit-scrollbar{display:none}
.em-chips legend{font-family:var(--em-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;padding:0;color:inherit}
.em-chip{position:relative;flex:none}
.em-chip input{position:absolute;opacity:0;pointer-events:none}
.em-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;white-space:nowrap;font-size:15px;border-radius:999px;border:1.5px solid var(--em-line);cursor:pointer;font-weight:500;transition:background-color 200ms ease,color 200ms ease}
.em-chip span:hover{border-color:var(--em-accent);background:color-mix(in srgb,var(--em-accent) 25%,transparent)}
.em-chip input:checked+span{background:var(--em-accent);border-color:var(--em-accent);color:var(--em-on-accent)}
.em-chip input:focus-visible+span{outline:2px solid var(--em-accent-ink);outline-offset:3px}
.em-field{position:relative}
.em .em-field input,.em .em-field textarea{width:100%;margin:0;padding:clamp(20px,3vh,26px) 0 8px;border:0;border-radius:0;border-bottom:2px solid var(--em-line);background:transparent;color:var(--em-fg);font-family:var(--em-display);font-size:clamp(18px,min(1.8vw,2.9vh),24px);font-weight:500;outline:none;box-shadow:none;resize:vertical;transition:border-color 250ms ease}
.em .em-field textarea{min-height:clamp(64px,11vh,110px)}
.em-field label{position:absolute;left:0;top:clamp(22px,3.2vh,28px);font-size:clamp(18px,min(1.8vw,2.9vh),24px);opacity:.65;pointer-events:none;transform-origin:left top;transition:transform 300ms var(--em-ease-out),opacity 200ms ease}
.em .em-field input:focus,.em .em-field textarea:focus{border-bottom-color:var(--em-accent-ink)}
.em-field input:focus+label,.em-field input:not(:placeholder-shown)+label,.em-field textarea:focus+label,.em-field textarea:not(:placeholder-shown)+label{transform:translateY(-26px) scale(.55);opacity:.9}
.em-hp{position:absolute !important;left:-9999px !important}
.em .em-form .em-btn-primary{align-self:flex-start}
.em-form-error{min-height:1.2em;font-weight:600;color:var(--em-accent-ink)}
.em-done{display:none;flex-direction:column;align-items:flex-start;gap:16px}
.em-modal.is-sent .em-form{display:none}.em-modal.is-sent .em-done{display:flex}
.em-done svg{width:88px;height:88px}
.em-done circle,.em-done path{fill:none;stroke:var(--em-accent-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.em-modal.is-sent .em-done circle{stroke-dasharray:280;stroke-dashoffset:280;animation:em-draw 900ms var(--em-ease-out) forwards}
.em-modal.is-sent .em-done path{stroke-dasharray:60;stroke-dashoffset:60;animation:em-draw 500ms var(--em-ease-out) 600ms forwards}
@keyframes em-draw{to{stroke-dashoffset:0}}
.em-done h3{font-size:clamp(32px,4vw,56px);line-height:1;font-weight:900}
.em-done p{max-width:34ch}

/* ---------- Menu jump curtain ---------- */
.em-curtain{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;background:var(--em-accent);color:var(--em-on-accent);transform:translateY(100%);pointer-events:none}
.em-curtain.is-in{transform:none;transition:transform 440ms var(--em-ease-io)}
.em-curtain.is-out{transform:translateY(-100%);transition:transform 560ms var(--em-ease-io)}
.em-curtain-label{font-weight:900;font-size:clamp(40px,8vw,120px);text-transform:uppercase;font-stretch:110%;opacity:0;transform:translateY(30px);transition:opacity 300ms ease 120ms,transform 500ms var(--em-ease-out) 120ms}
.em-curtain.is-in .em-curtain-label{opacity:1;transform:none}
.em-curtain.is-out .em-curtain-label{opacity:0;transform:translateY(-30px);transition:opacity 200ms ease,transform 400ms var(--em-ease-io)}

/* ---------- Hero on phones: "hide" option ---------- */
@media (max-width:699px){
  .em-hero-copy{flex-direction:column;align-items:flex-start}
  .em-hero-copy .em-cue{display:none}
  .em-hero-line{width:100%;font-size:clamp(24px,7.4vw,34px)}
  .em-rotator{display:block;width:auto !important;max-width:100%}
  .em-hero[data-mobile="hide"]{height:auto !important;padding:calc(var(--em-header-h,76px) + 48px) 0 56px}
  .em-hero[data-mobile="hide"] canvas{display:none}
  .em-hero[data-mobile="hide"] .em-hero-copy{position:static;padding-inline:var(--em-gutter)}
  .em-hero[data-mobile="hide"] .em-hero-line{font-size:clamp(28px,8.4vw,40px)}
}

/* ---------- Contact Form 7 inside the pop-up ---------- */
.em-modal.is-sent .em-cf7{display:none}
.em-cf7 .wpcf7-form{display:flex;flex-direction:column;gap:clamp(10px,2vh,20px)}
.em-cf7 .wpcf7-form p{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:clamp(10px,2vh,20px)}
.em-cf7 .em-cf7-topic p{display:block}
.em-cf7 .wpcf7-form br{display:none}
.em-cf7 .wpcf7-form-control-wrap{display:block}
.em-cf7 .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vh,20px) 24px}
.em-cf7 .row>[class*="col-"]{grid-column:1/-1;margin:0}
.em-cf7 .row>.col-md-6{grid-column:auto}
@media (max-width:600px){.em-cf7 .row>.col-md-6{grid-column:1/-1}}
.em-cf7 .btn-block{display:none}
.em-cf7 .btn-wrap,.em-cf7 .btn-link{display:contents}
.em-cf7 .em-cf7-legend{font-family:var(--em-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.em .em-cf7 input[type="text"],.em .em-cf7 input[type="email"],.em .em-cf7 input[type="tel"],.em .em-cf7 input[type="url"],.em .em-cf7 input[type="number"],.em .em-cf7 select,.em .em-cf7 textarea{width:100%;margin:0;padding:clamp(16px,2.6vh,22px) 0 8px;border:0;border-radius:0;border-bottom:2px solid var(--em-line);background:transparent;color:var(--em-fg);font-family:var(--em-display);font-size:clamp(18px,min(1.8vw,2.9vh),24px);font-weight:500;outline:none;box-shadow:none;transition:border-color 250ms ease}
.em .em-cf7 textarea{min-height:clamp(64px,11vh,110px);height:auto;resize:vertical}
.em .em-cf7 input:focus,.em .em-cf7 textarea:focus,.em .em-cf7 select:focus{border-bottom-color:var(--em-accent-ink)}
.em-cf7 ::placeholder{color:var(--em-muted);opacity:1}
.em-cf7 .wpcf7-radio,.em-cf7 .wpcf7-checkbox{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.em-cf7 .wpcf7-radio::-webkit-scrollbar{display:none}
.em-cf7 .wpcf7-list-item{margin:0;flex:none}
.em-cf7 .wpcf7-list-item label{position:relative;display:block;cursor:pointer}
.em-cf7 .wpcf7-list-item input{position:absolute;opacity:0;pointer-events:none}
.em-cf7 .wpcf7-list-item-label{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--em-line);white-space:nowrap;font-size:15px;font-weight:500;transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease}
.em-cf7 .wpcf7-list-item-label:hover{border-color:var(--em-accent);background:color-mix(in srgb,var(--em-accent) 25%,transparent)}
.em-cf7 .wpcf7-list-item input:checked+.wpcf7-list-item-label{background:var(--em-accent);border-color:var(--em-accent);color:var(--em-on-accent)}
.em-cf7 .wpcf7-list-item input:focus-visible+.wpcf7-list-item-label{outline:2px solid var(--em-accent-ink);outline-offset:3px}
.em .em-cf7 .wpcf7-submit{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 32px;margin:0;border:0;border-radius:999px;background:var(--em-accent);color:var(--em-on-accent);font-family:var(--em-display);font-size:17px;font-weight:600;cursor:pointer;box-shadow:none;transition:transform 300ms var(--em-ease-out),background-color 200ms ease,color 200ms ease,box-shadow 300ms ease}
@media (hover:hover) and (pointer:fine){.em .em-cf7 .wpcf7-submit:hover{background:var(--em-accent-2);color:var(--em-on-accent-2);transform:translateY(-3px);box-shadow:0 14px 30px -12px var(--em-accent-2)}}
.em-cf7 .wpcf7-spinner{display:none}
.em-cf7 .wpcf7-form.submitting .wpcf7-submit{opacity:.65;cursor:progress}
.em .em-cf7 .wpcf7-not-valid{border-bottom-color:var(--em-accent-ink)}
.em-cf7 .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.em-cf7 .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;font-weight:600;color:var(--em-accent-ink)}
.em-cf7 .wpcf7 form .wpcf7-response-output:empty,.em-cf7 .wpcf7 form.init .wpcf7-response-output{display:none}
.em-cf7 .wpcf7 form .wpcf7-response-output{margin:4px 0 0;padding:12px 16px;border-radius:14px;border:1.5px solid var(--em-line);font-size:15px}
.em-cf7 .wpcf7 form.sent .wpcf7-response-output{border-color:var(--em-tag-bg)}
.em-cf7 .wpcf7 form.invalid .wpcf7-response-output,.em-cf7 .wpcf7 form.failed .wpcf7-response-output,.em-cf7 .wpcf7 form.spam .wpcf7-response-output{border-color:var(--em-accent-ink)}

/* ---------- Editor: keep things visible and unpinned ---------- */
.elementor-editor-active .em-card{position:relative;top:auto}

@media (prefers-reduced-motion: reduce){
  .em-hero-line,.em-rot-word,.em-rotator,.em-cue b::after,.em .em-btn,.em .em-btn::before,.em-portrait-tag,.em-ch,.em-curtain,.em-curtain-label,.em-modal,.em-stagger>*,.em-stage-empty,.em-done circle,.em-done path{animation:none !important;transition:none !important}
  .em-stagger>*{opacity:1;transform:none}
}
