@font-face{font-family:"Clash Display";src:local("Clash Display"),local("ClashDisplay");font-weight:600;font-style:normal}
:root{--black:#161616;--white:#f4f3ef;--line:rgba(244,243,239,.42);--pad:clamp(22px,5vw,76px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scrollbar-gutter:stable;background:var(--black);scroll-behavior:smooth;scroll-snap-type:y proximity}
body{margin:0;background:var(--black);color:var(--white);font-family:"Roc Grotesk","Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
.site{background:var(--black)}

/* Intro and fixed navigation */
.intro{position:fixed;inset:0;z-index:100;background:var(--black);display:grid;place-items:center;opacity:1;pointer-events:none;transition:opacity 1.5s var(--ease)}
.intro-video{width:min(78vw,900px);height:auto;display:block;object-fit:contain}
body.is-loaded .intro{opacity:0}
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad);mix-blend-mode:difference}
.brand-lockup{display:flex;align-items:center;gap:14px;text-decoration:none;opacity:0;transform:translateY(-14px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
body.is-loaded .brand-lockup{opacity:1;transform:none}
.brand-mark{display:block;width:62px;height:35px;object-fit:contain;object-position:left center}
.brand-wordmark{display:block;width:210px;height:auto;max-height:24px;object-fit:contain;object-position:left center}
.header-meta{font-size:9px;letter-spacing:.16em}
.progress{position:fixed;z-index:30;right:var(--pad);top:50%;height:120px;width:1px;background:var(--line);transform:translateY(-50%)}
.progress-fill{display:block;width:100%;height:16.666%;background:var(--white);transition:height .6s var(--ease)}

/* Desktop: one full-bleed image layer and one independent copy layer. */
.panel{position:relative;min-height:112svh;height:112svh;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;overflow:hidden;scroll-snap-align:start;background:var(--black);margin:0}
.panel-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--black)}
.panel-media img{display:block;width:100%;height:100%;object-fit:cover;opacity:1;filter:none;transform:scale(1.045);transform-origin:center center;will-change:transform;opacity:.72;transition:transform 1200ms cubic-bezier(.22,.61,.36,1),opacity 900ms ease}
.panel.is-revealed .panel-media img{transform:scale(1);opacity:1}
/* No global shade: the source photography remains at its native brightness. */
.panel-media:after{content:none}

.panel-content{align-self:center;grid-column:1;width:min(620px,calc(50vw - (2 * var(--pad))));margin-left:var(--pad);padding-top:40px;min-width:0;z-index:3;opacity:1;transform:none;clip-path:none}
.panel--reverse .panel-content{grid-column:2;margin-left:0;margin-right:var(--pad);justify-self:end;width:min(620px,calc(50vw - (2 * var(--pad))));text-align:left}
.panel[data-panel="05"] .panel-content{grid-column:1;margin-left:var(--pad);margin-right:0;justify-self:start}
.panel[data-panel="06"] .panel-content{grid-column:2;margin-left:0;margin-right:var(--pad);justify-self:end}
.panel[data-panel="04"] .panel-media img{object-position:58% center}
.eyebrow{font-size:10px;line-height:1.65;letter-spacing:.22em;text-transform:uppercase;margin-bottom:28px;max-width:360px}
.section-index{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.16em;margin-bottom:22px}
.section-index i{display:block;width:42px;height:1px;background:var(--line)}
h1,h2{font-family:"Clash Display","Arial Narrow",Arial,sans-serif;font-weight:400;font-size:clamp(36px,4.65vw,78px);line-height:.94;letter-spacing:-.045em;margin:0 0 30px;text-transform:uppercase;max-width:100%;overflow-wrap:normal;word-break:normal}
h1 strong,h2 strong{font-weight:400}
p{max-width:410px;font-size:16px;line-height:1.5;letter-spacing:.01em;margin:0;color:rgba(244,243,239,.82)}
.scroll-cue{position:absolute;left:var(--pad);bottom:34px;display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.22em;z-index:3}
.scroll-cue i{display:block;width:38px;height:1px;background:var(--line)}
.panel-footer{position:absolute;left:var(--pad);right:var(--pad);bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:9px;letter-spacing:.18em;z-index:3}
.footer-lockup{display:flex;align-items:center}.footer-mark{display:block;width:32px;height:19px;object-fit:contain}

