:root{
  --bg:#050505;
  --text:#f3f3f3;
  --muted:#909090;
  --line:#222;
  --panel:#101010;
  --surface:#0b0b0b;
  --surface-soft:rgba(5,5,5,.18);
  --nav-text:#d7d7d7;
  --body-text:#b7b7b7;
  --field-text:#ededed;
  --field-placeholder:#777;
  --field-line:rgba(255,255,255,.18);
  --field-line-focus:rgba(255,255,255,.65);
  --button-line:rgba(255,255,255,.24);
  --footer-text:#858585;
  --focus:#9b8bd4;
  --accent-bg:#171323;
  --accent-line:#7567aa;
  --accent-text:#eeeaff;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:auto}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
a,button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:4px;
}

.topbar{
  position:fixed;
  inset:0 0 auto 0;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 4vw;
  background:linear-gradient(to bottom,rgba(5,5,5,.82),rgba(5,5,5,0));
  backdrop-filter:blur(3px);
}
.logo{font-size:12px;font-weight:650;letter-spacing:.1em}
.topbar nav{display:flex;gap:30px}
.topbar nav a{
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--nav-text);
}
.topbar nav a:hover,.minimal-link:hover,.link-list a:hover,.email:hover{opacity:.55}

.hero{
  min-height:100svh;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:0;
}
.hero-photo{
  position:absolute;
  inset:0;
  min-height:100%;
  background-image:radial-gradient(circle at 70% 30%,#292929,#111 38%,#050505 75%);
  filter:brightness(.58);
}
.hero-copy{
  position:relative;
  z-index:2;
  width:100%;
  padding:calc(14vh + 56px) 4vw 8vh;
}
.kicker,.label{
  margin:0;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero .kicker{
  font-size:clamp(20px,2.15vw,34px);
  line-height:1.1;
  letter-spacing:-.025em;
  text-transform:none;
  color:#f0f0f0;
  font-weight:500;
  margin-bottom:24px;
}
.hero h1{
  margin:18px 0 0;
  font-size:clamp(58px,9.9vw,160px);
  line-height:.84;
  letter-spacing:-.065em;
  font-weight:600;
}
.roles-spacer{
  height:19.5px;
  margin-top:32px;
}
.hero-actions{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:34px;
  margin-top:30px;
}
.hero-links{
  display:flex;
  flex:1 1 auto;
  flex-wrap:wrap;
  gap:9px;
  margin-top:0;
  max-width:none;
}
.hero-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border:1px solid var(--button-line);
  border-radius:999px;
  font-size:13px;
  color:#eee;
  background:rgba(5,5,5,.18);
  backdrop-filter:blur(6px);
  transition:background .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease;
}
.hero-links a:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.5);
}
.hero-links .hero-contact{
  margin-left:8px;
  border-color:#7567aa;
  background:#171323;
  color:#eeeaff;
}
.hero-links .hero-contact:hover{
  transform:translateY(-2px);
  border-color:#7567aa;
  background:#171323;
  color:#eeeaff;
  opacity:1;
}
.minimal-link{display:inline-block;font-size:13px}
.minimal-link span,.email span,.link-list span{margin-left:12px;color:var(--muted)}
.hero-actions .portfolio-cta{
  flex:0 0 auto;
  min-width:72px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 2px;
  white-space:nowrap;
}

section{
  padding:6.32vw 4vw;
  border-top:none;
}
#about,#portfolio,#links,#contact{scroll-margin-top:-9vh}

.about{padding-left:1.8vw}
.about-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:6.5vw;
  margin-top:5vw;
}
h2{
  margin:0;
  font-size:clamp(48px,7vw,108px);
  line-height:.94;
  letter-spacing:-.05em;
  font-weight:500;
}
.about-grid h2{transform:translateX(42px)}
.about-grid p{
  max-width:600px;
  margin:4px 0 0;
  color:var(--body-text);
  font-size:17px;
  line-height:1.8;
  transform:translateX(-89px);
}
.creator-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(82%,980px);
  margin:7vw auto 0;
  gap:clamp(28px,5vw,90px);
  align-items:start;
}
.creator-stat{text-align:center}
.creator-stat strong{
  display:block;
  font-size:clamp(30px,3.1vw,50px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:500;
  color:#f1f1f1;
}
.creator-stat span{
  display:block;
  max-width:180px;
  margin:11px auto 0;
  color:#777;
  font-size:10px;
  line-height:1.45;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.gallery{
  display:grid;
  width:85%;
  max-width:1180px;
  margin:5vw auto 0;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(10px,1.4vw,24px);
  row-gap:clamp(22px,3vw,48px);
  align-items:start;
}
.photo{
  margin:0;
  min-height:0;
  position:relative;
  overflow:hidden;
  background:var(--panel);
}
.photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.portfolio-1{grid-column:1 / span 5;aspect-ratio:3/4}
.portfolio-2{grid-column:7 / span 5;aspect-ratio:3/4;margin-top:7vw}
.portfolio-3{grid-column:2 / span 10;aspect-ratio:16/9;margin-top:1vw}
.portfolio-3 img{object-position:center 35%}
.portfolio-4{grid-column:1 / span 5;aspect-ratio:3/4;margin-top:5vw}
.portfolio-5{grid-column:7 / span 5;aspect-ratio:3/4}
.portfolio-6{grid-column:2 / span 10;aspect-ratio:16/9;margin-top:2vw}
.portfolio-6 img{object-position:center 30%}
.portfolio-7{grid-column:1 / span 5;aspect-ratio:3/4;margin-top:6vw}
.portfolio-8{grid-column:7 / span 5;aspect-ratio:3/4}
.portfolio-9{grid-column:2 / span 10;aspect-ratio:16/9;margin-top:2vw}
.portfolio-9 img{object-position:center 35%}
.portfolio-10{grid-column:1 / span 5;aspect-ratio:3/4}
.portfolio-11{grid-column:7 / span 5;aspect-ratio:3/4;margin-top:7vw}
.portfolio-11 img{object-position:42% center}
.portfolio-12{grid-column:1 / span 5;aspect-ratio:3/4;margin-top:2vw}
.portfolio-13{grid-column:7 / span 5;aspect-ratio:3/4;margin-top:7vw}
.portfolio-14{grid-column:2 / span 10;aspect-ratio:16/9;margin-top:2vw}

.link-list{margin-top:5vw;border-top:1px solid var(--line)}
.link-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  font-size:clamp(24px,3vw,42px);
  letter-spacing:-.035em;
}

.section-next{
  display:flex;
  justify-content:flex-end;
  margin-top:58px;
}
.section-next a{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  letter-spacing:.01em;
  color:#e8e8e8;
  transition:opacity .2s ease;
}
.section-next a:hover{opacity:.55}
.section-next span{color:var(--muted)}

.contact{
  position:relative;
  min-height:82svh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:clamp(50px,8vw,140px);
  align-items:start;
}
.contact-copy{min-width:0}
.contact h2{
  margin:7vw 0;
  font-size:calc(clamp(48px,7vw,108px) * .95);
}
.contact-email-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 14px;
}
.email{
  display:inline-block;
  width:fit-content;
  padding-bottom:10px;
  border-bottom:1px solid #555;
  font-size:clamp(17px,2vw,28px);
}
.copy-email{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 14px;
  border:1px solid var(--button-line);
  border-radius:999px;
  background:transparent;
  color:#aaa;
  font:inherit;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
@media(hover:hover) and (pointer:fine){
  .copy-email:hover{
    background:#ededed;
    border-color:#ededed;
    color:#090909;
  }
}
.copy-email:active{transform:scale(.97)}
.copy-email.is-copied{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.34);
  color:#e8e8e8;
}
.copy-email-icon{
  position:relative;
  width:12px;
  height:12px;
  flex:0 0 12px;
}
.copy-email-icon::before,
.copy-email-icon::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border:1px solid currentColor;
  border-radius:2px;
}
.copy-email-icon::before{
  left:0;
  top:3px;
}
.copy-email-icon::after{
  left:3px;
  top:0;
  background:var(--bg);
}
.sr-only{
  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;
}
#contact .section-next{transform:none}
.section-next-final{
  position:absolute;
  right:4vw;
  bottom:5vw;
  width:auto;
  margin:0;
}

