/* Editable styles for the VIPMINDS page.
   Main colors are in :root at the top.
   Images extracted from embedded base64 are in /assets. */

:root {
  --dark:#07141a;
  --navy:#0b1d25;
  --ink:#14252d;
  --cream:#f7f4ee;
  --paper:#fbfaf7;
  --green:#66f6a4;
  --muted:#6e7a7f;
  --line:rgba(20, 37, 45, .14)
}

* {
  box-sizing:border-box
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter, Arial, sans-serif
}

a {
  text-decoration:none;
  color:inherit
}


.nav {
  height:76px;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 54px;
  background:rgba(7, 20, 26, .94);
  color:#fff;
  border-bottom:1px solid rgba(102, 246, 164, .18);
  backdrop-filter:blur(18px);
  max-width: 100vw;
}

.logo {
  font-weight:900;
  font-size:22px;
  letter-spacing:-.04em
}

.links {
  display:flex;
  gap:28px;
  align-items:center
}

.links a {
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#dfe8e5
}

.links .brief {
  border:1px solid var(--green);
  color:var(--green);
  padding:14px 22px;
  font-weight:900
}

.hero {
  min-height:100vh;
  background:var(--dark);
  color:#fff;
  display:grid;
  grid-template-columns:42% 58%;
  gap:44px;
  padding:118px 54px 54px;
  position:relative;
  overflow:hidden;
  
}

.hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(102, 246, 164, .16), transparent 30%), linear-gradient(90deg, rgba(7, 20, 26, 1), rgba(7, 20, 26, .82) 45%, rgba(7, 20, 26, .96));
  z-index:0
}

.hero-copy, .hero-gallery {
  position:relative;
  z-index:1;
  align-self:center
}

.micro {
  font-size:10px;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:26px
}

.hero h1 {
  font-family:Georgia, serif;
  font-size:clamp(54px, 7vw, 116px);
  font-weight:400;
  letter-spacing:-.06em;
  line-height:.9;
  margin:0
}

.hero h1 em {
  font-style:italic;
  color:var(--green)
}

.hero p {
  max-width:520px;
  color:#c2cfcd;
  line-height:1.75;
  font-size:16px;
  margin:30px 0
}

.btns {
  display:flex;
  gap:14px;
  flex-wrap:wrap
}

.btn {
  display:inline-flex;
  gap:16px;
  align-items:center;
  background:var(--green);
  border:1px solid var(--green);
  color:#092027;
  font-weight:900;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:17px 26px
}

.btn.alt {
  background:transparent;
  color:var(--green)
}

.hero-gallery {
  min-height:620px
}

.slash {
  position:absolute;
  left:4%;
  top:2%;
  width:6px;
  height:92%;
  background:var(--green);
  transform:skewX(-8deg);
  box-shadow:0 0 40px rgba(102, 246, 164, .55)
}

.tile {
  position:absolute;
  background:#ddd;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0, 0, 0, .45);
  border:1px solid rgba(255, 255, 255, .18)
}

.tile img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(100%) contrast(1.08);
  transition:.45s
}

.tile:hover img {
  filter:grayscale(0%);
  transform:scale(1.03)
}

.t1 {
  left:13%;
  top:3%;
  width:58%;
  height:47%
}

.t2 {
  right:0;
  top:20%;
  width:46%;
  height:38%
}

.t3 {
  left:0;
  bottom:7%;
  width:48%;
  height:36%
}

.t4 {
  right:8%;
  bottom:0;
  width:50%;
  height:40%
}

.label {
  position:absolute;
  right:2%;
  bottom:44%;
  background:rgba(7, 20, 26, .82);
  border:1px solid rgba(102, 246, 164, .5);
  padding:18px 24px;
  color:#fff;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  backdrop-filter:blur(10px)
}

.section {
  padding:92px 54px;
  border-bottom:1px solid var(--line)
}

.cream {
  background:var(--cream)
}

.dark {
  background:var(--navy);
  color:#fff;
  border-color:rgba(255, 255, 255, .08)
}

.split {
  display:grid;
  grid-template-columns:36% 60%;
  gap:70px;
  max-width: 100%;
  align-items:center
}

.kicker {
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#14a767;
  margin-bottom:20px
}

.title {
  font-family:Georgia, serif;
  font-weight:400;
  font-size:clamp(42px, 5vw, 82px);
  line-height:.95;
  letter-spacing:-.055em;
  margin:0
}

.copy {
  color:#4f5a5f;
  line-height:1.8;
  font-size:16px
}

.dark .copy {
  color:#b7c7c4
}

.studio {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px
}

.studio img {
  width:100%;
  height:250px;
  object-fit:cover;
  filter:grayscale(100%)
}

.studio>img {
  height:514px
}

.studio div {
  display:grid;
  gap:14px
}

