
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');
:root{--ink:#f0ede8;--muted:#aaa5b1;--black:#07070a;--panel:#100e16;--violet:#8f77ff;--line:rgba(255,255,255,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ink);font-family:Inter,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;background:rgba(7,7,10,.88);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.brand{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:600}.nav{display:flex;gap:1.4rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.nav a:hover{color:white}.hero{min-height:55vh;padding:9rem 6vw 5rem;display:flex;align-items:end;background:radial-gradient(circle at 80% 20%,rgba(143,119,255,.18),transparent 35%),linear-gradient(140deg,#07070a,#100e16)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--violet);font-size:.7rem}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,9vw,8rem);line-height:.86;margin:.5rem 0 1rem;font-weight:400}.hero p{max-width:680px;color:var(--muted);line-height:1.8;font-size:1.05rem}.wrap{width:min(1280px,90vw);margin:auto;padding:6rem 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{min-height:520px;position:relative;overflow:hidden;border:1px solid var(--line);background:#111019}.card img{width:100%;height:100%;object-fit:cover;transition:.7s}.card:hover img{transform:scale(1.04)}.shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 70%)}.card-copy{position:absolute;left:1.6rem;right:1.6rem;bottom:1.6rem}.card h2,.project h2{font-family:'Cormorant Garamond',serif;font-size:2.3rem;margin:.2rem 0}.card p,.project p{color:#c3bec9;line-height:1.6}.gallery{columns:3 300px;column-gap:1rem}.tile{margin:0 0 1rem;break-inside:avoid;overflow:hidden;background:#111;border:1px solid var(--line);cursor:zoom-in}.tile img{width:100%;height:auto;transition:.4s}.tile:hover img{transform:scale(1.015)}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.project{padding:2rem;border:1px solid var(--line);background:linear-gradient(145deg,#111019,#0a090d);min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.project .num{color:var(--violet);letter-spacing:.18em;font-size:.7rem}.project .go{margin-top:2rem;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem}.project.disabled{opacity:.55}.footer{padding:3rem 5vw;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;place-items:center;padding:3vw;z-index:100}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.close{position:absolute;right:2rem;top:1.5rem;background:none;border:0;color:white;font-size:2rem;cursor:pointer}.backbar{position:sticky;top:0;z-index:999;background:#08080c;color:#eee;padding:.75rem 1rem;font:600 12px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.14)}
@media(max-width:850px){.cards,.projects{grid-template-columns:1fr}.card{min-height:460px}.nav{gap:.7rem}.nav a:nth-child(n+3){display:none}.hero{padding-top:7rem}.wrap{padding:4rem 0}}

/* v2 gallery lightbox */
.lightbox{grid-template-columns:72px minmax(0,1fr) 72px;align-items:center}
.lightbox .lb-image{max-width:100%;max-height:90vh;margin:auto}
.lightbox .prev,.lightbox .next{border:1px solid rgba(255,255,255,.24);background:rgba(10,10,14,.62);color:#fff;width:54px;height:54px;border-radius:50%;font-size:2rem;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(8px)}
.lightbox .prev:hover,.lightbox .next:hover{background:rgba(143,119,255,.28);border-color:rgba(143,119,255,.75)}
.lightbox .counter{position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#bbb6c2}
.tile img{cursor:zoom-in}
@media(max-width:700px){.lightbox{grid-template-columns:46px minmax(0,1fr) 46px;padding:1rem}.lightbox .prev,.lightbox .next{width:40px;height:40px;font-size:1.4rem}.close{right:1rem;top:.75rem}}

/* Master package v3 */
.cards{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.card{min-height:520px}
.family-card{background:#09090c}.family-card img{object-fit:contain!important;object-position:center center!important}
.wonder-card img{object-fit:cover;object-position:center}.projection-card img{object-fit:cover;object-position:center 28%}
.boudoir-card img{object-fit:cover;object-position:center center}
.visual-card{background:linear-gradient(145deg,#111019,#07070a)}
.visual-orb{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:min(72%,340px);aspect-ratio:1;border-radius:50%;
background:radial-gradient(circle at 43% 38%,rgba(221,214,255,.55) 0 3%,rgba(175,154,255,.34) 11%,rgba(124,92,218,.20) 28%,rgba(72,45,142,.10) 50%,rgba(16,10,30,0) 76%);
filter:blur(14px);box-shadow:0 0 70px rgba(143,119,255,.13)}
.boudoir-hero{background:radial-gradient(circle at 75% 25%,rgba(112,18,28,.27),transparent 38%),linear-gradient(140deg,#07070a,#16090d)}
@media(max-width:1250px){.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.cards{grid-template-columns:1fr}.family-card img{height:auto;max-height:620px}.nav a:nth-child(n){display:none}.nav a:first-child{display:inline}}

/* Master package v3.1 studio-card refinements */
.family-card,.wonder-card,.boudoir-card{
  display:grid;
  grid-template-rows:minmax(0,62%) minmax(0,38%);
  min-height:560px;
  background:#09090c;
}
.family-card img,.wonder-card img,.boudoir-card img{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  transform:none!important;
}
.family-card img{object-position:center top!important}
.wonder-card img{object-position:center center!important}
.boudoir-card img{object-position:center 32%!important}
.family-card .shade,.wonder-card .shade,.boudoir-card .shade{
  display:none;
}
.family-card .card-copy,.wonder-card .card-copy,.boudoir-card .card-copy{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  padding:1.35rem 1.45rem 1.55rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg,#0c0b10,#08080b);
}
.family-card:hover img,.wonder-card:hover img,.boudoir-card:hover img{
  transform:none!important;
}
@media(max-width:850px){
  .family-card,.wonder-card,.boudoir-card{
    grid-template-rows:auto auto;
    min-height:0;
  }
  .family-card img,.wonder-card img,.boudoir-card img{
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center top!important;
  }
}

/* Master package v3.2 refinements */
.projection-card img{
  object-fit:cover!important;
  object-position:center 42%!important;
}
.family-card img{
  object-fit:cover!important;
  object-position:center 38%!important;
}
@media(max-width:850px){
  .projection-card img,
  .family-card img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* Master package v3.3 */
.cards{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.card,
.projection-card,
.family-card,
.wonder-card,
.boudoir-card,
.visual-card{
  display:grid!important;
  grid-template-rows:320px minmax(250px,1fr)!important;
  min-height:570px!important;
  height:100%!important;
  position:relative!important;
  overflow:hidden!important;
  background:#09090c!important;
}
.projection-card img,
.family-card img,
.wonder-card img,
.boudoir-card img{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:320px!important;
  max-height:320px!important;
  object-fit:cover!important;
  transform:none!important;
}
.projection-card img{
  object-position:center 46%!important;
}
.family-card img{
  object-position:center 42%!important;
}
.wonder-card img{
  object-position:center center!important;
}
.boudoir-card img{
  object-position:center 28%!important;
}
.card .shade{
  display:none!important;
}
.card .card-copy{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  min-height:250px!important;
  padding:1.35rem 1.35rem 1.6rem!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  background:linear-gradient(180deg,#0d0c11,#08080b)!important;
}
.card .card-copy .eyebrow{
  margin:0 0 .6rem!important;
}
.card .card-copy h2{
  margin:0 0 .75rem!important;
}
.visual-card{
  grid-template-rows:320px minmax(250px,1fr)!important;
}
.visual-card .visual-orb{
  position:relative!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:220px!important;
  height:220px!important;
  align-self:center!important;
  justify-self:center!important;
}
.visual-card .card-copy{
  grid-row:2!important;
}
.lightbox .lb-image{
  width:min(82vw,1120px)!important;
  height:82vh!important;
  max-width:min(82vw,1120px)!important;
  max-height:82vh!important;
  object-fit:contain!important;
}
.gallery-grid figure img{
  cursor:zoom-in!important;
}
@media(max-width:1250px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .cards{grid-template-columns:1fr!important}
  .card,
  .projection-card,
  .family-card,
  .wonder-card,
  .boudoir-card,
  .visual-card{
    grid-template-rows:auto auto!important;
    min-height:0!important;
  }
  .projection-card img,
  .family-card img,
  .wonder-card img,
  .boudoir-card img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .visual-card .visual-orb{
    margin:3rem auto!important;
  }
  .lightbox .lb-image{
    width:76vw!important;
    height:76vh!important;
  }
}

/* Master package v3.4 — aligned studio captions */
.cards {
  align-items: stretch !important;
}
.card .card-copy {
  display: grid !important;
  grid-template-rows: 1.15rem 6.6rem minmax(7.4rem, 1fr) !important;
  align-content: start !important;
  gap: .45rem !important;
  min-height: 265px !important;
}
.card .card-copy .eyebrow {
  align-self: start !important;
  margin: 0 !important;
}
.card .card-copy h2 {
  align-self: start !important;
  margin: 0 !important;
  line-height: 1.02 !important;
  display: flex !important;
  align-items: flex-start !important;
}
.card .card-copy > p:last-child {
  align-self: start !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}
.projection-card img {
  object-fit: cover !important;
  object-position: center 42% !important;
}
@media (max-width: 850px) {
  .card .card-copy {
    grid-template-rows: auto auto auto !important;
    min-height: 0 !important;
  }
}

/* v3.5-from-v3.4 launch flow */
.top{transition:transform .35s ease,opacity .35s ease}
.top.header-hidden{transform:translateY(-120%);opacity:0}
.inner-brand{display:flex!important;flex-direction:column;align-items:flex-start;gap:.16rem}
.inner-brand small{font-size:.54rem;font-weight:300;letter-spacing:.2em;opacity:.58}
.projection-hero{
  background:radial-gradient(circle at 78% 22%,rgba(143,119,255,.2),transparent 32%),
             linear-gradient(140deg,#07070a,#100e16)
}
.floating-studios-cta{
  position:fixed;right:1.5rem;bottom:1.5rem;z-index:80;
  display:flex;align-items:center;gap:.75rem;padding:1rem 1.3rem;
  border:1px solid rgba(255,224,151,.68);
  background:linear-gradient(135deg,#9b6a20,#d4a64d);
  color:#09080a;text-transform:uppercase;letter-spacing:.14em;
  font-size:.69rem;font-weight:600;
  box-shadow:0 0 22px rgba(201,152,62,.36),0 0 52px rgba(201,152,62,.18)
}
@media(max-width:850px){
  .floating-studios-cta{right:1rem;bottom:1rem;padding:.9rem 1rem}
}