.contact-form{
  position:relative;
  left:-20%;
  width:100%;
  max-width:520px;
  justify-self:end;
  padding-top:clamp(80px,9vw,138px);
  transform:translateY(5%);
}
.form-field{margin-bottom:25px}
.form-field label{
  display:block;
  margin-bottom:9px;
  color:#777;
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.form-field input,.form-field textarea{
  display:block;
  width:100%;
  padding:0 0 12px;
  border:0;
  border-bottom:1px solid var(--field-line);
  border-radius:0;
  outline:0;
  background:transparent;
  color:var(--field-text);
  font-size:15px;
  line-height:1.5;
  resize:none;
  transition:border-color .2s ease;
}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--field-placeholder)}
.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--field-line-focus)}
.form-submit{
  margin-top:4px;
  padding:12px 18px;
  border:1px solid var(--button-line);
  border-radius:999px;
  background:transparent;
  color:#e9e9e9;
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.form-submit:hover{
  background:#ededed;
  border-color:var(--field-text);
  color:#090909;
}
.form-submit span{display:inline-block;margin-left:7px}
.form-status{
  min-height:18px;
  margin:12px 0 0;
  color:#777;
  font-size:10px;
  line-height:1.5;
}

footer{
  display:flex;
  justify-content:space-between;
  padding:22px 4vw;
  border-top:1px solid var(--line);
  color:var(--footer-text);
  font-size:10px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.legal-links{display:flex;gap:22px}
.legal-links a:hover{color:#bbb}

.legal-page{
  max-width:900px;
  margin:0 auto;
  padding:140px 5vw 100px;
}
.legal-page h1{
  font-size:clamp(48px,8vw,96px);
  line-height:.95;
  letter-spacing:-.055em;
  margin:0 0 70px;
}
.legal-page h2{
  font-size:24px;
  letter-spacing:-.025em;
  margin:54px 0 18px;
}
.legal-page p,.legal-page li{
  color:#aaa;
  font-size:15px;
  line-height:1.75;
}
.legal-page a{
  text-decoration:underline;
  text-underline-offset:4px;
}
.back-link{
  display:inline-block;
  margin-bottom:50px;
  color:#aaa;
}

@media(max-width:1100px){
  .hero-links .hero-contact{margin-left:10px}
}

@media(max-width:900px){
  .gallery{
    width:90%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .portfolio-1,.portfolio-2,.portfolio-4,.portfolio-5,.portfolio-7,.portfolio-8,.portfolio-10,.portfolio-11,.portfolio-12,.portfolio-13{
    grid-column:auto;
    aspect-ratio:3/4;
    margin-top:0;
    margin-left:0;
  }
  .portfolio-3,.portfolio-6,.portfolio-9,.portfolio-14{
    grid-column:1/-1;
    aspect-ratio:16/9;
    margin:0;
  }
}

@media(max-width:820px){
  .section-next-final{
    position:static;
    width:100%;
    margin-top:42px;
  }

  .contact-layout{
    grid-template-columns:1fr;
    gap:48px;
  }
  .contact-form{
    position:static;
    left:auto;
    max-width:none;
    justify-self:stretch;
    padding-top:0;
    transform:none;
  }
}

@media(max-width:720px){
  .contact-email-actions{
    align-items:flex-start;
    gap:14px 12px;
  }
  .copy-email{
    min-height:36px;
    padding:0 13px;
  }

  .topbar{
    padding:18px 5vw;
    justify-content:flex-end;
  }
  .topbar .logo{display:none}
  .topbar nav{
    width:100%;
    justify-content:space-between;
    column-gap:16px;
    row-gap:22px;
  }
  .topbar nav a{font-size:12px}
  .hero-copy{padding:calc(13vh + 34px) 5vw 8vh}
  .hero-actions{
    display:block;
    margin-top:26px;
  }
  .hero-links{gap:7px}
  .hero-links a{
    min-height:42px;
    padding:0 16px;
    font-size:12px;
  }
  .hero-links .hero-contact{margin-left:0}
  .hero-actions .portfolio-cta{
    margin-top:28px;
    margin-left:auto;
    width:fit-content;
  }
  section{padding:9.93vw 5vw}
  #about,#portfolio,#links,#contact{scroll-margin-top:-7vh}
  .about{padding-left:3.5vw}
  .about-grid{
    grid-template-columns:1fr;
    gap:11vw;
    margin-top:10vw;
  }
  .about-grid h2,.about-grid p{transform:none}
  .about-grid p{
    font-size:15px;
    line-height:1.72;
  }
  .creator-stats{
    grid-template-columns:1fr;
    width:78%;
    margin:12vw auto 0;
    gap:28px;
  }
  .contact h2{margin:14vw 0}
  footer{
    flex-wrap:wrap;
    gap:14px 24px;
    padding:20px 5vw;
  }
  .legal-links{order:3;width:100%}
}

@media(max-width:430px){
  .gallery{
    width:94%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:10px;
    row-gap:16px;
  }
  .portfolio-1,.portfolio-2,.portfolio-4,.portfolio-5,.portfolio-7,.portfolio-8,.portfolio-10,.portfolio-11,.portfolio-12,.portfolio-13{
    grid-column:auto;
    aspect-ratio:3/4;
    margin:0;
  }
  .portfolio-3,.portfolio-6,.portfolio-9,.portfolio-14{
    grid-column:1/-1;
    aspect-ratio:16/9;
    margin:0;
  }
}

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

/* Combined legal page */
.legal-section{
  scroll-margin-top:90px;
}
.legal-imprint{
  margin-top: 14px;
  padding-top: 10px;
  border-top:1px solid var(--line);
}
@media(max-width:720px){
  .legal-imprint{
    margin-top: 10px;
    padding-top: 7px;
  }
}

.provider-details{
  margin-top:34px;
}

/* Final accessibility and production refinements */
.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:100;
  padding:10px 14px;
  border-radius:999px;
  background:#f3f3f3;
  color:#050505;
  font-size:13px;
  font-weight:600;
  transform:translateY(-180%);
  transition:transform .15s ease;
}
.skip-link:focus{
  transform:translateY(0);
}
.topbar nav a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.email{
  overflow-wrap:anywhere;
}
.form-trap{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
}
.form-submit[disabled]{
  cursor:wait;
  opacity:.6;
}
footer a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
}
@media(max-width:720px){
  .topbar nav a{
    min-height:44px;
    padding:0 2px;
  }
}

/* Contact subject */
.form-field select{
  display:block;
  width:100%;
  padding:0 28px 12px 0;
  border:0;
  border-bottom:1px solid var(--field-line);
  border-radius:0;
  outline:0;
  background-color:transparent;
  color:var(--field-text);
  font-size:15px;
  line-height:1.5;
  appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--muted) 50%),
    linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:
    calc(100% - 12px) 9px,
    calc(100% - 7px) 9px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.form-field select:focus{
  border-bottom-color:var(--field-line-focus);
}
.form-field select option{
  background:var(--surface);
  color:var(--text);
}

/* Portfolio hover / motion */
.photo{
  cursor:zoom-in;
}
.photo img{
  transition:transform .38s cubic-bezier(.16,.84,.28,1),filter .30s ease;
  will-change:transform;
}
.photo::after{
  content:"VIEW";
  position:absolute;
  right:16px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-size:9px;
  font-weight:650;
  letter-spacing:.14em;
  text-shadow:0 1px 10px rgba(0,0,0,.55);
  opacity:0;
  transform:translateY(5px);
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
@media(hover:hover) and (pointer:fine){
  .photo:hover img,
  .photo:focus-visible img{
    transform:scale(1.15);
    filter:brightness(.92);
  }
  .photo:hover::after,
  .photo:focus-visible::after{
    opacity:1;
    transform:translateY(0);
  }
}

/* Fullscreen portfolio lightbox */
body.lightbox-open{
  overflow:hidden;
}
.lightbox[hidden]{
  display:none;
}
.lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:18px;
}
.lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.94);
  backdrop-filter:blur(12px);
}
.lightbox-shell{
  position:relative;
  z-index:1;
  width:min(96vw,1600px);
  height:min(94svh,1100px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  color:#fff;
}
.lightbox-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 2px 12px;
}
.lightbox-counter{
  color:#b8b8b8;
  font-size:11px;
  letter-spacing:.12em;
}
.lightbox-close,
.lightbox-nav{
  border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.25);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.lightbox-close{
  width:42px;
  height:42px;
  border-radius:999px;
  font-size:26px;
  line-height:1;
}
.lightbox-close:hover,
.lightbox-nav:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.55);
}
.lightbox-stage{
  position:relative;
  min-height:0;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 64px;
  align-items:center;
  gap:10px;
}
.lightbox-image{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
.lightbox-nav{
  width:48px;
  height:48px;
  justify-self:center;
  border-radius:999px;
  font-size:18px;
}
.lightbox-caption{
  min-height:20px;
  margin:12px 0 0;
  color:#b8b8b8;
  font-size:11px;
  line-height:1.5;
  text-align:center;
}
@media(max-width:720px){
.topbar-actions nav{
    flex:1;
  }
.lightbox{
    padding:10px;
  }
  .lightbox-shell{
    width:100%;
    height:96svh;
  }
  .lightbox-stage{
    grid-template-columns:1fr;
  }
  .lightbox-nav{
    position:absolute;
    z-index:2;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,.42);
  }
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}
}
@media(prefers-reduced-motion:reduce){
  .photo img,
  .photo::after,
.photo:hover img,
  .photo:focus-visible img{
    transform:none;
  }
}

/* Contact email validation */
.field-hint{
  min-height:16px;
  margin:7px 0 0;
  color:#8e8e8e;
  font-size:10px;
  line-height:1.45;
}
.field-hint.is-error{
  color:#c98989;
}
.field-hint.is-suggestion{
  color:#aaa0cc;
}

/* Portfolio caption hierarchy */
.lightbox-caption{
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
}
.lightbox-character{
  color:#f4f4f4;
  font-weight:600;
}
.lightbox-divider,
.lightbox-source{
  color:#7f7f7f;
  font-weight:400;
}

/* Move only section label text slightly lower; layout stays unchanged */
#about > .label,
#portfolio > .label,
#links > .label,
#contact .contact-copy > .label{
  transform:translateY(20%);
}

.motion-mask{
  display:block;
  overflow:hidden;
  padding-bottom:.04em;
  margin-bottom:-.04em;
}
.motion-line{
  display:block;
}

/* Initial states exist only when JS confirms motion is appropriate. */
.motion-enabled .hero-kicker-motion{
  opacity:0;
  transform:translateY(20px);
}
.motion-enabled .hero-motion-heading .motion-line{
  opacity:0;
  transform:translateY(72%);
}
.motion-enabled .hero-links a,
.motion-enabled .portfolio-cta{
  opacity:0;
  transform:translateY(12px);
}

/* Hero intro */
.motion-enabled.motion-started .hero-kicker-motion{
  animation:heroKickerIn .58s cubic-bezier(.22,.76,.26,1) .10s both;
}
.motion-enabled.motion-started .hero-motion-heading .motion-mask:nth-child(1) .motion-line{
  animation:heroTitleIn .82s cubic-bezier(.16,1,.3,1) .28s both;
}
.motion-enabled.motion-started .hero-motion-heading .motion-mask:nth-child(2) .motion-line{
  animation:heroTitleIn .82s cubic-bezier(.16,1,.3,1) .40s both;
}

.motion-enabled.motion-started .hero-links a{
  animation:heroActionIn .46s cubic-bezier(.22,.76,.26,1) both;
}
.motion-enabled.motion-started .hero-links a:nth-child(1){animation-delay:.86s}
.motion-enabled.motion-started .hero-links a:nth-child(2){animation-delay:.91s}
.motion-enabled.motion-started .hero-links a:nth-child(3){animation-delay:.96s}
.motion-enabled.motion-started .hero-links a:nth-child(4){animation-delay:1.01s}
.motion-enabled.motion-started .hero-links a:nth-child(5){animation-delay:1.06s}
.motion-enabled.motion-started .hero-links a:nth-child(6){animation-delay:1.11s}
.motion-enabled.motion-started .hero-links a:nth-child(7){animation-delay:1.16s}
.motion-enabled.motion-started .hero-links a:nth-child(8){animation-delay:1.21s}
.motion-enabled.motion-started .hero-links a:nth-child(9){animation-delay:1.26s}
.motion-enabled.motion-started .portfolio-cta{
  animation:heroActionIn .5s cubic-bezier(.22,.76,.26,1) 1.18s both;
}

/* Section title reveals */
.motion-enabled [data-motion-heading] .motion-line{
  opacity:0;
  transform:translateY(58%);
  transition:
    transform .89s cubic-bezier(.16,1,.3,1),
    opacity .60s ease;
}
.motion-enabled [data-motion-heading].is-visible .motion-mask:nth-child(1) .motion-line{
  transition-delay:0s;
}
.motion-enabled [data-motion-heading].is-visible .motion-mask:nth-child(2) .motion-line{
  transition-delay:.11s;
}
.motion-enabled [data-motion-heading].is-visible .motion-mask:nth-child(3) .motion-line{
  transition-delay:.22s;
}
.motion-enabled [data-motion-heading].is-visible .motion-line{
  opacity:1;
  transform:translateY(0);
}

/* The contact reveal is intentionally a touch slower. */
.motion-enabled .contact-motion-heading .motion-line{
  transition-duration:.98s,.66s;
}

/* Counters get a tiny settling motion; the number animation itself is JS-driven. */
.motion-enabled .creator-stat{
  opacity:.72;
  transform:translateY(8px);
  transition:
    opacity .48s ease,
    transform .58s cubic-bezier(.22,.76,.26,1);
}
.motion-enabled .creator-stats.is-counting .creator-stat{
  opacity:1;
  transform:translateY(0);
}
.motion-enabled .creator-stats.is-counting .creator-stat:nth-child(2){transition-delay:.08s}
.motion-enabled .creator-stats.is-counting .creator-stat:nth-child(3){transition-delay:.16s}