.green-line {
  height:3px;
  background:var(--green);
  width:80%;
  margin:14px 0 0 auto;
  transform:skewX(-20deg)
}

.proof {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  padding:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}

.proof div {
  padding:36px 32px;
  border-right:1px solid var(--line)
}

.proof strong {
  font-family:Georgia, serif;
  font-size:46px;
  font-weight:400;
  color:#16b76c;
  display:block;
  margin-bottom:8px
}

.proof span {
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#59656b;
  line-height:1.6
}

.caps {
  display:grid;
  grid-template-columns:34% 62%;
  gap:70px
}

.cap-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 38px
}

.cap {
  display:grid;
  grid-template-columns:44px 1fr 22px;
  align-items:center;
  border-bottom:1px solid rgba(255, 255, 255, .14);
  padding:20px 0
}

.cap:nth-child(1), .cap:nth-child(2) {
  border-top:1px solid rgba(255, 255, 255, .14)
}

.cap b {
  font-size:11px;
  color:var(--green);
  letter-spacing:.22em
}

.cap span {
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase
}

.work-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:44px
}

.work-head p {
  max-width:390px;
  text-align:right;
  color:#687277;
  line-height:1.7
}

.work-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:28px
}

.work-card {
  position:relative
}

.work-card:before {
  content:attr(data-n);
  position:absolute;
  top:-24px;
  left:14px;
  color:var(--green);
  font-family:Georgia, serif;
  font-size:22px;
  z-index:2
}

.work-img {
  height:320px;
  overflow:hidden;
  background:#e8e3db
}

.work-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(100%);
  transition:.45s
}

.work-card:hover img {
  filter:grayscale(0%);
  transform:scale(1.04)
}

.work-card small {
  display:block;
  margin:20px 0 8px;
  color:#13a466;
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase
}

.work-card h3 {
  font-family:Georgia, serif;
  font-weight:400;
  font-size:31px;
  margin:0 0 8px
}

.work-card p {
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#687277;
  line-height:1.6;
  margin:0
}

.clients {
  display:grid;
  grid-template-columns:30% 70%;
  gap:50px
}

.client-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  border-top:1px solid rgba(255, 255, 255, .13);
  border-left:1px solid rgba(255, 255, 255, .13)
}

.client-grid span {
  min-height:72px;
  display:grid;
  place-items:center;
  text-align:center;
  border-right:1px solid rgba(255, 255, 255, .13);
  border-bottom:1px solid rgba(255, 255, 255, .13);
  font-size:13px;
  color:#dce7e5
}

.industries {
  columns:3;
  column-gap:48px
}

.industries span {
  display:block;
  border-bottom:1px solid var(--line);
  padding:13px 0;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase
}

.industries span:before {
  content:"›";
  color:#15bd72;
  margin-right:12px
}

.team {
  display:grid;
  grid-template-columns:36% 60%;
  gap:60px;
  align-items:center
}

.values {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px
}

.value {
  border-top:1px solid rgba(102, 246, 164, .45);
  padding-top:22px
}

.value h3 {
  font-family:Georgia, serif;
  font-size:26px;
  font-weight:400;
  margin:0 0 12px
}

.value p {
  color:#b8c6c5;
  line-height:1.7;
  font-size:14px
}

.final {
  display:grid;
  grid-template-columns:42% 58%;
  align-items:center;
  padding:0
}

.final-copy {
  padding:70px 54px
}

.final h2 {
  font-family:Georgia, serif;
  font-size:54px;
  font-weight:400;
  line-height:.95;
  margin:0 0 24px
}

.final em {
  font-style:normal;
  color:var(--green)
}

.final-img {
  height:330px;
  background:url('assets/image-09.jpg') center/cover no-repeat;
  filter:grayscale(100%);
  position:relative
}

.final-img:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7, 20, 26, .88), transparent)
}

footer {
  background:var(--dark);
  color:white;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:40px;
  padding:45px 54px
}

.foot-logo {
  font-weight:900;
  font-size:22px
}

.foot small {
  display:block;
  color:#aebdbc;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom:12px
}

@media(max-width:1000px) {
  .links a:not(.brief) {
    display:none
  }

  .hero, .split, .caps, .clients, .team, .final {
    grid-template-columns:1fr
  }

  .hero-gallery {
    min-height:540px
  }

  .cap-list, .work-grid, .client-grid, .values, .proof {
    grid-template-columns:1fr 1fr
  }

  .industries {
    columns:2
  }

  .work-head {
    display:block
  }

  .work-head p {
    text-align:left
  }

  footer {
    grid-template-columns:1fr 1fr
  }

}