/* Image treatment is intentionally uniform across all sections. */

/* Mobile: the composition becomes a deliberate two-part editorial layout.
   Copy is a normal-flow block above the image; the image gets its own viewport
   so the object can be focused independently instead of being lost in a crop. */
@media(max-width:820px){
  html{scroll-snap-type:none}
  .site-header{padding:16px 22px;mix-blend-mode:normal;background:linear-gradient(to bottom,rgba(22,22,22,.72),transparent)}
  .brand-lockup{gap:9px}.brand-mark{width:48px;height:28px}.brand-wordmark{width:160px;max-height:20px}.header-meta{display:none}
  .progress{right:16px;height:90px}

  /* Mobile uses one continuous full-bleed composition per section.
     The image is the section background; copy sits above it instead of
     creating a separate #161616 block between image panels. */
  .panel,.panel--reverse{
    position:relative;
    display:block;
    min-height:100svh;
    height:100svh;
    overflow:hidden;
    scroll-snap-align:none;
    background:var(--black)
  }
  .panel-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
    background:var(--black);
    z-index:0
  }
  .panel-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.045);
    will-change:transform
  }
  .panel.is-revealed .panel-media img{transform:scale(1);opacity:1}
  .panel-content,.panel--reverse .panel-content,.panel[data-panel="05"] .panel-content,.panel[data-panel="06"] .panel-content{
    position:absolute;
    inset:0;
    order:initial;
    display:block;
    align-self:auto;
    width:auto;
    max-width:none;
    min-height:0;
    height:100%;
    margin:0;
    padding:116px 52px 54px 22px;
    justify-self:auto;
    grid-column:auto;
    text-align:left;
    z-index:3;
    background:transparent
  }
  .panel[data-panel="01"] .panel-media img{object-position:22% center}
  .panel[data-panel="02"] .panel-media img{object-position:82% center}
  .panel[data-panel="03"] .panel-media img{object-position:48% center}
  .panel[data-panel="04"] .panel-media img{object-position:84% center}
  .panel[data-panel="05"] .panel-media img{object-position:22% center}
  .panel[data-panel="06"] .panel-media img{object-position:78% center}
  .eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:18px;max-width:280px}
  .section-index{margin-bottom:18px;font-size:9px}.section-index i{width:30px}
  h1,h2{font-size:clamp(34px,9.8vw,60px);line-height:.94;letter-spacing:-.04em;margin-bottom:22px}
  p{font-size:14px;line-height:1.5;max-width:330px}
  .scroll-cue{position:absolute;left:22px;bottom:28px;z-index:4}
  .panel-footer{position:absolute;left:0;right:0;bottom:0;order:initial;min-height:86px;padding:24px 22px;display:flex;font-size:7px;gap:10px;background:transparent;z-index:4}
  .footer-mark{width:25px;height:16px}.panel-footer>span:not(.footer-lockup){white-space:nowrap}
  .intro-video{width:92vw}
}
@media(max-width:560px){
  /* Section 04: keep the artwork further inside the narrow viewport. */
  .panel[data-panel="04"] .panel-media img{object-position:92% center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Shared navigation / subpages */
.menu-toggle{appearance:none;border:0;background:none;color:var(--white);font:inherit;font-size:9px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px 0;position:relative;z-index:61}
.menu-toggle .menu-lines{width:28px;height:14px;position:relative;display:block}
.menu-toggle .menu-lines:before,.menu-toggle .menu-lines:after{content:"";position:absolute;left:0;width:28px;height:1px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.menu-toggle .menu-lines:before{top:4px}.menu-toggle .menu-lines:after{top:10px}
.menu-toggle[aria-expanded="true"] .menu-lines:before{top:7px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines:after{top:7px;transform:rotate(-45deg)}
.site-header .header-actions{display:flex;align-items:center;gap:30px}
.menu-overlay{position:fixed;inset:0;background:rgba(17,16,15,.97);z-index:60;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.menu-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
body.menu-open{overflow:hidden}
.menu-inner{width:min(1180px,calc(100% - 2 * var(--pad)));display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}
.menu-kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.65;margin-bottom:24px}
.menu-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.menu-nav a{font-family:"Clash Display","Arial Narrow",Arial,sans-serif;font-size:clamp(42px,6vw,94px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase;color:var(--white);text-decoration:none;transform:translateY(24px);opacity:0;transition:transform .7s var(--ease),opacity .7s ease,color .3s ease}
.menu-overlay.is-open .menu-nav a{transform:none;opacity:1}
.menu-overlay.is-open .menu-nav a:nth-child(2){transition-delay:.07s}.menu-overlay.is-open .menu-nav a:nth-child(3){transition-delay:.14s}.menu-overlay.is-open .menu-nav a:nth-child(4){transition-delay:.21s}
.menu-nav a:hover{color:#b7afa4}
.menu-side{align-self:end;max-width:310px;font-size:13px;line-height:1.6;color:rgba(244,243,239,.72)}
.menu-side strong{display:block;color:var(--white);font-weight:400;margin-bottom:12px;letter-spacing:.12em;font-size:10px;text-transform:uppercase}
.subpage{min-height:100svh;background:var(--black)}
.sub-hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}
.sub-hero-media{position:absolute;inset:0;z-index:0;background:#171514}
.sub-hero-media img{width:100%;height:100%;object-fit:cover;opacity:.62;filter:saturate(.7);transform:scale(1.03)}
.sub-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,17,16,.9) 0%,rgba(18,17,16,.52) 52%,rgba(18,17,16,.12) 100%);z-index:1;pointer-events:none}
.sub-copy{position:relative;z-index:2;width:min(620px,calc(50vw - 2 * var(--pad)));margin-left:var(--pad);padding-top:70px}
.sub-copy .eyebrow{margin-bottom:28px}.sub-copy h1{font-size:clamp(36px,4.65vw,78px);line-height:.94;letter-spacing:-.045em;margin-bottom:30px}.sub-copy p{max-width:520px;font-size:17px;line-height:1.65;margin-bottom:18px}
.sub-copy .intro-note{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-top:38px;opacity:.72}
.sub-content{position:relative;padding:150px var(--pad) 170px;max-width:1250px;margin:0 auto}
.sub-content h2{font-size:clamp(38px,5vw,76px);max-width:780px;margin-bottom:40px}
.sub-content .body-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.sub-content p{max-width:520px;font-size:16px;line-height:1.7;margin-bottom:22px}
.sub-image{width:100%;height:auto;display:block;margin-top:80px;max-height:780px;object-fit:cover;filter:saturate(.8)}
.sub-footer{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px var(--pad);font-size:9px;letter-spacing:.18em;border-top:1px solid rgba(244,243,239,.16)}
/* Keep the brand lockup left while centering the claim independently, away from privacy controls. */
.sub-footer > span:not(.footer-lockup){position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none}
.sub-footer .footer-lockup{display:flex;align-items:center}.sub-footer .footer-mark{width:32px;height:19px}
.subpage .site-header{mix-blend-mode:normal;background:linear-gradient(to bottom,rgba(17,16,15,.45),transparent)}
@media(max-width:820px){
 .site-header .header-actions{gap:14px}.site-header .header-meta{display:none}
 .menu-inner{display:block;width:calc(100% - 44px)}.menu-side{margin-top:44px;max-width:290px}
 .menu-nav a{font-size:clamp(40px,12vw,66px)}
 .sub-hero{display:block;min-height:100svh;padding-top:90px}
 .sub-hero:after{background:linear-gradient(180deg,rgba(18,17,16,.52) 0%,rgba(18,17,16,.75) 58%,rgba(18,17,16,.96) 100%)}
 .sub-copy{width:auto;margin:0;padding:90px 52px 110px 22px;min-height:calc(100svh - 90px);display:flex;flex-direction:column;justify-content:flex-end}
 .sub-copy h1{font-size:clamp(34px,9.8vw,60px);line-height:.94;letter-spacing:-.04em;margin-bottom:22px}.sub-copy p{font-size:15px;line-height:1.6}
 .sub-content{padding:100px 22px 110px}.sub-content .body-grid{grid-template-columns:1fr;gap:12px}.sub-content h2{font-size:clamp(38px,10vw,62px)}
 .sub-image{margin-top:50px;max-height:none}
 .sub-footer{padding:24px 22px;font-size:7px;gap:10px}.sub-footer .footer-mark{width:25px;height:16px}.sub-footer>span:not(.footer-lockup){white-space:nowrap;left:50%;transform:translate(-50%,-50%)}
}

/* Final consolidated refinements: quiet partial menu + scroll-led contact reveal */
html,body{scrollbar-gutter:stable}
.menu-overlay{
  align-items:stretch;
  justify-content:flex-end;
  background:rgba(10,10,10,.10);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  transition:opacity .45s ease,visibility .45s ease;
}
.menu-inner{
  position:relative;
  box-sizing:border-box;
  width:min(30vw,420px);
  min-width:260px;
  height:100%;
  margin:0;
  padding:132px clamp(28px,3.2vw,52px) 72px;
  display:block;
  background:rgba(22,22,22,.68);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-left:1px solid rgba(244,243,239,.08);
  box-shadow:-24px 0 70px rgba(0,0,0,.12);
  transform:translateX(104%);
  transition:transform .72s cubic-bezier(.2,.75,.2,1);
}
.menu-overlay.is-open .menu-inner{transform:translateX(0)}
.menu-brand-mark{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);width:34px;height:auto;opacity:.58;pointer-events:none}
.menu-nav{display:flex;flex-direction:column;align-items:flex-start;gap:19px}
.menu-nav a{
  font-family:"Roc Grotesk","Helvetica Neue",Arial,sans-serif;
  font-size:10px;
  line-height:1.65;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(244,243,239,.76);
  text-decoration:none;
  opacity:0;
  transform:translateY(8px);
  transition:transform .7s var(--ease),opacity .7s ease,color .3s ease;
}
.menu-overlay.is-open .menu-nav a{opacity:.82;transform:none}
.menu-overlay.is-open .menu-nav a:nth-child(2){transition-delay:.07s}
.menu-overlay.is-open .menu-nav a:nth-child(3){transition-delay:.14s}
.menu-overlay.is-open .menu-nav a:nth-child(4){transition-delay:.21s}
.menu-nav a:hover{color:var(--white);opacity:1}
.menu-close{
  position:absolute;top:22px;right:clamp(24px,3vw,46px);z-index:3;
  appearance:none;border:0;background:none;color:var(--white);font:inherit;
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 0;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity 1.35s ease .32s,transform 1.35s var(--ease) .32s,visibility 0s linear 1.67s;
}
.menu-overlay.is-open .menu-close{opacity:.8;visibility:visible;transform:none;transition-delay:.32s}
.close-lines{position:relative;width:22px;height:14px;display:block}
.close-lines:before,.close-lines:after{content:"";position:absolute;top:7px;left:0;width:22px;height:1px;background:currentColor}
.close-lines:before{transform:rotate(45deg)}.close-lines:after{transform:rotate(-45deg)}
body.menu-open{overflow:hidden}

/* The image is one quiet fixed layer. The contact content is revealed by
   scroll progress, not by a translateY entrance animation. */
.contact-page .sub-hero{position:relative;z-index:1;min-height:100svh;height:100svh;overflow:hidden;background:transparent}
.contact-page .sub-hero-media{position:fixed;inset:0;z-index:0;opacity:var(--hero-opacity,1);transition:opacity .08s linear;pointer-events:none}
.contact-page .sub-hero-media img{width:100%;height:100%;object-fit:cover}
.contact-page .sub-hero:after{transition:none}
.contact-page .contact-section{
  position:relative;z-index:2;min-height:100svh;margin:0;
  padding:clamp(150px,18vh,220px) var(--pad) 170px;
  background:linear-gradient(to bottom,rgba(22,22,22,0) 0,rgba(22,22,22,.78) 18vh,#161616 42vh,#161616 100%);
}
.contact-page .contact-section > .contact-intro,
.contact-page .contact-section > .contact-form{
  opacity:var(--contact-opacity,.08);
  filter:blur(var(--contact-blur,10px));
  transform:none;
  transition:none;
  will-change:opacity,filter;
}
.contact-page .sub-footer{position:relative;z-index:3;background:#161616}
@media(max-width:820px){
  .menu-inner{width:min(78vw,360px);min-width:0;padding:112px 30px 60px}
  .menu-brand-mark{bottom:28px;width:30px}
  .menu-close{top:16px;right:22px}
  .menu-nav{gap:16px}
  .menu-nav a{font-size:9px;letter-spacing:.20em}
  .contact-page .sub-hero-media{position:fixed}
  .contact-page .contact-section{padding:100px 22px 110px;background:linear-gradient(to bottom,rgba(22,22,22,0) 0,rgba(22,22,22,.84) 12vh,#161616 32vh,#161616 100%)}
}

/* v35 repair: restore the editorial contact form layer after the clean-up. */
.contact-page .contact-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(50px,9vw,150px);
  align-items:start;
  width:100%;
  overflow:hidden;
}
.contact-page .contact-intro,
.contact-page .contact-form{min-width:0}
.contact-page .contact-intro h2{
  font-size:clamp(36px,4.65vw,78px);
  line-height:.94;
  margin:0 0 30px;
}
.contact-page .contact-intro p{max-width:390px;font-size:16px;line-height:1.65}
.contact-page .contact-form{
  width:100%;
  max-width:560px;
  justify-self:end;
  display:flex;
  flex-direction:column;
  gap:27px;
  padding-top:8px;
}
.contact-page .contact-form label{display:flex;flex-direction:column;gap:10px}
.contact-page .contact-form label>span{
  display:block;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,243,239,.6);
}
.contact-page .contact-form input,
.contact-page .contact-form select,
.contact-page .contact-form textarea{
  display:block;
  width:100%;
  min-width:0;
  border:0;
  border-bottom:1px solid rgba(244,243,239,.3);
  border-radius:0;
  background:transparent;
  color:var(--white);
  font-family:inherit;
  font-size:15px;
  line-height:1.4;
  padding:8px 0 12px;
  outline:none;
  box-shadow:none;
}
.contact-page .contact-form select{appearance:none;cursor:pointer}
.contact-page .contact-form textarea{min-height:112px;resize:vertical}
.contact-page .contact-form input:focus,
.contact-page .contact-form select:focus,
.contact-page .contact-form textarea:focus{border-bottom-color:var(--white)}
.contact-page .contact-form option{background:#161616;color:var(--white)}
.contact-page .form-submit{
  align-self:flex-start;
  margin-top:12px;
  padding:0 0 12px;
  border:0;
  border-bottom:1px solid var(--white);
  background:none;
  color:var(--white);
  font:inherit;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  display:flex;
  gap:34px;
  align-items:center;
}
.contact-page .form-submit span{font-size:16px;line-height:1}
@media(max-width:820px){
  .contact-page .contact-section{
    display:block;
    padding:100px 22px 110px;
    overflow:hidden;
  }
  .contact-page .contact-intro{margin-bottom:70px}
  .contact-page .contact-intro h2{font-size:clamp(34px,9.8vw,60px);line-height:.94;letter-spacing:-.04em}
  .contact-page .contact-form{max-width:none;justify-self:auto}
}


/* v36 — clean contact transition and unified menu behavior */
.contact-page .sub-hero {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  height: 100svh;
  overflow: hidden;
  background: var(--black);
}
.contact-page .sub-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 1;
  pointer-events: none;
}
.contact-page .sub-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-page .contact-section {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  margin: 0;
  background: var(--black);
  overflow: visible;
}
.contact-page .contact-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -180px;
  height: 180px;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(22,22,22,0), var(--black));
}
.contact-page .contact-section > .contact-intro,
.contact-page .contact-section > .contact-form {
  opacity: 0;
  filter: none;
  transform: translateY(42px);
  transition: opacity .85s ease, transform 1s var(--ease);
  will-change: opacity, transform;
}
.contact-page .contact-section.is-visible > .contact-intro,
.contact-page .contact-section.is-visible > .contact-form {
  opacity: 1;
  transform: none;
}
.contact-page .contact-section.is-visible > .contact-form {
  transition-delay: .12s;
}
.menu-overlay { isolation: isolate; }
.menu-inner { isolation: isolate; }
@media (max-width: 820px) {
  .contact-page .contact-section {
    padding: 100px 22px 110px;
  }
  .contact-page .contact-section::before {
    top: -110px;
    height: 110px;
  }
}

/* v37 — structural reset for subpage transitions
   Keep the hero and contact section in normal document flow. The previous
   scroll-linked/fixed-layer rules could leave the contact content hidden or
   expose the image at the bottom of the viewport. */
.contact-page .sub-hero,
.contact-page .sub-hero-media {
  position: relative;
}
.contact-page .sub-hero {
  min-height: 100svh;
  height: 100svh;
  display: grid;
  overflow: hidden;
  background: var(--black);
}
.contact-page .sub-hero-media {
  position: absolute !important;
  inset: 0;
  z-index: 0;
  opacity: 1 !important;
  pointer-events: none;
}
.contact-page .sub-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-page .contact-section {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(50px, 9vw, 150px);
  align-items: start;
  min-height: 100svh;
  width: 100%;
  margin: 0;
  padding: clamp(120px, 15vh, 190px) var(--pad) 170px;
  overflow: visible;
  isolation: isolate;
  background: var(--black);
}
.contact-page .contact-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: -150px;
  height: 150px;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(22,22,22,0), var(--black));
}
.contact-page .contact-section > .contact-intro,
.contact-page .contact-section > .contact-form {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
  visibility: visible !important;
}
.contact-page .contact-form {
  min-width: 0;
  width: 100%;
}
@media (max-width: 820px) {
  .contact-page .sub-hero {
    display: block;
    min-height: 100svh;
    height: 100svh;
  }
  .contact-page .contact-section {
    display: block;
    min-height: 0;
    padding: 100px 22px 110px;
  }
  .contact-page .contact-section::before {
    top: -90px;
    height: 90px;
  }
  .contact-page .contact-intro {
    margin-bottom: 70px;
  }
}

