/* Service pricing: inherits the current dark/ivory surface and shared type scale. */
.version-e .e-pricing { padding-block:var(--e-space-section-md) var(--e-space-section-lg); }
.version-e .e-pricing .e-pricing-heading { margin-bottom:var(--e-space-heading); }
.version-e .e-pricing .eyebrow { margin-bottom:1rem; }
.version-e .e-pricing .e-pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--e-space-content); }
.version-e .e-pricing .e-pricing-card { display:flex; flex-direction:column; min-width:0; padding:clamp(1.25rem,2.4vw,2rem); background:var(--color-bg-secondary); border-top:2px solid var(--line); transition:border-color .2s ease; }
.version-e .e-pricing .e-pricing-card--featured { border-top-color:var(--accent); }
.version-e .e-pricing .e-pricing-card h3 { font-size:clamp(1.375rem,2vw,1.75rem); line-height:1.2; letter-spacing:-.025em; overflow-wrap:anywhere; }
.version-e .e-pricing .e-pricing-price { margin-top:1.5rem; font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.1; letter-spacing:-.045em; font-variant-numeric:lining-nums tabular-nums; }
.version-e .e-pricing .e-pricing-features { margin:1.5rem 0 2rem; padding-left:1.2rem; color:var(--color-text-secondary); }
.version-e .e-pricing .e-pricing-features li { padding-left:.25rem; }
.version-e .e-pricing .e-pricing-features li + li { margin-top:.75rem; }
.version-e .e-pricing .e-pricing-link { align-self:start; justify-self:start; margin-top:auto; border-color:var(--accent); }
.version-e .e-pricing .e-pricing-link span { color:var(--color-link-hover); }
.version-e .e-pricing .e-pricing-link:focus-visible { outline:3px solid var(--color-focus); outline-offset:5px; }
.version-e .e-pricing .e-pricing-note { max-width:58rem; margin-top:var(--e-space-content); color:var(--color-text-secondary); }
.version-e .e-pricing .e-pricing-tax { max-width:58rem; margin-top:1rem; font-size:.875rem; color:var(--color-text-secondary); }
.version-e .e-pricing .e-pricing-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:var(--e-space-heading); border-top:1px solid var(--line); padding-top:var(--e-space-content); }
.version-e .e-pricing .e-pricing-offer .e-pricing-price { margin-top:0; }
.version-e .e-pricing .e-pricing-description { max-width:44rem; margin-top:var(--e-space-content); }
.version-e .e-pricing .e-pricing-offer .e-pricing-features { margin-block:0; }
@media (hover:hover) {
  .version-e .e-pricing .e-pricing-card:hover { border-top-color:var(--accent); }
}
@media (max-width:899px) {
  .version-e .e-pricing .e-pricing-grid, .version-e .e-pricing .e-pricing-offer { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .version-e .e-pricing .e-pricing-card { transition:none; }
}

/* E shares the D hybrid semantic tokens. Only this scope changes page layouts. */
/* Rhythm inventory: E2.3 sections 56–96px/side, headings 32–48px,
   closing 96px + nested 32px. E2.4 separates chapters, content and wall joints. */
.version-e {
  --max-width:1440px;
  --e-space-section-lg:clamp(2.5rem,5.2vw,4.5rem);
  --e-space-section-md:clamp(2rem,4vw,3rem);
  --e-space-section-sm:clamp(1.25rem,2.6vw,2rem);
  --e-space-content:clamp(1rem,2vw,1.5rem);
  --e-space-wall:clamp(1.5rem,2.5vw,2.25rem);
  --e-space-heading:clamp(1.5rem,2.6vw,2.25rem);
}
/* Home keeps more chapter space; heroes and wall geometry are unchanged. */
.version-e.page-index {
  --e-space-section-lg:clamp(2.75rem,5.7vw,5rem);
  --e-space-heading:clamp(1.75rem,2.8vw,2.5rem);
}
.version-e main { overflow-x: clip; }
.version-e.e-page-light { background: var(--color-bg-primary); }
.version-e .site-header { gap: 1.2rem; padding-block: 1.25rem; }
.version-e .e-header { width: 100%; background: var(--background); }
.version-e .site-nav { gap: clamp(.85rem, 1.5vw, 1.4rem); font-size: .75rem; font-weight: 500; letter-spacing: .14em; text-transform:uppercase; }
.version-e .site-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.version-e .site-nav .nav-instagram { min-width:44px; margin-left:.5rem; justify-content:center; gap:.65rem; }
.version-e .nav-instagram svg { flex-shrink:0; }
.version-e .nav-instagram-label { display:none; }
.version-e .site-nav a[aria-current] { color:var(--color-link-hover); border-bottom: 2px solid var(--accent); }
.version-e .surface-light .site-nav a[aria-current] { border-color: var(--color-link-hover); }
.version-e .surface-light .brand img { filter: brightness(0); }
.version-e .section { padding-block:var(--e-space-section-lg); }
.version-e h1 { font-size: clamp(2.8rem, 5.5vw, 5.6rem); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.version-e h2 { font-size: clamp(2.2rem, 3.8vw, 3.6rem); font-weight: 500; line-height: 1.12; letter-spacing: -.04em; }
.version-e h3 { font-weight: 500; }
.version-e .section-heading { gap:3rem; margin-bottom:var(--e-space-heading); }
.version-e .section-heading > p, .version-e .e-page-intro > p:not(.eyebrow), .version-e .e-contact-grid p { color: var(--color-text-secondary); }
.version-e .e-hero {
  --background: var(--color-photo-overlay);
  --text: var(--color-photo-overlay-text);
  --color-focus: var(--color-accent);
  --color-link-hover: var(--color-accent-hover);
  color: var(--text);
  min-height: 640px;
  padding-top: 6rem;
  padding-bottom: 4rem;
}
.version-e .e-home-hero { min-height: min(740px, 84svh); }
.version-e .hero-copy { max-width: 43rem; }
.version-e .hero h1 { max-width: 12ch; }
.version-e .e-home-hero .hero-copy { max-width: 52rem; }
.version-e .e-home-hero h1 { max-width: 20ch; }
.version-e .hero .eyebrow { color: var(--text); }
.version-e .hero .text-link { color: var(--text); border-color: var(--color-hero-note); }
.version-e .hero .text-link:hover { color: var(--accent); border-color: var(--accent); }

/* Homepage art direction only; source switches at the same 768px breakpoint. */
.version-e .e-hero .hero-image picture { display:block; width:100%; height:100%; }

@media (max-width:767px) {
  .version-e .e-home-hero .hero-image img {
    height:65%;

    mask-image:linear-gradient(#000 60%, transparent 100%);
  }
}


.version-e .hero-actions { margin-top: 1.8rem; }

.version-e .e-service-teasers { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3rem 2rem; align-items: start; }
.version-e .e-teaser { display: block; min-width: 0; }
.version-e .e-teaser-konzert { grid-column: 1 / 8; }
.version-e .e-teaser-event { grid-column: 8 / 13; }
.version-e .e-teaser-hochzeit { grid-column: 1 / 7; }
.version-e .e-teaser-portrait { grid-column: 7 / 13; }
.version-e .e-teaser-photo { overflow: hidden; }
.version-e .e-teaser-photo img { width: 100%; height: auto; }
.version-e .e-teaser-konzert .e-teaser-photo,
.version-e .e-teaser-event .e-teaser-photo { height: clamp(280px, 34vw, 490px); }
.version-e .e-teaser-konzert .e-teaser-photo img,
.version-e .e-teaser-event .e-teaser-photo img { height: 100%; object-fit: cover; }

.version-e .e-teaser-copy { padding-top: 1.4rem; }
.version-e .e-teaser-copy .eyebrow { margin-bottom: .6rem; letter-spacing: .1em; }
.version-e .e-teaser-copy h3 { font-size: clamp(2rem, 3.6vw, 3.25rem); letter-spacing: -.04em; }
.version-e .e-teaser-copy > p:not(.eyebrow) { color: var(--color-text-secondary); margin-top: .7rem; max-width: 27rem; font-size: .9rem; }
.version-e .e-teaser-link { display: inline-flex; gap: 2rem; margin-top: .9rem; border-bottom: 1px solid var(--accent); padding-block: .6rem; font-size: .8rem; }
.version-e .e-teaser-link span { color: var(--accent); }
.version-e .e-teaser:hover .e-teaser-link { color: var(--color-link-hover); }
/* E2 Home only: a single ivory navigation chapter. Other pages keep E1 layouts. */
.version-e.page-index .e-service-chapter { margin-top:0; padding-bottom:var(--e-space-section-md); }
.version-e.page-index .e-service-teasers { grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 1.5rem; }
.version-e.page-index .e-teaser-konzert { grid-column: 1 / 12; }
.version-e.page-index .e-teaser-event { grid-column: 12 / 21; }
.version-e.page-index .e-teaser-hochzeit { grid-column: 1 / 11; }
.version-e.page-index .e-teaser-portrait { grid-column: 11 / 21; }
.version-e.page-index .e-teaser { position: relative; isolation: isolate; overflow: hidden; min-height: 310px; }
.version-e.page-index .e-teaser-konzert, .version-e.page-index .e-teaser-event { min-height: 410px; }
.version-e.page-index .e-teaser .e-teaser-photo { position: absolute; inset: 0; height: 100%; }
.version-e.page-index .e-teaser .e-teaser-photo img { width: 100%; height: 100%; object-fit: cover; }
.version-e.page-index .e-teaser-copy { position: absolute; inset: 0; z-index: 0; padding: 2rem; display: flex; flex-direction: column; justify-content: end; color: var(--color-photo-overlay-text); }
.version-e.page-index .e-teaser-copy::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, var(--color-photo-overlay), transparent 88%); pointer-events: none; }
.version-e.page-index .e-teaser-copy .eyebrow { display: none; }
.version-e.page-index .e-teaser-copy > p:not(.eyebrow) { color: var(--color-hero-text); max-width: 27rem; }
.version-e.page-index .e-teaser-link { align-self: start; color: var(--color-photo-overlay-text); }
.version-e.page-index .e-teaser:hover .e-teaser-link { color: var(--color-photo-overlay-text); }
.version-e.page-index .e-project-strip { padding-block:var(--e-space-content); border-bottom:0; margin-top:var(--e-space-content); }
.version-e.page-index .e-trust { padding-block:var(--e-space-section-sm) var(--e-space-section-lg); }
.version-e.page-index .e-trust .section-heading { margin-bottom: 1.5rem; }
.version-e.page-index .e-trust .e-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; border: 0; }
.version-e.page-index .e-trust .e-details article { grid-template-columns: auto 1fr; gap: .75rem; padding-block: 1.2rem; }
.version-e.page-index .e-trust .e-details h3 { font-size: 1.5rem; }
.version-e.page-index .e-trust .e-details p { font-size: .9rem; }
.version-e .e-project-strip { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-block: 2.5rem; border-block: 1px solid var(--line); }
.version-e .e-project-strip h2 { font-size: clamp(1.8rem, 2.4vw, 2.5rem); }
.version-e .e-project-strip .eyebrow { margin-bottom: .6rem; }
.version-e .e-project-strip p:not(.eyebrow) { color: var(--color-text-secondary); margin-top: .8rem; max-width: 42rem; font-size: .9rem; }
.version-e .e-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; align-items: start; }
.version-e .e-editorial-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: 3.5rem; }
.version-e .e-editorial-grid .e-photo-1 { grid-column: 1 / 7; }
.version-e .e-editorial-grid .e-photo-2 { grid-column: 8 / 13; padding-top: 4rem; }
.version-e .e-editorial-grid .e-photo-3 { grid-column: 1 / -1; }
.version-e .e-editorial-grid .e-photo-4 { grid-column: 4 / 12; }
.version-e .e-photo { min-width: 0; }
.version-e .photo-link img { width: 100%; height: auto; object-fit: contain; }
.version-e .photo-link:hover img { transform: none; }
.version-e figcaption { border-top: 1px solid var(--line); padding-top: .6rem; margin-top: .75rem; }
.version-e .e-more { margin-top:var(--e-space-content); }
/* E2.2 C1 wall: container-relative geometry; no script-driven layout.
   The single shared seam runs from x=62% via x=62%-32px to x=62%-22px.
   Its intersections with the staggered rows are expressed in local coordinates.
   All other interior edges are straight. Rectangle geometry is the base fallback. */