@media(max-width:640px) {
  .nav {
    padding:0 22px
  }

  .hero, .section, .final-copy {
    padding-left:24px;
    padding-right:24px
  }

  .hero h1 {
    font-size:54px
  }

  .cap-list, .work-grid, .client-grid, .values, .proof {
    grid-template-columns:1fr
  }

  .studio {
    grid-template-columns:1fr
  }

  .studio>img {
    height:260px
  }

  .industries {
    columns:1
  }

  footer {
    grid-template-columns:1fr
  }

  .tile {
    position:relative;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:230px!important;
    margin-bottom:16px
  }

  .hero-gallery {
    min-height:auto
  }

  .slash, .label {
    display:none
  }

}

/* === OPTION 2: FULL BANNER HERO + CLASSY LOCATIONS === */
.hero.hero-banner {
  min-height:100vh;
  display:block;
  padding:0;
  background:var(--dark);
  overflow:hidden;
  position:relative;
  color:#fff;
  border-bottom:1px solid rgba(102, 246, 164, .18)
}

.hero.hero-banner:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 72% 18%, rgba(102, 246, 164, .18), transparent 32%), linear-gradient(90deg, rgba(7, 20, 26, .98) 0%, rgba(7, 20, 26, .82) 34%, rgba(7, 20, 26, .42) 63%, rgba(7, 20, 26, .96) 100%);
  z-index:4;
  pointer-events:none
}

.banner-bg {
  position:absolute;
  inset:0;
  z-index:1
}

.banner-bg .banner-img {
  position:absolute;
  overflow:hidden;
  border:1px solid rgba(255, 255, 255, .18);
  box-shadow:0 40px 120px rgba(0, 0, 0, .48);
  background:#111
}

.banner-bg img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(100%) contrast(1.08);
  opacity:.94
}

.banner-main {
  right:0;
  top:76px;
  width:72%;
  height:72%;
  border-left:1px solid rgba(102, 246, 164, .4)!important
}

.banner-float-a {
  right:8%;
  bottom:8%;
  width:39%;
  height:31%;
  z-index:2
}

.banner-float-b {
  left:52%;
  top:17%;
  width:26%;
  height:30%;
  z-index:3
}

.banner-float-c {
  right:2%;
  top:35%;
  width:24%;
  height:28%;
  z-index:3
}

.banner-slash {
  position:absolute;
  left:43%;
  top:10%;
  width:6px;
  height:78%;
  background:var(--green);
  transform:skewX(-8deg);
  box-shadow:0 0 55px rgba(102, 246, 164, .6);
  z-index:5
}

.banner-copy {
  position:relative;
  z-index:6;
  min-height:100vh;
  width:46%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:130px 0 88px 54px
}

.banner-copy h1 {
  font-family:Georgia, serif;
  font-weight:400;
  font-size:clamp(58px, 7vw, 118px);
  line-height:.88;
  letter-spacing:-.06em;
  margin:0
}

.banner-copy h1 em {
  font-style:italic;
  color:var(--green)
}

.banner-copy p {
  max-width:520px;
  color:#c4d0ce;
  line-height:1.78;
  font-size:16px;
  margin:30px 0
}

.banner-meta {
  position:absolute;
  left:54px;
  right:54px;
  bottom:32px;
  z-index:7;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:34px;
  align-items:center;
  color:#dfe9e6
}

.banner-meta:before, .banner-meta:after {
  content:"";
  height:1px;
  background:rgba(102, 246, 164, .35)
}

.banner-meta span {
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--green);
  white-space:nowrap
}

.banner-luxury-label {
  position:absolute;
  right:6%;
  bottom:27%;
  z-index:7;
  background:rgba(7, 20, 26, .82);
  border:1px solid rgba(102, 246, 164, .5);
  padding:20px 28px;
  color:#fff;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  backdrop-filter:blur(10px)
}

.team {
  grid-template-columns:34% 62%;
 
}

.team .values {
  align-self:stretch
}

.team .value {
  border:1px solid rgba(102, 246, 164, .20);
  padding:30px;
  min-height:210px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01))
}

.team .value h3 {
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:20px;
  color:#fff
}

.team .value p {
  margin:0;
  color:#b8c6c5
}

.locations {
  position:relative;
  overflow:hidden
}

.locations .location-intro {
  display:grid;
  grid-template-columns:37% 1fr;
  gap:70px;
  align-items:end;
  margin-bottom:54px
}

.locations .location-intro p {
  max-width:520px
}

.map-wrap {
  position:relative;
  min-height:510px;
  border:1px solid rgba(102, 246, 164, .22);
  background:radial-gradient(circle at 20% 55%, rgba(102, 246, 164, .15), transparent 18%), radial-gradient(circle at 55% 47%, rgba(102, 246, 164, .10), transparent 22%), linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01));
  overflow:hidden;
  box-shadow:inset 0 0 90px rgba(0, 0, 0, .35)
}

.map-wrap:before {
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255, 255, 255, .18) 1px,  transparent 1.2px);
  background-size:10px 10px;
  opacity:.28
}