/* v37 — keep the navigation panel itself crisp while the page behind it
   receives the intended restrained blur. */
.menu-overlay {
  background: rgba(10,10,10,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.menu-inner {
  background: rgba(22,22,22,.94);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}


/* v38 — editorial cut transition
   Deliberately replaces all previous contact reveal/fade experiments.
   The contact area is always present in normal document flow. The change
   of scene is created by a crisp, angled dark overlap — no opacity tween,
   no translate animation and no scroll observer. */
.contact-page .sub-hero {
  min-height: 88svh !important;
  height: 88svh !important;
  display: grid !important;
  overflow: hidden !important;
}
.contact-page .sub-hero-media {
  position: absolute !important;
  inset: 0 !important;
}
.contact-page .contact-section {
  margin-top: -9svh !important;
  padding-top: calc(clamp(120px, 15vh, 190px) + 9svh) !important;
  min-height: 108svh !important;
  background: var(--black) !important;
  border-top: 1px solid rgba(244,243,239,.22);
  clip-path: polygon(0 9svh, 100% 0, 100% 100%, 0 100%);
}
.contact-page .contact-section::before {
  display: none !important;
}
.contact-page .contact-section > .contact-intro,
.contact-page .contact-section > .contact-form {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
/* The home menu intentionally contains navigation only. */
.home-page .menu-side { display: none !important; }
.home-page .menu-inner {
  display: block !important;
  padding-top: 132px;
}
.home-page .menu-nav { gap: 19px; }
@media (max-width:820px) {
  .contact-page .sub-hero {
    min-height: 82svh !important;
    height: 82svh !important;
  }
  .contact-page .contact-section {
    margin-top: -8svh !important;
    padding-top: calc(100px + 8svh) !important;
    min-height: 0 !important;
    clip-path: polygon(0 8svh, 100% 0, 100% 100%, 0 100%);
  }
  .home-page .menu-inner { padding-top: 112px; }
}

/* v39 — restrained subpage motion / straight transition
   The hero remains in normal document flow. Its image shifts subtly and
   gains a controlled blur while leaving the hero; the following section
   starts on a clean horizontal edge. */
.menu-side{display:none !important}
.menu-inner{display:block !important}

.contact-page .sub-hero{
  min-height:100svh !important;
  height:100svh !important;
  margin:0 !important;
  display:grid !important;
  overflow:hidden !important;
  clip-path:none !important;
}
.contact-page .sub-hero-media{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  opacity:1 !important;
}
.contact-page .sub-hero-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:translate3d(var(--subhero-xshift,0px),var(--subhero-shift,0px),0) scale(var(--subhero-scale,1.03)) !important;
  filter:saturate(.7) blur(var(--subhero-blur,0px)) !important;
  transform-origin:center center !important;
  will-change:transform,filter !important;
}
.contact-page .contact-section{
  margin-top:0 !important;
  min-height:100svh !important;
  padding-top:clamp(120px,15vh,190px) !important;
  background:var(--black) !important;
  border-top:1px solid rgba(244,243,239,.18) !important;
  clip-path:none !important;
  isolation:isolate !important;
}
.contact-page .contact-section::before{display:none !important}
.contact-page .contact-section > .contact-intro,
.contact-page .contact-section > .contact-form{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}
@media(max-width:820px){
  .contact-page .sub-hero{
    min-height:100svh !important;
    height:100svh !important;
  }
  .contact-page .contact-section{
    margin-top:0 !important;
    min-height:0 !important;
    padding-top:100px !important;
    clip-path:none !important;
  }
}

/* v41 — restore image brightness and make the subpage motion visible.
   The hero photographs should remain close to their source exposure. */
.contact-page .sub-hero-media img {
  opacity: 1 !important;
  filter: saturate(.9) brightness(1) blur(var(--subhero-blur, 0px)) !important;
  transform: translate3d(var(--subhero-xshift, 0px), var(--subhero-yshift, 0px), 0) scale(var(--subhero-scale, 1.06)) !important;
}
.contact-page .sub-hero::after {
  background: linear-gradient(90deg, rgba(18,17,16,.34) 0%, rgba(18,17,16,.12) 48%, rgba(18,17,16,0) 100%) !important;
}


/* Shared privacy preferences UI */
.privacy-notice,
.privacy-settings-panel{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:50;
  max-width:760px;
  padding:22px 24px;
  background:rgba(18,18,18,.96);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  color:#f3f0ea;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font-size:12px;
  line-height:1.55;
}
.privacy-notice{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.privacy-copy{max-width:510px}
.privacy-kicker{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.65;margin-bottom:9px}
.privacy-notice p,.privacy-settings-panel p{margin:0 0 12px;max-width:none}
.privacy-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.privacy-btn{appearance:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;padding:10px 13px;font:inherit;font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.privacy-btn:hover,.privacy-btn:focus-visible{background:rgba(255,255,255,.12);outline:none}
.privacy-btn.primary{background:#f3f0ea;color:#161616;border-color:#f3f0ea}
.privacy-link{position:fixed;right:var(--pad);bottom:28px;z-index:50;font-size:9px;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,243,239,.82);background:transparent;border:0;cursor:pointer;padding:0;font-family:inherit}
.privacy-link:hover,.privacy-link:focus-visible{color:#fff}
.privacy-settings-panel{display:none;max-width:620px}
.privacy-settings-panel.is-open{display:block}
.privacy-heading{font-size:20px;letter-spacing:-.02em;margin:0 0 12px}
.privacy-option{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}
.privacy-option input{margin-top:4px;accent-color:#f3f0ea}
.privacy-option strong{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.privacy-option span{display:block;opacity:.72;font-size:11px}
.privacy-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}
@media(max-width:640px){
  .privacy-notice,.privacy-settings-panel{left:14px;right:14px;bottom:14px;padding:18px}
  .privacy-notice{display:block}
  .privacy-actions{margin-top:14px}
  .privacy-btn{flex:1 1 auto}
  .privacy-link{right:22px;bottom:24px;font-size:7px;letter-spacing:.18em}
}



/* v63 — mobile Artist Relations hero composition
   Keep more of the artwork visible on narrow screens and avoid the
   accumulated desktop-scale/parallax enlargement in this specific hero. */
@media (max-width: 820px){
  .artist-relations-page .sub-hero-media img{
    object-position: 78% 34% !important;
    transform: translate3d(0,0,0) scale(1.01) !important;
  }
}


/* Privacy controls stay behind the open menu. */
.privacy-notice,.privacy-settings-panel,.privacy-link{z-index:50 !important}
.menu-overlay{z-index:60 !important}
.menu-toggle,.menu-close{z-index:61 !important}
body.menu-open .privacy-link{opacity:.18;pointer-events:none}

/* Language switch */
.language-switch{display:flex;align-items:center;gap:5px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.language-switch button{appearance:none;border:0;background:none;color:rgba(244,243,239,.52);font:inherit;font-size:inherit;letter-spacing:inherit;padding:5px 2px;cursor:pointer}
.language-switch button.is-active{color:var(--white)}
.language-switch span{opacity:.28}
.site-header .header-actions{gap:24px}
@media(max-width:820px){.site-header .header-actions{gap:14px}.language-switch{font-size:8px}}
@media(max-width:560px){
  .site-header{padding:14px 18px}
  .brand-lockup{gap:7px;min-width:0;flex:1}
  .brand-mark{width:38px;height:24px;flex:0 0 auto}
  .brand-wordmark{width:clamp(108px,34vw,128px);max-width:100%;max-height:18px;flex:0 1 auto}
  .site-header .header-actions{gap:10px;flex:0 0 auto}
  .language-switch{font-size:7px;gap:3px}
  .language-switch button{padding:4px 1px}
  .menu-toggle{font-size:8px;letter-spacing:.18em;gap:9px}
  .menu-lines{width:24px;height:13px}
  .menu-lines:before,.menu-lines:after{width:24px}
  .menu-lines:before{top:4px}.menu-lines:after{top:9px}
}



/* Contact forms — functional state feedback and spam honeypot */
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-status{margin-top:20px;max-width:560px;font-size:11px;line-height:1.5;letter-spacing:.04em;color:rgba(244,243,239,.82)}
.form-status.is-error{color:rgba(244,243,239,.62)}
.form-submit:disabled{opacity:.45;cursor:wait}

/* WAGENSCHLAG Key number field */
.contact-page .key-number-field[hidden]{display:none!important;}



/* WAGENSCHLAG — SHORT LANDSCAPE SUBPAGES
   Same content-led treatment as the homepage. */
@media (orientation: landscape) and (max-height: 720px){
  html,body{overflow-x:hidden;scroll-snap-type:none}
  .site-header{
    padding:9px 22px !important;
    min-height:0 !important;
    mix-blend-mode:normal !important;
    background:rgba(22,22,22,.94) !important;
    isolation:isolate;
  }
  .site-header::after{
    content:"";position:absolute;left:0;right:0;top:100%;height:86px;
    pointer-events:none;z-index:1;
    background:linear-gradient(to bottom,rgba(22,22,22,.94) 0%,rgba(22,22,22,.62) 42%,rgba(22,22,22,0) 100%);
  }
  .brand-lockup,.site-header .header-actions{position:relative;z-index:2}
  .brand-mark{width:48px !important;height:28px !important;flex:0 0 48px !important}
  .brand-wordmark{width:130px !important;max-width:130px !important;max-height:18px !important;flex:0 0 130px !important}
  .brand-lockup{gap:7px !important}.site-header .header-actions{gap:12px !important}
  .language-switch{font-size:8px !important}.menu-toggle{font-size:8px !important;gap:9px !important}
  .menu-lines{width:24px !important;height:14px !important;flex:0 0 24px !important}
  .menu-lines:before,.menu-lines:after{width:24px !important;height:0 !important;border-top:1px solid currentColor !important;background:none !important}
  .menu-lines:before{top:4px !important}.menu-lines:after{top:10px !important}

  .subpage{min-height:0 !important}
  .subpage .sub-hero{
    position:relative !important;display:block !important;height:auto !important;min-height:100vh !important;
    padding-top:0 !important;overflow:hidden !important;
  }
  .subpage .sub-hero-media{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;z-index:0 !important}
  .subpage .sub-hero-media img{width:100% !important;height:100% !important;object-fit:cover !important}
  .subpage .sub-copy{
    position:relative !important;z-index:3 !important;width:auto !important;height:auto !important;min-height:0 !important;
    margin:0 !important;padding:118px 52px 112px 22px !important;display:block !important;
  }
  .subpage .sub-hero::before{
    content:"";position:absolute;top:0;left:0;right:0;height:86px;z-index:4;pointer-events:none;
    background:linear-gradient(to bottom,rgba(18,17,16,.94) 0%,rgba(18,17,16,.62) 42%,rgba(18,17,16,0) 100%);
  }
  .subpage .sub-footer{
    position:relative !important;left:auto !important;right:auto !important;bottom:auto !important;
    z-index:5 !important;padding:16px 22px 34px !important;font-size:7px !important;
  }
  .privacy-link{right:22px !important;bottom:20px !important;font-size:6px !important;line-height:1 !important;letter-spacing:.16em !important;z-index:50 !important}
  body::before,body::after{display:none !important}
}
