@import "tailwindcss";

@layer base {
  html { scroll-behavior: smooth; }
  body { margin:0; background:var(--emage-surface); color:var(--emage-ink); font-family:var(--emage-body-font); font-size:var(--emage-body-size); line-height:1.65; text-rendering:optimizeLegibility; }
  body.admin-bar .emage-site-header { top:32px; }
  @media (max-width:782px){ body.admin-bar .emage-site-header{top:46px;} }
  h1,h2,h3,h4 { font-family:var(--emage-heading-font); letter-spacing:-0.035em; line-height:1.03; }
  h1 { font-size:clamp(2.8rem,7vw,var(--emage-h1)); }
  h2 { font-size:clamp(2.2rem,5vw,var(--emage-h2)); }
  h3 { font-size:clamp(1.5rem,3vw,var(--emage-h3)); }
  h4 { font-size:var(--emage-h4); }
  a { color:inherit; text-decoration:none; }
  img { max-width:100%; height:auto; }
  :focus-visible { outline:2px solid var(--emage-accent); outline-offset:4px; }
}

@layer components {
  .emage-shell { width:min(1440px, calc(100% - 40px)); margin-inline:auto; }
  @media (min-width:768px){ .emage-shell{width:min(1440px,calc(100% - 80px));} }
  .emage-skip-link { position:fixed; z-index:99999; left:16px; top:12px; transform:translateY(-180%); background:var(--emage-dark); color:var(--emage-dark-text); padding:10px 14px; border-radius:8px; }
  .emage-skip-link:focus { transform:none; }

  .emage-site-header { position:fixed; top:0; left:0; right:0; z-index:1000; color:var(--emage-header-initial-text); background:var(--emage-header-initial-bg); backdrop-filter:blur(var(--emage-header-initial-blur)); -webkit-backdrop-filter:blur(var(--emage-header-initial-blur)); transition:background .3s ease,color .3s ease,border-color .3s ease,backdrop-filter .3s ease; border-bottom:1px solid color-mix(in srgb,var(--emage-header-initial-text) 12%,transparent); }
  .emage-site-header.is-scrolled { color:var(--emage-header-sticky-text); background:var(--emage-header-sticky-bg); border-color:color-mix(in srgb,var(--emage-header-sticky-text) 12%,transparent); backdrop-filter:blur(var(--emage-header-sticky-blur)); -webkit-backdrop-filter:blur(var(--emage-header-sticky-blur)); }
  .emage-header-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
  .emage-brand { position:relative; display:flex; align-items:center; min-width:1px; }
  .emage-brand-state { display:flex; align-items:center; }
  .emage-brand-state--sticky { display:none; }
  .emage-site-header.is-scrolled .emage-brand-state--initial { display:none; }
  .emage-site-header.is-scrolled .emage-brand-state--sticky { display:flex; }
  .emage-brand-link { display:inline-flex; align-items:center; color:inherit; }
  .emage-header-logo { display:block; width:auto; height:var(--emage-header-logo-height); max-width:min(36vw,320px); object-fit:contain; }
  .emage-wordmark { font-family:var(--emage-heading-font); font-size:32px; font-weight:700; letter-spacing:-.06em; color:inherit; }
  .emage-wordmark span { color:var(--emage-accent); }
  .emage-desktop-nav { display:none; align-items:center; gap:30px; }
  .emage-menu { display:flex; gap:28px; list-style:none; margin:0; padding:0; align-items:center; }
  .emage-nav-link { font-size:var(--emage-nav-size); font-weight:600; color:inherit; opacity:.78; transition:opacity .2s,color .2s; }
  .emage-nav-link:hover,.current-menu-item>.emage-nav-link { opacity:1; }
  .emage-site-header:not(.is-scrolled) .emage-nav-link:hover,.emage-site-header:not(.is-scrolled) .current-menu-item>.emage-nav-link,.emage-site-header:not(.is-scrolled) .current-menu-ancestor>.emage-nav-link { color:var(--emage-header-initial-hover); }
  .emage-site-header.is-scrolled .emage-nav-link:hover,.emage-site-header.is-scrolled .current-menu-item>.emage-nav-link,.emage-site-header.is-scrolled .current-menu-ancestor>.emage-nav-link { color:var(--emage-header-sticky-hover); }

  /* Primary navigation dropdowns — v2.9 robust hierarchy */
  .emage-desktop-nav { min-height:84px; }
  .emage-desktop-nav>.emage-menu { min-height:84px; align-self:stretch; }
  .emage-desktop-nav>.emage-menu>.emage-menu-item { position:relative; min-height:84px; display:flex; align-items:center; }
  .emage-desktop-nav .emage-submenu-toggle { width:28px; height:28px; margin-left:3px; padding:0; border:0; border-radius:999px; display:grid; place-items:center; background:transparent; color:inherit; cursor:pointer; opacity:.68; transition:opacity .2s ease,background .2s ease,transform .2s ease; }
  .emage-desktop-nav .emage-submenu-toggle:hover,.emage-desktop-nav .emage-submenu-toggle:focus-visible { opacity:1; background:color-mix(in srgb,currentColor 8%,transparent); }
  .emage-submenu-toggle>span { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s ease; }
  .emage-submenu-toggle[aria-expanded="true"]>span { transform:translateY(2px) rotate(225deg); }
  .emage-desktop-nav .sub-menu { position:absolute; z-index:1005; top:100%; left:-18px; min-width:270px; margin:0; padding:10px; list-style:none; display:grid; gap:2px; border:1px solid color-mix(in srgb,var(--emage-header-sticky-text) 12%,transparent); border-radius:14px; background:color-mix(in srgb,var(--emage-header-sticky-bg) 97%,transparent); color:var(--emage-header-sticky-text); box-shadow:0 22px 60px rgba(0,0,0,.18); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
  .emage-desktop-nav .menu-item-has-children:hover>.sub-menu,
  .emage-desktop-nav .menu-item-has-children:focus-within>.sub-menu,
  .emage-desktop-nav .emage-has-children:hover>.sub-menu,
  .emage-desktop-nav .emage-has-children:focus-within>.sub-menu,
  .emage-desktop-nav .is-submenu-open>.sub-menu { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  .emage-desktop-nav .sub-menu .emage-menu-item { position:relative; width:100%; min-height:0; display:block; }
  .emage-desktop-nav .sub-menu .emage-nav-link { display:block; width:100%; box-sizing:border-box; padding:10px 12px; border-radius:9px; font-size:13px; line-height:1.35; color:inherit; opacity:.78; white-space:nowrap; }
  .emage-desktop-nav .sub-menu .emage-nav-link:hover,
  .emage-desktop-nav .sub-menu .current-menu-item>.emage-nav-link { background:color-mix(in srgb,var(--emage-header-sticky-text) 8%,transparent); color:var(--emage-header-sticky-hover); opacity:1; }
  .emage-desktop-nav .current-menu-ancestor>.emage-nav-link { opacity:1; }

  /* Mobile navigation accordions */
  .emage-mobile-nav .emage-menu-item { position:relative; }
  .emage-mobile-nav .menu-item-has-children>.emage-nav-link,
  .emage-mobile-nav .emage-has-children>.emage-nav-link { padding-right:58px; }
  .emage-mobile-nav .emage-submenu-toggle { position:absolute; z-index:2; top:7px; right:0; width:42px; height:42px; display:grid; place-items:center; padding:0; border:1px solid color-mix(in srgb,currentColor 18%,transparent); border-radius:999px; background:transparent; color:inherit; cursor:pointer; }
  .emage-mobile-nav .sub-menu { list-style:none; margin:0 0 8px; padding:2px 0 8px 18px; display:grid; gap:0; border-left:1px solid color-mix(in srgb,currentColor 16%,transparent); }
  .emage-mobile-nav .sub-menu[hidden] { display:none!important; }
  .emage-mobile-nav .sub-menu .emage-nav-link { padding:9px 0; font-size:15px; opacity:.72; }
  .emage-mobile-nav .current-menu-ancestor>.emage-nav-link,
  .emage-mobile-nav .current-menu-item>.emage-nav-link { color:var(--emage-header-sticky-hover); opacity:1; }
  .emage-site-header:not(.is-scrolled) .emage-button--small { background:var(--emage-header-initial-cta-bg); color:var(--emage-header-initial-cta-text); }
  .emage-site-header.is-scrolled .emage-button--small { background:var(--emage-header-sticky-cta-bg); color:var(--emage-header-sticky-cta-text); }
  .emage-menu-toggle { width:44px; height:44px; display:grid; place-content:center; gap:5px; border:1px solid color-mix(in srgb,currentColor 28%,transparent); border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent); color:inherit; }
  .emage-menu-toggle span { width:19px; height:1.5px; background:currentColor; display:block; }
  .emage-mobile-nav { background:var(--emage-header-sticky-bg); color:var(--emage-header-sticky-text); border-top:1px solid color-mix(in srgb,var(--emage-header-sticky-text) 12%,transparent); border-bottom:1px solid color-mix(in srgb,var(--emage-header-sticky-text) 12%,transparent); padding:26px 0 34px; backdrop-filter:blur(var(--emage-header-sticky-blur)); -webkit-backdrop-filter:blur(var(--emage-header-sticky-blur)); }
  .emage-mobile-nav .emage-menu { display:grid; gap:0; margin-bottom:24px; }
  .emage-mobile-nav .emage-nav-link { display:block; padding:13px 0; font-size:20px; }
  @media (max-width:767px){ .emage-header-logo{height:var(--emage-header-logo-height-mobile);max-width:46vw}.emage-wordmark{font-size:29px} }
  @media (min-width:900px){ .emage-desktop-nav{display:flex}.emage-menu-toggle,.emage-mobile-nav{display:none!important} }

  .emage-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 23px; border-radius:999px; background:var(--emage-ink); color:var(--emage-surface); font-weight:700; font-size:14px; letter-spacing:.01em; transition:transform .2s ease,background .2s ease,color .2s ease; }
  .emage-button:hover { transform:translateY(-2px); background:var(--emage-accent); color:var(--emage-dark-text); }
  .emage-button--small { min-height:42px; padding-inline:18px; }
  .emage-button--ghost { background:transparent; color:var(--emage-dark-text); border:1px solid color-mix(in srgb,var(--emage-dark-text) 30%,transparent); }
  .emage-text-link { display:inline-flex; gap:8px; align-items:center; font-weight:700; color:var(--emage-ink); }
  .emage-text-link:hover { color:var(--emage-accent); }
  .emage-text-link--light { color:var(--emage-dark-text); }

  .emage-kicker,.emage-eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:800; color:var(--emage-page-eyebrow,var(--emage-accent)); margin:0 0 14px; }
  .emage-kicker--light { color:var(--emage-accent-2); }
  .emage-section { padding:clamp(84px,10vw,150px) 0; background:var(--emage-surface); }
  .emage-section--paper { background:var(--emage-paper); }
  .emage-section--dark { background:var(--emage-dark); color:var(--emage-dark-text); }
  .emage-section--dark p { color:color-mix(in srgb,var(--emage-dark-text) 68%,transparent); }
  .emage-section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:56px; }
  .emage-section-head h2 { max-width:850px; margin:0; }
  .emage-section-head--stacked { display:block; max-width:850px; }
  .emage-section-head--stacked>p:last-child { max-width:740px; color:var(--emage-muted); font-size:1.08em; }

  .emage-hero { min-height:var(--hero-height-desktop,100svh); position:relative; display:flex; overflow:hidden; background:var(--emage-dark); color:var(--emage-dark-text); }
  .emage-hero .emage-eyebrow { color:var(--emage-hero-eyebrow); }
  .emage-hero h1 { color:var(--emage-hero-heading); }
  .emage-hero .emage-hero-copy { color:var(--emage-hero-copy-color); }
  .emage-hero .emage-text-link--light { color:var(--emage-hero-secondary); }
  .emage-hero .emage-text-link--light:hover { color:var(--emage-hero-eyebrow); }
  .emage-hero-media { position:absolute; inset:0; display:none; z-index:0; background:var(--emage-dark); }
  .emage-hero-media--desktop { display:block; }
  .emage-hero-media--gradient { background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--emage-accent) 46%,transparent),transparent 30%),radial-gradient(circle at 22% 72%,color-mix(in srgb,var(--emage-accent-2) 26%,transparent),transparent 32%),linear-gradient(135deg,var(--hero-g1) 0%,var(--hero-g2) 46%,var(--hero-g3) 100%); }
  .emage-hero-background-image,.emage-hero-media>video,.emage-hero-media>.emage-3d-viewer { display:block; width:100%; height:100%; }
  .emage-hero-shade { position:absolute; inset:0; z-index:1; pointer-events:none; opacity:var(--hero-overlay-desktop,.32); }
  .emage-hero-shade--none { display:none; }
  .emage-hero-shade--uniform { background:#000; }
  .emage-hero-shade--left { background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.82) 40%,rgba(0,0,0,.25) 68%,transparent 88%); }
  .emage-hero-shade--right { background:linear-gradient(270deg,#000 0%,rgba(0,0,0,.82) 40%,rgba(0,0,0,.25) 68%,transparent 88%); }
  .emage-hero-shade--bottom { background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.75) 40%,transparent 82%); }
  .emage-hero-shade--vignette { background:radial-gradient(circle at 50% 42%,transparent 24%,rgba(0,0,0,.38) 62%,#000 100%); }
  .emage-hero-content { position:relative; z-index:2; display:flex; width:min(1440px,calc(100% - 80px)); min-height:var(--hero-height-desktop,100svh); padding-top:120px; padding-bottom:clamp(52px,7vw,100px); }
  .emage-hero-copy-wrap { width:min(100%,1200px); }
  .emage-hero-content h1 { max-width:1200px; margin:0; font-size:clamp(2.8rem,7vw,var(--hero-title-desktop,78px)); }
  .emage-hero-copy { max-width:730px; color:color-mix(in srgb,var(--emage-dark-text) 78%,transparent); font-size:var(--hero-copy-desktop,23px); margin:28px 0 34px; }
  .emage-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
  .emage-hero-v--top { align-items:flex-start; }
  .emage-hero-v--center { align-items:center; }
  .emage-hero-v--bottom { align-items:flex-end; }
  .emage-hero-h--left { justify-content:flex-start; text-align:left; }
  .emage-hero-h--center { justify-content:center; text-align:center; }
  .emage-hero-h--right { justify-content:flex-end; text-align:right; }
  .emage-hero-h--center .emage-hero-copy,.emage-hero-h--center .emage-hero-actions { margin-left:auto;margin-right:auto;justify-content:center; }
  .emage-hero-h--right .emage-hero-copy,.emage-hero-h--right .emage-hero-actions { margin-left:auto;justify-content:flex-end; }

  @media (max-width:1099px){
    .emage-hero { min-height:var(--hero-height-tablet,90svh); }
    .emage-hero-media--desktop{display:none}.emage-hero-media--tablet{display:block}
    .emage-hero-shade{opacity:var(--hero-overlay-tablet,.36)}
    .emage-hero-shade-tablet--none{display:none}.emage-hero-shade-tablet--uniform{display:block;background:#000}.emage-hero-shade-tablet--left{display:block;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.82) 40%,rgba(0,0,0,.25) 68%,transparent 88%)}.emage-hero-shade-tablet--right{display:block;background:linear-gradient(270deg,#000 0%,rgba(0,0,0,.82) 40%,rgba(0,0,0,.25) 68%,transparent 88%)}.emage-hero-shade-tablet--bottom{display:block;background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.75) 40%,transparent 82%)}.emage-hero-shade-tablet--vignette{display:block;background:radial-gradient(circle at 50% 42%,transparent 24%,rgba(0,0,0,.38) 62%,#000 100%)}
    .emage-hero-content{min-height:var(--hero-height-tablet,90svh);width:min(1440px,calc(100% - 56px))}
    .emage-hero-content h1{font-size:clamp(2.5rem,7vw,var(--hero-title-tablet,62px))}.emage-hero-copy{font-size:var(--hero-copy-tablet,21px)}
    .emage-hero-v-tablet--top{align-items:flex-start}.emage-hero-v-tablet--center{align-items:center}.emage-hero-v-tablet--bottom{align-items:flex-end}
    .emage-hero-h-tablet--left{justify-content:flex-start;text-align:left}.emage-hero-h-tablet--center{justify-content:center;text-align:center}.emage-hero-h-tablet--right{justify-content:flex-end;text-align:right}
  }
  @media (max-width:767px){
    .emage-hero { min-height:var(--hero-height-mobile,82svh); }
    .emage-hero-media--tablet{display:none}.emage-hero-media--mobile{display:block}
    .emage-hero-shade{opacity:var(--hero-overlay-mobile,.42)}
    .emage-hero-shade-mobile--none{display:none}.emage-hero-shade-mobile--uniform{display:block;background:#000}.emage-hero-shade-mobile--left{display:block;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.82) 46%,transparent 100%)}.emage-hero-shade-mobile--right{display:block;background:linear-gradient(270deg,#000 0%,rgba(0,0,0,.82) 46%,transparent 100%)}.emage-hero-shade-mobile--bottom{display:block;background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.78) 45%,transparent 100%)}.emage-hero-shade-mobile--vignette{display:block;background:radial-gradient(circle at 50% 38%,transparent 14%,rgba(0,0,0,.45) 56%,#000 100%)}
    .emage-hero-content{min-height:var(--hero-height-mobile,82svh);width:min(100% - 40px,1440px);padding-top:110px;padding-bottom:48px}
    .emage-hero-content h1{font-size:clamp(2.15rem,11vw,var(--hero-title-mobile,44px))}.emage-hero-copy{font-size:var(--hero-copy-mobile,18px);margin:20px 0 26px}
    .emage-hero-v-mobile--top{align-items:flex-start}.emage-hero-v-mobile--center{align-items:center}.emage-hero-v-mobile--bottom{align-items:flex-end}
    .emage-hero-h-mobile--left{justify-content:flex-start;text-align:left}.emage-hero-h-mobile--center{justify-content:center;text-align:center}.emage-hero-h-mobile--right{justify-content:flex-end;text-align:right}
  }

  .emage-project-grid { display:grid; grid-template-columns:1fr; gap:42px 24px; }
  .emage-project-card a { display:block; }
  .emage-project-cover { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--emage-paper); }
  .emage-project-card--tall .emage-project-cover { aspect-ratio:4/5; }
  .emage-project-cover img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.65,.2,1); }
  .emage-project-card:hover .emage-project-cover img { transform:scale(1.025); }
  .emage-project-fallback { width:100%; height:100%; display:grid; place-items:center; font-family:var(--emage-heading-font); font-size:32px; letter-spacing:.3em; color:var(--emage-muted); }
  .emage-project-status { position:absolute; top:16px; left:16px; background:color-mix(in srgb,var(--emage-dark) 78%,transparent); color:var(--emage-dark-text); border-radius:999px; padding:7px 11px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
  .emage-project-meta { display:grid; grid-template-columns:1fr; gap:8px; padding-top:17px; }
  .emage-project-meta p { color:var(--emage-muted); margin:0; font-size:13px; }
  .emage-project-meta h3 { font-size:clamp(23px,2.4vw,34px); margin:4px 0 0; }
  .emage-project-summary { max-width:440px; }
  @media(min-width:740px){ .emage-project-grid{grid-template-columns:repeat(2,1fr)} .emage-project-card--wide{grid-column:span 2} .emage-project-meta{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:28px} }
  @media(min-width:1180px){ .emage-project-grid:not(.emage-project-grid--home){grid-template-columns:repeat(3,1fr)} .emage-project-grid:not(.emage-project-grid--home) .emage-project-card--wide{grid-column:span 2} }

  .emage-service-list { border-top:1px solid var(--emage-line); }
  .emage-service-row { display:grid; grid-template-columns:52px 1fr auto; gap:18px; align-items:start; padding:30px 0; border-bottom:1px solid var(--emage-line); }
  .emage-service-row h3 { margin:0; font-size:clamp(25px,3vw,40px); }
  .emage-service-row p { grid-column:2/4; max-width:760px; color:var(--emage-muted); margin:0; }
  .emage-service-index { font:700 11px/1 var(--emage-body-font); color:var(--emage-muted); letter-spacing:.16em; padding-top:8px; }
  .emage-service-arrow { font-size:28px; transition:transform .2s,color .2s; }
  .emage-service-row:hover .emage-service-arrow { transform:translate(3px,-3px); color:var(--emage-accent); }
  @media(min-width:900px){ .emage-service-row{grid-template-columns:70px 1.1fr 1.3fr 50px;align-items:center}.emage-service-row p{grid-column:auto}.emage-service-index{padding-top:0} }

  .emage-split { display:grid; gap:50px; align-items:center; }
  .emage-split h2 { max-width:700px; margin:0 0 22px; }
  .emage-split p { max-width:650px; }
  .emage-interactive-proof { min-height:420px; }
  .emage-proof-placeholder { min-height:420px; border:1px solid color-mix(in srgb,var(--emage-dark-text) 14%,transparent); background:radial-gradient(circle at 70% 25%,color-mix(in srgb,var(--emage-accent) 34%,transparent),transparent 35%),color-mix(in srgb,var(--emage-dark-text) 2.5%,transparent); display:flex; flex-direction:column; justify-content:end; padding:30px; }
  .emage-proof-placeholder span { color:var(--emage-accent-2); text-transform:uppercase; letter-spacing:.13em; font-size:11px; }
  .emage-proof-placeholder strong { font:600 clamp(28px,4vw,48px)/1.04 var(--emage-heading-font); margin:8px 0; }
  .emage-proof-placeholder small { color:color-mix(in srgb,var(--emage-dark-text) 50%,transparent); }
  @media(min-width:960px){ .emage-split{grid-template-columns:1fr 1.15fr;gap:7vw} }

  .emage-process-grid { list-style:none; padding:0; margin:0; display:grid; gap:1px; background:var(--emage-line); border:1px solid var(--emage-line); }
  .emage-process-grid li { background:var(--emage-surface); padding:28px; }
  .emage-process-grid span { font-size:11px; font-weight:800; letter-spacing:.15em; color:var(--emage-accent); }
  .emage-process-grid h3 { margin:44px 0 12px; }
  .emage-process-grid p { color:var(--emage-muted); margin:0; }
  @media(min-width:780px){ .emage-process-grid{grid-template-columns:repeat(5,1fr)} }

  .emage-about-grid { display:grid; gap:52px; align-items:center; }
  .emage-about-media { aspect-ratio:4/5; background:var(--emage-dark); overflow:hidden; }
  .emage-about-media img { width:100%; height:100%; object-fit:cover; }
  .emage-about-placeholder { height:100%; display:grid; place-items:center; color:var(--emage-accent-2); font:600 32px var(--emage-heading-font); letter-spacing:.25em; }
  .emage-about-grid h2 { margin:0 0 24px; }
  .emage-about-grid>div>p { color:var(--emage-muted); max-width:720px; }
  .emage-trust-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:36px; background:var(--emage-line); border:1px solid var(--emage-line); }
  .emage-trust-grid span { background:var(--emage-paper); padding:18px; font-size:13px; color:var(--emage-muted); }
  .emage-trust-grid strong { display:block; color:var(--emage-ink); font-size:16px; }
  @media(min-width:900px){ .emage-about-grid{grid-template-columns:.8fr 1.2fr;gap:8vw}.emage-about-media{max-width:520px} }

  .emage-agency-strip { background:var(--emage-dark); color:var(--emage-dark-text); padding:60px 0; }
  .emage-agency-inner { display:grid; gap:28px; align-items:center; }
  .emage-agency-inner h2 { font-size:clamp(28px,3.2vw,44px); margin:0; }
  .emage-agency-inner p { color:color-mix(in srgb,var(--emage-dark-text) 62%,transparent); max-width:600px; }
  @media(min-width:980px){ .emage-agency-inner{grid-template-columns:1.1fr 1fr auto} }

  .emage-contact-grid { display:grid; gap:52px; }
  .emage-contact-grid h2 { margin:0 0 24px; max-width:650px; }
  .emage-contact-grid>div>p { color:var(--emage-muted); max-width:650px; }
  .emage-contact-notes { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
  .emage-contact-notes span { border:1px solid var(--emage-line); border-radius:999px; padding:7px 11px; font-size:11px; color:var(--emage-muted); }
  .emage-contact-form-wrap { background:var(--emage-paper); padding:clamp(24px,4vw,48px); }
  .emage-contact-form-wrap input,.emage-contact-form-wrap textarea,.emage-contact-form-wrap select { width:100%; border:1px solid var(--emage-line); background:var(--emage-surface); padding:13px 14px; border-radius:0; color:var(--emage-ink); }
  .emage-contact-form-wrap label { display:block; font-weight:700; margin-bottom:6px; }
  @media(min-width:960px){ .emage-contact-grid{grid-template-columns:1fr 1.05fr;gap:8vw} }

  .emage-empty-state { border:1px solid var(--emage-line); min-height:220px; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:30px; color:var(--emage-muted); }
  .emage-empty-state strong { color:var(--emage-ink); font-size:22px; }
  .emage-empty-state .emage-button { align-self:flex-start; margin-top:18px; }

  .emage-site-footer { background:var(--emage-dark); color:color-mix(in srgb,var(--emage-dark-text) 62%,transparent); padding:80px 0 28px; }
  .emage-wordmark--footer { color:var(--emage-dark-text); display:inline-block; margin-bottom:18px; }
  .emage-footer-grid { display:grid; gap:42px; }
  .emage-footer-statement { max-width:350px; }
  .emage-footer-heading { font:700 12px var(--emage-body-font); text-transform:uppercase; letter-spacing:.15em; color:var(--emage-dark-text); margin:0 0 17px; }
  .emage-footer-menu { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
  .emage-footer-menu a:hover { color:var(--emage-dark-text); }
  .emage-site-footer .emage-text-link { color:var(--emage-dark-text); }
  .emage-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; border-top:1px solid color-mix(in srgb,var(--emage-dark-text) 12%,transparent); padding-top:22px; margin-top:64px; font-size:12px; }
  @media(min-width:820px){ .emage-footer-grid{grid-template-columns:1.5fr repeat(3,1fr)} }

  .emage-page-hero { padding:180px 0 84px; background:var(--emage-paper); }
  .emage-page-hero h1 { max-width:1050px; margin:0; }
  .emage-page-hero p:last-child { color:var(--emage-muted); max-width:720px; font-size:20px; }
  .emage-page-hero--dark { background:var(--emage-dark); color:var(--emage-dark-text); }
  .emage-page-hero--dark p:last-child { color:color-mix(in srgb,var(--emage-dark-text) 62%,transparent); }

  .emage-filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:44px; }
  .emage-filter-bar a { border:1px solid var(--emage-line); border-radius:999px; padding:8px 13px; font-size:12px; font-weight:700; color:var(--emage-muted); }
  .emage-filter-bar a:hover,.emage-filter-bar a.is-active { background:var(--emage-ink); color:var(--emage-surface); border-color:var(--emage-ink); }
  .emage-pagination { margin-top:64px; }
  .emage-pagination .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
  .emage-pagination .page-numbers { border:1px solid var(--emage-line); padding:9px 13px; }
  .emage-pagination .current { background:var(--emage-ink); color:var(--emage-surface); }

  .emage-project-main { background:var(--emage-surface); color:var(--emage-ink); }
  .emage-case-study { background:var(--emage-surface); color:var(--emage-ink); transition:background .25s ease,color .25s ease; }
  .emage-case-head { padding:180px 0 70px; }
  .emage-case-head h1 { max-width:1200px; margin:0; }
  .emage-case-subtitle { max-width:820px; color:var(--emage-muted); font-size:clamp(18px,2vw,24px); }
  .emage-case-facts { display:flex; flex-wrap:wrap; gap:28px 60px; border-top:1px solid var(--emage-line); margin-top:48px; padding-top:24px; }
  .emage-case-facts div { min-width:120px; }
  .emage-case-facts dt { font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:var(--emage-muted); font-weight:800; }
  .emage-case-facts dd { margin:4px 0 0; font-weight:650; }
  .emage-case-hero { width:min(1760px,100%); margin:0 auto 80px; background:var(--emage-paper); }
  .emage-case-hero>img { width:100%; display:block; }
  .emage-case-hero--cinematic { aspect-ratio:16/9; overflow:hidden; }
  .emage-case-hero--viewport { height:max(620px,calc(100svh - 84px)); overflow:hidden; }
  .emage-case-hero--cinematic>img,.emage-case-hero--viewport>img,.emage-case-hero--cinematic .emage-video-embed,.emage-case-hero--viewport .emage-video-embed,.emage-case-hero--cinematic .emage-lazy-video,.emage-case-hero--viewport .emage-lazy-video,.emage-case-hero--cinematic .emage-3d-viewer,.emage-case-hero--viewport .emage-3d-viewer { width:100%; height:100%; object-fit:cover; }
  .emage-case-content { width:min(900px,calc(100% - 40px)); margin:0 auto 90px; }
  .emage-richtext { color:var(--emage-muted); }
  .emage-richtext h2,.emage-richtext h3,.emage-richtext h4 { color:var(--emage-ink); margin-top:1.8em; }
  .emage-richtext p { margin:0 0 1.35em; }
  .emage-richtext .emage-lead { color:var(--emage-ink); font-size:clamp(21px,2.25vw,30px); line-height:1.45; }
  .emage-richtext .emage-editor-kicker { color:var(--emage-accent); font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:800; }
  .emage-richtext a { color:var(--emage-accent); text-decoration:underline; text-underline-offset:3px; }
  .emage-richtext img { margin:34px auto; }
  .emage-richtext .alignwide { width:min(1300px,calc(100vw - 40px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
  .emage-richtext .alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
  .emage-case-gallery { width:min(1760px,100%); margin:0 auto 90px; display:grid; gap:var(--project-gallery-gap,12px); }
  .emage-case-study--editorial .emage-case-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); padding-inline:var(--project-gallery-gap,12px); }
  .emage-case-study--editorial .emage-case-gallery figure:nth-child(3n+1) { grid-column:1 / -1; }
  .emage-case-study--masonry .emage-case-gallery { display:block; columns:2; column-gap:var(--project-gallery-gap,12px); padding-inline:var(--project-gallery-gap,12px); }
  .emage-case-study--masonry .emage-case-gallery figure { break-inside:avoid; margin:0 0 var(--project-gallery-gap,12px); }
  @media(max-width:700px){ .emage-case-study--editorial .emage-case-gallery{grid-template-columns:1fr;padding-inline:0}.emage-case-study--editorial .emage-case-gallery figure:nth-child(3n+1){grid-column:auto}.emage-case-study--masonry .emage-case-gallery{columns:1;padding-inline:0} }
  .emage-case-gallery figure { margin:0; background:var(--emage-paper); }
  .emage-case-gallery img { width:100%; display:block; }
  .emage-case-video,.emage-case-interactive { margin-bottom:90px; }
  .emage-project-links,.emage-case-footer { display:flex; gap:20px; justify-content:space-between; align-items:center; flex-wrap:wrap; padding-top:30px; padding-bottom:60px; }
  .emage-case-footer { border-top:1px solid var(--emage-line); }

  .emage-video-embed { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--emage-dark); }
  .emage-video-embed iframe { width:100%; height:100%; position:absolute; inset:0; }
    .emage-video-selfhosted video { width:100%; height:auto; }

  /* Click-to-load video player: poster/placeholder only until explicit user action. */
  .emage-lazy-video { position:relative; width:min(100%,var(--emage-video-max,1280px)); max-width:var(--emage-video-max,1280px); margin:28px auto; aspect-ratio:var(--emage-video-ratio,16/9); overflow:hidden; background:#08080a; color:#fff; border-radius:2px; }
  .emage-lazy-video__activate { position:absolute; inset:0; display:block; width:100%; height:100%; padding:0; border:0; margin:0; cursor:pointer; overflow:hidden; background:#08080a; color:#fff; text-align:left; appearance:none; -webkit-appearance:none; }
  .emage-lazy-video__poster,.emage-lazy-video__fallback { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
  .emage-lazy-video__fallback { background:radial-gradient(circle at 72% 20%,rgba(111,76,255,.24),transparent 36%),linear-gradient(135deg,#111116,#050506); }
  .emage-lazy-video__activate::after { content:''; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); pointer-events:none; }
  .emage-lazy-video__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28)); transition:background .25s ease; }
  .emage-lazy-video__play { position:absolute; left:50%; top:50%; width:72px; height:72px; transform:translate(-50%,-50%); display:grid; place-items:center; border-radius:50%; background:rgba(10,10,12,.78); border:1px solid rgba(255,255,255,.72); backdrop-filter:blur(10px); transition:transform .25s ease,background .25s ease; }
  .emage-lazy-video__play span { display:block; margin-left:4px; font-size:23px; line-height:1; }
  .emage-lazy-video__label { position:absolute; left:24px; bottom:20px; font-size:11px; line-height:1; letter-spacing:.14em; text-transform:uppercase; font-weight:800; opacity:.88; }
  .emage-lazy-video__activate:hover .emage-lazy-video__play,.emage-lazy-video__activate:focus-visible .emage-lazy-video__play { transform:translate(-50%,-50%) scale(1.07); background:rgba(10,10,12,.92); }
  .emage-lazy-video__activate:focus-visible { outline:2px solid var(--emage-accent); outline-offset:-4px; }
  .emage-lazy-video.is-loaded>iframe,.emage-lazy-video.is-loaded>video,.emage-lazy-video.is-loaded>.wp-video,.emage-lazy-video.is-loaded>.wp-video-shortcode { position:absolute; inset:0; width:100%!important; height:100%!important; max-width:none!important; }
  .emage-lazy-video.is-loaded iframe,.emage-lazy-video.is-loaded video { display:block; width:100%!important; height:100%!important; border:0; object-fit:contain; background:#000; }
  .emage-case-hero>.emage-lazy-video { max-width:none; margin:0; }
  .emage-case-hero--cinematic>.emage-lazy-video,.emage-case-hero--viewport>.emage-lazy-video { width:100%; height:100%; aspect-ratio:auto; }
  @media(max-width:700px){ .emage-lazy-video{margin:22px auto}.emage-lazy-video--portrait-tall{width:min(86vw,460px)}.emage-lazy-video__play{width:62px;height:62px}.emage-lazy-video__label{left:16px;bottom:14px} }

  .emage-page-content { padding-top:80px; padding-bottom:110px; }
  .emage-index { padding-top:150px; padding-bottom:100px; }
  .emage-index-item { border-bottom:1px solid var(--emage-line); padding:40px 0; }
  .emage-index-item h2 { margin:0 0 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
}

@layer components {
}

@layer components {
  .emage-service-row--page { padding-block:42px; }
  .emage-service-row--page h2 { font-size:clamp(28px,3.5vw,52px); margin:0 0 10px; }
  .emage-service-promise { color:var(--emage-ink)!important; font-weight:650; max-width:620px!important; }
  .emage-process-rule { max-width:1000px; margin:90px 0 0; padding-top:42px; border-top:1px solid var(--emage-line); }
  .emage-process-rule h2 { margin:0 0 22px; }
  .emage-process-rule>p:last-child { color:var(--emage-muted); max-width:720px; }
  .emage-standards-grid { display:grid; grid-template-columns:1fr; gap:1px; background:var(--emage-line); border:1px solid var(--emage-line); }
  .emage-standards-grid article { background:var(--emage-surface); padding:clamp(28px,4vw,52px); }
  .emage-standards-grid article>span { color:var(--emage-accent); font-size:11px; letter-spacing:.16em; font-weight:800; }
  .emage-standards-grid h2 { font-size:clamp(26px,3vw,40px); margin:38px 0 16px; }
  .emage-standards-grid p { color:var(--emage-muted); margin:0; }
  @media(min-width:850px){.emage-standards-grid{grid-template-columns:repeat(2,1fr)}}
}
@layer components {
  .emage-filter-bar--secondary { margin-top:-28px; padding-top:16px; border-top:1px solid var(--emage-line); }
  .emage-filter-label { display:inline-flex; align-items:center; padding:8px 4px 8px 0; color:var(--emage-muted); text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:800; }
}


@layer components {
  /* Production Standards trust system */

  .emage-production-trust-home { border-top:1px solid var(--emage-line); border-bottom:1px solid var(--emage-line); }
  .emage-production-trust-home__grid { display:grid; gap:38px; align-items:start; }
  .emage-production-trust-home__grid h2 { max-width:720px; margin:0; }
  .emage-production-trust-home__lead { color:var(--emage-muted); font-size:clamp(18px,2vw,23px); max-width:720px; margin:0 0 28px; }
  .emage-production-trust-home__points { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 30px; }
  .emage-production-trust-home__points span { border:1px solid var(--emage-line); padding:8px 12px; border-radius:999px; color:var(--emage-ink); font-size:12px; font-weight:750; letter-spacing:.02em; }
  @media(min-width:900px){ .emage-production-trust-home__grid{grid-template-columns:.92fr 1.08fr;gap:8vw} }

  .emage-work-trust { display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; margin-top:72px; padding-top:30px; border-top:1px solid var(--emage-line); }
  .emage-work-trust p { margin:0; max-width:760px; color:var(--emage-muted); }
  .emage-work-trust strong { color:var(--emage-ink); font-weight:650; }

  .emage-contact-rights-note { color:var(--emage-muted); font-size:12px; line-height:1.55; margin:18px 0 0; padding-top:14px; border-top:1px solid var(--emage-line); }

  .emage-standards-hero p:last-child { max-width:860px; }
  .emage-standards-manifesto { padding-block:clamp(70px,9vw,140px); }
  .emage-standards-statement { max-width:1220px; margin:0; font-family:var(--emage-heading-font); font-weight:650; letter-spacing:-.045em; line-height:1.02; font-size:clamp(42px,7vw,104px); color:var(--emage-ink); }
  .emage-standards-principles { padding-top:0; }
  .emage-standards-grid article p strong { display:block; color:var(--emage-ink); margin-bottom:10px; font-weight:700; }

  .emage-modern-methods__grid { display:grid; gap:48px; align-items:start; }
  .emage-modern-methods__grid h2 { margin:0; max-width:700px; }
  .emage-modern-methods__copy { color:color-mix(in srgb,var(--emage-dark-text) 68%,transparent); font-size:clamp(17px,1.6vw,21px); }
  .emage-modern-methods__copy p { max-width:760px; }
  .emage-modern-methods__signature { color:var(--emage-dark-text); font-family:var(--emage-heading-font); font-size:clamp(24px,3vw,42px); line-height:1.12; letter-spacing:-.035em; margin-top:36px; }
  @media(min-width:960px){ .emage-modern-methods__grid{grid-template-columns:.9fr 1.1fr;gap:8vw} }

  .emage-faq-layout { display:grid; gap:54px; align-items:start; }
  .emage-faq-intro { position:relative; }
  .emage-faq-intro h2 { margin:0 0 20px; max-width:620px; }
  .emage-faq-intro>p:last-child { color:var(--emage-muted); max-width:520px; }
  .emage-faq-list { border-top:1px solid var(--emage-line); }
  .emage-faq-item { border-bottom:1px solid var(--emage-line); }
  .emage-faq-item summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:24px 0; color:var(--emage-ink); font-family:var(--emage-heading-font); font-size:clamp(19px,2vw,25px); font-weight:650; letter-spacing:-.025em; }
  .emage-faq-item summary::-webkit-details-marker { display:none; }
  .emage-faq-item summary::after { content:'+'; width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--emage-line); border-radius:50%; font:500 21px/1 var(--emage-body-font); transition:transform .2s ease,background .2s ease,color .2s ease; }
  .emage-faq-item[open] summary::after { transform:rotate(45deg); background:var(--emage-ink); color:var(--emage-surface); border-color:var(--emage-ink); }
  .emage-faq-item>div { padding:0 52px 26px 0; color:var(--emage-muted); max-width:780px; }
  .emage-faq-item>div p { margin:0; }
  @media(min-width:960px){ .emage-faq-layout{grid-template-columns:.75fr 1.25fr;gap:8vw}.emage-faq-intro{position:sticky;top:130px} }

  .emage-standards-cta__inner { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; }
  .emage-standards-cta__inner h2 { margin:0; max-width:820px; }

  /* Case-study image sizing and native modal lightbox */
  .emage-case-study--sequence .emage-case-gallery { width:min(1380px,calc(100% - 40px)); }
  .emage-case-study--sequence .emage-case-gallery__item { display:grid; place-items:center; background:transparent; }
  .emage-case-gallery__trigger { appearance:none; -webkit-appearance:none; border:0; padding:0; margin:0; background:transparent; color:inherit; display:block; width:100%; cursor:zoom-in; }
  .emage-case-gallery__trigger img { transition:transform .25s ease,opacity .25s ease; }
  .emage-case-gallery__trigger:hover img { opacity:.94; }
  .emage-case-study--sequence .emage-case-gallery__trigger { display:grid; place-items:center; }
  .emage-case-study--sequence .emage-case-gallery__trigger img { width:auto; max-width:100%; max-height:min(1100px,86svh); object-fit:contain; }
  .emage-case-study--editorial .emage-case-gallery__trigger img,
  .emage-case-study--masonry .emage-case-gallery__trigger img { width:100%; max-height:none; }
  @media(max-width:700px){
    .emage-case-study--sequence .emage-case-gallery { width:calc(100% - 24px); }
    .emage-case-study--sequence .emage-case-gallery__trigger img { max-height:80svh; }
  }

  html.emage-lightbox-open, html.emage-lightbox-open body { overflow:hidden; }
  .emage-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:rgba(7,7,9,.975); color:#fff; overflow:hidden; }
  .emage-lightbox::backdrop { background:rgba(7,7,9,.975); }
  .emage-lightbox[open] { display:block; }
  .emage-lightbox__inner { position:relative; width:100%; height:100%; display:grid; grid-template-columns:78px minmax(0,1fr) 78px; grid-template-rows:58px minmax(0,1fr) 104px; }
  .emage-lightbox__topbar { grid-column:1/-1; grid-row:1; display:flex; align-items:center; justify-content:space-between; padding:10px 16px 0 20px; z-index:3; pointer-events:none; }
  .emage-lightbox__counter { color:rgba(255,255,255,.58); font-size:12px; letter-spacing:.13em; font-weight:750; }
  .emage-lightbox__close { pointer-events:auto; appearance:none; border:1px solid rgba(255,255,255,.18); width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.06); color:#fff; font:300 29px/1 Arial,sans-serif; cursor:pointer; }
  .emage-lightbox__close:hover { background:#fff; color:#0b0b0d; }
  .emage-lightbox__stage { grid-column:2; grid-row:2; min-width:0; min-height:0; display:grid; place-items:center; padding:8px 12px 14px; touch-action:pan-y; }
  .emage-lightbox__stage img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; cursor:zoom-out; user-select:none; -webkit-user-drag:none; box-shadow:0 20px 70px rgba(0,0,0,.28); }
  .emage-lightbox__nav { grid-row:2; align-self:center; justify-self:center; appearance:none; border:1px solid rgba(255,255,255,.16); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.05); color:#fff; display:grid; place-items:center; cursor:pointer; font:400 22px/1 Arial,sans-serif; }
  .emage-lightbox__nav:hover { background:#fff; color:#0b0b0d; }
  .emage-lightbox__nav--prev { grid-column:1; }
  .emage-lightbox__nav--next { grid-column:3; }
  .emage-lightbox__thumbs { grid-column:1/-1; grid-row:3; display:flex; align-items:center; gap:8px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; padding:12px 20px 18px; background:linear-gradient(to top,rgba(0,0,0,.36),transparent); }
  .emage-lightbox__thumb { flex:0 0 auto; appearance:none; border:1px solid transparent; padding:2px; width:78px; height:58px; background:rgba(255,255,255,.05); opacity:.58; cursor:pointer; }
  .emage-lightbox__thumb img { width:100%; height:100%; display:block; object-fit:cover; }
  .emage-lightbox__thumb.is-active { opacity:1; border-color:#fff; }
  .emage-lightbox--single .emage-lightbox__nav,
  .emage-lightbox--single .emage-lightbox__thumbs { display:none; }
  .emage-lightbox--single .emage-lightbox__inner { grid-template-columns:1fr; grid-template-rows:58px minmax(0,1fr); }
  .emage-lightbox--single .emage-lightbox__stage { grid-column:1; grid-row:2; }
  @media(max-width:700px){
    .emage-lightbox__inner { grid-template-columns:50px minmax(0,1fr) 50px; grid-template-rows:54px minmax(0,1fr) 82px; }
    .emage-lightbox__topbar { padding:8px 10px 0 14px; }
    .emage-lightbox__close { width:38px; height:38px; }
    .emage-lightbox__stage { grid-column:1/-1; padding:6px 10px 12px; }
    .emage-lightbox__nav { z-index:2; width:40px; height:40px; background:rgba(0,0,0,.36); }
    .emage-lightbox__nav--prev { grid-column:1; }
    .emage-lightbox__nav--next { grid-column:3; }
    .emage-lightbox__thumbs { padding:10px 10px 14px; gap:6px; }
    .emage-lightbox__thumb { width:62px; height:46px; }
  }
}

/* ==========================================================================\n   Showcase Gallery\n   ========================================================================== */
.emage-showcase-page { background:var(--emage-paper); color:var(--emage-ink); }
.emage-showcase-head { padding:clamp(132px,15vw,210px) 0 clamp(48px,7vw,88px); }
.emage-showcase-head h1 { max-width:1050px; margin:10px 0 20px; font-size:clamp(46px,6.2vw,88px); line-height:.98; letter-spacing:-.045em; }
.emage-showcase-intro { max-width:780px; margin:0; color:var(--emage-muted); font-size:clamp(18px,2vw,23px); line-height:1.5; }

.emage-showcase-toolbar-wrap { position:sticky; top:68px; z-index:20; background:color-mix(in srgb,var(--emage-paper) 91%,transparent); border-top:1px solid var(--emage-line); border-bottom:1px solid var(--emage-line); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.emage-showcase-toolbar { display:grid; grid-template-columns:minmax(220px,340px) minmax(0,1fr) auto; align-items:center; gap:20px; min-height:78px; }
.emage-showcase-search { position:relative; display:flex; align-items:center; }
.emage-showcase-search svg { position:absolute; left:16px; width:19px; height:19px; color:var(--emage-muted); pointer-events:none; }
.emage-showcase-search input { width:100%; min-height:46px; border:1px solid var(--emage-line); border-radius:999px; padding:0 18px 0 46px; background:color-mix(in srgb,var(--emage-surface) 80%,transparent); color:var(--emage-ink); font:inherit; font-size:14px; outline:none; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.emage-showcase-search input:focus { border-color:var(--emage-ink); box-shadow:0 0 0 3px color-mix(in srgb,var(--emage-accent) 14%,transparent); background:var(--emage-surface); }
.emage-showcase-search input::placeholder { color:color-mix(in srgb,var(--emage-muted) 80%,transparent); }
.emage-showcase-filters { display:flex; align-items:center; gap:7px; min-width:0; overflow-x:auto; scrollbar-width:none; padding:8px 1px; overscroll-behavior-inline:contain; }
.emage-showcase-filters::-webkit-scrollbar { display:none; }
.emage-showcase-filter { flex:0 0 auto; appearance:none; border:1px solid var(--emage-line); border-radius:999px; min-height:38px; padding:0 15px; background:transparent; color:var(--emage-muted); font:inherit; font-size:12px; font-weight:750; letter-spacing:.025em; cursor:pointer; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.emage-showcase-filter:hover { color:var(--emage-ink); border-color:color-mix(in srgb,var(--emage-ink) 35%,var(--emage-line)); transform:translateY(-1px); }
.emage-showcase-filter.is-active { background:var(--emage-ink); color:var(--emage-surface); border-color:var(--emage-ink); }
.emage-showcase-status { white-space:nowrap; color:var(--emage-muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.emage-showcase-grid { padding-top:34px; padding-bottom:88px; column-count:4; column-gap:12px; }
.emage-showcase-grid.is-empty { min-height:0; padding-bottom:0; }
.emage-showcase-card { display:inline-block; width:100%; margin:0 0 12px; break-inside:avoid; vertical-align:top; }
.emage-showcase-card[hidden] { display:none!important; }
.emage-showcase-card__trigger { position:relative; display:block; width:100%; margin:0; padding:0; border:0; border-radius:3px; overflow:hidden; background:#0d0d10; color:#fff; cursor:zoom-in; text-align:left; appearance:none; -webkit-appearance:none; }
.emage-showcase-card__image { display:block; width:100%; height:auto; transition:transform .55s cubic-bezier(.2,.65,.2,1),filter .35s ease; }
.emage-showcase-card__overlay { position:absolute; inset:auto 0 0; display:flex; flex-direction:column; gap:4px; padding:46px 16px 15px; color:#fff; background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.16) 65%,transparent); opacity:0; transform:translateY(5px); transition:opacity .24s ease,transform .24s ease; pointer-events:none; }
.emage-showcase-card__title { font-size:14px; line-height:1.2; font-weight:750; letter-spacing:-.015em; }
.emage-showcase-card__meta { color:rgba(255,255,255,.72); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.emage-showcase-card__trigger:hover .emage-showcase-card__image,.emage-showcase-card__trigger:focus-visible .emage-showcase-card__image { transform:scale(1.018); filter:brightness(.9); }
.emage-showcase-card__trigger:hover .emage-showcase-card__overlay,.emage-showcase-card__trigger:focus-visible .emage-showcase-card__overlay { opacity:1; transform:none; }
.emage-showcase-card__trigger:focus-visible { outline:3px solid var(--emage-accent); outline-offset:3px; }
.emage-showcase-empty { padding:24px 0 96px; color:var(--emage-muted); font-size:18px; }

.emage-showcase-cta { border-top:1px solid var(--emage-line); padding:70px 0 86px; }
.emage-showcase-cta__inner { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.emage-showcase-cta h2 { margin:7px 0 0; max-width:720px; font-size:clamp(34px,4vw,56px); line-height:1; letter-spacing:-.04em; }

html.emage-showcase-lightbox-open,html.emage-showcase-lightbox-open body { overflow:hidden; }
.emage-showcase-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:rgba(7,7,9,.982); color:#fff; overflow:hidden; }
.emage-showcase-lightbox::backdrop { background:rgba(7,7,9,.982); }
.emage-showcase-lightbox[open] { display:block; }
.emage-showcase-lightbox__inner { position:relative; width:100%; height:100%; display:grid; grid-template-columns:70px minmax(0,1fr) minmax(260px,340px) 70px; grid-template-rows:58px minmax(0,1fr) 102px; }
.emage-showcase-lightbox__topbar { grid-column:1/-1; grid-row:1; display:flex; align-items:center; justify-content:space-between; padding:10px 16px 0 20px; z-index:5; pointer-events:none; }
.emage-showcase-lightbox__counter { color:rgba(255,255,255,.52); font-size:11px; font-weight:750; letter-spacing:.14em; }
.emage-showcase-lightbox__close { pointer-events:auto; appearance:none; border:1px solid rgba(255,255,255,.18); width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.06); color:#fff; font:300 29px/1 Arial,sans-serif; cursor:pointer; transition:background .18s ease,color .18s ease; }
.emage-showcase-lightbox__close:hover { background:#fff; color:#0b0b0d; }
.emage-showcase-lightbox__stage { grid-column:2; grid-row:2; min-width:0; min-height:0; display:grid; place-items:center; padding:8px 22px 18px; touch-action:pan-y; }
.emage-showcase-lightbox__stage img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; cursor:zoom-out; user-select:none; -webkit-user-drag:none; box-shadow:0 24px 80px rgba(0,0,0,.32); }
.emage-showcase-lightbox__info { grid-column:3; grid-row:2; align-self:end; padding:28px 24px 30px 8px; max-width:340px; }
.emage-showcase-lightbox__categories { margin:0 0 9px; color:rgba(255,255,255,.48); font-size:10px; line-height:1.4; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.emage-showcase-lightbox__info h2 { margin:0; color:#fff; font-size:clamp(25px,2.5vw,40px); line-height:1; letter-spacing:-.035em; }
.emage-showcase-lightbox__caption { margin:14px 0 0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.55; }
.emage-showcase-lightbox__link { display:inline-flex; margin-top:22px; color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:4px; }
.emage-showcase-lightbox__link:hover { border-color:#fff; }
.emage-showcase-lightbox__nav { grid-row:2; align-self:center; justify-self:center; appearance:none; border:1px solid rgba(255,255,255,.16); width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.05); color:#fff; display:grid; place-items:center; cursor:pointer; font:400 21px/1 Arial,sans-serif; transition:background .18s ease,color .18s ease; z-index:3; }
.emage-showcase-lightbox__nav:hover { background:#fff; color:#0b0b0d; }
.emage-showcase-lightbox__nav--prev { grid-column:1; }
.emage-showcase-lightbox__nav--next { grid-column:4; }
.emage-showcase-lightbox__thumbs { grid-column:1/-1; grid-row:3; display:flex; align-items:center; gap:8px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; padding:12px 20px 18px; background:linear-gradient(to top,rgba(0,0,0,.42),transparent); }
.emage-showcase-lightbox__thumb { flex:0 0 auto; appearance:none; border:1px solid transparent; padding:2px; width:78px; height:58px; background:rgba(255,255,255,.05); opacity:.52; cursor:pointer; }
.emage-showcase-lightbox__thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.emage-showcase-lightbox__thumb.is-active { opacity:1; border-color:#fff; }
.emage-showcase-lightbox--single .emage-showcase-lightbox__nav,.emage-showcase-lightbox--single .emage-showcase-lightbox__thumbs { display:none; }
.emage-showcase-lightbox--single .emage-showcase-lightbox__inner { grid-template-rows:58px minmax(0,1fr); }

@media(min-width:1500px){
  .emage-showcase-grid { column-count:5; }
}
@media(max-width:1100px){
  .emage-showcase-toolbar { grid-template-columns:minmax(200px,280px) minmax(0,1fr); gap:14px; padding-top:10px; padding-bottom:10px; }
  .emage-showcase-status { display:none; }
  .emage-showcase-grid { column-count:3; }
  .emage-showcase-lightbox__inner { grid-template-columns:58px minmax(0,1fr) 260px 58px; }
  .emage-showcase-lightbox__stage { padding-inline:12px; }
}
@media(max-width:760px){
  .emage-showcase-head { padding-top:118px; padding-bottom:44px; }
  .emage-showcase-head h1 { font-size:clamp(42px,12vw,62px); }
  .emage-showcase-toolbar-wrap { top:60px; }
  .emage-showcase-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:6px; min-height:0; padding-top:9px; padding-bottom:9px; }
  .emage-showcase-search { width:100%; }
  .emage-showcase-search input { min-height:42px; }
  .emage-showcase-filters { margin-inline:-4px; padding:5px 4px 1px; }
  .emage-showcase-filter { min-height:34px; padding-inline:13px; font-size:11px; }
  .emage-showcase-grid { column-count:2; column-gap:7px; padding-top:18px; padding-bottom:62px; }
  .emage-showcase-card { margin-bottom:7px; }
  .emage-showcase-card__overlay { opacity:1; transform:none; padding:36px 10px 9px; }
  .emage-showcase-card__title { font-size:12px; }
  .emage-showcase-card__meta { display:none; }
  .emage-showcase-cta { padding:52px 0 62px; }
  .emage-showcase-cta__inner { align-items:flex-start; flex-direction:column; }

  .emage-showcase-lightbox__inner { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; grid-template-rows:52px minmax(0,1fr) auto 78px; }
  .emage-showcase-lightbox__topbar { grid-column:1/-1; grid-row:1; padding:7px 9px 0 13px; }
  .emage-showcase-lightbox__close { width:38px; height:38px; }
  .emage-showcase-lightbox__stage { grid-column:1/-1; grid-row:2; padding:6px 9px 10px; }
  .emage-showcase-lightbox__nav { grid-row:2; width:39px; height:39px; align-self:center; background:rgba(0,0,0,.42); }
  .emage-showcase-lightbox__nav--prev { grid-column:1; }
  .emage-showcase-lightbox__nav--next { grid-column:3; }
  .emage-showcase-lightbox__info { grid-column:1/-1; grid-row:3; align-self:auto; max-width:none; padding:10px 16px 12px; background:rgba(7,7,9,.96); }
  .emage-showcase-lightbox__categories { margin-bottom:5px; font-size:9px; }
  .emage-showcase-lightbox__info h2 { font-size:22px; }
  .emage-showcase-lightbox__caption { display:none; }
  .emage-showcase-lightbox__link { margin-top:10px; font-size:10px; }
  .emage-showcase-lightbox__thumbs { grid-column:1/-1; grid-row:4; padding:9px 10px 12px; gap:6px; }
  .emage-showcase-lightbox__thumb { width:60px; height:45px; }
  .emage-showcase-lightbox--single .emage-showcase-lightbox__inner { grid-template-rows:52px minmax(0,1fr) auto; }
}
@media(max-width:430px){
  .emage-showcase-grid { column-count:1; }
  .emage-showcase-card__overlay { padding:44px 13px 12px; }
}

.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.emage-case-tools dd{display:flex;flex-wrap:wrap;gap:.25rem .45rem;}
.emage-method-chip{display:inline-flex;align-items:center;padding:.28rem .55rem;border:1px solid color-mix(in srgb,var(--emage-line) 82%,transparent);border-radius:999px;font-size:.76rem;line-height:1.2;color:var(--emage-muted);background:color-mix(in srgb,var(--emage-surface) 90%,transparent);}