.version-e .e-organic-wall-frame { --wall-breakout:20px; --wall-gap:12px; container-type:inline-size; width:calc(100% + 2 * var(--wall-breakout)); margin-inline:calc(-1 * var(--wall-breakout)); }
.version-e .e-organic-wall { position:relative; isolation:isolate; }
.version-e .e-selected-wall { aspect-ratio:10 / 9; --selected-left:62cqw; --selected-right:38cqw; --selected-small:16.72cqw; --selected-last:21.28cqw; --selected-offset:78.72cqw; }
.version-e .e-organic-wall-item { position:absolute; margin:0; padding:0; min-width:0; }
.version-e .e-organic-wall-media, .version-e .e-organic-wall-media img { width:100%; height:100%; object-fit:cover; transform:none; transition:none; background:transparent; }
.version-e .e-selected-wall-item-1 { left:0; top:0; width:var(--selected-left); height:44.1cqw; }
.version-e .e-selected-wall-item-2 { left:calc(var(--selected-left) + var(--wall-gap)); top:0; width:calc(var(--selected-right) - var(--wall-gap)); height:31.5cqw; }
.version-e .e-selected-wall-item-3 { left:0; top:calc(44.1cqw + var(--wall-gap)); width:var(--selected-left); height:calc(45.9cqw - var(--wall-gap)); }
.version-e .e-selected-wall-item-4 { left:calc(var(--selected-left) + var(--wall-gap)); top:calc(31.5cqw + var(--wall-gap)); width:calc(var(--selected-small) - .44 * var(--wall-gap)); height:33.3cqw; }
.version-e .e-selected-wall-item-5 { left:calc(var(--selected-offset) + 1.56 * var(--wall-gap)); top:calc(31.5cqw + var(--wall-gap)); width:calc(var(--selected-last) - 1.56 * var(--wall-gap)); height:33.3cqw; }
.version-e .e-selected-wall-item-6 { left:calc(var(--selected-left) + var(--wall-gap)); top:calc(64.8cqw + 2 * var(--wall-gap)); width:calc(var(--selected-right) - var(--wall-gap)); height:calc(25.2cqw - 2 * var(--wall-gap)); }






