:root {
  --cinema-espresso: #2C211B;
  --cinema-gold: #C5A46D;
  --cinema-ivory: #F6F1E8;
}

html { scroll-padding-top: 82px; }
body.home-page { overflow-x: clip; background: var(--cinema-espresso); }
.experience-canvas {
  position: fixed;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .94;
  pointer-events: none;
  transition: opacity .6s ease;
}
.home-page.experience-fallback .experience-canvas { display: none; }
.home-page main, .home-page .site-footer { position: relative; z-index: 1; }
.home-page .site-header {
  position: sticky;
  color: var(--cinema-ivory);
  background: rgba(44,33,27,.91);
  border-bottom-color: rgba(197,164,109,.22);
}
.home-page .brand {
  gap: 9px;
  color: var(--cinema-ivory);
  font-size: 19px;
  letter-spacing: .18em;
}
.home-page .primary-nav a { color: #E8DED0; }
.home-page .primary-nav a:hover { color: var(--cinema-gold); }
.home-page .primary-nav .nav-cta { color: var(--cinema-ivory); border-color: rgba(197,164,109,.58); }
.home-page .menu-toggle { color: var(--cinema-ivory); border-color: rgba(197,164,109,.55); background: transparent; }

.cinema-hero {
  position: relative;
  min-height: min(790px, calc(100svh - 78px));
  min-height: max(650px, calc(100svh - 78px));
  overflow: hidden;
  display: flex;
  align-items: center;
  color: var(--cinema-ivory);
  background:
    radial-gradient(ellipse at 75% 48%, rgba(116,83,42,.16), transparent 38%),
    linear-gradient(110deg, rgba(44,33,27,.99) 0%, rgba(44,33,27,.92) 49%, rgba(44,33,27,.52) 100%);
}
.hero-atmosphere {
  position: absolute;
  inset: 0;
  opacity: .25;
  pointer-events: none;
  background-image: linear-gradient(rgba(197,164,109,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(197,164,109,.08) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(90deg, transparent 12%, black 70%, transparent);
}
.cinema-hero-inner { position: relative; z-index: 2; padding-top: 92px; padding-bottom: 100px; }
.hero-copy-block { position: relative; z-index: 2; max-width: 610px; }
.home-page .eyebrow { color: var(--cinema-gold); }
.home-page .eyebrow-dot { background: var(--cinema-gold); box-shadow: 0 0 15px rgba(197,164,109,.55); }
.hero-copy-block h1 {
  max-width: 600px;
  margin-bottom: 23px;
  color: var(--cinema-ivory);
  font-family: var(--font-display);
  font-size: clamp(56px, 8vw, 100px);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .98;
}
.hero-kicker {
  display: block;
  margin-bottom: 15px;
  color: #D7C5A5;
  font-family: var(--font-body);
  font-size: clamp(12px, 1.2vw, 15px);
  font-weight: 600;
  letter-spacing: .24em;
  line-height: 1.5;
  text-transform: uppercase;
}
.cinema-hero .hero-copy {
  max-width: 495px;
  margin-bottom: 32px;
  color: #E0D6CA;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.8;
}
.home-page .button { border-radius: 2px; }
.home-page .button-primary {
  color: var(--cinema-espresso);
  background: var(--cinema-gold);
}
.home-page .button-primary:hover { background: #D7BC8D; }
.home-page .button-quiet {
  color: var(--cinema-ivory);
  border-color: rgba(246,241,232,.32);
  background: rgba(44,33,27,.22);
}
.home-page .button-quiet:hover { border-color: var(--cinema-gold); }
.cinema-hero .hero-note { margin-top: 50px; color: #C2B5A5; }
.cinema-hero .note-line { background: var(--cinema-gold); }
.hero-object-caption {
  position: absolute;
  right: 3px;
  bottom: 34px;
  left: 3px;
  display: flex;
  justify-content: space-between;
  color: rgba(246,241,232,.59);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.caption-arrow { padding-left: 8px; color: var(--cinema-gold); font-size: 14px; }
.fallback-sculpture {
  position: absolute;
  top: 50%;
  right: 12%;
  width: min(34vw, 430px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  pointer-events: none;
}
.fallback-sculpture i, .fallback-sculpture b, .fallback-sculpture span {
  position: absolute;
  inset: 18%;
  border: 2px solid rgba(197,164,109,.68);
  border-radius: 50%;
  box-shadow: 0 0 25px rgba(197,164,109,.15), inset 0 0 22px rgba(197,164,109,.09);
}
.fallback-sculpture i { transform: rotate(38deg) scaleX(.48); }
.fallback-sculpture b { transform: rotate(-42deg) scaleX(.48); }
.fallback-sculpture span { transform: rotate(90deg) scaleX(.48); }
.home-page.experience-ready .fallback-sculpture { opacity: 0; }

.cinema-projects {
  position: relative;
  color: var(--cinema-ivory);
  background: rgba(44,33,27,.965);
}
.cinema-projects .section-heading { align-items: end; }
.cinema-projects .section-eyebrow { color: var(--cinema-gold); }
.cinema-projects .section-heading h2 {
  color: var(--cinema-ivory);
  font-family: var(--font-display);
  font-size: clamp(36px, 4.5vw, 54px);
  font-weight: 500;
  letter-spacing: -.04em;
}
.cinema-projects .section-heading h2 span { color: var(--cinema-gold); }
.cinema-projects .section-intro { color: #D0C2B1; }
.cinema-projects .project-card {
  min-height: 286px;
  border-color: rgba(197,164,109,.28);
  border-radius: 2px;
  background: linear-gradient(145deg, rgba(73,56,43,.9), rgba(44,33,27,.8));
  box-shadow: 0 22px 56px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.045);
  transform: perspective(900px) translateZ(0);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .3s ease;
}
.cinema-projects .project-card:hover {
  transform: perspective(900px) translateY(-7px) rotateX(1deg);
  border-color: rgba(197,164,109,.72);
  box-shadow: 0 30px 65px rgba(0,0,0,.32), 0 0 24px rgba(197,164,109,.08);
}
.home-page.experience-ready .cinema-projects .project-card {
  opacity: .35;
  transform: perspective(900px) translateY(26px) rotateX(5deg) translateZ(-32px);
}
.home-page.experience-ready .cinema-projects .project-card.is-visible {
  opacity: 1;
  transform: perspective(900px) translateY(0) rotateX(0) translateZ(0);
}
.home-page.experience-ready .cinema-projects .project-card.is-visible:hover {
  transform: perspective(900px) translateY(-7px) rotateX(1deg);
}
.cinema-projects .project-featured { border-color: rgba(197,164,109,.75); }
.cinema-projects .project-icon { color: var(--cinema-gold); background: rgba(197,164,109,.12); }
.cinema-projects .status-live { color: #D6E4C9; background: rgba(143,171,120,.16); }
.cinema-projects .status-live span { background: #A7C78F; }
.cinema-projects .status-soon { color: #D7C9B6; background: rgba(246,241,232,.09); }
.cinema-projects .card-kicker { color: #C5A46D; }
.cinema-projects .card-content h3 { color: var(--cinema-ivory); font-family: var(--font-display); font-size: 25px; font-weight: 500; }
.cinema-projects .card-content > p:last-child { color: #D0C2B1; }
.cinema-projects .card-link { color: #E0C58F; }
.cinema-projects .card-link:hover { color: var(--cinema-ivory); }
.cinema-projects .card-watermark { color: rgba(197,164,109,.1); }
.cinema-projects .card-note, .cinema-projects .projects-footnote { color: #C8B89F; }
.cinema-projects .projects-footnote span { color: var(--cinema-gold); }

.benefits-section { color: var(--cinema-espresso); background: rgba(246,241,232,.98); }
.benefits-heading { max-width: 640px; margin-bottom: 48px; }
.benefits-heading h2 {
  margin-bottom: 20px;
  color: var(--cinema-espresso);
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 62px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.06;
}
.benefits-heading > p:last-child { max-width: 500px; margin-bottom: 0; color: #68594A; font-size: 15px; }
.benefits-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; border-top: 1px solid rgba(44,33,27,.2); }
.benefit-card { min-height: 200px; padding: 22px 22px 12px 0; }
.benefit-card + .benefit-card { padding-left: 22px; border-left: 1px solid rgba(44,33,27,.16); }
.benefit-number { color: #9B7742; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.benefit-card h3 { margin: 30px 0 9px; color: var(--cinema-espresso); font-family: var(--font-display); font-size: 21px; font-weight: 500; }
.benefit-card p { margin: 0; color: #68594A; font-size: 12px; line-height: 1.8; }

.final-cta { position: relative; overflow: hidden; padding: 112px 0 120px; color: var(--cinema-ivory); background: rgba(44,33,27,.98); }
.final-cta-inner { position: relative; z-index: 1; text-align: center; }
.final-cta .eyebrow { margin-bottom: 18px; }
.final-cta h2 { margin-bottom: 15px; color: var(--cinema-ivory); font-family: var(--font-display); font-size: clamp(44px, 6vw, 72px); font-weight: 500; letter-spacing: -.045em; }
.final-cta-inner > p:not(.eyebrow) { margin-bottom: 28px; color: #D0C2B1; }
.cta-orbit { position: absolute; top: 50%; left: 50%; width: 560px; aspect-ratio: 1; border: 1px solid rgba(197,164,109,.14); border-radius: 50%; box-shadow: 0 0 0 65px rgba(197,164,109,.025), 0 0 0 130px rgba(197,164,109,.02); transform: translate(-50%,-50%); pointer-events: none; }
.home-page .site-footer { color: var(--cinema-ivory); background: #211913; }
.home-page .footer-brand { color: var(--cinema-ivory); }
.home-page .footer-brand-block > p, .home-page .footer-links a { color: #D0C2B1; }
.home-page .footer-links a:hover { color: var(--cinema-gold); }
.home-page .footer-label { color: var(--cinema-ivory); }
.home-page .footer-bottom { border-top-color: rgba(246,241,232,.19); color: #B5A692; }
.home-page .footer-star { color: var(--cinema-gold); }

@media (max-width: 900px) {
  .fallback-sculpture { right: 4%; width: min(39vw, 360px); opacity: .7; }
  .hero-copy-block { max-width: 560px; }
  .benefits-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .benefit-card:nth-child(3) { padding-left: 0; border-left: 0; }
  .benefit-card:nth-child(n+3) { border-top: 1px solid rgba(44,33,27,.16); }
}
@media (max-width: 800px) {
  .home-page .primary-nav { border-top-color: rgba(197,164,109,.2); background: rgba(44,33,27,.99); }
  .home-page .primary-nav .nav-cta { color: var(--cinema-ivory); }
  .cinema-hero { min-height: max(680px, calc(100svh - 70px)); }
}
@media (max-width: 600px) {
  .home-page .brand { gap: 8px; font-size: 17px; }
  .cinema-hero { min-height: max(700px, calc(100svh - 70px)); align-items: flex-start; }
  .cinema-hero-inner { padding-top: 95px; padding-bottom: 90px; }
  .hero-copy-block { max-width: 100%; }
  .hero-copy-block h1 { font-size: clamp(55px, 16vw, 76px); }
  .cinema-hero .hero-copy { max-width: 390px; font-size: 15px; }
  .cinema-hero .hero-note { margin-top: 34px; }
  .fallback-sculpture { top: auto; right: -17%; bottom: -5%; width: 72vw; opacity: .48; transform: none; }
  .hero-object-caption { right: 0; bottom: 23px; left: 0; font-size: 8px; }
  .cinema-projects .section-heading h2 { font-size: 36px; }
  .cinema-projects .project-card, .cinema-projects .project-personal { min-height: 255px; }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefit-card, .benefit-card + .benefit-card, .benefit-card:nth-child(3) { min-height: 160px; padding: 19px 0; border-left: 0; }
  .benefit-card + .benefit-card { border-top: 1px solid rgba(44,33,27,.16); }
  .benefit-card h3 { margin-top: 19px; }
  .final-cta { padding: 85px 0 92px; }
}
@media (prefers-reduced-motion: reduce) {
  .experience-canvas { transition: none; }
  .cinema-projects .project-card { transition: none; }
  .cinema-projects .project-card:hover { transform: none; }
  .home-page.experience-ready .cinema-projects .project-card { transform: none; }
}
