
@font-face{
  font-family: 'Plex Mono';
  src: url('../assets/fonts/cafe/ibm-plex-mono-latin-300-normal.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face{
  font-family: 'Plex Mono';
  src: url('../assets/fonts/cafe/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face{
  font-family: 'Nothing You Could Do';
  src: url('../assets/fonts/cafe/nothing-you-could-do-latin-400-normal.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}

:root{
    --white: #fff;
  --studio-bg:    #fff;
  --studio-ink:   #161412;
  --studio-soft:  #3a3631;
  --studio-line:  #cfc8be;
  --studio-sand:  #d9b88f;
  --red: #24529f;
  --studio-pad:   clamp(1.25rem, 4.2vw, 4rem);
  --f-sans:   'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --f-mono:   'Plex Mono', 'IBM Plex Mono', ui-monospace, monospace;
  --f-serif:  'Newsreader', 'Libre Caslon Display', Georgia, serif;
  --f-hand:   'Reenie Beanie', 'Nothing You Could Do', cursive;
  --f-note:   'Nothing You Could Do', cursive;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }

.studio-page{
  margin: 0;
  background: var(--studio-bg);
  color: var(--studio-ink);
  font-family: var(--f-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.studio-page img{ display: block; }
.studio-page figure{ margin: 0; }

.photo-placeholder{
  display: block; width: 100%; height: 100%;
  background: linear-gradient(135deg, #cdb698 0%, #a9906f 55%, #6f5c45 100%);
}


.studio-hero{
  position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden;
  background: #1a1511; color: #f6efe6;
}
.hero-background{
  position: absolute; inset: 0;
  background: #2a2119 center / cover no-repeat;
  background-image: linear-gradient(120deg, #120e0b 0%, #3a2d21 55%, #8d7556 100%);
}
.hero-shade{
  position: absolute; inset: 0;
  /* background: linear-gradient(90deg, rgba(10,8,6,.55) 0%, rgba(10,8,6,.18) 38%, rgba(10,8,6,0) 60%),
              linear-gradient(180deg, rgba(10,8,6,.35) 0%, rgba(10,8,6,0) 18%); */
}
.hero-content{
  position: absolute; inset: 12vh 8vw 14vh;
  max-width: none;
  display: flex; flex-direction: column; justify-content: center;
  align-items: center; text-align: center;
}
.hero-headline{
  margin: 0 0 clamp(2rem, 7vh, 4.6rem);
  font-family: var(--f-hand); font-weight: 400;
  font-size: clamp(2.4rem, 4.5vw, 4.8rem);
  line-height: .98; letter-spacing: .01em;
  transform: rotate(-3deg); transform-origin: left top;
}
.hero-title{
  margin: 0 0 1rem;
  font-family: var(--f-sans); font-weight: 200;
  font-size: clamp(2.8rem, 5.2vw, 5.4rem); line-height: .98; letter-spacing: -.01em; text-transform: uppercase;
}
.hero-text{
  margin: 0 0 1.15rem;
  font-family: var(--f-mono); font-weight: 300; font-size: .72rem; line-height: 1.6; letter-spacing: .02em;
  max-width: 32rem;
}
.hero-locations{
  position: absolute; left: 5.8vw; right: 5.8vw; bottom: 3.5vh;
  display: flex; justify-content: space-between; align-items: center;
  margin: 0;
  font-family: var(--f-mono); font-size: .9rem; letter-spacing: .06em;
}
.hero-locations a{
  color: #fff;
  font-weight: bold;
  display: inline-flex; align-items: center; gap: .7rem;
  text-decoration: none; padding: .6rem 0 .35rem;
  border-bottom: 1px solid transparent; transition: border-color .2s ease;
}
.hero-locations a:hover,
.hero-locations a:focus-visible{
  border-bottom-color: currentColor;
}
.location-arrow{
  display: block; width: 1.35rem; height: .7rem; flex: none;
}
.hero-button{
  position: relative; align-self: flex-start;
  display: inline-flex; align-items: center; gap: .9rem;
  padding: 1.55rem 2.3rem 1.55rem 2.4rem;
  font-family: var(--f-note); font-size: .95rem; letter-spacing: .12em; text-transform: uppercase;
  color: inherit; text-decoration: none; transform: rotate(-4deg);
}
.hero-button-ring{ position: absolute; inset: 0; width: 100%; height: 100%; transition: transform .4s ease; }
.hero-button:hover .hero-button-ring{ transform: scale(1.04); }
.hero-button span, .arrow-down{ position: relative; }
.arrow-down{ width: 11px; height: 14px; transition: transform .3s ease; }
.hero-button:hover .arrow-down{ transform: translateY(3px); }

.hero-note{
  position: absolute; right: 2.4vw; top: 19vh; margin: 0;
  font-family: var(--f-note); font-size: clamp(.8rem, 1.05vw, 1rem); line-height: 1.5; letter-spacing: .08em;
  text-transform: uppercase; transform: rotate(-9deg);
}
.hero-note::after{
  content: ""; display: block; width: 4.4rem; height: 1px; background: currentColor;
  margin: 1rem 0 0 -1.2rem; transform: rotate(-9deg); opacity: .85;
}
.scroll-hint{
  visibility: hidden;
  position: absolute; left: 50%; bottom: 3.2vh; transform: translateX(-50%);
  width: 16px; color: #f6efe6; animation: scrollBob 2.4s ease-in-out infinite;
}
.scroll-hint svg{ display: block; width: 100%; height: auto; }
@keyframes scrollBob{ 0%,100%{ transform: translate(-50%, 0); } 50%{ transform: translate(-50%, 8px); } }


.eyebrow{
  margin: 0; font-family: var(--f-mono); font-weight: 300;
  font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; white-space: pre-wrap;
}
.heading-large{
  margin: 0; font-family: var(--f-sans); font-weight: 200;
  font-size: clamp(2.8rem, 5.2vw, 5.4rem); line-height: .98; letter-spacing: -.01em; text-transform: uppercase;
}
.heading-large strong{ font-weight: 400; }
.divider{ width: 2.9rem; height: 0; border: 0; border-top: 1px solid var(--studio-ink); margin: 2rem 0; visibility: hidden; }
.lead-text, .body-text{ margin: 0 0 1.15rem; font-size: clamp(.98rem, 1.12vw, 1rem); line-height: 1.55; color: var(--studio-soft); }
.lead-text strong{ color: var(--studio-ink); font-weight: 500; }
.size-line{ margin: 0 0 1.5rem; font-size: clamp(1.05rem, 1.3vw, 1.3rem); font-weight: 300; letter-spacing: .01em; white-space: pre-wrap; }
.caption-text{
  margin: 0; font-family: var(--f-mono); font-weight: 300;
  font-size: .72rem; line-height: 1.75; letter-spacing: .16em; text-transform: uppercase;
}
.serif-text{ margin: 0 0 1.4rem; font-family: var(--f-serif); font-size: clamp(1rem, 1.18vw, 1.2rem); line-height: 1.5; color: var(--white); }


.idea-layout{
  --idea-height: clamp(24rem, 41vw, 88vh);
  --idea-small-offset: 4.9vw;
  position: relative;
  display: grid; grid-template-columns: 31.8fr 35fr 22.1fr; column-gap: 1.25vw;
  align-items: start;
  padding: 5.6vw 2.9vw clamp(3rem, 5vw, 4.5rem) 5.75vw;
}
.idea-text{ display: flex; flex-direction: column; min-height: var(--idea-height); padding-right: 4.4vw; }
.idea-text .eyebrow{ margin-bottom: 3.4vw; }
.idea-text .heading-large{ font-size: clamp(2rem, 3.6vw, 4rem); line-height: .92; }
.idea-text .divider{ margin: 2.4vw 0 2.2vw; }
.idea-text .lead-text, .idea-text .body-text{ font-size: clamp(.9rem, 1.1vw, 1rem); line-height: 1.38; margin-bottom: 1rem; }
.idea-text .lead-text{ margin-bottom: 1.1rem; }
.idea-text .divider--lower{ margin-top: auto; margin-bottom: 1.6vw; }
.studio-page .idea-photo-large{
  height: calc(var(--idea-height) * .40);
  width: 40%;
  grid-column: 2 / -1;
  justify-self: end;
  align-self: center;
  position: relative;
  margin: 0 clamp(2rem, 8vw, 8rem) 0 0;
}
.idea-photo-large img,
.idea-photo-large .photo-placeholder{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-open{
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: .9rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  padding: 0;
  background: none;
  border: 0;
  color: #24529f;
  font-family: var(--f-mono);
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gallery-open svg{ width: 1.3rem; height: .5rem; transition: transform .3s ease; }
.gallery-open:hover svg{ transform: translateX(6px); }
.gallery-modal[hidden]{ display: none; }
.gallery-modal{
  position: fixed; inset: 0; z-index: 1000; background: rgba(12,10,8,.94);
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 4rem 1.5rem 7.5rem;
}
.gallery-stage{ margin: 0; height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; }
.gallery-stage img{ max-width: 100%; max-height: 100%; object-fit: contain; }
.gallery-nav, .gallery-close{
  background: none; border: 1px solid rgba(255,255,255,.4); color: #fff; cursor: pointer;
  width: 3rem; height: 3rem; border-radius: 50%; font-size: 1.3rem; line-height: 1; transition: background .2s;
}
.gallery-nav:hover, .gallery-close:hover{ background: rgba(255,255,255,.15); }
.gallery-close{ position: absolute; top: 1rem; right: 1.2rem; font-size: 1.8rem; }
.gallery-count{ position: absolute; bottom: 1rem; left: 0; right: 0; margin: 0; text-align: center; color: #ddd; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .16em; }
.gallery-thumbs{
  position: absolute; left: 0; right: 0; bottom: 2.6rem; display: flex; gap: .5rem; justify-content: safe center;
  overflow-x: auto; padding: 0 1.5rem; scrollbar-width: thin;
}
.gallery-thumbs button{
  flex: 0 0 auto; width: 4.2rem; height: 3.2rem; padding: 0; border: 1px solid transparent; background: none; cursor: pointer; opacity: .5; transition: opacity .2s;
}
.gallery-thumbs button.is-active{ opacity: 1; border-color: #fff; }
.gallery-thumbs button:hover{ opacity: 1; }
.gallery-thumbs img{ width: 100%; height: 100%; object-fit: cover; display: block; }
body.gallery-locked{ overflow: hidden; }
.idea-tag{
  position: absolute; right: 3.4vw; top: 3.4vw; margin: 0;
  font-family: var(--f-note); font-size: clamp(.62rem, .85vw, .85rem); letter-spacing: .08em; line-height: 1.45; text-transform: uppercase;
  transform: rotate(-17deg); color: var(--studio-ink);
  visibility: hidden;
}


.space-card{
  display: grid;
  grid-template-columns: 33.4% 1fr;
  grid-template-rows: minmax(clamp(26rem, 44vw, 46rem), auto) auto;
  min-height: 100vh;
  border-top: 1px solid var(--studio-line);
}
.space-card:first-child{ border-top: 0; }
.space-text{
  padding: clamp(2.4rem, 4.4vw, 4.1rem) clamp(1.5rem, 4.8vw, 4.7rem) 2.5rem clamp(1.5rem, 4.8vw, 4.7rem);
}
.space-text .heading-large{ margin-top: clamp(2.2rem, 5.4vw, 4.8rem); font-size: clamp(2.2rem, 4vw, 4.1rem); }
.space-text .divider{ margin: 1.9rem 0 1.7rem; }
.space-text .body-text{ font-size: clamp(.84rem, .92vw, .95rem); line-height: 1.5; }
.studio-page #spaces .space-text .eyebrow-first-space{
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1rem, 1.1vw, 1.2rem);
  font-weight: 900;
}
.space-tagline{ margin-top: 2.2rem; }
.space-photo-large{ position: relative; min-height: 0; }
.space-photo-large img, .space-photo-large .photo-placeholder{ width: 100%; height: 100%; object-fit: cover; }
.photo-caption-link{
  visibility: hidden;
  position: absolute; right: 4.6%; bottom: 6%;
  display: flex; align-items: center; gap: 1rem;
  font-family: var(--f-mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase;
  color: #f6efe6; text-decoration: none; text-shadow: 0 1px 8px rgba(0,0,0,.45);
}
.photo-caption-link svg{ width: 3.4rem; height: .6rem; transition: transform .3s ease; visibility: hidden;}
.photo-caption-link:hover svg{ transform: translateX(6px); }

.space-bottom-row{
  visibility: hidden;
  grid-column: 1 / -1;
  padding: clamp(1rem, 1.6vw, 1.6rem) clamp(1.5rem, 4.8vw, 4.7rem) clamp(1.2rem, 2vw, 2rem);
  border-top: 1px solid var(--studio-line);
}
.features-label{
  margin: 0 0 .8rem; font-family: var(--f-mono); font-size: .6rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--studio-soft);
  visibility: hidden; height: 0; margin: 0;
}
.features ul{ list-style: disc; margin: 0; padding: 0 0 0 1.1rem; }
.features li{
  padding: .22rem 0 .22rem .2rem;
  font-family: var(--f-mono); font-size: .66rem; line-height: 1.6; letter-spacing: .12em; text-transform: uppercase; color: var(--studio-soft);
}
.features li::marker{ color: var(--studio-ink); }


.noida-section{
  position: relative;
  display: grid; grid-template-columns: 54.2% 1fr;
  min-height: 42vw;
  border-top: 1px solid var(--studio-line);
}
.noida-photo{ height: clamp(12rem, 20.5vw, 44vh); width: 54%; grid-column: 1; justify-self: end; align-self: center; position: relative; margin: 0; }
.noida-photo img, .noida-photo .photo-placeholder{ width: 100%; height: 100%; object-fit: cover; filter: sepia(.25) saturate(.9); }
.noida-text{ padding: clamp(2rem, 5.3vw, 5rem) clamp(1.5rem, 13vw, 14rem) clamp(2rem, 5vw, 4.5rem) 3.7vw; display: flex; flex-direction: column; justify-content: center; }
.noida-text .eyebrow{ margin-bottom: 2.4rem; }
.noida-text .heading-large{ font-size: clamp(2.8rem, 5.2vw, 5.2rem); }
.noida-text .heading-large strong{ font-weight: 400; }
.noida-text .divider{ margin: 2.3rem 0 2rem; }
.address-block{ display: flex; gap: 1.1rem; align-items: flex-start; margin-top: 2.6rem; }
.address-block svg{ width: 1.05rem; flex: none; margin-top: .15rem; }
.directions-link{
  display: inline-flex; align-items: center; gap: .9rem; margin: 1.9rem 0 0 2.15rem; align-self: flex-start;
  padding-bottom: .35rem; border-bottom: 1px solid #ffffff;
  font-family: var(--f-mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase;
  color: #ffffff; text-decoration: none;
}
.directions-link svg{ width: 1.5rem; height: .5rem; transition: transform .3s ease; }
.directions-link:hover svg{ transform: translateX(5px); }
.noida-handwritten-list{
  visibility: hidden;
  position: absolute; right: 0; top: 14%; width: 12.5%; height: 52%; color: var(--studio-ink); pointer-events: none;
}
.noida-curve{ position: absolute; inset: 0; width: 100%; height: 100%; opacity: .75; }
.noida-handwritten-list p{
  visibility: hidden;
  position: absolute; left: 15%; top: 24%; margin: 0; white-space: pre;
  font-family: var(--f-note); font-size: clamp(.5rem, .78vw, .72rem); letter-spacing: .12em; line-height: 1.95; text-transform: uppercase;
  transform: rotate(-14deg); transform-origin: left top;
}


.site-footer{
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem 2rem;
  padding: 1.8rem var(--studio-pad);
  border-top: 1px solid var(--studio-line);
  font-family: var(--f-mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--studio-soft);
}
.site-footer a{ color: inherit; }


.js .fade-in{ opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
.js .fade-in.is-in{ opacity: 1; transform: none; }

@media (max-width: 1100px){
  .space-card{ grid-template-columns: 38% 1fr; grid-template-rows: auto auto; }
  .noida-text{ padding-right: 4rem; }
  .noida-handwritten-list{ display: none; }
}


@media (max-width: 760px){

  .hero-content{ left: 1.4rem; right: 1.4rem; top: 15vh; bottom: 7vh; }
  .hero-headline{ font-size: clamp(2.4rem, 11vw, 3.4rem); }
  .hero-note{ top: auto; bottom: 12vh; right: 1.2rem; font-size: .7rem; }
  .hero-shade{ background: linear-gradient(180deg, rgba(10,8,6,.55) 0%, rgba(10,8,6,.35) 60%, rgba(10,8,6,.6) 100%); }

  .idea-layout{ grid-template-columns: 1fr 1fr; min-height: 0; }
  .idea-layout{ padding: 6rem 1.25rem 3rem; column-gap: .9rem; row-gap: .9rem; }
  .idea-text{ grid-column: 1 / -1; padding-right: 0; min-height: 0; }
  .idea-text .divider{ margin: 1.6rem 0; }
  .idea-text .divider--lower{ margin-top: 1.6rem; }
  .idea-text .eyebrow{ margin-bottom: 2rem; }
  .idea-photo-large{ height: auto; width: 100%; aspect-ratio: 3 / 4; grid-column: 1 / -1; }
  .gallery-modal{ grid-template-columns: 1fr; padding: 4rem .75rem 10rem; }
  .gallery-nav{ position: absolute; bottom: 1rem; width: 2.6rem; height: 2.6rem; }
  .gallery-prev{ left: calc(50% - 4.5rem); }
  .gallery-next{ right: calc(50% - 4.5rem); }
  .gallery-count{ bottom: 1.5rem; }
  .gallery-thumbs{ bottom: 4.6rem; }
  .idea-tag{ right: 1.2rem; top: .6rem; font-size: .66rem; }

  .space-card{ grid-template-columns: 1fr; }
  .space-text{ padding-bottom: 2rem; }
  .space-text .heading-large{ margin-top: 1.8rem; }
  .space-photo-large{ aspect-ratio: 4 / 3; }
  .space-bottom-row{ padding: 1rem 1.25rem 1.6rem; }

  .noida-section{ grid-template-columns: 1fr; min-height: 0; }
  .noida-photo{ min-height: 0; width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .noida-text{ padding: 2.6rem 1.4rem 3rem; }
  .directions-link{ margin-left: 2.15rem; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .scroll-hint{ animation: none; }
  .js .fade-in{ opacity: 1; transform: none; transition: none; }
}


@media (min-width: 1101px) and (min-height: 560px){
  html{ scroll-snap-type: y proximity; }

  .space-card{
    height: 100vh; height: 100svh;
    grid-template-rows: minmax(0, 1fr) auto;
    scroll-snap-align: start;
  }

  .space-text{
    min-height: 0; overflow: hidden;
    display: flex; flex-direction: column;
    padding: 7svh clamp(1.5rem, 4.8vw, 4.7rem) 2svh;
  }
  .space-text .eyebrow{ font-size: min(.72rem, 1.6svh); }
  .space-text .heading-large{ margin-top: 3.8svh; font-size: min(4vw, 5.4svh); line-height: .98; }
  .space-text .divider{ margin: 3.2svh 0 3svh; }
  .space-text .size-line{ margin-bottom: 2.8svh; font-size: min(1.15vw, 2.05svh); }
  .space-text .body-text{ margin-bottom: 1.6svh; font-size: min(.92vw, 1.65svh); line-height: 1.38; }
  .space-tagline{ margin-top: auto; padding-top: 1.6svh; font-size: min(.72rem, 1.45svh); line-height: 1.6; }

  .space-bottom-row{ padding: 2svh clamp(1.5rem, 4.8vw, 4.7rem) 2.4svh; }
  .features li{ padding: .1svh 0 .1svh .2rem; font-size: min(.66rem, 1.5svh); line-height: 1.5; }
}


@media (min-width: 761px) and (max-width: 1100px){
  .studio-hero{ height: 100vh; height: 100svh; min-height: 0; }
  .idea-section,
  .space-card,
  .noida-section{
    min-height: 100vh; min-height: 100svh;
    box-sizing: border-box;
  }
  .idea-section{ display: flex; flex-direction: column; justify-content: center; }
  .noida-section{ align-items: stretch; }
  .noida-photo{ width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; align-self: stretch; }

  .idea-layout{ grid-template-columns: 1fr; row-gap: 2rem; padding: 3.5rem var(--studio-pad) 2.5rem; }
  .idea-text{ min-height: 0; padding-right: 0; }
  .idea-text .eyebrow{ margin-bottom: 2rem; }
  .idea-text .divider{ margin: 1.8rem 0; }
  .idea-text .divider--lower{ margin-top: 1.8rem; margin-bottom: 0; }
  .idea-text .heading-large{ font-size: clamp(2.6rem, 7vw, 4.2rem); }
  .idea-text .lead-text, .idea-text .body-text{ font-size: 1.05rem; line-height: 1.5; max-width: 42rem; }
  .idea-photo-large{ grid-column: 1; height: auto; width: 100%; aspect-ratio: 4 / 3; }
  .idea-tag{ right: var(--studio-pad); top: 4.5rem; font-size: .75rem; }


  .space-card{ grid-template-columns: 1fr; grid-template-rows: auto auto auto; min-height: 0; }
  .space-text{ padding: 3.5rem var(--studio-pad) 2.5rem; }
  .space-text .heading-large{ margin-top: 2rem; font-size: clamp(2.4rem, 6.4vw, 3.8rem); }
  .space-text .body-text{ font-size: 1rem; max-width: 42rem; }
  .space-photo-large{ aspect-ratio: 4 / 3; }
  .space-bottom-row{ padding: 1.2rem var(--studio-pad) 1.8rem; }


  .noida-text{ padding: 3rem var(--studio-pad) 3rem 3rem; }
  .noida-text .heading-large{ font-size: clamp(2.4rem, 5.6vw, 3.8rem); }
}


@media (min-width: 1101px){

  .space-card{ grid-template-columns: 1fr 33.4%; }
  .space-photo-large{
    grid-column: 1; grid-row: 1; width: 50%; height: 50%;
    align-self: center; justify-self: center;
  }
  .space-text{ grid-column: 2; grid-row: 1; }

  .space-card:nth-child(even){ grid-template-columns: 33.4% 1fr; }
  .space-card:nth-child(even) .space-photo-large{ grid-column: 2; }
  .space-card:nth-child(even) .space-text{ grid-column: 1; }

  .features ul{
    padding: 0;
    display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 2rem;
  }
  .features li{ list-style: disc inside; }
  .features li:nth-child(3n+1){ text-align: left; }
  .features li:nth-child(3n+2){ text-align: center; }
  .features li:nth-child(3n){ text-align: right; }
}


.noida-section{
  display:block; height:100vh; height:100svh; min-height:38rem; overflow:hidden;
  border-top:0; background:#202622; color:#ef3218;
}
.noida-video,.noida-video-shade{position:absolute;inset:0}
.noida-video video{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.78)}
.noida-video-shade{background:linear-gradient(180deg,rgba(10,16,15,.28),rgba(10,16,15,.1) 48%,rgba(10,16,15,.42));pointer-events:none}
.noida-content{position:absolute;inset:0;pointer-events:none;text-align:center}
.noida-content .eyebrow{position:absolute;left:8%;top:38%;margin:0;color:#ef3218;font-family:var(--f-mono);font-size:clamp(.6rem,.9vw,.82rem);letter-spacing:.1em}
.noida-content .heading-large{position:absolute;top:4%;left:50%;width:min(86%,70rem);margin:0;transform:translateX(-50%);color:#ef3218;font-family:var(--f-sans);font-size:clamp(4rem,10.5vw,5.5rem);font-weight:500;line-height:.78;letter-spacing:-.075em;text-align:center;text-transform:uppercase}
.noida-content .heading-large strong{font-weight:500}
.noida-copy{position:absolute;left:50%;bottom:13%;width:min(42rem,70%);transform:translateX(-50%);color:#ef3218}
.noida-copy .serif-text{margin:.2rem 0;font-family:var(--f-mono);font-size:clamp(.62rem,.9vw,.82rem);font-weight:500;line-height:1.35;letter-spacing:.06em;}
.noida-content .address-block{position:absolute;left:50%;bottom:4%;margin:0;transform:translateX(-50%);align-items:center;color:#ef3218}
.noida-content .address-block svg{display:none}
.noida-content .caption-text{font-family:var(--f-mono);font-size:.66rem;color:inherit;text-align:center}
.noida-content .directions-link{position:absolute;right:8%;top:38%;margin:0;color:#fff;border-color:transparent;pointer-events:auto}
.noida-content .directions-link:hover,
.noida-content .directions-link:focus-visible{border-bottom-color:currentColor}
.noida-side-copy{position:absolute;right:7%;top:52%;width:14%;color:#ef3218;font-family:var(--f-mono);font-size:clamp(.55rem,.7vw,.72rem);line-height:1.8;letter-spacing:.08em;white-space:pre-line}
.noida-gallery{position:absolute;left:var(--studio-pad);bottom:2rem}
.noida-section .gallery-open{color:#ef3218;border-color:#ef3218}
@media(max-width:760px){
  .noida-section{height:88svh;min-height:38rem}
  .noida-content .heading-large{top:10%;width:92%;font-size:clamp(3.5rem,16vw,6rem)}
  .noida-content .eyebrow{top:36%;left:7%;font-size:.58rem}
  .noida-content .directions-link{top:36%;right:6%;font-size:.55rem;gap:.35rem}
  .noida-side-copy{display:none}
  .noida-copy{bottom:18%;width:86%}
  .noida-copy .serif-text{font-size:.65rem}
  .noida-content .address-block{bottom:8%}
}


@media (min-width: 761px) and (max-width: 1100px){
  .space-card{ grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto; }
  .space-photo-large{
    grid-column: 1; grid-row: 1; width: 80%; height: auto; aspect-ratio: 4 / 3;
    align-self: center; justify-self: center;
  }
  .space-text{ grid-column: 2; grid-row: 1; padding: 3rem 2rem 2.5rem; align-self: center; }
  .space-card:nth-child(even) .space-photo-large{ grid-column: 2; }
  .space-card:nth-child(even) .space-text{ grid-column: 1; }

  .features ul{ padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 1.5rem; }
  .features li{ list-style: disc inside; }
  .features li:nth-child(3n+1){ text-align: left; }
  .features li:nth-child(3n+2){ text-align: center; }
  .features li:nth-child(3n){ text-align: right; }
}


.space-text .eyebrow{ margin-bottom: 1.4rem; }


@media (min-width: 1101px){
  .space-text{ align-self: center; }
  .space-text .space-tagline{ margin-top: auto; padding-top: 2.5svh; }
}


@media (min-width: 761px) and (max-width: 1100px){
  .idea-layout{ grid-template-columns: 1fr 1fr; column-gap: 2rem; padding: 3rem 2rem 2.5rem; }
  .idea-text{ grid-column: 1; grid-row: 1; }
  .idea-photo-large{ grid-column: 2; grid-row: 1; width: 100%; align-self: center; justify-self: end; }
}


.noida-text .heading-large {
  font-size: clamp(2.2rem, 4vw, 4.1rem);
}

.noida-text .serif-text {
  font-size: clamp(0.84rem, 0.92vw, 0.95rem);
  line-height: 1.5;
}




@media (min-width: 1101px) {
  .noida-photo {
    width: 61.4%;
    height: 45svh;
  }
}



@media (min-width: 1101px) and (min-height: 560px) {
  .noida-text .eyebrow {
    font-size: min(0.72rem, 1.6svh);
  }

  .noida-text .heading-large {
    font-size: min(4vw, 5.4svh);
    line-height: 0.98;
  }

  .noida-text .serif-text {
    font-size: min(0.92vw, 1.65svh);
    line-height: 1.38;
  }

  .noida-text .caption-text {
    font-size: min(0.72rem, 1.45svh);
    line-height: 1.6;
  }
}




@media (min-width: 761px) and (max-width: 1100px) {
  .noida-photo {
    width: 74%;
    height: auto;
    aspect-ratio: 4 / 3;
    align-self: center;
    justify-self: center;
  }

  .noida-text .heading-large {
    font-size: clamp(2.4rem, 6.4vw, 3.8rem);
  }

  .noida-text .serif-text {
    font-size: 1rem;
  }
}
@media (min-width: 761px) and (max-width: 1100px){
  .idea-section,
  .noida-section{ min-height: 0; }
}
@media (min-width: 1101px){
  .space-card:nth-child(even) .space-text{
    padding-left: 14vw;  
    padding-right: 0;
  }
}