.version-e .e-organic-wall-media::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,var(--color-photo-overlay)); opacity:0; pointer-events:none; }
.version-e .e-organic-wall-overlay { position:absolute; left:1rem; bottom:1.5rem; max-width:calc(100% - 2rem); border:0; margin:0; padding:0; background:none; color:var(--color-photo-overlay-text); font-size:.75rem; line-height:1.6; pointer-events:none; }
.version-e .e-organic-wall-overlay>span:first-child { opacity:0; }
.version-e .e-organic-wall-item:hover .e-organic-wall-overlay>span:first-child,
.version-e .e-organic-wall-item:focus-within .e-organic-wall-overlay>span:first-child,
.version-e .e-organic-wall-item:hover .e-organic-wall-media::after,
.version-e .e-organic-wall-item:focus-within .e-organic-wall-media::after { opacity:1; }
.version-e .e-organic-wall-media:focus-visible { outline:3px solid var(--accent); outline-offset:-6px; }
.version-e .e-selected .e-more { margin-top:var(--e-space-wall); }
@supports (clip-path:polygon(0 0,100% 0,100% 100%,0 100%)) {
  .version-e .e-selected-wall { clip-path:polygon(0 2.5%,36% 0,100% 1.5%,100% 97%,66% 100%,0 97.5%); }
  .version-e .e-selected-wall-item-1 { clip-path:polygon(0 0,100% 0,calc(100% - 27.034px) 100%,0 100%); }
  .version-e .e-selected-wall-item-3 { clip-path:polygon(0 0,calc(100% - 27.034px) 0,calc(100% - 32px) calc(8.1cqw - var(--wall-gap)),calc(100% - 22px) 100%,0 100%); }
  .version-e .e-selected-wall-item-2, .version-e .e-selected-wall-item-6 { left:calc(var(--selected-left) - 32px + var(--wall-gap)); width:calc(var(--selected-right) + 32px - var(--wall-gap)); }
  .version-e .e-selected-wall-item-2 { clip-path:polygon(32px 0,100% 0,100% 100%,12.69px 100%); }
  .version-e .e-selected-wall-item-4 { left:calc(var(--selected-left) - 32px + var(--wall-gap)); width:calc(var(--selected-small) + 32px - .44 * var(--wall-gap)); clip-path:polygon(12.69px 0,100% 0,100% 100%,3.333px 100%,0 calc(20.7cqw - var(--wall-gap))); }
  .version-e .e-selected-wall-item-6 { clip-path:polygon(3.333px 0,100% 0,100% 100%,10px 100%); }
}
@media(min-width:900px) and (max-width:1199px) {
  .version-e .e-organic-wall-frame { --wall-breakout:12px; }
}
/* Tablet keeps the desktop rhythm; wider right-hand tiles avoid tiny portraits. */
@media(min-width:700px) and (max-width:899px) {
  .version-e .e-organic-wall-frame { --wall-breakout:8px; --wall-gap:10px; }
  .version-e .e-selected-wall { --selected-left:58cqw; --selected-right:42cqw; --selected-small:18.48cqw; --selected-last:23.52cqw; --selected-offset:76.48cqw; }
}
@media(max-width:699px) {
  .version-e .e-organic-wall-frame { --wall-breakout:8px; --wall-gap:8px; }
  .version-e .e-selected-wall { aspect-ratio:5 / 11; }
  .version-e .e-selected-wall-item-1 { left:0; top:0; width:100%; height:64cqw; clip-path:none; }
  .version-e .e-selected-wall-item-2 { left:0; top:calc(64cqw + 8px); width:59cqw; height:40cqw; }
  .version-e .e-selected-wall-item-3 { left:0; top:calc(104cqw + 16px); width:59cqw; height:73cqw; }
  .version-e .e-selected-wall-item-4 { left:calc(59cqw + 8px); top:calc(64cqw + 8px); width:calc(41cqw - 8px); height:95cqw; }
  .version-e .e-selected-wall-item-5 { left:calc(59cqw + 8px); top:calc(159cqw + 16px); width:calc(41cqw - 8px); height:calc(61cqw - 16px); }
  .version-e .e-selected-wall-item-6 { left:0; top:calc(177cqw + 24px); width:59cqw; height:calc(43cqw - 24px); }
  .version-e .e-organic-wall-overlay { left:.65rem; bottom:.85rem; max-width:calc(100% - 1.3rem); }
  .version-e .e-selected .e-more { margin-top:var(--e-space-wall); }
  @supports (clip-path:polygon(0 0,100% 0,100% 100%,0 100%)) {
    .version-e .e-selected-wall { clip-path:polygon(0 1.8%,40% 0,100% 1.2%,100% 98%,64% 100%,0 98.5%); }
    .version-e .e-selected-wall-item-2 { clip-path:polygon(0 0,100% 0,calc(100% - 3.54px) 100%,0 100%); }
    .version-e .e-selected-wall-item-3 { clip-path:polygon(0 0,calc(100% - 3.54px) 0,calc(100% - 8px) calc(50.48cqw - 12.64px),calc(100% - 6.99px) 100%,0 100%); }
    .version-e .e-selected-wall-item-6 { clip-path:polygon(0 0,calc(100% - 6.99px) 0,calc(100% - 5px) 100%,0 100%); }
    .version-e .e-selected-wall-item-4, .version-e .e-selected-wall-item-5 { left:59cqw; width:41cqw; }
    .version-e .e-selected-wall-item-4 { clip-path:polygon(8px 0,100% 0,100% 100%,.2px 100%,0 calc(90.48cqw - 4.64px)); }
    .version-e .e-selected-wall-item-5 { clip-path:polygon(.2px 0,100% 0,100% 100%,3px 100%); }
  }
}
@media(prefers-reduced-motion:reduce) {
  .version-e .e-organic-wall *, .version-e .e-organic-wall *::after { animation:none; transition:none; }
}
/* Shared marketing-wall foundation, with independent art direction per service.
   Seams reveal the inherited Graphite/Ivory surface; no tile backgrounds or cards.
   These variants deliberately keep straight interior joints and one outer mask. */