.map-line {
  position:absolute;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--green), transparent);
  opacity:.7;
  transform-origin:left center;
  box-shadow:0 0 20px rgba(102, 246, 164, .55)
}

.line-1 {
  left:22%;
  top:59%;
  width:31%;
  transform:rotate(-12deg)
}

.line-2 {
  left:52%;
  top:52%;
  width:32%;
  transform:rotate(-8deg)
}

.pin {
  position:absolute;
  z-index:3;
  transform:translate(-50%, -50%);
  text-align:center
}

.pin .dot {
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 10px rgba(102, 246, 164, .12), 0 0 35px rgba(102, 246, 164, .85);
  margin:0 auto 18px
}

.pin strong {
  display:block;
  font-size:14px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:8px
}

.pin small {
  display:block;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#9fb1ad
}

.beverly {
  left:16%;
  top:61%
}

.vegas {
  left:45%;
  top:53%
}

.beirut {
  left:82%;
  top:43%
}

.map-label {
  position:absolute;
  left:34px;
  top:30px;
  color:rgba(255, 255, 255, .22);
  font-family:Georgia, serif;
  font-size:92px;
  letter-spacing:-.06em
}

.map-label em {
  color:rgba(102, 246, 164, .26);
  font-style:normal
}

.location-cards {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
  margin-top:26px
}

.location-card {
  border-top:1px solid rgba(102, 246, 164, .42);
  padding-top:22px
}

.location-card h3 {
  font-family:Georgia, serif;
  font-weight:400;
  font-size:32px;
  margin:0 0 10px;
  color:#fff
}

.location-card p {
  color:#b7c7c4;
  line-height:1.7;
  margin:0;
  font-size:14px
}

@media(max-width:1000px) {
  .hero.hero-banner {
    min-height:auto
  }

  .banner-copy {
    width:100%;
    min-height:70vh;
    padding:120px 24px 54px
  }

  .banner-bg {
    position:relative;
    height:620px
  }

  .banner-main {
    left:5%;
    right:auto;
    top:0;
    width:90%;
    height:56%
  }

  .banner-float-a {
    left:8%;
    right:auto;
    bottom:10%;
    width:56%;
    height:34%
  }

  .banner-float-b {
    left:50%;
    top:26%;
    width:44%;
    height:26%
  }

  .banner-float-c {
    right:4%;
    top:58%;
    width:38%;
    height:28%
  }

  .banner-slash {
    left:4%;
    top:52%;
    height:38%
  }

  .banner-meta {
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    padding:28px 24px
  }

  .banner-luxury-label {
    right:24px;
    bottom:140px
  }

  .locations .location-intro {
    grid-template-columns:1fr
  }

  .location-cards {
    grid-template-columns:1fr
  }

  .map-wrap {
    min-height:430px
  }

  .map-label {
    font-size:56px
  }

  .pin strong {
    font-size:11px
  }

  .line-1, .line-2 {
    display:none
  }

}

@media(max-width:640px) {
  .banner-copy h1 {
    font-size:54px
  }

  .banner-bg {
    height:520px
  }

  .banner-luxury-label {
    display:none
  }

  .banner-meta {
    display:block
  }

  .banner-meta:before, .banner-meta:after {
    display:none
  }

  .map-wrap {
    min-height:520px
  }

  .beverly {
    left:28%;
    top:68%
  }

  .vegas {
    left:50%;
    top:55%
  }

  .beirut {
    left:70%;
    top:36%
  }

}

/* === REFINED FULL VIDEO BANNER + TEAM ILLUSTRATION OPTION === */
.hero.hero-banner.video-hero {
  min-height:100vh;
  display:grid;
  grid-template-columns:42% 58%;
  gap:54px;
  align-items:center;
  padding:120px 54px 58px;
  background:var(--dark);
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(102, 246, 164, .18)
}

.hero.hero-banner.video-hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 74% 20%, rgba(102, 246, 164, .18), transparent 34%), linear-gradient(90deg, rgba(7, 20, 26, .98), rgba(7, 20, 26, .86) 38%, rgba(7, 20, 26, .72));
  z-index:1;
  pointer-events:none
}

.video-copy {
  position:relative;
  z-index:3
}

.video-copy h1 {
  font-family:Georgia, serif;
  font-size:clamp(56px, 7.1vw, 112px);
  font-weight:400;
  letter-spacing:-.065em;
  line-height:.9;
  margin:0
}

.video-copy h1 em {
  color:var(--green);
  font-style:italic
}

.video-copy p {
  max-width:520px;
  color:#c2cfcd;
  line-height:1.75;
  font-size:16px;
  margin:30px 0
}

.video-stage {
  position:relative;
  z-index:2;
  min-height:660px;
  display:grid;
  place-items:center
}