@keyframes heroKickerIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroTitleIn{
  from{opacity:0;transform:translateY(72%)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroActionIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

@media(prefers-reduced-motion:reduce){
  .hero-kicker-motion,
  .hero-motion-heading .motion-line,
  .hero-links a,
  .portfolio-cta,
  [data-motion-heading] .motion-line,
  .creator-stat{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }
}

/* Fast thumbnail → lightbox zoom */
.lightbox-zoom-clone{
  position:fixed;
  z-index:260;
  margin:0;
  object-fit:cover;
  pointer-events:none;
  box-shadow:0 24px 80px rgba(0,0,0,.34);
  will-change:left,top,width,height,opacity;
}
.lightbox.is-zoom-opening .lightbox-backdrop{
  animation:lightboxBackdropIn .24s ease both;
}
.lightbox.is-zoom-opening .lightbox-shell{
  animation:lightboxShellIn .28s cubic-bezier(.16,1,.3,1) both;
}
@keyframes lightboxBackdropIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes lightboxShellIn{
  from{opacity:.18;transform:scale(.985)}
  to{opacity:1;transform:scale(1)}
}

/* Fallback MPA transition for browsers without cross-document view transitions */
.page-fallback-curtain{
  position:fixed;
  inset:0;
  z-index:500;
  background:#050505;
  pointer-events:none;
  opacity:1;
}
html:not(.page-leaving) .page-fallback-curtain{
  visibility:hidden;
}

/* Cross-page transition — Editorial horizontal sweep */
@view-transition { navigation:none; }

::view-transition-old(root){animation:none}
::view-transition-new(root){animation:none}
@keyframes page-sweep-out{
  to{opacity:0;transform:translateX(-6vw)}
}
@keyframes page-sweep-in{
  from{opacity:0;transform:translateX(7vw)}
  to{opacity:1;transform:none}
}

.page-fallback-curtain{
  transform:translateX(100%);
}
html.page-leaving .page-fallback-curtain{
  animation:fallback-sweep .34s cubic-bezier(.65,0,.35,1) forwards;
}
@keyframes fallback-sweep{
  to{transform:translateX(0)}
}

/* Sweep hero + section variant */
.motion-enabled .hero-kicker-motion{transform:translateX(-28px)}
.motion-enabled .hero-motion-heading .motion-mask:nth-child(1) .motion-line{
  transform:translateX(-12%);
}
.motion-enabled .hero-motion-heading .motion-mask:nth-child(2) .motion-line{
  transform:translateX(12%);
}
.motion-enabled.motion-started .hero-kicker-motion{
  animation:sweepKickerIn .54s cubic-bezier(.16,1,.3,1) .08s both;
}
.motion-enabled.motion-started .hero-motion-heading .motion-mask:nth-child(1) .motion-line{
  animation:sweepTitleLeft .76s cubic-bezier(.16,1,.3,1) .24s both;
}
.motion-enabled.motion-started .hero-motion-heading .motion-mask:nth-child(2) .motion-line{
  animation:sweepTitleRight .76s cubic-bezier(.16,1,.3,1) .34s both;
}
.motion-enabled [data-motion-heading] .motion-line{
  transform:translateX(-42px);
}
.motion-enabled .contact-motion-heading .motion-line{
  transform:translateX(42px);
}
@keyframes sweepKickerIn{
  from{opacity:0;transform:translateX(-28px)}
  to{opacity:1;transform:none}
}
@keyframes sweepTitleLeft{
  from{opacity:0;transform:translateX(-12%)}
  to{opacity:1;transform:none}
}
@keyframes sweepTitleRight{
  from{opacity:0;transform:translateX(12%)}
  to{opacity:1;transform:none}
}

#contact .contact-copy > .label{
  transform:translateY(54%);
}

.section-next-final{
  bottom:calc(2.5vw - 1cm);
}

footer{
  margin-top:calc(3.16vw + 2cm);
}

@media(max-width:820px){
  .section-next-final{
    margin-top:calc(63px + 1cm);
  }
}

@media(max-width:720px){
  footer{
    margin-top:calc(4.97vw + 2cm);
  }
}

/* One-step lightbox zoom */
.lightbox-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.lightbox-zoom{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(0,0,0,.25);
  color:#fff;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  backdrop-filter:blur(8px);
  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease;
}
.lightbox-zoom:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.55);
}
.lightbox-stage{
  overflow:hidden;
}
.lightbox-image{
  cursor:zoom-in;
  transform:scale(1);
  transform-origin:center center;
  transition:transform .24s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.lightbox.is-zoomed .lightbox-image{
  cursor:zoom-out;
  transform:scale(1.5);
}
.lightbox.is-zoomed .lightbox-nav{
  opacity:.82;
}

@media(prefers-reduced-motion:reduce){
  .lightbox-image{
    transition:none !important;
  }
}

/* Portfolio likes */
.photo-open{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in;
}
.photo-open:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:-4px;
}
.photo-like{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:4;
  min-width:72px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  background:rgba(0,0,0,.36);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:10px;
  font-weight:650;
  letter-spacing:.05em;
  backdrop-filter:blur(10px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.photo-like:hover,
.photo-like:focus-visible{
  background:rgba(0,0,0,.58);
  border-color:rgba(255,255,255,.58);
}
.photo-like:active{
  transform:scale(.96);
}
.photo-like-heart{
  font-size:16px;
  line-height:1;
}
.photo-like[aria-pressed="true"] .photo-like-heart{
  transform:scale(1.06);
}

.lightbox-like{
  min-width:84px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(0,0,0,.25);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:10px;
  font-weight:650;
  letter-spacing:.05em;
  backdrop-filter:blur(8px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.lightbox-like:hover,
.lightbox-like:focus-visible{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.55);
}
.lightbox-like:active{
  transform:scale(.96);
}
.lightbox-like-heart{
  font-size:17px;
  line-height:1;
}

@media(max-width:720px){
  .photo-like{
    left:10px;
    bottom:10px;
  }
  .lightbox-like{
    min-width:76px;
    padding:0 10px;
  }
}

/* Like buttons without public counters */
.photo-like{
  min-width:36px;
  width:36px;
  padding:0;
}
.lightbox-like{
  min-width:42px;
  width:42px;
  padding:0;
}

#support{
  scroll-margin-top:-9vh;
}
#support > .label{
  transform:translateY(20%);
}

.topbar nav .nav-support{
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(150,136,205,.52);
  border-radius:999px;
  color:#eeeaff;
  background:rgba(23,19,35,.62);
  transition:
    background .2s ease,
    border-color .2s ease,
    opacity .2s ease,
    transform .2s ease;
}
.topbar nav .nav-support:hover{
  opacity:1;
  transform:translateY(-1px);
  border-color:rgba(166,151,226,.82);
  background:rgba(38,31,57,.78);
}

.hero-links .hero-support{
  border-color:rgba(150,136,205,.58);
  background:rgba(23,19,35,.48);
  color:#eeeaff;
}
.hero-links .hero-support:hover{
  transform:translateY(-2px);
  border-color:rgba(166,151,226,.82);
  background:rgba(38,31,57,.72);
  opacity:1;
}

.support{
  position:relative;
}
.support-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);
  gap:clamp(50px,8vw,140px);
  align-items:start;
  margin-top:5vw;
}
.support h2{
  font-size:clamp(48px,7vw,108px);
}
.support-content{
  max-width:560px;
  padding-top:clamp(18px,2.2vw,36px);
}
.support-content > p{
  margin:0;
  color:var(--body-text);
  font-size:17px;
  line-height:1.8;
}
.support-actions{
  display:grid;
  gap:12px;
  margin-top:42px;
}
.support-actions a{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 24px;
  border:1px solid var(--button-line);
  border-radius:18px;
  background:rgba(255,255,255,.018);
  color:#f0f0f0;
  font-size:clamp(18px,2vw,27px);
  font-weight:500;
  letter-spacing:-.02em;
  transition:
    background .24s ease,
    border-color .24s ease,
    transform .24s cubic-bezier(.16,.84,.28,1);
}
.support-actions a span:last-child{
  color:var(--muted);
  font-size:18px;
}
.support-actions a:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.42);
}
.support-actions a:first-child{
  border-color:rgba(150,136,205,.40);
}
.support-actions a:first-child:hover{
  border-color:rgba(166,151,226,.72);
  background:rgba(38,31,57,.48);
}

@media(max-width:900px){
  .topbar nav{
    gap:22px;
  }
}

@media(max-width:820px){
  .support-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .support-content{
    max-width:650px;
    padding-top:0;
  }
}

@media(max-width:720px){
  #support{
    scroll-margin-top:-7vh;
  }
  .topbar nav .nav-links-item{
    display:none;
  }
  .topbar nav{
    column-gap:12px;
    row-gap:18px;
  }
  .topbar nav .nav-support{
    min-height:38px;
    padding:0 10px;
  }
  .support-grid{
    margin-top:10vw;
    gap:34px;
  }
  .support-content > p{
    font-size:15px;
    line-height:1.72;
  }
  .support-actions{
    margin-top:30px;
  }
  .support-actions a{
    min-height:66px;
    padding:0 18px;
    border-radius:16px;
  }
}

@media(prefers-reduced-motion:reduce){
  .topbar nav .nav-support,
  .hero-links .hero-support,
  .support-actions a{
    transform:none !important;
  }
}

.hero-links a{
  min-height:49.22px;
  padding-left:21.4px;
  padding-right:21.4px;
  font-size:13.91px;
}

/* Keep staggered hero entrance coherent after restoring Patreon + Ko-fi. */
.motion-enabled.motion-started .hero-links a:nth-child(10){animation-delay:1.31s}

@media(max-width:720px){
  .hero-links a{
    min-height:44.94px;
    padding-left:17.12px;
    padding-right:17.12px;
    font-size:12.84px;
  }
}

/* Mobile portfolio interaction reliability */
.photo,
.photo-open,
.photo-like,
.lightbox button,
.lightbox-image{
  -webkit-tap-highlight-color:transparent;
}
.photo-open,
.photo-like,
.lightbox button{
  touch-action:manipulation;
  -webkit-appearance:none;
  appearance:none;
}
/* Booking modal */
.topbar nav .nav-bookings{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--nav-text);
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.topbar nav .nav-bookings:hover{opacity:.55}

body.booking-open{
  position:fixed;
  width:100%;
  overflow:hidden;
}