.version-e .e-organic-wall-dark { --wall-focus:var(--color-photo-overlay-text); }
.version-e .e-organic-wall-light { --wall-focus:var(--color-photo-overlay-text); }
.version-e .e-organic-wall-media:focus-visible { outline-color:var(--wall-focus); box-shadow:inset 0 0 0 9px var(--color-photo-overlay); }
.version-e .e-service-gallery .e-organic-wall-frame { --wall-breakout:0px; }
.version-e .e-service-gallery .e-organic-wall-frame--concert { --wall-breakout:20px; }
.version-e .e-service-gallery .e-more { margin-top:var(--e-space-wall); }
.version-e .e-organic-wall--concert { aspect-ratio:100 / 63; }
.version-e .e-organic-wall--concert .e-organic-wall-item-1 { left:0; top:0; width:62cqw; height:34cqw; }
.version-e .e-organic-wall--concert .e-organic-wall-item-2 { left:calc(62cqw + var(--wall-gap)); top:0; width:calc(38cqw - var(--wall-gap)); height:43cqw; }
.version-e .e-organic-wall--concert .e-organic-wall-item-3 { left:0; top:calc(34cqw + var(--wall-gap)); width:62cqw; height:calc(29cqw - var(--wall-gap)); }
.version-e .e-organic-wall--concert .e-organic-wall-item-4 { left:calc(62cqw + var(--wall-gap)); top:calc(43cqw + var(--wall-gap)); width:calc(38cqw - var(--wall-gap)); height:calc(20cqw - var(--wall-gap)); }





.version-e .e-organic-wall--event { aspect-ratio:100 / 62; }
.version-e .e-organic-wall--event .e-organic-wall-item-1 { left:0; top:0; width:60cqw; height:100%; }
.version-e .e-organic-wall--event .e-organic-wall-item-2 { left:calc(60cqw + var(--wall-gap)); top:0; width:calc(40cqw - var(--wall-gap)); height:33cqw; }
.version-e .e-organic-wall--event .e-organic-wall-item-3 { left:calc(60cqw + var(--wall-gap)); top:calc(33cqw + var(--wall-gap)); width:calc(40cqw - var(--wall-gap)); height:calc(29cqw - var(--wall-gap)); }


.version-e .e-organic-wall--wedding { aspect-ratio:100 / 65; }
.version-e .e-organic-wall--wedding .e-organic-wall-item-1 { left:0; top:0; width:36cqw; height:100%; }
.version-e .e-organic-wall--wedding .e-organic-wall-item-2 { left:calc(36cqw + var(--wall-gap)); top:0; width:calc(64cqw - var(--wall-gap)); height:29cqw; }
.version-e .e-organic-wall--wedding .e-organic-wall-item-3 { left:calc(36cqw + var(--wall-gap)); top:calc(29cqw + var(--wall-gap)); width:calc(64cqw - var(--wall-gap)); height:calc(36cqw - var(--wall-gap)); }


.version-e .e-organic-wall--portrait { aspect-ratio:100 / 72; }
.version-e .e-organic-wall--portrait .e-organic-wall-item-1 { left:0; top:0; width:41cqw; height:100%; }
.version-e .e-organic-wall--portrait .e-organic-wall-item-2 { left:calc(41cqw + var(--wall-gap)); top:0; width:calc(59cqw - var(--wall-gap)); height:43cqw; }
.version-e .e-organic-wall--portrait .e-organic-wall-item-3 { left:calc(41cqw + var(--wall-gap)); top:calc(43cqw + var(--wall-gap)); width:calc(59cqw - var(--wall-gap)); height:calc(29cqw - var(--wall-gap)); }