.video-frame {
  position:relative;
  width:100%;
  height:74vh;
  min-height:570px;
  border:1px solid rgba(255, 255, 255, .16);
  overflow:hidden;
  box-shadow:0 44px 140px rgba(0, 0, 0, .48);
  background:#0d171d
}

.video-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(100%) contrast(1.08) brightness(.78);
  transform:scale(1.02)
}

.video-frame:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7, 20, 26, .35), transparent 40%, rgba(7, 20, 26, .2)), radial-gradient(circle at 68% 32%, rgba(102, 246, 164, .16), transparent 30%);
  z-index:1
}

.video-frame:after {
  content:"";
  position:absolute;
  left:-35%;
  top:0;
  width:34%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent);
  transform:skewX(-18deg);
  animation:shine 7s ease-in-out infinite;
  z-index:2
}

.video-play {
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:118px;
  height:118px;
  border-radius:50%;
  border:1px solid rgba(102, 246, 164, .78);
  display:grid;
  place-items:center;
  background:rgba(7, 20, 26, .42);
  backdrop-filter:blur(12px);
  box-shadow:0 0 38px rgba(102, 246, 164, .18)
}

.video-play span {
  display:block;
  width:0;
  height:0;
  border-top:17px solid transparent;
  border-bottom:17px solid transparent;
  border-left:26px solid var(--green);
  margin-left:7px
}

.video-caption {
  position:absolute;
  left:34px;
  bottom:30px;
  z-index:4;
  color:#fff
}

.video-caption small {
  display:block;
  color:var(--green);
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  margin-bottom:12px
}

.video-caption strong {
  display:block;
  font-family:Georgia, serif;
  font-size:44px;
  font-weight:400;
  letter-spacing:-.04em
}

.video-note {
  position:absolute;
  right:28px;
  top:28px;
  z-index:4;
  border:1px solid rgba(102, 246, 164, .45);
  padding:14px 18px;
  color:#dfe8e5;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  background:rgba(7, 20, 26, .56);
  backdrop-filter:blur(10px)
}

.video-slash {
  position:absolute;
  left:-22px;
  top:8%;
  width:6px;
  height:84%;
  background:var(--green);
  transform:skewX(-8deg);
  box-shadow:0 0 45px rgba(102, 246, 164, .55);
  z-index:5
}

.video-locations {
  position:absolute;
  left:0;
  bottom:8px;
  z-index:3;
  display:flex;
  gap:18px;
  color:#fff;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase
}

.video-locations span:not(:last-child):after {
  content:"/";
  color:var(--green);
  margin-left:18px
}

@keyframes shine {
  0%, 55% {
    transform:translateX(0) skewX(-18deg);
    opacity:0
  }

  68% {
    opacity:1
  }

  100% {
    transform:translateX(430%) skewX(-18deg);
    opacity:0
  }

}

.team .value {
  position:relative;
  overflow:hidden
}

.team-icon {
  width:62px;
  height:62px;
  margin-bottom:26px;
  color:var(--green);
  display:block
}

.team-icon svg {
  width:100%;
  height:100%;
  stroke:currentColor;
  fill:none;
  stroke-width:1.45
}

.team .value:before {
  content:"";
  position:absolute;
  right:-34px;
  top:-34px;
  width:120px;
  height:120px;
  border:1px solid rgba(102, 246, 164, .12);
  border-radius:50%
}

.team .value:after {
  content:"";
  position:absolute;
  right:24px;
  bottom:24px;
  width:32px;
  height:1px;
  background:rgba(102, 246, 164, .55)
}

@media(max-width:1000px) {
  .hero.hero-banner.video-hero {
    grid-template-columns:1fr;
    padding:116px 24px 42px
  }

  .video-stage {
    min-height:auto
  }

  .video-frame {
    height:56vh;
    min-height:420px
  }

  .video-slash {
    left:10px;
    height:50%;
    top:45%
  }

  .video-locations {
    position:relative;
    margin-top:26px;
    bottom:auto
  }

  .video-caption strong {
    font-size:34px
  }

}

@media(max-width:640px) {
  .video-copy h1 {
    font-size:54px
  }

  .video-frame {
    min-height:360px
  }

  .video-play {
    width:86px;
    height:86px
  }

  .video-caption {
    left:22px;
    bottom:22px
  }

  .video-caption strong {
    font-size:28px
  }

  .video-note {
    display:none
  }

  .team-icon {
    width:52px;
    height:52px
  }

}

