:root{color-scheme:dark;--portable-navy:#121a25;--portable-cream:#f3efe6;--portable-copper:#c55c20}
html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#121a25;color:#f3efe6;font-family:Gotham,Arial,Helvetica,sans-serif;line-height:1.6}body>*{box-sizing:border-box}img{max-width:100%}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #cbb989;outline-offset:5px}[hidden]{display:none!important}main{display:block;min-height:65vh}h1,h2,h3{line-height:1.12}p{overflow-wrap:break-word}svg{max-width:100%}.skip-link{position:absolute;top:-100px;left:16px;z-index:1000;background:#f3efe6;color:#121a25;padding:12px}.skip-link:focus{top:8px}
.portable-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(24px,5vw);background:#121a25;color:#f3efe6;min-height:112px}.portable-logo{flex:0 0 140px;display:block}.portable-logo img{display:block;width:132px;height:90px;object-fit:contain}.portable-header nav{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.15vw,23px)}.portable-header nav a{font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;padding:12px 0}.portable-header nav a:hover,.portable-header nav a[aria-current]{color:#d17b45;border-bottom:1px solid #c55c20}.portable-socials{display:flex;gap:8px}.portable-socials a{display:flex;align-items:center;justify-content:center;min-width:29px;height:32px;text-decoration:none;border:1px solid #9a9fa6;border-radius:5px;font-size:12px}.portable-menu-toggle{display:none;background:transparent;color:#f3efe6;border:1px solid #cbb989;padding:8px 14px}
.portable-home-hero{padding:clamp(50px,9vw,120px) max(24px,5vw) 30px;background:radial-gradient(ellipse at 50% 25%,#34485855,transparent 70%),#090d12;text-align:center}.portable-home-hero .eh-home-ink-v2{max-width:1280px;margin:auto}.portable-home-reel{padding:0 max(24px,5vw) 60px;background:#121a25}.video-placeholder,.inline-video-placeholder{position:relative;isolation:isolate;display:grid;align-content:center;justify-items:center;gap:8px;min-height:240px;aspect-ratio:16/9;overflow:hidden;padding:30px;text-align:center;background:linear-gradient(135deg,#1c2a3a,#090d12);color:#f3efe6;box-sizing:border-box}.inline-video-placeholder img,.video-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.28)}.video-placeholder strong,.inline-video-placeholder strong{font-size:clamp(18px,3vw,34px)}.video-placeholder p,.inline-video-placeholder p{margin:0;color:#cbb989;font-size:14px}.video-placeholder a{font-size:14px}.portable-placeholder-dialog{width:min(1000px,90vw);padding:0;border:1px solid #cbb989;background:#090d12;color:#f3efe6}.portable-placeholder-dialog::backdrop{background:#000d}.portable-placeholder-dialog>button{float:right;margin:12px;padding:10px 18px;background:#121a25;color:#f3efe6;border:1px solid #cbb989}.portable-placeholder-dialog .video-placeholder{clear:both}
.portable-contact{max-width:900px;margin:0 auto;padding:60px 24px}.portable-contact h2{font-size:clamp(30px,5vw,52px)}.portable-contact form{display:grid;gap:20px}.portable-contact label{display:grid;gap:8px}.portable-contact input,.portable-contact textarea{box-sizing:border-box;width:100%;border:1px solid #7c838d;border-radius:4px;background:#090d12;color:#f3efe6;padding:13px}.portable-contact button{justify-self:start;background:#c55c20;color:#fff;border:0;padding:16px 24px;font-weight:700}.portable-contact+aside,.portable-contact~.emg-contact-panel{max-width:900px;margin:0 auto 50px}.emg-budget{max-width:900px;margin:40px auto!important}.portable-editorial{max-width:1200px;margin:auto;padding:80px 24px}.portable-editorial h1{font-size:clamp(40px,6vw,76px)}.portable-editorial .eyebrow{color:#cbb989;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.portable-article-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portable-article-grid>a{padding:30px;border:1px solid #c55c2070;border-radius:10px;text-decoration:none}.portable-article-grid h2{font-size:28px}.portable-article-grid span{color:#cbb989}.portable-not-found{padding:100px 24px;text-align:center}.emg-experience{background:#f3efe6}.emg-footer{margin-top:0}
.emg-portfolio-html{box-sizing:border-box;width:calc(100% - 48px)!important}.eh-grade{box-sizing:border-box;max-width:1280px;margin-left:auto!important;margin-right:auto!important}
@media(max-width:1180px){.portable-header{gap:15px;padding:12px 24px}.portable-socials{display:none}.portable-header nav{gap:12px}.portable-header nav a{font-size:12px}}
@media(max-width:900px){.portable-header{flex-wrap:wrap;min-height:88px}.portable-logo{flex-basis:90px}.portable-logo img{width:90px;height:64px}.portable-menu-toggle{display:block}.portable-header nav{display:none;flex:1 0 100%;align-items:stretch;flex-direction:column;gap:0;padding:10px 0}.portable-header nav.is-open{display:flex}.portable-header nav a{font-size:15px;padding:12px}.portable-article-grid{grid-template-columns:1fr}.portable-home-hero{padding-top:50px}.emg-budget{width:calc(100% - 32px)!important}.video-placeholder,.inline-video-placeholder{min-height:190px}.portable-placeholder-dialog .video-placeholder{aspect-ratio:auto;min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Original Portfolio masthead. Use the Squarespace image as a temporary
   remote source until its binary is added to the migrated asset library. */
.portable-migrated-hero{position:relative;isolation:isolate;box-sizing:border-box;display:grid;place-items:center;min-height:clamp(235px,21vw,340px);width:100%;overflow:hidden;background:#090D12;color:#F3EFE6;text-align:center;}
.portable-migrated-hero__art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 44%;}
.portable-migrated-hero::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,26,37,.22) 0%,rgba(9,13,18,.36) 49%,rgba(9,13,18,.79) 100%),radial-gradient(ellipse at 50% 47%,rgba(243,239,230,.11),transparent 68%);}
.portable-migrated-hero__copy{width:min(94%,1100px);padding:clamp(54px,7vw,100px) 16px;position:relative;}
.portable-migrated-hero h1{font:900 clamp(50px,5.6vw,88px)/1.08 Gotham,Arial,sans-serif;letter-spacing:-.028em;color:#F3EFE6;text-wrap:balance;margin:0;}
.portable-migrated-hero h1 span{color:#C55C20;}
 .portable-migrated-hero p{margin:13px 0 0;color:#D87C46;font:600 clamp(14px,1.5vw,20px)/1.5 Gotham,Arial,sans-serif;}
@media(max-width:700px){.portable-migrated-hero{min-height:320px}.portable-migrated-hero__art{object-position:center center}.portable-migrated-hero__copy{padding:65px 14px}.portable-migrated-hero p{max-width:32ch;margin:13px auto 0;}}


/* Mastheads: match the original framed, cropped Squarespace art treatment. */
.portable-migrated-hero--portfolio{
  min-height:clamp(235px,21vw,330px);
}
.portable-migrated-hero--portfolio .portable-migrated-hero__art{
  object-position:50% 40%;
  transform:scale(1.17);
}
.portable-migrated-hero--case-studies{
  min-height:clamp(285px,27vw,410px);
}
.portable-migrated-hero--case-studies .portable-migrated-hero__art{
  /* Visually center the copper architectural frame within the hero crop. */
  object-position:center 38%;
  filter:none;
}
/* Retain artwork detail and copper highlights toward the lower edge. */
.portable-migrated-hero--case-studies::after{
  background:linear-gradient(180deg,rgba(18,26,37,.18) 0%,rgba(9,13,18,.36) 49%,rgba(9,13,18,.63) 100%),radial-gradient(ellipse at 50% 47%,rgba(243,239,230,.11),transparent 68%);
}
/* The reference centers the copy naturally; avoid a manual upward offset. */
.portable-migrated-hero--case-studies .portable-migrated-hero__copy{
  transform:none;
}
.portable-migrated-hero--case-studies .portable-migrated-hero__copy p{
  margin-top:20px;
}
@media(max-width:700px){
  .portable-migrated-hero--case-studies .portable-migrated-hero__copy{transform:none}
}
.portable-migrated-hero h1{
  text-shadow:0 0 14px rgba(243,239,230,.23),0 0 23px rgba(197,92,32,.12);
}
.portable-migrated-hero::before{
  content:"";
  pointer-events:none;
  position:absolute;
  bottom:0;
  left:0;right:0;
  height:2px;
  z-index:2;
  background:linear-gradient(90deg,rgba(243,239,230,.54),rgba(243,239,230,.75) 48%,rgba(243,239,230,.10));
  clip-path:polygon(0 0,100% 90%,100% 100%,0 100%);
}
.portable-migrated-hero--case-studies p{color:#F3EFE6;font-weight:400;}
@media(max-width:700px){
  .portable-migrated-hero--portfolio{min-height:275px}
  .portable-migrated-hero--case-studies{min-height:300px}
  .portable-migrated-hero--portfolio .portable-migrated-hero__art{transform:scale(1.09);object-position:38% center}
  .portable-migrated-hero--case-studies .portable-migrated-hero__art{object-position:50% 25%}
  .portable-migrated-hero h1{font-size:clamp(40px,8vw,62px)}
}


/* Shared warm-white separation beneath the Emberhouse navigation.
   The fade overlays the next section without shifting any page layout. */
.portable-header {
  border-bottom: 1px solid rgba(243,239,230,.16);
}
.portable-header::after {
  content:"";
  position:absolute;
  top:100%;
  left:0;
  right:0;
  height:150px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(243,239,230,.10) 0%,
    rgba(243,239,230,.055) 28%,
    rgba(243,239,230,.018) 65%,
    rgba(243,239,230,0) 100%
  );
}
@media(max-width:900px){
  .portable-header::after{height:96px}
  .menu-open .portable-header::after{display:none}
}

/* Squarespace-style bottom-edge rules: a crisp white hairline following
   each image masthead rather than the (incorrect) gradient grid below it. */
main .emgh {
  border-bottom:2px solid #F3EFE6;
}
main .services-page .emgh {
  /* Services deliberately uses the existing copper/orange diagonal. */
  border-bottom-color:#B86231;
}
main .emg-contact-page .emgh {
  border-bottom:2px solid #F3EFE6;
}
.portable-migrated-hero::before {
  height:2px;
  background:#F3EFE6;
  clip-path:none;
}
/* On Portfolio the source image has a shallow diagonal bottom cut.
   Clip the artwork and trace that identical edge with a 2px white rule. */
.portable-migrated-hero--portfolio {
  --eh-hero-slope:clamp(12px,2vw,34px);
  clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--eh-hero-slope)));
}
.portable-migrated-hero--portfolio::before {
  height:var(--eh-hero-slope);
  background:#F3EFE6;
  clip-path:polygon(0 0,100% calc(100% - 3px),100% calc(100% - 1px),0 2px);
}
@media(max-width:700px){
  .portable-migrated-hero--portfolio { --eh-hero-slope:clamp(8px,2vw,15px); }
}


/* Crisp diagonal stroke rendered OUTSIDE the hero's clip-path.
   The prior ::before line was being clipped down to an almost invisible pixel. */
.portable-migrated-hero--portfolio::before { display:none; }
.eh-portfolio-edge-stroke {
  --eh-hero-slope:clamp(12px,2vw,34px);
  position:relative;
  z-index:12;
  height:0;
  width:100%;
  pointer-events:none;
  overflow:visible;
}
.eh-portfolio-edge-stroke svg {
  position:absolute;
  top:calc(-1 * var(--eh-hero-slope));
  left:0;
  display:block;
  width:100%;
  height:var(--eh-hero-slope);
  overflow:visible;
  filter:drop-shadow(0 0 3px rgba(243,239,230,.65));
}
@media(max-width:700px) {
  .eh-portfolio-edge-stroke { --eh-hero-slope:clamp(8px,2vw,15px); }
}

/* Keep only the diagonal already baked into the Case Studies artwork.
   Its subtle perspective curve is traced by the shared runtime, not a second rule. */
.portable-migrated-hero--case-studies{clip-path:polygon(0 0,100% 0,100% calc(100% - 8.134vw),0 100%)}
.portable-migrated-hero--case-studies .portable-migrated-hero__art{max-width:none;object-fit:fill}
.portable-migrated-hero--case-studies::before{display:none}

/* Status messages reserve space only when there is something to report. */
.portable-film-status:empty{display:none}
