:root{
  --paper:#F6F2E9; --espresso:#2D221B; --line:#D6C7B2; --leather:#8F7156; --tobacco:#5E4737;
  --ea-display-font:"GFS Didot",Didot,"Times New Roman",serif;
  --ea-sans:"Inter",Arial,Helvetica,sans-serif;
  --max:1440px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--espresso);font-family:var(--ea-display-font);-webkit-font-smoothing:antialiased}body.ea-overlay-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.ea-container{width:min(calc(100% - 7.4vw),var(--max));margin-inline:auto}.ea-site{overflow:hidden}
.ea-header{display:flex;justify-content:space-between;align-items:center;padding-top:30px;position:sticky;top:0;z-index:80;background:var(--paper)}.ea-brand{font-size:34px;line-height:1;letter-spacing:-.028em}.ea-nav{display:flex;gap:46px;font-size:21px}.ea-nav a{position:relative}.ea-nav a:after,.ea-socials a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.ea-nav a:hover:after,.ea-socials a:hover:after{transform:scaleX(1)}
.ea-hero{padding-top:64px;padding-bottom:26px}.ea-hero h1{margin:0;max-width:1200px;font-size:clamp(78px,9.5vw,160px);font-weight:400;line-height:.81;letter-spacing:-.055em}
.ea-carousel{padding-bottom:24px}.ea-carousel-stage{position:relative;aspect-ratio:2.5/1;overflow:hidden;background:#d6c7b2}.ea-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1)}.ea-slide.is-active{opacity:1;pointer-events:auto}.ea-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.012);transition:transform 6s ease}.ea-slide.is-active img{transform:scale(1.04)}.ea-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.02) 58%,rgba(0,0,0,.14))}.ea-slide-copy{position:absolute;left:72px;bottom:38px;color:white;font-family:var(--ea-sans);text-transform:uppercase;letter-spacing:.18em}.ea-slide-count{display:block;font-size:13px;margin-bottom:13px}.ea-slide-copy strong{display:block;font-size:22px;line-height:1.05;font-family:var(--ea-display-font);font-weight:400;text-transform:none;letter-spacing:0;color:#B89F82}.ea-slide-copy small{display:block;font-size:11px;margin-top:6px}.ea-carousel-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);border:0;background:transparent;color:white;font:300 54px/1 var(--ea-display-font);cursor:pointer;padding:20px}.ea-prev{left:0}.ea-next{right:0}.ea-dots{position:absolute;z-index:4;right:48px;bottom:28px;display:flex;gap:11px}.ea-dots button{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:transparent;padding:0;cursor:pointer}.ea-dots button.is-active{background:white}
.ea-work{border-top:1px solid rgba(45,34,27,.22);padding-top:26px;padding-bottom:28px}.ea-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ea-section-head h2{font-size:24px;font-weight:400;margin:0}.ea-section-head a{font-size:18px;opacity:.75}.ea-work-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:210px 210px 245px 210px 210px 245px;gap:8px}.ea-work-card{position:relative;overflow:hidden;background:#d6c7b2}.ea-work-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.ea-work-card:hover img{transform:scale(1.025)}.ea-card-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.38),transparent 52%)}.ea-card-copy{position:absolute;left:18px;bottom:15px;color:#fff;font-family:var(--ea-sans);text-transform:uppercase;letter-spacing:.18em;text-shadow:0 1px 12px rgba(0,0,0,.3)}.ea-card-copy strong{display:block;font-size:13px;font-family:var(--ea-display-font);font-weight:400;text-transform:none;letter-spacing:0;color:#B89F82}.ea-card-copy small{display:block;font-size:9px;margin-top:4px}.ea-work-card-1{grid-column:1/6;grid-row:1/3}.ea-work-card-2{grid-column:6/10;grid-row:1/2}.ea-work-card-3{grid-column:6/10;grid-row:2/3}.ea-work-card-4{grid-column:10/13;grid-row:1/3}.ea-work-card-5{grid-column:1/4;grid-row:3/4}.ea-work-card-6{grid-column:4/9;grid-row:3/4}.ea-work-card-7{grid-column:9/13;grid-row:3/4}.ea-work-card-8{grid-column:1/5;grid-row:4/6}.ea-work-card-9{grid-column:5/9;grid-row:4/5}.ea-work-card-10{grid-column:9/13;grid-row:4/5}.ea-work-card-11{grid-column:5/13;grid-row:5/6}.ea-work-card-12{grid-column:1/4;grid-row:6/7}.ea-work-card-13{grid-column:4/7;grid-row:6/7}.ea-work-card-14{grid-column:7/10;grid-row:6/7}.ea-work-card-15{grid-column:10/13;grid-row:6/7}
.ea-about{border-top:1px solid rgba(45,34,27,.22);border-bottom:1px solid rgba(45,34,27,.22);display:grid;grid-template-columns:39% 1fr;gap:6.5%;padding-block:28px}.ea-about-copy h2{font-size:45px;font-weight:400;line-height:1;margin:0 0 22px;letter-spacing:-.025em}.ea-about-copy p{font-size:20px;line-height:1.23;margin:0;max-width:520px}.ea-about-image{margin:0}.ea-about-image img{height:100%;min-height:330px;object-fit:cover}
.ea-footer{display:grid;grid-template-columns:42% 1px 1fr;grid-template-rows:auto auto;column-gap:5%;padding-top:28px;padding-bottom:28px;align-items:center}.ea-contact-block{display:flex;align-items:flex-start;gap:22px}.ea-monogram{width:84px;height:auto;opacity:.62}.ea-contact-copy{font-family:var(--ea-sans);font-size:16px;line-height:1.33;color:rgba(45,34,27,.72)}.ea-contact-copy em{font-family:var(--ea-display-font);font-size:18px}.ea-footer-divider{width:1px;height:110px;background:rgba(45,34,27,.25)}.ea-socials{display:flex;justify-content:flex-end;align-items:center;gap:56px}.ea-socials a{position:relative;font-size:28px}.ea-copyright{font-family:var(--ea-sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(45,34,27,.58);padding-top:24px}.ea-footer-made{grid-column:3;text-align:right;font-size:20px;font-style:italic;padding-top:24px}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .75s ease,transform .75s ease}[data-reveal].is-visible{opacity:1;transform:none}
.ea-project-overlay{position:fixed;z-index:9999;inset:0;background:rgba(246,242,233,.96);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;overflow:auto}.ea-project-overlay.is-open{opacity:1;visibility:visible}.ea-project-shell{min-height:100%;width:min(calc(100% - 6vw),1440px);margin:auto;padding:38px 0 70px;position:relative}.ea-project-close{position:fixed;right:4vw;top:30px;z-index:2;background:none;border:0;color:var(--espresso);font:400 40px/1 var(--ea-display-font);cursor:pointer}.ea-project-loading{text-align:center;padding:20vh 0;font-size:22px}.ea-project-content{padding-top:44px}.ea-project-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(45,34,27,.2);padding-bottom:22px;margin-bottom:30px}.ea-project-head h2{font-size:64px;font-weight:400;line-height:.9;margin:0}.ea-project-head .meta{font-family:var(--ea-sans);font-size:12px;text-transform:uppercase;letter-spacing:.15em}.ea-project-media{margin-bottom:28px}.ea-project-media img{max-height:78vh;object-fit:cover}.ea-project-media iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}.ea-project-body{max-width:900px;margin:46px auto;font-size:20px;line-height:1.45}.ea-project-body img{margin-block:30px}
.ea-single,.ea-archive{padding-bottom:80px}.ea-single-close{font-size:18px}.ea-single-meta{padding:70px 0 28px}.ea-single-meta h1,.ea-archive h1{font-size:72px;font-weight:400;margin:0}.ea-single-video iframe{width:100%;aspect-ratio:16/9;height:auto}.ea-single-hero img{max-height:80vh;object-fit:cover}.ea-single-content{max-width:900px;margin:50px auto;font-size:20px;line-height:1.45}.ea-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ea-archive-card{position:relative;aspect-ratio:1.4;overflow:hidden}.ea-archive-card img{height:100%;object-fit:cover}.ea-archive-card span{position:absolute;left:18px;bottom:14px;color:white;font-family:var(--ea-sans);text-transform:uppercase}.ea-archive-card strong,.ea-archive-card small{display:block}
@media(max-width:900px){.ea-container{width:calc(100% - 36px)}.ea-header{padding-top:20px}.ea-brand{font-size:27px}.ea-nav{gap:20px;font-size:17px}.ea-hero{padding-top:52px}.ea-hero h1{font-size:17vw;line-height:.85}.ea-carousel-stage{aspect-ratio:1.7/1}.ea-slide-copy{left:24px;bottom:24px}.ea-dots{right:22px;bottom:18px}.ea-work-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;gap:7px}.ea-work-card{grid-column:auto!important;grid-row:auto!important;aspect-ratio:1.2}.ea-work-card:nth-child(1),.ea-work-card:nth-child(4){grid-column:span 2;aspect-ratio:1.75}.ea-about{grid-template-columns:1fr;gap:28px}.ea-about-copy h2{font-size:42px}.ea-about-copy p{font-size:18px}.ea-footer{grid-template-columns:1fr;grid-template-rows:auto;gap:28px}.ea-footer-divider{display:none}.ea-socials{justify-content:flex-start;gap:30px;flex-wrap:wrap}.ea-socials a{font-size:24px}.ea-footer-made{grid-column:1;text-align:right}.ea-archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ea-nav{font-size:15px;gap:14px}.ea-brand{font-size:23px}.ea-carousel-stage{aspect-ratio:1.25/1}.ea-slide-copy strong{font-size:17px}.ea-work-grid{grid-template-columns:1fr}.ea-work-card,.ea-work-card:nth-child(1),.ea-work-card:nth-child(4){grid-column:auto;aspect-ratio:1.4}.ea-socials{justify-content:space-between;gap:15px}.ea-socials a{font-size:20px}.ea-contact-block{gap:15px}.ea-monogram{width:70px}.ea-archive-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}.ea-slide img{transform:none!important}}
/* Project-detail content controls (home design intentionally untouched). */
.ea-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0 10px}.ea-project-gallery figure{margin:0;overflow:hidden}.ea-project-gallery img{width:100%;height:auto;display:block}.ea-project-gallery figure:nth-child(3n+1){grid-column:1/-1}.ea-project-festivals{display:flex;align-items:center;flex-wrap:wrap;gap:28px;border-top:1px solid rgba(45,34,27,.18);padding-top:26px;margin:40px 0 0;opacity:.55}.ea-project-festivals img{width:auto;height:28px;max-width:112px;object-fit:contain;filter:none}.ea-project-festivals span{font-family:var(--ea-sans);font-size:10px;letter-spacing:.11em;text-transform:uppercase}.ea-single>.ea-project-festivals{margin-bottom:40px}
@media(max-width:700px){.ea-project-gallery{grid-template-columns:1fr}.ea-project-gallery figure:nth-child(3n+1){grid-column:auto}.ea-project-festivals{gap:20px}.ea-project-festivals img{height:22px;max-width:92px}}