/* === CELLO HERO OPTION — GENERAL CLASSY VIDEO PLACEHOLDER === */
.cello-hero {
  grid-template-columns:42% 58%;
  background:linear-gradient(135deg, #061116 0%, #0b1d25 52%, #07141a 100%)
}

.cello-hero:before {
  background:radial-gradient(circle at 78% 22%, rgba(102, 246, 164, .18), transparent 32%), radial-gradient(circle at 30% 80%, rgba(255, 255, 255, .045), transparent 28%), linear-gradient(90deg, rgba(7, 20, 26, 1), rgba(7, 20, 26, .88) 38%, rgba(7, 20, 26, .62))!important
}

.cello-frame {
  background:linear-gradient(140deg, #050d11, #0e222b 48%, #07141a)!important;
  display:grid;
  place-items:center;
  isolation:isolate
}

.cello-frame img {
  display:none!important
}

.cello-svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  filter:grayscale(100%) contrast(1.08)
}

.cello-light {
  position:absolute;
  inset:-15%;
  z-index:0;
  background:radial-gradient(circle at 65% 44%, rgba(102, 246, 164, .20), transparent 22%), radial-gradient(circle at 76% 26%, rgba(255, 255, 255, .13), transparent 16%), linear-gradient(115deg, transparent 0 46%, rgba(255, 255, 255, .06) 48%, transparent 58%);
  animation:breathGlow 6s ease-in-out infinite alternate
}

.cello-grain {
  position:absolute;
  inset:0;
  z-index:3;
  opacity:.20;
  background-image:radial-gradient(rgba(255, 255, 255, .22) .7px, transparent .7px);
  background-size:4px 4px;
  mix-blend-mode:screen
}

.cello-frame .video-caption {
  max-width:560px
}

.cello-frame .video-caption strong {
  font-size:clamp(34px, 3.7vw, 62px);
  line-height:.95
}

.cello-frame .video-note {
  right:30px;
  top:30px
}

.cello-frame .video-play {
  background:rgba(7, 20, 26, .50)
}

@keyframes breathGlow {
  from {
    opacity:.55;
    transform:scale(1)
  }

  to {
    opacity:1;
    transform:scale(1.04)
  }

}

@media(max-width:1000px) {
  .cello-hero {
    grid-template-columns:1fr
  }

  .cello-svg {
    object-position:center
  }

  .cello-frame .video-caption strong {
    font-size:34px
  }

}

/* FINAL FIX: visible embedded cello hero + visible location map */
.nav {
  background:rgba(251, 250, 247, .96)!important;
  color:var(--ink)!important;
  border-bottom:1px solid rgba(20, 37, 45, .12)!important
}

.links a {
  color:var(--ink)!important
}

.links .brief {
  border:1px solid var(--green)!important;
  color:var(--ink)!important;
  background:rgba(102, 246, 164, .22)!important
}

.premium-cello-hero {

  min-height:calc(100vh - 76px)!important;

  margin-top:76px!important;

  padding:0 54px 0 0!important;

  background:var(--paper)!important;

  color:var(--ink)!important;

  display:grid!important;

  grid-template-columns:54% 46%!important;

  gap:40px!important;

  align-items:center!important;

  overflow:hidden!important;

  position:relative!important;

}

.premium-cello-hero:before {
  display:none!important
}

.premium-cello-art {
  height:calc(100vh - 76px);
  min-height:560px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:hidden;
  background:#fbfaf7
}

.premium-cello-art img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left bottom;
  filter:grayscale(100%) contrast(1.03);
  display:block
}

.premium-hero-content {
  position:relative!important;
  z-index:2!important;
  align-self:center!important;
  max-width:720px;
  padding:40px 0
}

.premium-hero-content .micro {
  color:#56b984!important;
  margin-bottom:24px!important;
  letter-spacing:.38em!important
}

.premium-hero-content h1 {
  font-family:Georgia, serif!important;
  font-size:clamp(56px, 5.6vw, 98px)!important;
  line-height:.92!important;
  letter-spacing:.13em!important;
  font-weight:400!important;
  margin:0!important;
  text-transform:uppercase!important;
  color:var(--ink)!important
}

.premium-hero-content h1 em {
  display:block!important;
  font-style:italic!important;
  text-transform:none!important;
  letter-spacing:.02em!important;
  color:var(--ink)!important;
  font-size:.76em!important;
  margin-top:10px!important
}

.hero-rule {
  width:90px;
  height:1px;
  background:#8acfa9;
  margin:32px 0!important
}

.premium-hero-content p {
  max-width:470px!important;
  color:#3f4a4e!important;
  font-size:16px!important;
  line-height:1.8!important;
  margin:0 0 28px!important
}

.premium-hero-content .btns {
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  position:static!important;
  margin-top:26px!important
}

.premium-hero-content .btn {
  background:rgba(102, 246, 164, .28)!important;
  color:var(--ink)!important;
  border:1px solid rgba(102, 246, 164, .55)!important;
  display:inline-flex!important;
  position:static!important;
  white-space:nowrap!important
}

.premium-hero-content .btn.alt {
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  border-bottom:1px solid var(--ink)!important;
  padding-left:0!important;
  padding-right:0!important
}