@supports(clip-path:polygon(0 0,100% 0,100% 100%,0 100%)) {
  .version-e .e-organic-wall--concert { clip-path:polygon(0 3%,44% 0,100% 2%,100% 96%,60% 100%,0 97%); }
  .version-e .e-organic-wall--event { clip-path:polygon(0 0,68% 2%,100% 0,100% 98%,35% 100%,0 97%); }
  .version-e .e-organic-wall--wedding { clip-path:polygon(0 1.4%,38% 0,100% 1%,100% 98%,60% 100%,0 98.4%); }
  .version-e .e-organic-wall--portrait { clip-path:polygon(0 0,72% 1.8%,100% .5%,100% 99%,42% 100%,0 98%); }
}
@media(min-width:700px) and (max-width:1199px) {
  .version-e .e-service-gallery .e-organic-wall-frame--concert { --wall-breakout:8px; }
}
@media(max-width:699px) {
  .version-e .e-service-gallery .e-organic-wall-frame { --wall-breakout:0px; --wall-gap:8px; }
  .version-e .e-service-gallery .e-organic-wall-frame--concert { --wall-breakout:8px; }
  .version-e .e-organic-wall--concert { aspect-ratio:100 / 164; }
  .version-e .e-organic-wall--concert .e-organic-wall-item-1 { left:0; top:0; width:100%; height:64cqw; }
  .version-e .e-organic-wall--concert .e-organic-wall-item-2 { left:0; top:calc(64cqw + 8px); width:calc(50cqw - 4px); height:60cqw; }
  .version-e .e-organic-wall--concert .e-organic-wall-item-3 { left:calc(50cqw + 4px); top:calc(64cqw + 8px); width:calc(50cqw - 4px); height:60cqw; }
  .version-e .e-organic-wall--concert .e-organic-wall-item-4 { left:0; top:calc(124cqw + 16px); width:100%; height:calc(40cqw - 16px); }
  .version-e .e-organic-wall--event { aspect-ratio:100 / 130; }
  .version-e .e-organic-wall--event .e-organic-wall-item-1 { left:0; top:0; width:58cqw; height:90cqw; }
  .version-e .e-organic-wall--event .e-organic-wall-item-2 { left:calc(58cqw + 8px); top:0; width:calc(42cqw - 8px); height:90cqw; }
  .version-e .e-organic-wall--event .e-organic-wall-item-3 { left:0; top:calc(90cqw + 8px); width:100%; height:calc(40cqw - 8px); }
  .version-e .e-organic-wall--wedding { aspect-ratio:100 / 112; }
  .version-e .e-organic-wall--wedding .e-organic-wall-item-1 { left:0; top:0; width:40cqw; height:100%; }
  .version-e .e-organic-wall--wedding .e-organic-wall-item-2 { left:calc(40cqw + 8px); top:0; width:calc(60cqw - 8px); height:48cqw; }
  .version-e .e-organic-wall--wedding .e-organic-wall-item-3 { left:calc(40cqw + 8px); top:calc(48cqw + 8px); width:calc(60cqw - 8px); height:calc(64cqw - 8px); }

  .version-e .e-organic-wall--portrait { aspect-ratio:100 / 125; }
  .version-e .e-organic-wall--portrait .e-organic-wall-item-1 { left:0; top:0; width:42cqw; height:100%; }
  .version-e .e-organic-wall--portrait .e-organic-wall-item-2 { left:calc(42cqw + 8px); top:0; width:calc(58cqw - 8px); height:66cqw; }
  .version-e .e-organic-wall--portrait .e-organic-wall-item-3 { left:calc(42cqw + 8px); top:calc(66cqw + 8px); width:calc(58cqw - 8px); height:calc(59cqw - 8px); }
}
.version-e .e-details { border-bottom: 1px solid var(--line); }
.version-e .e-details article { display:grid; grid-template-columns:.15fr 1fr; gap:2rem; padding-block:var(--e-space-content); border-top:1px solid var(--line); }
.version-e .e-details .eyebrow { color: var(--accent); margin: .3rem 0 0; }
.version-e .surface-light .e-details .eyebrow { color: var(--color-link-hover); }
.version-e .e-details h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); letter-spacing: -.03em; }
.version-e .e-details p { color: var(--color-text-secondary); max-width: 48rem; margin-top: .8rem; }
.version-e .e-trust { padding-bottom:var(--e-space-section-lg); }
.version-e .e-editorial-light { position: relative; isolation: isolate; margin-top: 1rem; }
.version-e .e-organic::before, .version-e .e-organic::after { content: ''; position: absolute; left: 0; width: 100%; background: var(--background); pointer-events: none; z-index: -1; }
.version-e .e-organic::before { top: -54px; height: 55px; clip-path: polygon(0 48%, 12% 56%, 24% 42%, 35% 49%, 48% 28%, 61% 34%, 74% 10%, 88% 18%, 100% 0, 100% 100%, 0 100%); }
.version-e .e-organic::after { bottom: -27px; height: 28px; clip-path: polygon(0 0, 100% 0, 100% 34%, 88% 46%, 74% 39%, 61% 63%, 48% 56%, 35% 78%, 24% 69%, 12% 86%, 0 79%); }
.version-e .about { border: 0; grid-template-columns: .8fr 1.2fr; }
.version-e .about-portrait { padding-top: 0; }
.version-e .about-portrait img { width: 100%; aspect-ratio: auto; object-fit: contain; }
.version-e .about-copy > p:not(.eyebrow) { margin-top: 1.25rem; }
.version-e .e-closing { --background:var(--color-photo-overlay); --text:var(--color-photo-overlay-text); --color-text-secondary:var(--color-hero-note); --muted:var(--color-hero-note); --color-focus:var(--color-accent); background:var(--background); color:var(--text); padding-block:calc(var(--e-space-section-lg) * .8); }
.version-e .e-closing > .shell { padding-top:calc(var(--e-space-content) * .75); }
.version-e .e-closing h2 { font-size: clamp(2.2rem, 4.2vw, 3.75rem); max-width: 12ch; }
.version-e .e-closing .contact-bottom { margin-top:calc(var(--e-space-content) * .8); gap:1.5rem; }
.version-e .e-closing .contact-bottom p { max-width: 32rem; }
.version-e .e-page-intro h1 { max-width: 16ch; }
.version-e .e-page-intro > p:not(.eyebrow) { margin-top: 1.5rem; max-width: 43rem; }
.version-e .e-page-intro > .text-link { margin-bottom: 2rem; }
.version-e .e-positioning { padding-bottom:var(--e-space-content); }
.version-e .e-service-gallery { padding-block:var(--e-space-section-md); }
.version-e .e-approach { padding-block:var(--e-space-section-md) var(--e-space-content); }
.version-e .e-positioning > .section-heading, .version-e .e-approach > .section-heading { margin-bottom:0; }
.version-e.page-konzert .e-positioning > .section-heading, .version-e.page-event .e-positioning > .section-heading, .version-e.page-hochzeit .e-positioning > .section-heading, .version-e.page-portrait .e-positioning > .section-heading { display:block; text-align:left; }
.version-e.page-konzert .e-positioning .e-page-intro > p, .version-e.page-event .e-positioning .e-page-intro > p, .version-e.page-hochzeit .e-positioning .e-page-intro > p, .version-e.page-portrait .e-positioning .e-page-intro > p { max-width:55rem; }
.version-e.page-hochzeit .e-positioning strong, .version-e.page-portrait .e-positioning strong { font-weight:600; }
.version-e.page-hochzeit .e-positioning, .version-e.page-portrait .e-positioning { padding-top:calc(var(--e-space-section-lg) * .72); padding-bottom:calc(var(--e-space-content) * .72); }
.version-e.page-hochzeit .e-service-gallery, .version-e.page-portrait .e-service-gallery { padding-block:calc(var(--e-space-section-md) * .72); }
.version-e.page-hochzeit .e-closing, .version-e.page-portrait .e-closing { padding-top:calc(var(--e-space-section-lg) * .72); }
.version-e .e-process { padding-top:var(--e-space-content); }
.version-e .e-about-page { padding-top: 1rem; }
.version-e.page-ueber-mich .e-page-intro { padding-block:clamp(2rem,4vw,3rem) 1.5rem; }
.version-e.page-ueber-mich .e-page-intro h1 { font-size:clamp(2.5rem,4vw,3.6rem); }
.version-e.page-ueber-mich .e-about-page { grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:start; padding-bottom:clamp(2rem,4vw,3rem); }
.version-e.page-ueber-mich .about-portrait { max-width:none; }
.version-e.page-ueber-mich .about-copy > p { max-width:none; }
.version-e.page-ueber-mich .about-copy h2 { max-width:20ch; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(2rem,3.4vw,3.125rem); font-weight:400; line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
.version-e.page-ueber-mich .about-copy > .e-about-introduction { font-size:1.125rem; font-weight:500; color:var(--text); }
.version-e.page-ueber-mich .e-about-quote { margin:1.75rem 0; padding-left:1.25rem; border-left:2px solid var(--accent); font-family:Georgia, 'Times New Roman', serif; font-size:clamp(1.5rem,2.2vw,2rem); font-weight:400; line-height:1.2; color:var(--text); }
@media (max-width:767px) {
  .version-e.page-ueber-mich .e-about-page { grid-template-columns:1fr; }
}
.version-e .e-category-nav { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin-top: 2rem; }
.version-e .e-portfolio-category { border-top: 1px solid var(--line); }
.version-e .e-portfolio-actions { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:var(--e-space-content); }
.version-e .e-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; padding-top: 0; }
.version-e .e-contact-grid > div h2 { font-size: 2rem; }
.version-e .e-contact-grid > div p { margin-top: 1rem; }
.version-e .e-contact-grid > div .text-link { margin-top: 2rem; }
.version-e .e-contact-direct { padding-bottom:var(--e-space-section-lg); gap:clamp(3rem,7vw,7rem); }
.version-e.page-kontakt .e-contact-direct .button-primary { display:flex; width:fit-content; margin-top:1.5rem; }
.version-e .e-contact-options { border-top: 1px solid var(--color-text-muted); padding-block: 1.5rem 2rem; }
.version-e .e-contact-options .eyebrow { margin: 0 0 1.5rem; }
.version-e .e-contact-options .e-contact-placeholder { border-top: 1px solid var(--line); padding-top: 1.5rem; margin-top: 2.5rem; font-size: .8rem; color: var(--color-text-muted); }
.version-e fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.version-e legend { font-size: .85rem; padding-bottom: 1.5rem; color: var(--color-text-secondary); }
.version-e label { display: block; font-size: .85rem; margin-bottom: .6rem; }
.version-e input, .version-e select, .version-e textarea { width: 100%; min-width: 0; font: inherit; background: var(--surface); color: var(--text); border: 1px solid var(--line); padding: .8rem; margin-bottom: 1.5rem; border-radius: 0; min-height: 48px; }
.version-e .surface-light input, .version-e .surface-light select, .version-e .surface-light textarea { border-color: var(--color-text-muted); }
.version-e textarea { resize: vertical; }
.version-e .e-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.version-e form .demo-note { margin-top: 0; margin-bottom: 1.5rem; }
.version-e .e-form-status { border-left: 2px solid var(--accent); padding: 1rem; margin-top: 1.5rem; }
.version-e .e-footer { padding-block:calc(var(--e-space-section-md) * .8); border-top:1px solid var(--line); }
.version-e .e-footer > .shell { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 2rem 2.5rem; }
.version-e .e-footer .brand img { width: 170px; }
.version-e .e-footer-intro p { margin-top: 1.5rem; font-size: .8rem; color: var(--color-text-secondary); }
.version-e .e-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1rem; align-content:start; font-size: .85rem; }
.version-e .e-footer nav a { min-height: 24px; display: inline-flex; align-items: center; }
.version-e .e-legal-demo { font-size: .8rem; color: var(--color-text-muted); }
.version-e .e-legal-demo p { margin-bottom: .8rem; }
.version-e .e-footer > .shell > small { grid-column: 1 / -1; color: var(--color-text-muted); font-size: .75rem; }
@media (max-width: 1199px) {
  .version-e .site-nav .nav-instagram { margin-left:0; justify-content:flex-start; }
  .version-e .nav-instagram-label { display:inline; }
  .version-e .site-header { flex-wrap: wrap; }
  .version-e .menu-toggle { display: block; }
  .version-e .site-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; border-top: 1px solid var(--line); gap: .4rem 1.5rem; padding-top: 1rem; font-size: .75rem; }
  .version-e .site-nav a { min-height: 52px; padding-block: .8rem; }
  .version-e .site-nav.enhanced { display: none; }
  .version-e .site-nav.enhanced.is-open { display: grid; }
}
@media (max-width: 899px) {
  .version-e.page-index .e-teaser-copy { padding-inline: 1.25rem; }
  .version-e.page-index .e-teaser-konzert, .version-e.page-index .e-teaser-event { min-height: 350px; }
  .version-e .e-hero { min-height: 610px; }
  .version-e .e-service-teasers { gap: 2rem 1.5rem; }
  .version-e .e-teaser-hochzeit { grid-column: 1 / 7; }
  .version-e .e-teaser-portrait { grid-column: 7 / 13; }
  .version-e .section-heading { gap: 2rem; }
  .version-e .e-contact-grid { gap: 2rem; }
  .version-e .e-footer > .shell { grid-template-columns: 1fr 1fr; }
  .version-e .e-legal-demo { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
  .version-e .site-nav { grid-template-columns: 1fr; }
  .version-e.page-index .e-service-teasers { grid-template-columns: 1fr; }
  .version-e.page-index .e-teaser, .version-e.page-index .e-teaser-konzert, .version-e.page-index .e-teaser-event { grid-column: auto; min-height: 300px; }
  .version-e.page-index .e-trust .e-details { grid-template-columns: 1fr; gap: 0; }
  .version-e .e-study-strip .shell { font-size: .65rem; }
  .version-e .e-hero { min-height: 640px; padding: 12rem var(--gutter) 3rem; }
  .version-e .e-hero h1 { font-size: clamp(2.6rem, 11vw, 3.6rem); }

  .version-e .e-hero .eyebrow { letter-spacing: .08em; line-height: 1.6; }
  /* Let the wedding moment breathe: keep the face above the copy on narrow screens. */
  .version-e.page-hochzeit .e-hero { display: block; min-height: 0; padding: 0; background: var(--background); }
  .version-e.page-hochzeit .e-hero .hero-image { position: relative; inset: auto; height: 320px; }
  .version-e.page-hochzeit .e-hero .hero-copy { max-width: none; padding: 2rem var(--gutter) 3rem; }
  .version-e .section-heading { grid-template-columns:1fr; margin-bottom:var(--e-space-heading); gap:1rem; }
  .version-e .e-service-teasers { grid-template-columns: 1fr; gap: 2.5rem; }
  .version-e .e-teaser { grid-column: auto; margin-top: 0; }
  .version-e .e-teaser-photo img { height: auto; }
  .version-e .e-teaser-konzert .e-teaser-photo, .version-e .e-teaser-event .e-teaser-photo { height: auto; }
  .version-e .e-teaser-konzert .e-teaser-photo img, .version-e .e-teaser-event .e-teaser-photo img { height: auto; object-fit: contain; }
  .version-e .e-teaser-copy h3 { font-size: 2.4rem; }
  .version-e .e-project-strip { flex-direction: column; align-items: start; }
  .version-e .e-gallery, .version-e .e-editorial-grid { grid-template-columns: 1fr; gap: 2rem; }
  .version-e .e-editorial-grid .e-photo { grid-column: auto; padding-top: 0; }
  .version-e .e-details article { grid-template-columns: auto 1fr; gap: 1rem; }
  .version-e .e-trust { padding-bottom:var(--e-space-section-lg); }
  .version-e .e-organic::before { top: -23px; height: 24px; }
  .version-e .e-organic::after { bottom: -13px; height: 14px; }
  .version-e .about { grid-template-columns: 1fr; gap: 2rem; }
  .version-e .e-closing { padding-top:calc(var(--e-space-section-lg) * .8); }
  .version-e .e-contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .version-e .e-field-row { grid-template-columns: 1fr; gap: 0; }
  .version-e .e-footer > .shell { grid-template-columns: 1fr; }
  .version-e .e-footer nav { grid-column: 1; }
}

/* E2.4: modal UI is independent of the page's Dark/Ivory surface. */
.version-e .e-lightbox {
  --color-text-secondary:#bfc1c3;
  position:fixed; inset:0; margin:0; border:0;
  width:100%; max-width:none; height:100vh; height:100dvh; max-height:none;
  padding:calc(60px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
  background:#08090b; color:#f7f4ef; overflow:hidden;
  grid-template-columns:52px minmax(0,1fr) 52px;
  grid-template-rows:minmax(0,1fr) auto; gap:12px;
}
.version-e .e-lightbox[open] { display:grid; }
.version-e .e-lightbox::backdrop { background:#08090b; }
.version-e .e-lightbox-stage { grid-column:2; grid-row:1; min-width:0; min-height:0; display:flex; align-items:center; justify-content:center; touch-action:pan-y pinch-zoom; }
.version-e .e-lightbox-matte { position:relative; flex:none; display:grid; place-items:center; max-width:100%; max-height:100%; padding:14px; isolation:isolate; }
.version-e .e-lightbox-matte::before { content:''; position:absolute; inset:0; z-index:-1; background:#1b1e20; clip-path:polygon(0 4px,34% 0,100% 3px,100% calc(100% - 4px),64% 100%,0 calc(100% - 2px)); }
.version-e .e-lightbox .e-lightbox-media { width:100%; height:100%; min-width:0; min-height:0; max-width:100%; max-height:100%; object-fit:contain; clip-path:none; transform:none; transition:none; user-select:none; }
.version-e .e-lightbox-close, .version-e .e-lightbox-nav {
  position:relative; isolation:isolate; min-width:48px; min-height:48px; padding:0; border:0; background:transparent;
  color:#f7f4ef; display:grid; place-items:center; line-height:1; font-size:2.25rem;
}
.version-e .e-lightbox-close { position:absolute; z-index:1; top:max(8px,env(safe-area-inset-top,0px)); right:max(12px,env(safe-area-inset-right,0px)); }
.version-e .e-lightbox-nav { align-self:center; grid-row:1; }
.version-e .e-lightbox-prev { grid-column:1; }
.version-e .e-lightbox-next { grid-column:3; }
.version-e .e-lightbox-close::before, .version-e .e-lightbox-nav::before { content:''; position:absolute; inset:2px; z-index:-1; background:rgb(27 30 32 / .5); clip-path:polygon(0 8%,65% 0,100% 5%,100% 92%,36% 100%,0 94%); }
.version-e .e-lightbox-close:hover::before, .version-e .e-lightbox-nav:hover::before { background:#292d30; }
.version-e .e-lightbox button:focus-visible { outline:3px solid #f7f4ef; outline-offset:-3px; }
.version-e .e-lightbox-meta { grid-column:2; grid-row:2; display:flex; justify-content:space-between; align-items:baseline; gap:16px; min-width:0; }
.version-e .e-lightbox .e-lightbox-caption, .version-e .e-lightbox-counter { margin:0; font-size:.8rem; line-height:1.5; color:#bfc1c3; }
.version-e .e-lightbox-caption { overflow-wrap:anywhere; }
.version-e .e-lightbox-caption:empty { display:none; }
.version-e .e-lightbox-counter { white-space:nowrap; flex:none; margin-left:auto; font-variant-numeric:tabular-nums; }
.version-e .e-lightbox-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:599px) {
  .version-e .e-lightbox { grid-template-columns:44px minmax(0,1fr) 44px; gap:4px; padding-inline:max(4px,env(safe-area-inset-left,0px)) max(4px,env(safe-area-inset-right,0px)); }
  .version-e .e-lightbox-stage { grid-column:1 / -1; }
  .version-e .e-lightbox-matte { padding:6px; }
  .version-e .e-lightbox-nav { z-index:1; text-shadow:0 1px 4px #08090b; }
  .version-e .e-lightbox-close, .version-e .e-lightbox-nav { min-width:44px; min-height:44px; }
  .version-e .e-lightbox-meta { grid-column:1 / -1; margin-top:8px; padding-inline:12px; }
}
/* E2.5: public contact and legal content use the existing rhythm and palette. */
.version-e .e-contact-data { margin:var(--e-space-content) 0 0; }
.version-e .e-contact-data>div { margin-top:var(--e-space-content); }
.version-e .e-contact-data dt { color:var(--color-text-secondary); font-size:.8rem; }
.version-e .e-contact-data dd { margin:0; }
.version-e .e-contact-data a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.version-e address { font-style:normal; }
.version-e .e-footer .e-legal-links { display:flex; flex-direction:column; gap:.75rem; font-size:.85rem; }
@media (max-width:599px) {
  .version-e .e-footer nav, .version-e .e-footer nav.e-legal-links { row-gap:0; }
  .version-e .e-footer nav a { min-height:44px; }
}
.version-e .e-legal-links a { min-height:44px; display:flex; align-items:center; }
.version-e .e-legal-page { max-width:calc(48rem + var(--gutter) * 2); }
.version-e .e-legal-page header { margin-bottom:var(--e-space-section-md); }
.version-e .e-legal-page section+section { margin-top:var(--e-space-section-md); }
.version-e .e-legal-page h2 { font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.25; margin-bottom:var(--e-space-content); }
.version-e .e-legal-page p+p, .version-e .e-legal-page address+p { margin-top:1rem; }
.version-e .e-legal-page header>p:last-child:not(.eyebrow) { margin-top:var(--e-space-content); }
.version-e .e-legal-page a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
/* Reserve the normal header slot; only the visible row compacts on scroll. */
.version-e .e-header { --e-header-logo-width:185px; position:sticky; top:0; z-index:30; background:transparent; pointer-events:none; transition:transform 200ms ease; }
.version-e .e-header .site-header { pointer-events:auto; transition:padding 200ms ease; }
.version-e .e-header .site-header::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--background); pointer-events:none; transition:box-shadow 200ms ease; }
.version-e .e-header .brand { display:flex; align-items:center; min-height:44px; }
.version-e .e-header .brand img { width:var(--e-header-logo-width); transition:width 200ms ease; }
.version-e .e-header.is-compact .site-header { padding-block:.5rem; }
.version-e .e-header.is-compact .brand img { width:calc(var(--e-header-logo-width) * .75); }
.version-e .e-header-light.is-compact .site-header::before { box-shadow:0 1px 0 rgb(27 27 26 / .1); }
.version-e .e-header.menu-is-open { color:#f7f4ef; --color-link-hover:#d5a367; --line:#56514b; }
.version-e .e-header.menu-is-open .brand img { filter:none; }
@media(min-width:1440px) {
  .version-e .e-header { overflow-x:clip; }
  .version-e .e-header .site-header::before { left:calc(50% - 50vw); right:calc(50% - 50vw); }
}
.version-e .e-header.is-hidden { transform:translateY(-100%); }
.version-e .e-header.menu-is-open { position:fixed; top:0; left:0; right:0; }
.version-e .menu-toggle { align-items:center; justify-content:flex-end; gap:1rem; min-width:48px; min-height:48px; border:0; padding:.5rem 0 .5rem .5rem; color:inherit; cursor:pointer; }
.version-e .menu-toggle span { padding:0; }
.version-e .e-menu-label { font-size:.7rem; letter-spacing:.15em; font-weight:600; }
.version-e .e-menu-icon { position:relative; width:26px; height:18px; }
.version-e .e-menu-icon::before, .version-e .e-menu-icon::after { content:""; position:absolute; height:1.5px; background:currentColor; right:0; top:4px; width:26px; }
.version-e .e-menu-icon::after { width:18px; top:12px; }
.version-e .menu-toggle[aria-expanded="true"] .e-menu-icon::before { top:8px; width:23px; transform:rotate(45deg); }
.version-e .menu-toggle[aria-expanded="true"] .e-menu-icon::after { top:8px; width:23px; transform:rotate(-45deg); }
.version-e .menu-toggle:hover { color:var(--color-link-hover); }
.version-e .e-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .75rem; font-size:.85rem; color:var(--color-text-secondary); margin-bottom:2rem; }
.version-e .e-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.version-e .e-public-gallery .e-page-intro { margin-bottom:var(--e-space-heading); width:100%; max-width:none; }
/* E2.9: collection titles have their own scale, independent of marketing heroes. */
.version-e .e-public-gallery .e-gallery-title {
  font-size:var(--e-gallery-title-size);
  width:100%;
  max-width:none;
  line-height:1.04;
  overflow-wrap:break-word;
  word-break:normal;
}
.version-e .e-gallery-title--landing { --e-gallery-title-size:clamp(2.5rem, calc(1.875rem + 2.5vw), 4rem); }
.version-e .e-gallery-title--category { --e-gallery-title-size:clamp(2.25rem, calc(1.75rem + 2vw), 3.5rem); }
.version-e .e-gallery-title--album { --e-gallery-title-size:clamp(2rem, calc(1.5rem + 2vw), 3.25rem); }
/* Only the album intro-to-images joint shrinks: 48px to 36px at a 16px root. */
.version-e .e-gallery--album > .e-page-intro + .e-album-heading { margin-top:2.25rem; }
.version-e .e-album-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.75rem 1.5rem; }
.version-e .e-album-grid:has(> :last-child:nth-child(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.version-e .e-album-card { min-width:0; }
.version-e .e-album-cover { aspect-ratio:4 / 3; overflow:hidden; background:#222426; border-radius:2% 1% 3% 1%; margin-bottom:1.1rem; }
.version-e .e-album-cover img { width:100%; height:100%; object-fit:cover; }
.version-e .e-album-card h2 { font-size:clamp(1.15rem,1.8vw,1.65rem); line-height:1.3; overflow-wrap:anywhere; }
.version-e .e-album-card h2 span { color:var(--accent); white-space:nowrap; }
.version-e .e-album-card .eyebrow { font-size:.7rem; }
.version-e .e-album-heading { display:flex; flex-wrap:wrap; gap:1rem; align-items:baseline; justify-content:space-between; margin-block:3rem 1.5rem; }
.version-e .e-album-heading h2 { font-size:1.5rem; }
.version-e .e-album-heading p { color:var(--color-text-secondary); }
.version-e .e-photo-grid { columns:3; column-gap:.65rem; }
.version-e .e-photo-grid a { display:block; break-inside:avoid; margin-bottom:.65rem; }
.version-e .e-photo-grid img { display:block; width:100%; height:auto; }
.version-e .e-gallery-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1.5rem; margin-top:2rem; }
.version-e .e-gallery-pagination a, .version-e .e-gallery-fallback a { display:inline-flex; align-items:center; min-height:48px; }
.version-e .e-gallery-fallback { margin-top:3rem; color:var(--color-text-secondary); }
.version-e .e-gallery-error { margin-block:2rem; }
@media(max-width:1199px) {
  .version-e .menu-toggle { display:flex; }
  .version-e .e-header .site-header { gap:0; }
  .version-e .e-header.is-compact .site-header { padding-block:.65rem; }
  .version-e .e-header.is-compact .brand img { width:calc(var(--e-header-logo-width) * .9); }
  .version-e .e-header.menu-is-open .site-header::before { background:#111315; box-shadow:none; }
  .version-e .site-nav.enhanced.is-open { position:absolute; top:100%; left:0; right:0; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; padding:1rem var(--gutter) 1.5rem; background:#111315; color:#f7f4ef; max-height:calc(100dvh - 84px); overflow-y:auto; overscroll-behavior:contain; border-top:1px solid #56514b; }
  .version-e .site-nav.enhanced.is-open a { min-height:58px; border-bottom:1px solid #343230; padding:.8rem 0; }
  .version-e .site-nav.enhanced.is-open a[aria-current] { color:#d5a367; border-bottom-color:#c58b47; }
  .version-e .site-nav.enhanced.is-open .nav-contact { color:#d5a367; }
  .version-e .e-album-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .version-e .e-photo-grid { columns:2; }
}
@media(max-width:899px) {
  .version-e .e-header { --e-header-logo-width:160px; }
}
@media(max-width:599px) {
  .version-e .e-header { --e-header-logo-width:145px; }
  .version-e .site-nav.enhanced.is-open { grid-template-columns:1fr; }
  .version-e .e-album-grid, .version-e .e-album-grid:has(> :last-child:nth-child(2)) { grid-template-columns:1fr; }
  .version-e .e-photo-grid { column-gap:.45rem; }
  .version-e .e-photo-grid a { margin-bottom:.45rem; }
}
@media(prefers-reduced-motion:reduce) {
  .version-e .e-header, .version-e .e-header .site-header, .version-e .e-header .site-header::before, .version-e .e-header .brand img { transition:none; }
  .version-e .e-lightbox *, .version-e .e-lightbox *::before, .version-e .e-lightbox *::after { animation:none; transition:none; }
}
.version-e .e-header.is-measuring .site-header, .version-e .e-header.is-measuring .brand img { transition:none; }

/* Final image art direction; existing hero and wall dimensions are preserved. */






@media(min-width:768px) and (max-width:1199px) {
  .version-e.page-event .hero-image { background:var(--color-photo-overlay); }

}
@media(max-width:767px) {
  .version-e.page-event .hero-image { background:var(--color-photo-overlay); }


  .version-e.page-portrait .hero-image { background:var(--color-photo-overlay); }
  .version-e.page-portrait .hero-image img { height:55%; object-fit:contain;  }

}

/* Local duplicate review: focus only the replacement photographs. */



/* Photographic optimization: existing slots and all hero crops stay unchanged. */




/* Event hero is a permanent full-area cover on desktop, tablet and mobile. */
.version-e.page-event .e-hero .hero-image img { object-fit:cover; height:100%; }