.booking-modal{
  position:fixed;
  inset:0;
  z-index:320;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.booking-modal.is-open{
  opacity:1;
  pointer-events:auto;
}
.booking-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.56);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transform:translateZ(0);
  will-change:backdrop-filter,opacity;
}
.booking-dialog{
  position:relative;
  z-index:1;
  width:min(760px,calc(100vw - 48px));
  max-height:calc(100svh - 48px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:clamp(28px,4.2vw,48px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  background:rgba(12,12,14,.90);
  box-shadow:0 32px 110px rgba(0,0,0,.58);
  opacity:0;
  transform:translateY(18px) scale(.985);
  transition:
    opacity .22s ease,
    transform .22s cubic-bezier(.16,1,.3,1);
  scrollbar-width:thin;
  scrollbar-color:#444 transparent;
}
.booking-modal.is-open .booking-dialog{
  opacity:1;
  transform:translateY(0) scale(1);
}
.booking-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#eee;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.booking-close::before,
.booking-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:15px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
}
.booking-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.booking-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.booking-close:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.32);
  transform:rotate(3deg);
}
.booking-intro{
  max-width:610px;
  padding-right:54px;
  margin-bottom:34px;
}
.booking-eyebrow{
  margin:0 0 12px;
  color:#9187b5;
  font-size:10px;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.booking-intro h2{
  margin:0;
  font-size:clamp(34px,4.4vw,54px);
  line-height:.96;
  letter-spacing:-.045em;
  font-weight:560;
}
.booking-intro > p:last-child{
  max-width:590px;
  margin:18px 0 0;
  color:#999;
  font-size:13px;
  line-height:1.65;
}
.booking-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
}
.booking-form .form-field{margin-bottom:0}
.booking-field-full{grid-column:1/-1}
.booking-form .form-field input,
.booking-form .form-field textarea,
.booking-form .form-field select{
  font-size:14px;
}
.booking-form .form-field input[type="date"]{
  min-height:35px;
  color-scheme:dark;
}
.booking-form-footer{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:46px;
}
.booking-form-footer .form-submit{
  flex:0 0 auto;
  margin:0;
}
.booking-form-footer .form-status{
  min-height:0;
  margin:0;
}
.booking-general{
  margin:0;
  color:#6f6f6f;
  font-size:10px;
  line-height:1.55;
}
.booking-general a{
  color:#aaa0cc;
  text-decoration:underline;
  text-underline-offset:3px;
}
.booking-general a:hover{color:#d2caee}

.booking-success{
  padding:36px 0 10px;
  text-align:center;
}
.booking-success[hidden]{display:none}
.booking-success-mark{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin:0 auto 24px;
  border:1px solid rgba(156,142,207,.46);
  border-radius:999px;
  background:rgba(117,103,170,.12);
  color:#d8cff8;
  font-size:20px;
}
.booking-success h3{
  margin:0;
  font-size:clamp(30px,4vw,46px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:560;
}
.booking-success > p:not(.booking-success-mark){
  margin:16px 0 28px;
  color:#999;
  font-size:13px;
}
.booking-success-close{
  min-height:42px;
  padding:0 20px;
  border:1px solid var(--button-line);
  border-radius:999px;
  background:transparent;
  color:#eee;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.booking-success-close:hover{
  background:#ededed;
  border-color:#ededed;
  color:#090909;
}

@media(max-width:900px){
  .topbar nav .nav-bookings{font-size:14px}
}

@media(max-width:720px){
  .topbar nav .nav-bookings{
    min-height:44px;
    padding:0 2px;
    font-size:12px;
  }
  .booking-modal{
    place-items:center;
    padding:12px;
  }
  .booking-dialog{
    width:calc(100vw - 24px);
    max-height:calc(100svh - 24px);
    padding:28px 20px 24px;
    border-radius:24px;
  }
  .booking-close{
    top:12px;
    right:12px;
    width:40px;
    height:40px;
  }
  .booking-intro{
    padding-right:42px;
    margin-bottom:28px;
  }
  .booking-intro h2{font-size:36px}
  .booking-form{
    grid-template-columns:1fr;
    gap:20px;
  }
  .booking-field-full{grid-column:1}
  .booking-form-footer{
    display:block;
  }
  .booking-form-footer .form-status{
    margin-top:10px;
  }
}

@media(max-width:430px){
  .topbar nav{
    gap:5px;
  }
  .topbar nav a,
  .topbar nav .nav-bookings{
    font-size:11px;
  }
  .topbar nav .nav-support{
    padding-left:7px;
    padding-right:7px;
  }
}

@media(prefers-reduced-motion:reduce){
  .booking-modal,
  .booking-dialog,
  .booking-close{
    transition:none !important;
    transform:none !important;
  }
}
/* Lightbox controls — geometrically centered */
.lightbox-close,
.lightbox-zoom{
  position:relative;
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
}

.lightbox-close::before,
.lightbox-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:15px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
}
.lightbox-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.lightbox-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

.lightbox-zoom::before,
.lightbox-zoom::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
}
.lightbox-zoom::before{
  width:15px;
  height:1.5px;
}
.lightbox-zoom::after{
  width:1.5px;
  height:15px;
  transition:opacity .16s ease,transform .16s ease;
}
.lightbox-zoom[aria-pressed="true"]::after{
  opacity:0;
  transform:translate(-50%,-50%) scaleY(0);
}
@media(hover:none){
  .copy-email:hover{
    background:transparent;
    border-color:var(--button-line);
    color:#aaa;
  }
  .copy-email.is-copied,
  .copy-email.is-copied:hover{
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.34);
    color:#e8e8e8;
  }
}
/* Content expansion — Explore / Projects / Process / Events / Press */
.explore{position:relative;padding:6.32vw 4vw}
.explore-heading{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);gap:clamp(48px,8vw,140px);align-items:end;margin-top:5vw}
.explore-heading h2{margin:0;font-size:clamp(48px,7vw,108px);line-height:.92;letter-spacing:-.055em;font-weight:560}
.explore-heading>p{max-width:560px;margin:0 0 8px;color:var(--body-text);font-size:17px;line-height:1.8}
.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:5.4vw}
.explore-card{position:relative;min-height:430px;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:#0b0b0b;isolation:isolate}
.explore-card-wide{grid-column:1/-1;min-height:520px}
.explore-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.86);transition:transform .65s cubic-bezier(.16,.84,.28,1),filter .4s ease}
.explore-card:hover img{transform:scale(1.045);filter:brightness(.72) saturate(.94)}
.explore-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 22%,rgba(0,0,0,.78) 100%)}
.explore-card-copy{position:absolute;left:26px;right:74px;bottom:26px;z-index:2;display:grid;gap:7px}
.explore-card-kicker{color:#b5aecb;font-size:10px;font-weight:650;letter-spacing:.11em;text-transform:uppercase}
.explore-card-copy strong{font-size:clamp(28px,3vw,46px);line-height:1;letter-spacing:-.045em;font-weight:560}
.explore-card-copy>span:last-child{max-width:520px;color:#c1c1c1;font-size:12px;line-height:1.55}
.explore-card-arrow{position:absolute;right:26px;bottom:27px;z-index:2;color:#d9d9d9;font-size:18px}

.content-page{min-height:100vh;background:#050505}
.subpage-topbar{background:linear-gradient(to bottom,rgba(5,5,5,.95),rgba(5,5,5,.70) 68%,rgba(5,5,5,0))}
.subpage-topbar nav{align-items:center}
.subpage-topbar nav a.is-active{color:#fff}
.subpage-topbar nav .subpage-bookings{padding:7px 13px;border:1px solid rgba(117,103,170,.72);border-radius:999px;background:rgba(23,19,35,.72);color:#eeeaff}
.content-main{width:100%}
.content-hero{min-height:72svh;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(140px,16vh,210px) 4vw 7vw;border-bottom:1px solid var(--line)}
.content-hero h1,.project-detail-hero h1{max-width:1180px;margin:18px 0 0;font-size:clamp(58px,9vw,142px);line-height:.86;letter-spacing:-.064em;font-weight:590}
.content-lede{max-width:680px;margin:36px 0 0 auto;color:var(--body-text);font-size:clamp(16px,1.55vw,22px);line-height:1.7}
.project-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:4vw}
.project-card{min-width:0}
.project-card-image{position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:16px;background:#0b0b0b}
.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.16,.84,.28,1),filter .3s ease}
.project-card:hover .project-card-image img{transform:scale(1.04);filter:brightness(.83)}
.project-card-meta{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:start;padding:12px 2px 24px;border-bottom:1px solid #181818}
.project-card-meta>span{color:#777;font-size:10px;padding-top:5px}
.project-card-meta div{display:grid;gap:2px}
.project-card-meta strong{font-size:14px;font-weight:560}
.project-card-meta small{color:#888;font-size:10px}
.content-cta{margin:5vw 4vw 8vw;padding:clamp(42px,6vw,88px);border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(140deg,rgba(117,103,170,.10),rgba(255,255,255,.015))}
.content-cta.compact{margin-top:7vw}
.content-cta h2{max-width:900px;margin:18px 0 34px;font-size:clamp(36px,5.8vw,86px);line-height:.98;letter-spacing:-.05em;font-weight:560}
.content-button{min-height:48px;width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:0 20px;border:1px solid rgba(117,103,170,.72);border-radius:999px;background:#171323;color:#eeeaff;font-size:12px;font-weight:600;font-family:inherit;line-height:1;cursor:pointer;text-decoration:none;appearance:none;-webkit-appearance:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.content-button:hover{transform:translateY(-2px);border-color:#9686cc;background:#201a30}
.subpage-footer{margin-top:0}
.subpage-footer .legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px}

.project-detail-hero{padding:clamp(140px,16vh,210px) 4vw 4vw}
.content-back{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-bottom:34px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#aaa;
  font-size:12px;
  line-height:1;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.content-back:hover{color:#fff;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.24);transform:translateY(-1px)}
.project-source{margin:18px 0 0;color:#9a9a9a;font-size:clamp(18px,2.4vw,34px);letter-spacing:-.02em}
.project-detail-image{width:92%;max-width:1180px;margin:4vw auto 0;overflow:hidden;border-radius:28px;background:#0b0b0b}
.project-detail-image img{display:block;width:100%;height:auto;max-height:88svh;object-fit:contain}
.project-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,1fr);gap:clamp(50px,9vw,150px);padding:8vw 4vw 6vw}
.project-story h2{max-width:650px;margin:22px 0 0;font-size:clamp(40px,5.6vw,82px);line-height:.98;letter-spacing:-.05em;font-weight:560}
.project-story-copy{max-width:650px;color:var(--body-text);font-size:16px;line-height:1.8}
.project-story-copy p{margin:0 0 22px}
.project-facts{margin:42px 0 0;border-top:1px solid #202020}
.project-facts div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #202020}
.project-facts dt{color:#747474;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.project-facts dd{margin:0;color:#ddd;font-size:12px}
.project-pager{display:grid;grid-template-columns:1fr 1fr;margin:0 4vw;border-top:1px solid #202020;border-bottom:1px solid #202020}
.project-pager a{display:grid;gap:5px;padding:28px 0}
.project-pager a:last-child{text-align:right}
.project-pager span{color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.project-pager strong{font-size:18px;font-weight:540}

.process-grid{display:grid;gap:9vw;padding:7vw 4vw}
.process-block{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.78fr);gap:clamp(40px,7vw,120px);align-items:center}
.process-block.reverse .process-image{order:2}.process-block.reverse .process-copy{order:1}
.process-image{overflow:hidden;min-height:580px;border-radius:26px;background:#0b0b0b}
.process-image img{display:block;width:100%;height:100%;min-height:580px;object-fit:cover}
.process-copy>span{color:#7567aa;font-size:11px;letter-spacing:.1em}
.process-copy h2{margin:15px 0 24px;font-size:clamp(40px,5.5vw,82px);line-height:.97;letter-spacing:-.05em;font-weight:560}
.process-copy p{max-width:560px;margin:0;color:var(--body-text);font-size:16px;line-height:1.8}
.content-note{margin:0 4vw 7vw;padding:26px 0;border-top:1px solid #1f1f1f;border-bottom:1px solid #1f1f1f}
.content-note p{max-width:760px;margin:0;color:#7f7f7f;font-size:12px;line-height:1.7}

.event-section{padding:7vw 4vw}
.event-section-heading{display:grid;grid-template-columns:.65fr 1fr;gap:7vw;align-items:end;margin-bottom:4vw}
.event-section-heading h2{margin:0;font-size:clamp(48px,7vw,104px);line-height:.94;letter-spacing:-.055em;font-weight:560}
.event-list{border-top:1px solid #222}
.event-card{display:grid;grid-template-columns:160px minmax(220px,.8fr) minmax(280px,1fr);gap:30px;align-items:start;padding:34px 0;border-bottom:1px solid #222}
.event-status{color:#8f83ba;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.event-card h3{margin:0;font-size:clamp(24px,3vw,42px);font-weight:560;letter-spacing:-.035em}
.event-card div p{margin:4px 0 0;color:#777;font-size:12px}
.event-card>p{max-width:560px;margin:4px 0 0;color:var(--body-text);font-size:14px;line-height:1.7}
.source-note{margin:20px 0 0;color:#686868;font-size:10px}
.source-note a{color:#9d95b9;text-decoration:underline;text-underline-offset:3px}
.upcoming-panel{margin:0 4vw 8vw;padding:clamp(42px,6vw,86px);border:1px solid rgba(117,103,170,.28);border-radius:28px;background:#0b0a0f}
.upcoming-panel h2{max-width:980px;margin:18px 0 24px;font-size:clamp(36px,5.5vw,82px);line-height:.98;letter-spacing:-.05em;font-weight:560}
.upcoming-panel>p:not(.label){max-width:650px;margin:0 0 30px;color:var(--body-text);line-height:1.75}

.press-list{padding:7vw 4vw}
.press-feature{padding:clamp(34px,5vw,72px) 0;border-top:1px solid #242424;border-bottom:1px solid #242424}
.press-feature-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:#7f7f7f;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.press-feature h2{max-width:1150px;margin:34px 0 30px;font-size:clamp(40px,6.4vw,96px);line-height:.96;letter-spacing:-.052em;font-weight:560}
.press-feature>p{max-width:720px;margin:0 0 32px;color:var(--body-text);font-size:16px;line-height:1.8}
.press-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:8px;border-bottom:1px solid #454545;font-size:13px}
.press-link:hover{opacity:.6}.press-note{margin-top:0}

@media(max-width:1320px){.project-index{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.project-index{grid-template-columns:repeat(3,minmax(0,1fr))}.subpage-topbar nav{gap:18px}.subpage-topbar nav a{font-size:13px}}
@media(max-width:820px) and (min-width:721px){.project-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
.explore-heading,.project-story,.process-block,.event-section-heading{grid-template-columns:1fr}
.explore-heading{gap:34px}.explore-heading>p{margin-left:auto}
.process-block.reverse .process-image,.process-block.reverse .process-copy{order:initial}
.process-image,.process-image img{min-height:500px}
.event-card{grid-template-columns:120px 1fr}.event-card>p{grid-column:2}
.subpage-topbar nav a:nth-child(2),.subpage-topbar nav a:nth-child(3){display:none}
}
@media(max-width:720px){
.explore{padding:9.93vw 4vw}.explore-heading{margin-top:10vw}.explore-heading>p{font-size:15px;line-height:1.72}
.explore-grid{grid-template-columns:1fr;gap:12px;margin-top:10vw}.explore-card,.explore-card-wide{grid-column:1;min-height:430px;border-radius:20px}
.explore-card-copy{left:20px;right:54px;bottom:20px}.explore-card-arrow{right:20px;bottom:20px}
.content-hero{min-height:66svh;padding:130px 4vw 12vw}.content-hero h1,.project-detail-hero h1{font-size:clamp(50px,16vw,76px)}
.content-lede{margin:28px 0 0;font-size:15px;line-height:1.7}.subpage-topbar{padding:18px 4vw}.subpage-topbar nav{gap:10px}.subpage-topbar nav a{font-size:11px}
.subpage-topbar nav a:nth-child(2),.subpage-topbar nav a:nth-child(3),.subpage-topbar nav a:nth-child(4){display:none}.subpage-topbar nav .subpage-bookings{display:inline-flex;padding:6px 10px}
.project-index{grid-template-columns:1fr;padding:6vw 4vw}.project-card-image{border-radius:18px}
.content-cta,.upcoming-panel{margin:10vw 4vw 14vw;padding:30px 22px;border-radius:22px}.content-cta h2,.upcoming-panel h2{font-size:clamp(34px,10vw,52px)}
.project-detail-hero{padding:130px 4vw 8vw}.content-back{margin-bottom:34px}.project-detail-image{width:92%;margin-top:8vw;border-radius:20px}
.project-story{padding:14vw 4vw 10vw;gap:38px}.project-story-copy{font-size:15px}.project-facts div{grid-template-columns:100px 1fr}
.project-pager{margin:0 4vw}.project-pager strong{font-size:14px}
.process-grid{gap:16vw;padding:12vw 4vw}.process-image,.process-image img{min-height:460px}.process-image{border-radius:20px}.process-copy p{font-size:15px}
.event-section{padding:12vw 4vw}.event-list{margin-top:10vw}.event-card{grid-template-columns:1fr;gap:14px;padding:26px 0}.event-card>p{grid-column:1}
.press-list{padding:12vw 4vw}.press-feature h2{margin-top:26px;font-size:clamp(36px,10vw,56px)}.press-feature>p{font-size:15px}.subpage-footer .legal-links{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.explore-card img,.project-card-image img,.content-button{transition:none!important}}
/* Explore refinement — compact abstract editorial cards */
.compact-explore-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:4.2vw}
.compact-explore-grid .explore-card{grid-column:auto;min-height:260px;border-radius:20px;background:radial-gradient(circle at 78% 18%,rgba(117,103,170,.12),transparent 34%),linear-gradient(145deg,#0e0e10,#080809)}
.compact-explore-grid .explore-card:hover{border-color:rgba(255,255,255,.22)}
.compact-explore-grid .explore-card-copy{left:18px;right:42px;bottom:18px;gap:5px}
.compact-explore-grid .explore-card-copy strong{font-size:clamp(23px,2vw,31px)}
.compact-explore-grid .explore-card-copy>span:last-child{font-size:10px;line-height:1.45}
.compact-explore-grid .explore-card-arrow{right:17px;bottom:18px;font-size:15px}
.explore-art{position:absolute;inset:0;overflow:hidden;opacity:.9}
.explore-projects .explore-art::before{content:"";position:absolute;width:118px;height:118px;top:26px;right:28px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.art-ring{position:absolute;top:50px;right:52px;border:1px solid rgba(155,139,212,.34);border-radius:50%}
.art-ring-one{width:72px;height:72px}.art-ring-two{width:34px;height:34px;top:69px;right:71px;border-color:rgba(255,255,255,.45)}
.art-dot{position:absolute;width:5px;height:5px;top:84px;right:85px;border-radius:50%;background:#d8cff8;box-shadow:0 0 24px rgba(155,139,212,.7)}
.explore-process .explore-art{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 72%)}
.art-cut{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(155,139,212,.5),transparent);transform-origin:center}
.art-cut-one{width:180px;top:58px;right:-20px;transform:rotate(-24deg)}.art-cut-two{width:140px;top:102px;right:18px;transform:rotate(34deg)}
.art-orbit{position:absolute;width:118px;height:118px;top:24px;right:24px;border:1px solid rgba(155,139,212,.30);border-radius:50%;transform:rotate(-18deg) scaleY(.52)}
.art-orbit::before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.art-orbit-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#b9acd8}.art-orbit-dot-one{top:44px;right:55px}.art-orbit-dot-two{top:92px;right:120px;width:4px;height:4px;opacity:.65}.art-orbit-dot-three{top:72px;right:28px;width:3px;height:3px;opacity:.45}
.art-column{position:absolute;top:28px;width:1px;height:102px;background:linear-gradient(to bottom,rgba(255,255,255,.52),rgba(255,255,255,.02))}
.art-column-one{right:34px}.art-column-two{right:58px;height:78px}.art-column-three{right:82px;height:116px;background:linear-gradient(to bottom,rgba(155,139,212,.72),rgba(155,139,212,.02))}.art-column-four{right:106px;height:54px}
.explore-press .explore-art::after{content:"";position:absolute;top:46px;right:18px;width:112px;height:1px;background:rgba(255,255,255,.08)}
@media(max-width:1100px){.compact-explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .compact-explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9vw}
  .compact-explore-grid .explore-card{min-height:220px;border-radius:17px}
  .compact-explore-grid .explore-card-copy{left:15px;right:34px;bottom:15px}
  .compact-explore-grid .explore-card-copy strong{font-size:22px}
  .compact-explore-grid .explore-card-copy>span:last-child{display:none}
  .compact-explore-grid .explore-card-arrow{right:14px;bottom:15px}
  .compact-explore-grid .explore-card-kicker{font-size:8px;letter-spacing:.08em}
  .topbar nav .nav-explore{display:inline-flex}
}
@media(max-width:420px){
  .compact-explore-grid .explore-card{min-height:190px}
  .compact-explore-grid .explore-card-copy strong{font-size:19px}
}
/* Archive-ready content structure */
.project-media[hidden]{display:none!important}
.process-disciplines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:5vw 4vw 2vw}
.process-disciplines article{min-height:230px;padding:26px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:radial-gradient(circle at 82% 18%,rgba(117,103,170,.10),transparent 30%),#0a0a0b}
.process-disciplines article>span{color:#7567aa;font-size:10px;letter-spacing:.1em}
.process-disciplines h2{margin:54px 0 14px;font-size:clamp(26px,3vw,42px);line-height:1;letter-spacing:-.04em;font-weight:560}
.process-disciplines p{max-width:420px;margin:0;color:#939393;font-size:12px;line-height:1.65}
.story-archive,.event-media-archive{padding:6vw 4vw 8vw}
.archive-heading{display:grid;grid-template-columns:.48fr 1fr 1fr;gap:clamp(30px,6vw,100px);align-items:end;margin-bottom:4vw}
.archive-heading h2{margin:0;font-size:clamp(42px,6vw,88px);line-height:.96;letter-spacing:-.052em;font-weight:560}
.archive-heading>p:last-child{max-width:580px;margin:0;color:var(--body-text);font-size:14px;line-height:1.75}
.archive-placeholder{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;border:1px dashed rgba(255,255,255,.15);border-radius:24px;background:linear-gradient(135deg,rgba(117,103,170,.05),transparent 45%),rgba(255,255,255,.012);text-align:center}
.archive-symbol{width:46px;height:46px;display:grid;place-items:center;margin-bottom:20px;border:1px solid rgba(155,139,212,.32);border-radius:50%;color:#bdb2dc;font-size:20px}
.archive-placeholder strong{font-size:17px;font-weight:560}.archive-placeholder p{max-width:480px;margin:8px 0 0;color:#767676;font-size:11px;line-height:1.6}
.event-archive-index{padding:5vw 4vw 7vw;border-top:1px solid #1d1d1d}
.event-archive-card{display:grid;grid-template-columns:64px minmax(0,1fr) 150px 24px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid #202020;transition:opacity .2s ease}
.event-archive-card:first-child{border-top:1px solid #202020}.event-archive-card:hover{opacity:.62}
.event-archive-num{color:#6f6f6f;font-size:10px}
.event-archive-card h3{margin:0;font-size:clamp(24px,3vw,42px);line-height:1;letter-spacing:-.04em;font-weight:560}
.event-archive-card p{margin:5px 0 0;color:#777;font-size:11px}
.event-archive-state{color:#8d83ad;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.event-source-strip{display:flex;justify-content:space-between;gap:30px;margin:0 4vw 5vw;padding:18px 0;border-top:1px solid #202020;border-bottom:1px solid #202020;color:#727272;font-size:10px}
.event-source-strip p{margin:0}.event-source-strip a{flex:0 0 auto;color:#9c91bd}
.event-detail-hero,.press-detail-hero{min-height:62svh;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(140px,16vh,210px) 4vw 6vw;border-bottom:1px solid var(--line)}
.event-detail-hero h1,.press-detail-hero h1{max-width:1180px;margin:20px 0 0;font-size:clamp(54px,8vw,124px);line-height:.88;letter-spacing:-.06em;font-weight:580}
.event-detail-meta{margin:18px 0 0;color:#8a8a8a;font-size:clamp(16px,2vw,28px)}
.press-index{padding:6vw 4vw 8vw}
.press-index-card{position:relative;display:grid;grid-template-columns:64px 1fr;gap:0 26px;padding:42px 0;border-top:1px solid #242424;border-bottom:1px solid #242424}
.press-index-number{grid-row:1/5;color:#7567aa;font-size:11px}.press-index-meta{display:flex;flex-wrap:wrap;gap:16px 28px;color:#777;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.press-index-card h2{max-width:1080px;margin:28px 70px 24px 0;font-size:clamp(36px,5vw,76px);line-height:.98;letter-spacing:-.048em;font-weight:560}
.press-index-card p{margin:0;color:#878787;font-size:12px}.press-index-arrow{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:#aaa;font-size:18px}
.press-package{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr);gap:14px;padding:6vw 4vw 8vw}
.press-package-primary,.press-package-secondary article{border:1px solid rgba(255,255,255,.10);border-radius:24px;background:#0a0a0b}
.press-package-primary{position:relative;padding:clamp(32px,5vw,70px)}.press-package-number{position:absolute;right:26px;top:24px;color:#7567aa;font-size:11px}
.press-package-primary h2{max-width:900px;margin:28px 0;font-size:clamp(34px,5vw,72px);line-height:.98;letter-spacing:-.048em;font-weight:560}
.press-package-primary>p:not(.label){max-width:650px;margin:0 0 30px;color:var(--body-text);font-size:14px;line-height:1.75}
.press-package-secondary{display:grid;gap:14px}.press-package-secondary article{min-height:230px;padding:26px}.press-package-secondary article>span{color:#7567aa;font-size:10px}
.press-package-secondary h3{margin:50px 0 12px;font-size:24px;line-height:1;letter-spacing:-.035em;font-weight:560}.press-package-secondary p{margin:0;color:#808080;font-size:11px;line-height:1.6}
@media(max-width:900px){.process-disciplines{grid-template-columns:1fr}.archive-heading{grid-template-columns:1fr;gap:24px}.press-package{grid-template-columns:1fr}}
@media(max-width:720px){
.process-disciplines{padding:10vw 4vw 2vw}.process-disciplines article{min-height:190px;padding:22px}.process-disciplines h2{margin-top:38px}
.story-archive,.event-media-archive{padding:12vw 4vw 14vw}.archive-heading{margin-bottom:9vw}.archive-heading>p:last-child{font-size:13px}.archive-placeholder{min-height:220px;border-radius:20px}
.event-archive-index{padding:10vw 4vw 14vw}.event-archive-card{grid-template-columns:36px 1fr 18px;gap:12px;padding:23px 0}.event-archive-state{grid-column:2;grid-row:2}.event-archive-card>span:last-child{grid-column:3;grid-row:1/3}
.event-source-strip{display:grid;margin-bottom:10vw}.event-detail-hero,.press-detail-hero{min-height:58svh;padding:130px 4vw 10vw}.event-detail-hero h1,.press-detail-hero h1{font-size:clamp(48px,14vw,70px)}
.press-index{padding:12vw 4vw 14vw}.press-index-card{grid-template-columns:34px 1fr;gap:0 12px;padding:28px 0}.press-index-card h2{margin-right:28px;font-size:clamp(32px,9vw,48px)}
.press-package{padding:12vw 4vw 14vw}.press-package-primary{padding:28px 22px}.press-package-secondary article{min-height:200px;padding:22px}
}
/* HNA press formats */
.press-format-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:6vw 4vw 3vw;
}
.press-format-card{
  min-height:360px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:
    radial-gradient(circle at 85% 12%,rgba(117,103,170,.10),transparent 30%),
    #0a0a0b;
}
.press-format-card>span:first-child{color:#7567aa;font-size:10px;letter-spacing:.1em}
.press-format-card>.label{margin-top:40px}
.press-format-card h2{
  margin:14px 0 18px;
  font-size:clamp(27px,2.7vw,42px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:560;
}
.press-format-card>p:not(.label){
  max-width:500px;
  margin:0 0 24px;
  color:#929292;
  font-size:12px;
  line-height:1.68;
}
.press-format-card>p strong{color:#c7c7c7;font-weight:520}
.press-format-card .press-link{margin-top:auto}
.press-social-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 18px;
  margin-top:auto;
}
.press-secondary-link{
  color:#777;
  font-size:10px;
  text-decoration:underline;
  text-underline-offset:4px;
}
.press-secondary-link:hover{color:#b9b9b9}

/* Separate HNA print-edition gallery */
.print-edition-hero{
  min-height:64svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(140px,16vh,210px) 4vw 6vw;
  border-bottom:1px solid var(--line);
}
.print-edition-hero h1{
  max-width:1180px;
  margin:20px 0 0;
  font-size:clamp(58px,8.8vw,138px);
  line-height:.86;
  letter-spacing:-.064em;
  font-weight:590;
}
.print-edition-hero .content-lede strong{
  color:#d3d3d3;
  font-weight:520;
}
.print-gallery-section{
  padding:3vw 0 5vw;
}
.print-gallery{
  margin-top:3vw;
}
.press-print-photo{
  border-radius:0;
}
.press-print-photo img{
  object-position:center;
}
.print-1{grid-column:1 / span 5;aspect-ratio:1600/1132}
.print-2{grid-column:7 / span 5;aspect-ratio:1600/1132;margin-top:5vw}
.print-3{grid-column:2 / span 9;aspect-ratio:1600/1132;margin-top:1vw}
.print-4{grid-column:1 / span 5;aspect-ratio:3/4;margin-top:4vw}
.print-5{grid-column:7 / span 5;aspect-ratio:3/4}
.print-6{grid-column:3 / span 7;aspect-ratio:1/1;margin-top:2vw}

/* The existing portfolio hover is intentionally reused:
   .photo:hover img => scale(1.15), same motion and VIEW label. */
.press-print-photo .photo-like{
  touch-action:manipulation;
}
.print-edition-page .lightbox-caption{
  color:#b8b8b8;
}
.print-edition-page .lightbox-like[aria-pressed="true"] .lightbox-like-heart,
.print-edition-page .photo-like[aria-pressed="true"] .photo-like-heart{
  color:#fff;
}

@media(max-width:900px){
  .press-format-grid{grid-template-columns:1fr}
  .press-format-card{min-height:260px}
  .print-gallery{
    width:92%;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .print-1,.print-2,.print-4,.print-5{
    grid-column:auto;
    margin:0;
  }
  .print-2,.print-5{margin-top:7vw}
  .print-3,.print-6{
    grid-column:1/-1;
    margin:0;
  }
}
@media(max-width:580px){
  .press-format-grid{padding:12vw 4vw 5vw}
  .press-format-card{min-height:240px;padding:22px;border-radius:20px}
  .press-format-card>.label{margin-top:30px}
  .print-edition-hero{
    min-height:58svh;
    padding:130px 4vw 10vw;
  }
  .print-edition-hero h1{
    font-size:clamp(50px,15vw,76px);
  }
  .print-gallery-section{padding:8vw 0 10vw}
  .print-gallery{
    width:92%;
    grid-template-columns:1fr;
    row-gap:18px;
  }
  .print-1,.print-2,.print-3,.print-4,.print-5,.print-6{
    grid-column:1;
    margin:0;
  }
}
/* Persistent main navigation on all content pages */

@media(max-width:1050px){
  .persistent-main-nav nav{
    gap:22px;
  }
  .persistent-main-nav nav a{
    font-size:14px;
  }
}

/* Cancel the old content-page menu rules that hid Behind/Events/Press items.
   These pages now intentionally use the same navigation as the homepage. */
@media(max-width:900px){
  .persistent-main-nav nav a:nth-child(2),
  .persistent-main-nav nav a:nth-child(3),
  .persistent-main-nav nav a:nth-child(4){
    display:inline-flex;
  }
}

@media(max-width:720px){
  .persistent-main-nav{
    padding:18px 5vw;
    justify-content:flex-end;
  }
  .persistent-main-nav .logo{
    display:none;
  }
  .persistent-main-nav nav{
    width:100%;
    justify-content:space-between;
    gap:10px;
  }
  .persistent-main-nav nav a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    padding:0 2px;
    font-size:12px;
  }
  .persistent-main-nav nav .nav-links-item{
    display:none;
  }
  .persistent-main-nav nav .nav-explore{
    display:inline-flex;
  }
}

/* Behind the Work — compact randomized editorial mosaic */
.story-stream{min-height:0}
.behind-gallery{
  display:grid;
  width:min(96%, 1640px);
  max-width:1640px;
  grid-template-columns:repeat(30,minmax(0,1fr));
  grid-auto-flow:dense;
  column-gap:20px;
  row-gap:26px;
  margin-top:4vw;
  align-items:start;
}
.behind-photo{
  position:relative;
  display:block;
  width:100%;
  grid-column:span 3;
  aspect-ratio:9/16 !important;
  margin-top:max(0px,var(--bw-offset,0px));
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:#090909;
  box-shadow:0 22px 54px rgba(0,0,0,.3);
  transform:none;
  transform-origin:center;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.behind-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.behind-photo:hover{
  z-index:3;
  transform:translateY(-8px) scale(1.015);
  box-shadow:0 30px 72px rgba(0,0,0,.38);
  border-color:rgba(255,255,255,.18);
}
/* Same hover enlargement as Portfolio: the shared .photo:hover img rule stays at 1.15. */
.behind-photo .photo-like{
  top:14px;
  right:14px;
  touch-action:manipulation;
}

@media(max-width:1180px){
  .behind-gallery{
    width:94%;
    grid-template-columns:repeat(21,minmax(0,1fr));
    column-gap:16px;
    row-gap:22px;
  }
}
@media(max-width:760px){
  .behind-gallery{
    width:96%;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:12px;
    row-gap:18px;
  }
  .behind-photo{
    grid-column:span 6;
    border-radius:14px;
    margin-top:max(0px,calc(var(--bw-offset,0px) * .35));
    transform:none;
  }
}
#behind-lightbox .lightbox-caption{color:#b8b8b8}
#behind-lightbox .lightbox-like[aria-pressed="true"] .lightbox-like-heart,
.behind-photo .photo-like[aria-pressed="true"] .photo-like-heart{color:#fff}



/* Event archives — equal-size scattered Story galleries */
.event-story-gallery{
  margin-top:4vw;
  padding-bottom:4vw;
}
.event-story-gallery .event-story-photo{
  grid-column:var(--event-col) / span 3;
  grid-row:var(--event-row,auto);
  aspect-ratio:9/16 !important;
}
.event-story-gallery .event-story-photo .photo-like{
  top:14px;
  right:14px;
  left:auto;
  bottom:auto;
}
.event-story-gallery .event-story-photo:hover{
  z-index:5;
}
@media(max-width:1180px){
  .event-story-gallery .event-story-photo{
    grid-column:auto / span 3;
    grid-row:auto;
  }
}
@media(max-width:760px){
  .event-story-gallery .event-story-photo{
    grid-column:auto / span 6;
    grid-row:auto;
  }
}


/* Kassel 2025 — compact five-photo archive with guaranteed gaps */
.event-story-gallery-compact{
  width:min(90%,1180px);
  grid-template-columns:repeat(15,minmax(0,1fr));
  column-gap:16px;
  row-gap:20px;
}
.event-story-gallery-compact .event-story-photo{
  grid-column:var(--event-col) / span 3;
  grid-row:auto;
}
@media(max-width:1180px) and (min-width:761px){
  .event-story-gallery-compact{
    width:94%;
    grid-template-columns:repeat(15,minmax(0,1fr));
    column-gap:14px;
    row-gap:18px;
  }
}
@media(max-width:760px){
  .event-story-gallery-compact{
    width:96%;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:12px;
    row-gap:18px;
  }
  .event-story-gallery-compact .event-story-photo{
    grid-column:auto / span 6;
  }
}

.legal-page .content-back{
  text-decoration:none;
  margin-bottom:50px;
}
.content-back-menu{
  margin-bottom:40px;
}

/* Explore media galleries — readable equal-size editorial mosaic hotfix */
.behind-gallery{
  width:min(94%,1500px);
  max-width:1500px;
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:clamp(14px,1.35vw,22px);
  row-gap:clamp(20px,2vw,32px);
  margin-left:auto;
  margin-right:auto;
}
.behind-photo,
.event-story-gallery .event-story-photo,
.event-story-gallery-compact .event-story-photo{
  grid-column:auto !important;
  grid-row:auto !important;
  min-width:0;
  width:100%;
}
.event-story-gallery-compact{
  width:min(92%,1280px);
  max-width:1280px;
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:clamp(14px,1.3vw,20px);
  row-gap:clamp(20px,2vw,30px);
}
@media(max-width:1180px){
  .behind-gallery,
  .event-story-gallery-compact{
    width:94%;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .behind-gallery,
  .event-story-gallery-compact{
    width:94%;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .behind-gallery,
  .event-story-gallery-compact{
    width:96%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:12px;
    row-gap:18px;
  }
  .behind-photo,
  .event-story-gallery .event-story-photo,
  .event-story-gallery-compact .event-story-photo{
    grid-column:auto !important;
    margin-top:max(0px,calc(var(--bw-offset,0px) * .35));
  }
}
@media(max-width:430px){
  .behind-gallery,
  .event-story-gallery-compact{
    width:94%;
    grid-template-columns:1fr;
  }
  .behind-photo,
  .event-story-gallery .event-story-photo,
  .event-story-gallery-compact .event-story-photo{
    margin-top:0;
  }
}

/* Portfolio — repeating editorial rhythm: two portraits, one wide frame. */


.project-card-leon .project-card-image img{object-position:50% 38%}

/* Explore heading — exact parity with the standard one-shot Sweep section reveal */
.motion-enabled .explore-motion-heading .motion-line{
  opacity:0;
  transform:translateX(-42px);
  transition:
    transform .89s cubic-bezier(.16,1,.3,1),
    opacity .60s ease;
}
.motion-enabled .explore-motion-heading.is-visible .motion-mask:nth-child(1) .motion-line{
  transition-delay:0s;
}
.motion-enabled .explore-motion-heading.is-visible .motion-mask:nth-child(2) .motion-line{
  transition-delay:.11s;
}
.motion-enabled .explore-motion-heading.is-visible .motion-line{
  opacity:1;
  transform:translateX(0);
}


/* TRIAL Explore B — Precision scanner / technical editorial */
.compact-explore-grid{
  gap:12px;
  margin-top:4vw;
}
.compact-explore-grid .explore-card{
  min-height:258px;
  border-radius:18px;
  border-color:rgba(255,255,255,.10);
  background:#09090a;
  transition:border-color .3s ease,transform .38s cubic-bezier(.16,1,.3,1);
}
.compact-explore-grid .explore-card::before{
  position:absolute;
  top:16px;
  left:18px;
  z-index:3;
  color:#696969;
  font-size:9px;
  letter-spacing:.12em;
  line-height:1;
}
.compact-explore-grid .explore-projects::before{content:"01"}
.compact-explore-grid .explore-process::before{content:"02"}
.compact-explore-grid .explore-events::before{content:"03"}
.compact-explore-grid .explore-press::before{content:"04"}
.compact-explore-grid .explore-card::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(108deg,transparent 18%,rgba(255,255,255,.028) 47%,rgba(166,150,218,.055) 52%,transparent 80%);
  transform:translateX(-115%);
  transition:transform 1s cubic-bezier(.16,1,.3,1);
}
.compact-explore-grid .explore-card-copy{
  left:18px;
  right:44px;
  bottom:18px;
  gap:5px;
}
.compact-explore-grid .explore-card-copy strong{
  font-size:clamp(23px,2vw,31px);
  transition:letter-spacing .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);
}
.compact-explore-grid .explore-card-kicker{
  transition:color .35s ease,transform .45s cubic-bezier(.16,1,.3,1);
}
.compact-explore-grid .explore-card-arrow{
  right:17px;
  bottom:19px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  font-size:13px;
  transition:transform .42s cubic-bezier(.16,1,.3,1),border-color .3s ease,background .3s ease;
}
.compact-explore-grid .explore-art{
  opacity:.62;
  transform:scale(.96);
  transition:opacity .35s ease,transform .72s cubic-bezier(.16,1,.3,1);
}
.explore-projects .art-ring-one,
.explore-projects .art-ring-two{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.explore-events .art-orbit{transition:transform .85s cubic-bezier(.16,1,.3,1)}
.explore-press .art-column{transform-origin:50% 100%;transition:transform .7s cubic-bezier(.16,1,.3,1)}

@media(hover:hover){
  .compact-explore-grid .explore-card:hover{
    transform:translateY(-2px);
    border-color:rgba(146,130,198,.38);
  }
  .compact-explore-grid .explore-card:hover::after{
    transform:translateX(115%);
  }
  .compact-explore-grid .explore-card:hover .explore-card-copy strong{
    transform:translateX(5px);
    letter-spacing:-.025em;
  }
  .compact-explore-grid .explore-card:hover .explore-card-kicker{
    color:#d2c9ef;
    transform:translateX(3px);
  }
  .compact-explore-grid .explore-card:hover .explore-card-arrow{
    transform:rotate(45deg);
    border-color:rgba(165,150,216,.42);
    background:rgba(117,103,170,.11);
  }
  .compact-explore-grid .explore-card:hover .explore-art{
    opacity:1;
    transform:scale(1.03);
  }
  .explore-projects:hover .art-ring-one{transform:rotate(70deg)}
  .explore-projects:hover .art-ring-two{transform:rotate(-55deg)}
  .explore-events:hover .art-orbit{transform:rotate(42deg) scaleY(.52)}
  .explore-press:hover .art-column-one{transform:scaleY(1.35)}
  .explore-press:hover .art-column-two{transform:scaleY(.72)}
  .explore-press:hover .art-column-three{transform:scaleY(1.2)}
  .explore-press:hover .art-column-four{transform:scaleY(.86)}
}
/* TRIAL Explore — Scanner + Aurora hover glow */
.compact-explore-grid .explore-card{
  --explore-glow-opacity:0;
  background:
    radial-gradient(circle at 82% 14%,rgba(142,125,199,calc(.17 * var(--explore-glow-opacity))) 0%,rgba(142,125,199,calc(.065 * var(--explore-glow-opacity))) 28%,transparent 58%),
    #09090a;
  box-shadow:
    0 18px 45px rgba(0,0,0,.10),
    0 0 0 rgba(142,125,199,0);
  transition:
    border-color .3s ease,
    transform .38s cubic-bezier(.16,1,.3,1),
    box-shadow .48s ease,
    background .48s ease;
}
@media(hover:hover){
  .compact-explore-grid .explore-card:hover{
    --explore-glow-opacity:1;
    transform:translateY(-4px) scale(1.004);
    border-color:rgba(175,158,224,.34);
    box-shadow:
      0 30px 74px rgba(0,0,0,.28),
      0 0 46px rgba(142,125,199,.12),
      inset 0 1px 0 rgba(255,255,255,.035);
  }
  .compact-explore-grid .explore-card:hover .explore-art{
    opacity:1;
    filter:brightness(1.14);
  }
  .compact-explore-grid .explore-card:hover .explore-card-copy strong{
    color:#f3efff;
  }
}

/* Persistent subpage return control — always visible below the main navigation */
body.content-page .content-back{
  position:fixed;
  top:78px;
  left:4vw;
  z-index:19;
  margin:0;
  min-height:36px;
  background:rgba(8,8,10,.76);
  border-color:rgba(255,255,255,.15);
  box-shadow:0 10px 34px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(14px) saturate(118%);
  backdrop-filter:blur(14px) saturate(118%);
}
body.content-page .content-back:hover{
  background:rgba(18,16,25,.88);
  border-color:rgba(156,142,207,.42);
  box-shadow:0 13px 38px rgba(0,0,0,.34);
}
body.content-page .content-back + .label{
  margin-top:70px;
}
@media(max-width:720px){
  body.content-page .content-back{
    top:84px;
    left:5vw;
    min-height:34px;
    padding:8px 12px;
    font-size:11px;
  }
  body.content-page .content-back + .label{
    margin-top:66px;
  }
}


/* Project detail gallery — expandable photo archive */
.project-media{width:92%;max-width:1180px;margin:clamp(24px,3.2vw,46px) auto 0}
.project-media-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 4px;margin-bottom:16px}
.project-media-head>p:last-child{margin:0;color:var(--muted);font-size:13px;letter-spacing:.01em}
.project-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.project-media-item{margin:0;min-width:0;overflow:hidden;border-radius:24px;background:var(--surface);border:1px solid rgba(255,255,255,.08)}
.project-media-item img{display:block;width:100%;height:auto;object-fit:contain;background:var(--surface)}
@media(max-width:720px){
  .project-media{width:92%;margin-top:24px}
  .project-media-head{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:12px}
  .project-media-grid{grid-template-columns:1fr;gap:14px}
  .project-media-item{border-radius:20px}
}


/* Project detail — three photos in one continuous row */
.project-photo-strip{
  width:92%;
  max-width:1540px;
  margin:clamp(28px,4vw,64px) auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.5vw,22px);
  align-items:start;
}
.project-photo-strip>.project-detail-image,
.project-photo-strip>.project-media-item{
  width:100%;
  max-width:none;
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:24px;
  background:var(--surface);
  border:1px solid rgba(255,255,255,.08);
}
.project-photo-strip>.project-detail-image img,
.project-photo-strip>.project-media-item img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:var(--surface);
}
@media(max-width:720px){
  .project-photo-strip{
    width:100%;
    max-width:none;
    margin-top:28px;
    padding:0 4vw 8px;
    display:flex;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .project-photo-strip::-webkit-scrollbar{display:none}
  .project-photo-strip>.project-detail-image,
  .project-photo-strip>.project-media-item{
    flex:0 0 82vw;
    border-radius:20px;
    scroll-snap-align:start;
  }
}


/* Global media protection — visual/loading behavior intentionally untouched */
img{
  -webkit-user-drag:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}


/* Explore card art — themed minimal icons */
.explore-projects .explore-art::before,
.explore-process .explore-art::before,
.explore-events .explore-art::before,
.explore-press .explore-art::before{content:"";position:absolute;top:24px;right:24px;width:120px;height:120px;border-radius:24px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));opacity:.7}

/* Projects — stacked editorial frames */
.art-stack{position:absolute;top:34px;right:36px;width:58px;height:82px;border-radius:14px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.01));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.art-stack::before{content:"";position:absolute;left:11px;right:11px;bottom:12px;height:1px;background:rgba(255,255,255,.22);box-shadow:0 -10px 0 rgba(155,139,212,.28),0 -20px 0 rgba(255,255,255,.14)}
.art-stack-back{transform:translate(-28px,18px) rotate(-13deg);opacity:.45}
.art-stack-mid{transform:translate(-10px,8px) rotate(-4deg);opacity:.68}
.art-stack-front{border-color:rgba(155,139,212,.34);background:linear-gradient(180deg,rgba(117,103,170,.12),rgba(255,255,255,.015));box-shadow:0 0 28px rgba(117,103,170,.08), inset 0 0 0 1px rgba(255,255,255,.02)}

/* Behind the Work — cutting mat + tools */
.explore-process .explore-art{background-image:none;mask-image:none}
.art-mat{position:absolute;top:30px;right:36px;width:94px;height:94px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(117,103,170,.08),rgba(255,255,255,.02));background-size:20px 20px,20px 20px,100% 100%}
.art-tool{position:absolute;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(155,139,212,.72),rgba(255,255,255,.08));transform-origin:50% 50%}
.art-tool-one{width:78px;top:60px;right:18px;transform:rotate(-34deg)}
.art-tool-two{width:54px;top:89px;right:63px;transform:rotate(24deg);background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.5),rgba(255,255,255,.08))}
.art-pin{position:absolute;top:48px;right:44px;width:8px;height:8px;border-radius:50%;background:#d8cff8;box-shadow:0 0 24px rgba(155,139,212,.55)}

/* Events — lanyard / event pass */
.art-badge-ring{position:absolute;top:34px;right:72px;width:30px;height:22px;border:1px solid rgba(155,139,212,.28);border-bottom:none;border-radius:18px 18px 0 0;opacity:.85}
.art-badge{position:absolute;top:52px;right:48px;width:64px;height:86px;border-radius:18px;border:1px solid rgba(155,139,212,.28);background:linear-gradient(180deg,rgba(117,103,170,.10),rgba(255,255,255,.025))}
.art-badge-slot{position:absolute;top:64px;right:70px;width:20px;height:6px;border-radius:999px;background:rgba(255,255,255,.13)}
.art-badge-line{position:absolute;right:62px;height:2px;border-radius:999px;background:rgba(255,255,255,.22)}
.art-badge-line-one{top:88px;width:36px}
.art-badge-line-two{top:102px;width:26px;background:rgba(155,139,212,.32)}

/* Press — editorial page */
.art-sheet{position:absolute;top:32px;right:40px;width:74px;height:94px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01))}
.art-sheet-thumb{position:absolute;top:46px;right:54px;width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,rgba(155,139,212,.35),rgba(255,255,255,.18))}
.art-sheet-line{position:absolute;right:52px;height:1px;background:rgba(255,255,255,.22);transform-origin:0 50%}
.art-sheet-line-one{top:48px;width:18px;right:80px}
.art-sheet-line-two{top:76px;width:42px}
.art-sheet-line-three{top:88px;width:34px;background:rgba(155,139,212,.26)}
.explore-press .explore-art::after{content:"";position:absolute;top:102px;right:52px;width:30px;height:1px;background:rgba(255,255,255,.16)}

.compact-explore-grid .explore-art{opacity:.66;transform:scale(.96);transition:opacity .35s ease,transform .72s cubic-bezier(.16,1,.3,1)}
.explore-projects .art-stack,
.explore-process .art-tool,
.explore-events .art-badge,
.explore-events .art-badge-ring,
.explore-press .art-sheet,
.explore-press .art-sheet-line{transition:transform .78s cubic-bezier(.16,1,.3,1),opacity .35s ease}

@media(hover:hover){
  .explore-projects:hover .art-stack-back{transform:translate(-34px,20px) rotate(-18deg)}
  .explore-projects:hover .art-stack-mid{transform:translate(-10px,4px) rotate(-5deg)}
  .explore-projects:hover .art-stack-front{transform:translate(6px,-6px) rotate(6deg)}
  .explore-process:hover .art-tool-one{transform:rotate(-22deg) translateX(4px)}
  .explore-process:hover .art-tool-two{transform:rotate(11deg) translateX(-3px)}
  .explore-events:hover .art-badge{transform:translateY(-4px) rotate(4deg)}
  .explore-events:hover .art-badge-ring{transform:translateY(-2px) scaleX(1.08)}
  .explore-press:hover .art-sheet{transform:translateY(-3px) rotate(-3deg)}
  .explore-press:hover .art-sheet-line-one{transform:scaleX(1.16)}
  .explore-press:hover .art-sheet-line-two{transform:scaleX(1.08)}
  .explore-press:hover .art-sheet-line-three{transform:scaleX(.92)}
}

@media(max-width:720px){
  .explore-projects .explore-art::before,
  .explore-process .explore-art::before,
  .explore-events .explore-art::before,
  .explore-press .explore-art::before{top:18px;right:18px;width:92px;height:92px;border-radius:18px}
  .art-stack{top:26px;right:28px;width:42px;height:60px;border-radius:11px}
  .art-stack::before{left:8px;right:8px;bottom:9px;box-shadow:0 -8px 0 rgba(155,139,212,.28),0 -16px 0 rgba(255,255,255,.14)}
  .art-stack-back{transform:translate(-20px,12px) rotate(-13deg)}
  .art-stack-mid{transform:translate(-7px,5px) rotate(-4deg)}
  .art-mat{top:24px;right:28px;width:72px;height:72px;border-radius:14px;background-size:16px 16px,16px 16px,100% 100%}
  .art-tool-one{width:58px;top:46px;right:14px}
  .art-tool-two{width:38px;top:68px;right:48px}
  .art-pin{top:38px;right:36px;width:6px;height:6px}
  .art-badge-ring{top:27px;right:54px;width:22px;height:16px}
  .art-badge{top:41px;right:36px;width:48px;height:64px;border-radius:14px}
  .art-badge-slot{top:50px;right:52px;width:14px;height:5px}
  .art-badge-line-one{top:67px;right:47px;width:26px}
  .art-badge-line-two{top:79px;right:47px;width:18px}
  .art-sheet{top:24px;right:30px;width:54px;height:70px;border-radius:11px}
  .art-sheet-thumb{top:35px;right:40px;width:14px;height:14px;border-radius:4px}
  .art-sheet-line-one{top:36px;width:14px;right:58px}
  .art-sheet-line-two{top:56px;width:30px;right:41px}
  .art-sheet-line-three{top:66px;width:24px;right:41px}
  .explore-press .explore-art::after{top:76px;right:41px;width:22px}
}


/* Non-zoom gallery cursor correction */
.no-lightbox-zoom .photo,
.no-lightbox-zoom .photo-open{cursor:pointer;}
.no-lightbox-zoom .lightbox-image,
.no-lightbox-zoom .lightbox.is-zoomed .lightbox-image{cursor:default!important;transform:scale(1)!important;}


/* 2026-08-21 — booking priority + commercial availability */
.topbar nav .nav-support{
  min-height:44px;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--nav-text);
  background:transparent;
  transform:none;
  transition:opacity .2s ease;
}
.topbar nav .nav-support:hover{
  opacity:.55;
  transform:none;
  border-color:transparent;
  background:transparent;
}
.topbar nav .nav-bookings{
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(150,136,205,.52);
  border-radius:999px;
  color:#eeeaff;
  background:rgba(23,19,35,.62);
  transition:background .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease;
}
.topbar nav .nav-bookings:hover{
  opacity:1;
  transform:translateY(-1px);
  border-color:rgba(166,151,226,.82);
  background:rgba(38,31,57,.78);
}
.commercial-availability{
  position:relative;
  width:min(86%,1040px);
  margin:clamp(42px,5vw,76px) auto 0;
  padding:clamp(18px,2vw,26px) 0 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(20px,2.4vw,30px);
  text-align:center;
}
.commercial-availability::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:48%;
  width:min(86vw,820px);
  height:180%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(101,82,162,.10) 0%,rgba(101,82,162,.035) 42%,transparent 72%);
  pointer-events:none;
}
.commercial-availability p{
  margin:0;
  max-width:900px;
  color:#dedce5;
  font-size:clamp(22px,2.35vw,36px);
  line-height:1.22;
  letter-spacing:-.025em;
  font-weight:450;
  text-wrap:balance;
}
.booking-inquiry-cta{
  flex:0 0 auto;
  min-height:52px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid rgba(166,151,226,.70);
  border-radius:999px;
  background:rgba(38,31,57,.72);
  box-shadow:0 10px 34px rgba(0,0,0,.20),inset 0 0 24px rgba(147,128,211,.045);
  color:#f3efff;
  font:inherit;
  font-size:clamp(13px,1.1vw,15px);
  font-weight:650;
  letter-spacing:.025em;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.booking-inquiry-cta span{
  font-size:1.18em;
  transition:transform .2s ease;
}
.booking-inquiry-cta:hover{
  transform:translateY(-2px);
  border-color:rgba(190,174,244,.95);
  background:rgba(49,40,73,.88);
  box-shadow:0 14px 38px rgba(0,0,0,.27),0 0 30px rgba(126,103,194,.09);
}
.booking-inquiry-cta:hover span{transform:translateX(3px)}
@media(max-width:720px){
  .topbar nav .nav-bookings{
    min-height:38px;
    padding:0 9px;
    font-size:12px;
  }
  .topbar nav .nav-support{
    min-height:44px;
    padding:0 2px;
  }
  .commercial-availability{
    width:min(90%,680px);
    margin-top:38px;
    padding-top:10px;
    gap:20px;
  }
  .commercial-availability p{
    max-width:560px;
    font-size:clamp(21px,6.2vw,28px);
    line-height:1.2;
  }
  .booking-inquiry-cta{
    min-height:50px;
    padding:0 21px;
    font-size:13px;
  }
}
@media(max-width:430px){
  .topbar nav .nav-bookings{padding:0 7px}
  .topbar nav .nav-support{padding:0 2px}
}
@media(prefers-reduced-motion:reduce){
  .topbar nav .nav-bookings,
  .booking-inquiry-cta{transform:none !important}
}

/* About copy split: identity + positioning */
.about-copy{
  display:grid;
  gap:clamp(1rem,1.5vw,1.5rem);
}
.about-copy p{
  margin:0;
}
.about-copy-pitch{
  font-size:clamp(1.05rem,1.25vw,1.22rem);
  line-height:1.65;
  color:var(--text);
  max-width:58rem;
}
@media (max-width:760px){
  .about-copy{gap:1rem;}
  .about-copy-pitch{font-size:1.03rem;line-height:1.62;}
}



/* 2026-08-21 — exact navigation geometry parity between homepage and internal pages */
.topbar nav{align-items:center;}

.persistent-main-nav nav{
  gap:30px;
  align-items:center;
}
.persistent-main-nav nav a{
  min-height:initial;
  padding:0;
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
}
.topbar nav .nav-bookings,
.persistent-main-nav nav .nav-bookings{
  box-sizing:border-box;
  width:92px;
  min-width:92px;
  height:38px;
  min-height:38px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 92px;
  line-height:1;
  white-space:nowrap;
}

@media(max-width:900px){
  .persistent-main-nav nav{gap:22px;}
  .persistent-main-nav nav a{font-size:15px;}
  .topbar nav .nav-bookings,
  .persistent-main-nav nav .nav-bookings{font-size:14px;}
}

@media(max-width:720px){
  .persistent-main-nav{
    padding:18px 5vw;
    justify-content:flex-end;
  }
  .persistent-main-nav .logo{display:none;}
  .persistent-main-nav nav{
    width:100%;
    justify-content:space-between;
    column-gap:12px;
    row-gap:18px;
  }
  .persistent-main-nav nav a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    padding:0 2px;
    font-size:12px;
  }
  .topbar nav .nav-bookings,
  .persistent-main-nav nav .nav-bookings{
    width:78px;
    min-width:78px;
    height:38px;
    min-height:38px;
    padding:0;
    flex:0 0 78px;
    font-size:12px;
    line-height:1;
  }
  .persistent-main-nav nav .nav-support{
    min-height:44px;
    padding:0 2px;
  }
}

@media(max-width:430px){
  .persistent-main-nav nav{gap:5px;}
  .persistent-main-nav nav a,
  .topbar nav .nav-bookings,
  .persistent-main-nav nav .nav-bookings{font-size:11px;}
  .topbar nav .nav-bookings,
  .persistent-main-nav nav .nav-bookings{
    width:72px;
    min-width:72px;
    flex-basis:72px;
  }
  .persistent-main-nav nav .nav-support{padding:0 2px;}
}


/* Selected collaborations & appearances — final production block */
.collab-one{
  width:100%;
  margin:clamp(6px,.65vw,9.5px) 0 0;
  padding:3.16vw 4vw;
  position:relative;
}
.collab-one-head-compact{
  box-sizing:border-box;
  width:100vw;
  margin:0 0 clamp(12px,1.2vw,16px) calc(50% - 50vw);
  padding:0 0 0 10vw;
}
.collab-one-kicker{
  margin:0;
  color:#77717f;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.collab-one-shell{
  width:100vw;
  margin-left:calc(50% - 50vw);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:118px;
}
.collab-one-viewport{
  position:relative;
  width:80vw;
  margin-inline:auto;
  overflow:hidden;
  scrollbar-width:none;
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.collab-one-viewport::-webkit-scrollbar{display:none}
.collab-one-track{
  display:flex;
  flex:0 0 auto;
  width:max-content;
  align-items:center;
  will-change:transform;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.collab-one-set{
  --collab-gap:clamp(62px,5.4vw,104px);
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:var(--collab-gap);
  padding-right:var(--collab-gap);
}
.collab-one-item{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:clamp(17px,1.45vw,25px);
  min-width:max-content;
  white-space:nowrap;
}
.collab-one-badge{
  width:clamp(72px,5.2vw,92px);
  height:clamp(72px,5.2vw,92px);
  flex:0 0 clamp(72px,5.2vw,92px);
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#0a0a0c;
  border:1px solid rgba(255,255,255,.19);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 28px rgba(131,111,196,.055);
}
.collab-one-badge img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.collab-one-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.collab-one-copy strong{
  color:#e9e7eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,2.2vw,39px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.035em;
}
.collab-one-copy small{
  color:#6f6976;
  font-size:8px;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.collab-one-divider{
  width:100vw;
  height:1px;
  margin:clamp(24px,2.7vw,38px) 0 0 calc(50% - 50vw);
  position:relative;
  background:linear-gradient(90deg,transparent,rgba(164,151,230,.08) 14%,rgba(164,151,230,.28) 42%,rgba(205,196,255,.5) 50%,rgba(164,151,230,.28) 58%,rgba(164,151,230,.08) 86%,transparent);
  box-shadow:0 0 24px rgba(117,100,205,.18);
}
.collab-one-divider::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:210px;
  height:28px;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(152,135,238,.2),transparent 72%);
  filter:blur(12px);
  pointer-events:none;
}
.commercial-availability{
  margin:clamp(4px,.45vw,6px) auto 0 !important;
  padding-top:0 !important;
}
.commercial-availability::before{display:none !important}

@media(max-width:900px){
  .collab-one{
    margin-top:6px;
    padding-bottom:4.965vw;
  }
  .collab-one-head-compact{
    margin-bottom:10px;
    padding-left:6vw;
  }
  .collab-one-shell{min-height:102px}
  .collab-one-viewport{
    width:88vw;
    mask-image:linear-gradient(90deg,transparent 0,#000 4.5%,#000 95.5%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4.5%,#000 95.5%,transparent 100%);
  }
  .collab-one-set{--collab-gap:48px}
  .collab-one-item{gap:16px}
  .collab-one-badge{width:66px;height:66px;flex-basis:66px}
  .collab-one-copy strong{font-size:25px}
  .collab-one-divider{margin-top:22px}
  .commercial-availability{margin-top:4px !important}
}

@media(max-width:720px){
  .collab-one{padding:4.965vw 5vw}
}

@media(max-width:620px){
  .collab-one{margin-top:5.5px}
  .collab-one-head-compact{
    margin-bottom:9px;
    padding-left:3vw;
  }
  .collab-one-kicker{font-size:8px;letter-spacing:.17em}
  .collab-one-shell{min-height:86px}
  .collab-one-viewport{
    width:94vw;
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  }
  .collab-one-set{--collab-gap:34px}
  .collab-one-item{gap:13px}
  .collab-one-badge{width:54px;height:54px;flex-basis:54px}
  .collab-one-copy{gap:4px}
  .collab-one-copy strong{font-size:19px}
  .collab-one-copy small{font-size:7px;letter-spacing:.14em}
  .collab-one-divider{margin-top:20px}
  .commercial-availability{margin-top:3px !important}
  .commercial-availability p{max-width:92vw}
}

@media(prefers-reduced-motion:reduce){
  .collab-one-viewport{
    overflow-x:auto;
    mask-image:none;
    -webkit-mask-image:none;
  }
  .collab-one-track{
    transform:none !important;
    will-change:auto;
  }
  .collab-one-set[aria-hidden="true"]{display:none}
}

/* 2026-08-30 — Sukuna wide portfolio crop */
.portfolio-14{
  position:relative;
  overflow:hidden;
}
.portfolio-14 img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
  transform:none;
}

/* 2026-09-18 — Mobile footer: two-row layout to prevent overlap on narrow screens.
   Row 1: copyright left + Ihor Kostash right. Row 2: Legal & Privacy centered. */
@media(max-width:720px){
  footer,
  .subpage-footer{
    display:grid;
    grid-template-columns:max-content max-content;
    grid-template-rows:auto auto;
    justify-content:space-between;
    align-items:center;
    column-gap:16px;
    row-gap:10px;
    padding-left:4vw;
    padding-right:4vw;
    font-size:clamp(8px,2.15vw,10px);
    letter-spacing:.06em;
    white-space:nowrap;
  }
  footer > span:first-child,
  .subpage-footer > span:first-child{
    grid-column:1;
    grid-row:1;
    justify-self:start;
  }
  footer > span:last-child,
  .subpage-footer > span:last-child{
    grid-column:2;
    grid-row:1;
    justify-self:end;
  }
  footer .legal-links,
  .subpage-footer .legal-links{
    grid-column:1 / -1;
    grid-row:2;
    order:initial;
    width:auto;
    justify-self:center;
    justify-content:center;
    gap:0;
  }
}

/* 2026-09-18 — Footer optical baseline correction.
   Desktop/tablet: lift only the middle Legal & Privacy label by 7px.
   Mobile uses the grid alignment above, so no extra vertical offset is applied there. */
@media(min-width:721px){
  footer .legal-links,
  .subpage-footer .legal-links{
    position:relative;
    top:-7px;
  }
}

@media(max-width:720px){
  footer .legal-links,
  .subpage-footer .legal-links{
    position:relative;
    top:0;
  }
}

/* 2026-09-18 — Mobile footer final: keep all three labels on one row without overlap. */
@media(max-width:720px){
  footer,
  .subpage-footer{
    display:grid;
    grid-template-columns:max-content max-content max-content;
    grid-template-rows:auto;
    justify-content:space-between;
    align-items:center;
    column-gap:0;
    row-gap:0;
    padding-left:4vw;
    padding-right:4vw;
    font-size:clamp(7px,2vw,9px);
    letter-spacing:.045em;
    white-space:nowrap;
  }
  footer > span:first-child,
  .subpage-footer > span:first-child{
    grid-column:1;
    grid-row:1;
    justify-self:start;
  }
  footer .legal-links,
  .subpage-footer .legal-links{
    grid-column:2;
    grid-row:1;
    width:auto;
    justify-self:center;
    justify-content:center;
    position:static;
    top:auto;
    gap:0;
  }
  footer .legal-links a,
  .subpage-footer .legal-links a{
    min-height:0;
    display:inline;
    line-height:1.2;
  }
  footer > span:last-child,
  .subpage-footer > span:last-child{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }
}