.locations-strip {
  background:#07141a!important;
  padding:0!important;
  border-top:1px solid rgba(255, 255, 255, .12)!important;
  border-bottom:1px solid rgba(255, 255, 255, .12)!important;
  overflow:hidden!important
}

.locations-strip .locations-title {
  height:70px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  font-size:11px;
  letter-spacing:.36em;
  text-transform:uppercase;
  background:#07141a
}

.locations-strip img {
  width:100%;
  height:auto;
  display:block;
  filter:contrast(1.04);

}

@media(max-width:1000px) {

  .premium-cello-hero {
    grid-template-columns:1fr!important;
    padding:0!important
  }

  .premium-cello-art {
    height:48vh;
    min-height:360px;
    order:1
  }

  .premium-hero-content {
    order:2;
    padding:44px 28px 60px!important
  }

  .premium-hero-content h1 {
    font-size:46px!important;
    letter-spacing:.08em!important
  }

}

/* FINAL REQUEST FIXES: hero crop + locations section */
.premium-cello-hero {

  grid-template-columns:49% 51%!important;

  gap:22px!important;

  padding-right:46px!important;

}

.premium-cello-art {

  height:calc(100vh - 76px)!important;

  min-height:610px!important;

  align-items:center!important;

  justify-content:flex-start!important;

  background:#fbfaf7!important;

}

.premium-cello-art img {

  width:104%!important;

  height:100%!important;

  object-fit:contain!important;

  object-position:left center!important;

  transform:translateX(-38px)!important;

  filter:grayscale(100%) contrast(1.03)!important;

}

.premium-hero-content {
  padding-left:8px!important;
  max-width:760px!important
}

.premium-hero-content .btns {
  gap:24px!important;
  position:relative!important;
  z-index:4!important;
  margin-top:28px!important
}

.premium-hero-content .btn.alt {
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  border-bottom:1px solid var(--ink)!important;
  padding-left:0!important;
  padding-right:0!important
}

.locations-strip {
  display:none!important
}

.locations-section-v2 {

  background:#07141a!important;

  color:#fff!important;

  border-top:1px solid rgba(102, 246, 164, .18)!important;

  border-bottom:1px solid rgba(102, 246, 164, .18)!important;

  padding:92px 54px 0!important;

  overflow:hidden!important;

}

.locations-copy-v2 {

  display:grid!important;

  grid-template-columns:43% 57%!important;

  gap:72px!important;

  align-items:end!important;

  max-width:1560px!important;

  margin:0 auto 56px!important;

}

.locations-kicker-v2 {

  color:var(--green)!important;

  font-size:10px!important;

  letter-spacing:.38em!important;

  text-transform:uppercase!important;

  margin-bottom:30px!important;

}

.locations-copy-v2 h2 {

  font-family:Georgia, serif!important;

  font-size:clamp(52px, 5.9vw, 104px)!important;

  line-height:.95!important;

  font-weight:400!important;

  letter-spacing:-.055em!important;

  margin:0!important;

  color:#fff!important;

}

.locations-copy-v2 p {

  color:#b8c6c5!important;

  font-size:22px!important;

  line-height:1.85!important;

  max-width:760px!important;

  margin:0 0 12px!important;

}

.locations-map-v2 {

  max-width:1560px!important;

  margin:0 auto!important;

  position:relative!important;

  border-top:1px solid rgba(102, 246, 164, .18)!important;

  overflow:hidden!important;

  min-height:280px!important;

}

.locations-map-v2:before {

  content:"OUR LOCATIONS"!important;

  position:absolute!important;

  left:50%!important;

  top:22px!important;

  transform:translateX(-50%)!important;

  z-index:2!important;

  color:var(--green)!important;

  font-size:10px!important;

  letter-spacing:.38em!important;

  text-transform:uppercase!important;

}

.locations-map-v2 img {

  width:100%!important;

  height:auto!important;

  display:block!important;

  filter:grayscale(8%) contrast(1.06)!important;

  opacity:.96!important;

}

@media(max-width:980px) {

  .premium-cello-hero {
    grid-template-columns:1fr!important;
    padding:104px 24px 54px!important
  }

  .premium-cello-art {
    height:52vh!important;
    min-height:390px!important;
    order:-1!important
  }

  .premium-cello-art img {
    width:100%!important;
    transform:translateX(-18px)!important
  }

  .locations-section-v2 {
    padding:72px 24px 0!important
  }

  .locations-copy-v2 {
    grid-template-columns:1fr!important;
    gap:28px!important;
    margin-bottom:40px!important
  }

  .locations-copy-v2 p {
    font-size:18px!important
  }

}

/* === CODED CLASSY LOCATION MAP — NO PHOTO === */
.locations-section-v2.coded-locations {

  background:#07141a!important;

  padding:92px 54px 0!important;

  border-top:1px solid rgba(102, 246, 164, .16)!important;

  border-bottom:1px solid rgba(102, 246, 164, .16)!important;

  overflow:hidden!important;

}