/* Contact phone/email are actionable while retaining the locked visual treatment. */
.ea-contact-copy a { color: inherit; text-decoration: none; font: inherit; }

/* v1.1.8: festival marks moved directly below each project title/meta; visual treatment unchanged. */
.ea-project-festivals--head{border-top:0;padding-top:0;margin:0 0 28px}
.ea-single>.ea-project-festivals--head{margin:0 0 28px}

/* v1.1.12: fixed transparent header. Preserve the approved left/right positions while scrolling. */
.ea-site{padding-top:64px}
.ea-header{
  position:fixed;
  top:0;
  left:50%;
  width:min(calc(100% - 7.4vw),var(--max));
  margin-inline:0;
  z-index:1000;
  background:transparent;
}
/* The header also carries data-reveal. Keep its centering transform from being overwritten by the reveal rule. */
.ea-header[data-reveal],
.ea-header[data-reveal].is-visible{
  opacity:1;
  transform:translateX(-50%);
}
#work,#about,#contact{scroll-margin-top:90px}
.ea-contact-copy a{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.admin-bar .ea-header{top:32px}
@media(max-width:900px){
  .ea-site{padding-top:47px}
  .ea-header{width:calc(100% - 36px)}
  #work,#about,#contact{scroll-margin-top:72px}
}
@media(max-width:782px){body.admin-bar .ea-header{top:46px}}
@media(max-width:560px){.ea-site{padding-top:43px}}
