/* A quiet, warm photographic finish; illustration geometry stays in the photo plane. */
:root{--ek-photo-grade:saturate(.77) sepia(.10) contrast(.95) brightness(.97);--ek-hover-halo:0 0 22px rgba(229,219,177,.10)}
:root body :is(.editorial-photo img,.sketch-scene img,.crew-image img,.split-feature figure img,.process-top>figure img,.extension-frame img,.project-card .image-wrap>img){filter:var(--ek-photo-grade)}
:root body .editorial-photo::after{background:linear-gradient(150deg,rgba(213,177,121,.055),transparent 50%,rgba(30,37,27,.13));pointer-events:none}
:root body .project-card:hover .editorial-photo img{transform:scale(var(--photo-zoom,1))}

/* One calm interaction language: a soft light on hover, immediate pressure on touch. */
:root{--ek-motion-settle:cubic-bezier(.22,1,.36,1)}
:root body :is(button,.button,.desktop-cta,.card-arrow,.house-choice,.guide-suggestion){isolation:isolate;transition:box-shadow 200ms var(--ek-motion-settle),border-color 200ms var(--ek-motion-settle),background-color 200ms var(--ek-motion-settle),color 180ms var(--ek-motion-settle),transform 180ms var(--ek-motion-settle),scale 180ms var(--ek-motion-settle)}
:root body :is(.button,.menu-button,.desktop-cta,.hero-replay,.card-arrow,.filter,.stage-controls button,.ek-film-controls button,.craft-film button,.ek-chat-suggestion,.guide-suggestion){position:relative}
:root body :is(.button,.menu-button,.desktop-cta,.hero-replay,.card-arrow,.filter,.stage-controls button,.ek-film-controls button,.craft-film button,.ek-chat-suggestion,.guide-suggestion)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at var(--glow-x,50%) var(--glow-y,0%),rgba(255,250,221,.19),rgba(255,255,255,0) 72%);opacity:0;transition:opacity 200ms var(--ek-motion-settle)}
:root body :is(.card-arrow,.filter,.stage-controls button,.ek-film-controls button,.craft-film button){background:var(--ek-glass-light),var(--ek-glass-tint);border:1px solid rgba(255,250,229,.24);box-shadow:inset 0 1px rgba(255,255,245,.14)}
:root body :is(.plain,.text-link,.back-to-top,.desktop-nav a,.mobile-action a,.house-secondary a,.breadcrumbs,.service-choice,.service-row,summary,.choice,.intake-choice,.intake-upload){transition:color 200ms var(--ek-motion-settle),text-shadow 200ms var(--ek-motion-settle),background-color 200ms var(--ek-motion-settle),border-color 200ms var(--ek-motion-settle)}
:root body .mobile-action a{border-radius:999px}
@media(hover:hover) and (pointer:fine){
 :root body :is(button,.button,.desktop-cta,.card-arrow):not(:disabled):hover{color:#fffdf3;border-color:rgba(255,253,233,.7);box-shadow:var(--ek-glass-shadow),var(--ek-hover-halo)}
 :root body :is(.button,.menu-button,.desktop-cta,.hero-replay,.card-arrow,.filter,.stage-controls button,.ek-film-controls button,.craft-film button,.ek-chat-suggestion,.guide-suggestion):not(:disabled):hover::after{opacity:1}
 :root body :is(.project-card,.service-row):hover .card-arrow{color:#fffdf3;background:rgba(236,225,187,.14);border-color:rgba(255,253,233,.65);box-shadow:var(--ek-hover-halo)}
 :root body :is(.plain,.text-link,.back-to-top,.desktop-nav a,.mobile-action a,.house-secondary a,.breadcrumbs,.service-choice,summary,.choice,.intake-choice,.intake-upload):hover{color:#fffaf0;text-shadow:0 0 14px rgba(244,230,180,.26);border-color:rgba(255,250,229,.55)}
 :root body :is(.mobile-action a,summary,.choice,.intake-choice):hover{background-color:rgba(255,255,242,.035)}
}
:root body :is(button,.button,.desktop-cta):not(:disabled):active{scale:.983;transition-duration:80ms;box-shadow:inset 0 1px 3px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,250,229,.32);border-color:rgba(255,250,229,.76)}
:root body :is(.button,.menu-button,.desktop-cta,.hero-replay,.filter,.stage-controls button,.ek-film-controls button,.craft-film button):not(:disabled):active::after{opacity:1;transition-duration:80ms}
:root body :is(button,a,summary):focus-visible{outline:2px solid #e8d39a;outline-offset:4px}
:root body :is(.form-field,.guide-form-field,.intake-field):focus-within{color:#fff8df}
@media(prefers-reduced-motion:reduce){
 :root body :is(button,.button,.desktop-cta,.card-arrow,.text-link,.breadcrumbs,.service-choice,.service-row,summary,.choice,.intake-choice,.intake-upload){transition:color 120ms linear,background-color 120ms linear}
 :root body :is(button,.button,.desktop-cta):active{scale:none}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root body{--ek-glass-tint:#20271e;--ek-glass-light:linear-gradient(#20271e,#20271e);--ek-glass-optics:none;--ek-glass-edge:#d6c99f;--ek-glass-shadow:none}}

.footer-email{display:block;margin:14px 0 22px;color:var(--muted);font-size:15px;overflow-wrap:anywhere}.footer-email:hover{color:var(--chalk)}

/* Small type remains readable on a phone; controls keep a comfortable touch area. */
:root body :is(.overline,.meta,.hero-credit,.crew-caption,.caption-tag,.story-number,.asset-caption,.form-note,.guide-head small,.footer-brand small,.stage-card figcaption small,.stage-story-head .overline,.extension-opening .overline,.ek-trigger-copy small,.ek-chat-title small,.ek-chat-status){font-size:12px;line-height:1.5}
:root body :is(.hero-controls button,.breadcrumbs,.scene-caption .plain,.footer-base .back-to-top,.footer-base a,.footer-columns nav a,.ek-chat-clear,.ek-chat-suggestion,.ek-chat-context,.mobile-action a){font-size:13px;min-height:44px}
:root body :is(.scene-caption p,.section-heading .meta,.card-bottom p,.footer-columns h2){font-size:12px;line-height:1.5}
:root body .site-footer .footer-base{font-size:12px}
:root body .mobile-action{--ek-glass-tint:rgba(22,28,21,.48)}
:root body .mobile-action a{color:#fff9e9;text-shadow:0 1px 5px #0009}
:root body .menu-button{min-width:44px;min-height:44px}
@media(min-width:1100px){:root body .header-actions .menu-button{display:none}}

/* Route content starts below the header with room for the first meaningful action. */
:root{--ek-header-height:94px}
html{scroll-padding-top:calc(var(--ek-header-height) + 18px)}
#content{overflow-anchor:none}
:root body :is(.page-intro,.service-hero,.guide-page,.intake-page){padding-top:clamp(28px,4.8svh,58px)}
:root body .page-intro{padding-bottom:clamp(28px,4.8svh,58px)}
:root body .guide-page{padding-bottom:clamp(42px,6svh,70px)}
:root body .guide-page .breadcrumbs,:root body .intake-intro .breadcrumbs{margin-bottom:16px}
:root body .intake-intro .overline{margin-top:14px}
:root body .intake-intro h1 .title-main{font-size:clamp(46px,4.8vw,70px);line-height:1.1}
:root body .guide-page .overline{margin-top:0}
:root body .guide-page-intro{margin-top:26px;margin-bottom:26px}
:root body .guide-page-note{margin-top:26px}
:root body .service-hero .breadcrumbs{margin-bottom:18px}
:root body .service-hero .overline{margin-bottom:16px}
:root body .service-hero .intro-text{margin-block:20px}
:root body .editorial-title>span{padding-bottom:.08em;overflow:visible}
:root body :is(.page-intro,.service-hero) .editorial-title>.title-main{font-size:clamp(46px,5.5vw,82px);line-height:1.1}
:root body :is(.page-intro,.service-hero) .editorial-title>.title-note{font-size:clamp(39px,4.7vw,70px);line-height:1.1}
:root body :is(button,.breadcrumbs,.text-link,summary){min-height:44px}
@media(min-width:761px){
 :root body .service-hero>figure{max-width:min(100%,calc((100svh - 210px) / 1.025));justify-self:center;margin-inline:auto!important}
}
@media(max-width:760px){
 :root{--ek-header-height:74px}
 :root body :is(.page-intro,.service-hero,.guide-page,.intake-page){padding-top:28px}
 :root body .service-hero{gap:26px}
 :root body :is(.page-intro,.service-hero) .editorial-title>.title-main{font-size:clamp(40px,11vw,56px)}
 :root body :is(.page-intro,.service-hero) .editorial-title>.title-note{font-size:clamp(35px,10vw,51px)}
 :root body .guide-page h1{font-size:clamp(46px,13vw,64px);line-height:1.12}
 :root body .guide-page-intro{margin-top:20px;margin-bottom:22px}
 :root body .guide-page-note{margin-top:22px}
 :root body .service-hero>figure .sketch-scene{aspect-ratio:1.12;max-height:42svh}
 :root body .service-hero>figure .editorial-photo{aspect-ratio:1.12;max-height:42svh}
 :root body .service-hero>figure .editorial-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
}