.coded-locations .locations-copy-v2 {

  max-width:1560px!important;

  margin:0 auto 46px!important;

  display:grid!important;

  grid-template-columns:40% 60%!important;

  gap:70px!important;

  align-items:end!important;

}

.coded-locations .locations-kicker-v2 {

  color:var(--green)!important;

  font-size:10px!important;

  letter-spacing:.38em!important;

  text-transform:uppercase!important;

  margin-bottom:30px!important;

}

.coded-locations .locations-copy-v2 h2 {

  font-family:Georgia, serif!important;

  font-size:clamp(58px, 6.2vw, 112px)!important;

  line-height:.92!important;

  letter-spacing:-.06em!important;

  font-weight:400!important;

  color:#fff!important;

  margin:0!important;

}

.coded-locations .locations-copy-v2 p {

  max-width:800px!important;

  color:#b9c8c5!important;

  font-size:22px!important;

  line-height:1.85!important;

  margin:0 0 12px!important;

}

.coded-map {

  position:relative!important;

  max-width:1560px!important;

  height:470px!important;

  margin:0 auto!important;

  border-top:1px solid rgba(102, 246, 164, .18)!important;

  overflow:hidden!important;

  background:
    radial-gradient(circle at 18% 55%,  rgba(102, 246, 164, .16),  transparent 12%),
    radial-gradient(circle at 50% 44%,  rgba(102, 246, 164, .12),  transparent 14%),
    radial-gradient(circle at 72% 48%,  rgba(102, 246, 164, .14),  transparent 13%),
    linear-gradient(180deg,  rgba(11, 29, 37, .75),  #07141a 72%)!important;

}

.coded-map:before {

  content:"OUR LOCATIONS"!important;

  position:absolute!important;

  left:50%!important;

  top:24px!important;

  transform:translateX(-50%)!important;

  color:var(--green)!important;

  font-size:10px!important;

  letter-spacing:.38em!important;

  text-transform:uppercase!important;

  z-index:4!important;

}

.coded-map svg {

  position:absolute!important;

  inset:0!important;

  width:100%!important;

  height:100%!important;

  display:block!important;

}

.coded-map .continent {

  fill:rgba(160, 178, 177, .15)!important;

  stroke:rgba(190, 210, 207, .16)!important;

  stroke-width:.7!important;

}

.coded-map .arc {

  fill:none!important;

  stroke:rgba(102, 246, 164, .55)!important;

  stroke-width:1.4!important;

  filter:drop-shadow(0 0 8px rgba(102, 246, 164, .45))!important;

}

.coded-map .arc-soft {

  fill:none!important;

  stroke:rgba(102, 246, 164, .22)!important;

  stroke-width:1!important;

}

.map-pin {

  position:absolute!important;

  z-index:5!important;

  transform:translate(-50%, -50%)!important;

}

.map-pin .dot {

  width:20px!important;
  height:20px!important;
  border-radius:50%!important;

  background:var(--green)!important;

  border:2px solid rgba(255, 255, 255, .45)!important;

  box-shadow:0 0 0 12px rgba(102, 246, 164, .13), 0 0 35px rgba(102, 246, 164, .88)!important;

}

.map-pin .label {

  position:absolute!important;

  top:32px!important;

  left:0!important;

  background:transparent!important;

  border:0!important;

  padding:0!important;

  box-shadow:none!important;

  white-space:nowrap!important;

  color:#fff!important;

  font-size:17px!important;

  letter-spacing:.16em!important;

  font-weight:700!important;

  text-transform:uppercase!important;

  line-height:1.3!important;

}

.map-pin .label small {

  display:block!important;

  color:#a9b8b6!important;

  font-size:10px!important;

  letter-spacing:.18em!important;

  margin-top:7px!important;

}

.pin-beverly {
  left:15.5%!important;
  top:57%!important
}

.pin-vegas {
  left:22.5%!important;
  top:62%!important
}

.pin-beirut {
  left:70.5%!important;
  top:54%!important
}

.coded-map .grain {

  position:absolute!important;
  inset:0!important;

  background-image:radial-gradient(rgba(255, 255, 255, .13) .55px,  transparent .55px)!important;

  background-size:6px 6px!important;

  opacity:.18!important;

  mask-image:linear-gradient(180deg, transparent 0%, #000 25%, #000 80%, transparent 100%)!important;

}

@media(max-width:980px) {

  .coded-locations .locations-copy-v2 {
    grid-template-columns:1fr!important;
    gap:28px!important
  }

  .coded-locations .locations-copy-v2 p {
    font-size:18px!important
  }

  .coded-map {
    height:360px!important
  }

  .map-pin .label {
    font-size:12px!important
  }

}
