:root{--bg:#05080a;--panel:#0b1013;--line:rgba(255,255,255,.13);--text:#f7f4ec;--muted:#b8b3a9;--gold:#d6a247;--gold2:#f5c86c;--dark:#020304;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:99999;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:6px;height:6px;background:var(--gold)}.cursor-ring{width:42px;height:42px;border:1px solid rgba(214,162,71,.75);mix-blend-mode:difference}.preloader{position:fixed;inset:0;background:#020303;z-index:99998;display:grid;place-items:center;transition:opacity .7s var(--ease),visibility .7s}.preloader img{width:260px;filter:drop-shadow(0 0 35px rgba(214,162,71,.25))}.preloader span{position:absolute;bottom:16%;width:180px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:load 1.4s infinite}@keyframes load{0%{transform:scaleX(.2);opacity:.3}50%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.2);opacity:.3}}body.loaded .preloader{opacity:0;visibility:hidden}.header-container{display:flex;align-items:center;width:100%;max-width:1200px;margin:0 auto;gap:48px}.site-header{position:fixed;z-index:50;top:0;left:50%;transform:translateX(-50%);width:100%;height:90px;padding:0 5vw;display:flex;justify-content:center;align-items:center;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,0));transition:.45s var(--ease)}.site-header.scrolled{top:18px;left:50%;transform:translateX(-50%);width:calc(100% - 10vw);max-width:1200px;height:80px;padding:0 3vw;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(8,10,12,.72);backdrop-filter:blur(22px);box-shadow:0 22px 70px rgba(0,0,0,.45)}.brand img{width:210px}.site-header.scrolled .brand img{width:160px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:36px}.main-nav a{font-size:12px;text-transform:uppercase;font-weight:500;letter-spacing:.04em;position:relative}.main-nav a:after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:2px;background:var(--gold);transition:.3s}.main-nav a:hover:after{width:100%}.social-top{display:flex;gap:14px}.social-top a{font-size:12px;border:1px solid var(--line);width:32px;height:32px;display:grid;place-items:center;border-radius:50%}.menu-toggle{display:none}.section{position:relative;padding:100px 5vw;border-bottom:1px solid var(--line);scroll-margin-top:110px}.compact{padding-top:70px;padding-bottom:70px}.hero{min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:120px}.hero-bg,.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-bg img{object-position:70% center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#030506 0%,rgba(3,5,6,.92) 24%,rgba(3,5,6,.55) 55%,rgba(3,5,6,.15) 100%),radial-gradient(circle at 70% 25%,rgba(214,162,71,.25),transparent 30%)}.stage-light{position:absolute;width:42vw;height:42vw;border-radius:50%;filter:blur(80px);opacity:.25;mix-blend-mode:screen}.light-a{background:#c8903f;left:-12vw;top:8vh}.light-b{background:#3d7cff;right:10vw;bottom:0}.stage-particles{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(214,162,71,.45) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,black 20%,transparent 70%);opacity:.18}.hero-outline{position:absolute;left:3vw;top:13vh;font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:-0.03em;font-size:22vw;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(214,162,71,.22);opacity:.45}.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow{color:var(--gold2);text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.18em;margin:0 0 18px}.hero-title{font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:-0.03em;font-size:clamp(44px, 7vw, 90px);line-height:.86;margin:0;text-transform:uppercase;text-shadow:0 20px 60px rgba(0,0,0,.45)}.hero-subtitle{font-size:clamp(28px,3.2vw,52px);font-weight:400;letter-spacing:.02em;color:var(--gold);margin:10px 0 28px}.hero-text{font-size:22px;text-transform:uppercase;font-weight:700;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:4px;padding:18px 28px;text-transform:uppercase;font-size:13px;font-weight:600;letter-spacing:.02em;transition:.35s var(--ease);border:1px solid transparent}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#191208;box-shadow:0 18px 35px rgba(214,162,71,.22)}.btn-outline{border-color:rgba(214,162,71,.55);color:var(--gold2);background:rgba(0,0,0,.2)}.btn:hover{transform:translateY(-4px)}.hero-actions{display:flex;gap:18px;margin-top:28px}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.scroll-indicator span{display:inline-block;width:18px;height:28px;border:1px solid var(--muted);border-radius:20px;margin-right:8px;vertical-align:middle}.dark-grid{background:radial-gradient(circle at 70% 20%,rgba(214,162,71,.08),transparent 28%),linear-gradient(90deg,#06090b,#0b1115)}.story{display:block}.story-img{height:620px;overflow:hidden;border-right:1px solid var(--line)}.story-img img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:1s var(--ease)}.story-img:hover img,.gallery-item:hover img,.video-card:hover img{transform:scale(1.08)}.section-title{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-0.02em;font-size:clamp(38px,5vw,82px);line-height:.95;margin:0 0 24px;text-transform:uppercase}.story-copy p,.contact-copy p{color:#d8d3c9;line-height:1.9;font-size:17px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 auto 40px;max-width:1200px;width:100%}.releases{background:#080b0d}.release-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto;width:100%}.release-card{background:#0d1215;border:1px solid var(--line);padding:14px;transition:.4s var(--ease)}.release-card img{height:280px;width:100%;object-fit:cover;object-position:center top}.release-card h3{font-size:18px;text-transform:uppercase}.platforms{color:var(--gold);font-size:12px}.numbers{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(90deg,#080a0c,#101417,#080a0c)}.num{text-align:center;border-right:1px solid var(--line)}.num:last-child{border-right:0}.num strong{font-size:54px;color:var(--gold);display:block}.num span{text-transform:uppercase;font-size:13px;font-weight:800}.media {
  position: relative;
  overflow: hidden;
  background: var(--bg);
}
.media-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 130%;
  z-index: 1;
  pointer-events: none;
}
.media-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0.12;
}
.media-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 50%, rgba(5,8,10,0.1) 0%, rgba(5,8,10,0.85) 80%),
              linear-gradient(0deg, var(--bg) 0%, transparent 15%),
              linear-gradient(180deg, var(--bg) 0%, transparent 15%);
  z-index: 2;
  pointer-events: none;
}
.media .section-head, .media .gallery-grid {
  position: relative;
  z-index: 3;
}
.videos {
  background: #070a0c;
}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:220px;gap:16px;max-width:1200px;margin:0 auto;width:100%}.gallery-item{border:1px solid var(--line);background:#111;overflow:hidden;padding:0;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:.7s var(--ease)}.gallery-item.large{grid-column:span 2;grid-row:span 2}.gallery-item.wide{grid-column:span 2}.video-carousel-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  overflow: visible;
}
.video-carousel {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: none;
  scroll-behavior: auto;
  scrollbar-width: none;
  padding: 10px 0 30px;
}
.video-carousel::-webkit-scrollbar {
  display: none;
}
.video-carousel .video-card {
  flex: 0 0 calc(33.333% - 16px);
  scroll-snap-align: start;
}
@media (max-width: 1000px) {
  .video-carousel .video-card {
    flex: 0 0 calc(50% - 12px);
  }
}
@media (max-width: 640px) {
  .video-carousel .video-card {
    flex: 0 0 100%;
  }
}
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(11, 16, 19, 0.72);
  border: 1px solid var(--line);
  color: var(--text);
  font-size: 24px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s var(--ease);
  user-select: none;
}
.carousel-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: var(--panel);
  box-shadow: 0 0 15px rgba(214,162,71,0.25);
}
.carousel-btn.prev {
  left: -70px;
}
.carousel-btn.next {
  right: -70px;
}
@media (max-width: 1350px) {
  .carousel-btn.prev { left: 10px; }
  .carousel-btn.next { right: 10px; }
}.video-card {
  position: relative;
  height: 440px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: #0b1013;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  transition: all 0.45s var(--ease);
}
.video-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  transition: transform 0.7s var(--ease), filter 0.45s var(--ease);
}
.video-card span {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(5, 8, 10, 0.75);
  border: 1.5px solid var(--gold);
  color: var(--gold);
  font-size: 20px;
  transition: all 0.4s var(--ease);
  z-index: 3;
  backdrop-filter: blur(4px);
}
.video-card:hover {
  transform: translateY(-8px);
  border-color: rgba(214, 162, 71, 0.45);
  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.6), 0 0 30px rgba(214, 162, 71, 0.18);
}
.video-card:hover img {
  transform: scale(1.06);
  filter: brightness(0.85);
}
.video-card:hover span {
  transform: scale(1.15);
  background: var(--gold);
  color: #111;
  box-shadow: 0 0 30px rgba(214, 162, 71, 0.6);
  border-color: var(--gold2);
}
.video-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  transition: all 0.4s var(--ease);
  transform: translateX(-50%);
  z-index: 4;
}
.video-card:hover::after {
  width: 100%;
}
.video-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 24px;
  background: linear-gradient(0deg, rgba(3, 5, 6, 0.95) 0%, rgba(3, 5, 6, 0.4) 70%, transparent 100%);
  text-align: left;
  z-index: 2;
  transition: all 0.4s var(--ease);
}
.video-card:hover .video-info {
  padding-bottom: 28px;
}
.video-info h3 {
  margin: 0;
  font-size: 18px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: all 0.4s var(--ease);
}
.video-card:hover .video-info h3 {
  color: var(--gold2);
  transform: translateY(-2px);
}.contractor{min-height:720px;display:flex;align-items:center;overflow:hidden}.contractor-bg,.contractor-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contractor-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,9,.92),rgba(4,7,9,.74),rgba(4,7,9,.2)),linear-gradient(0deg,#06090b,transparent 45%)}.contractor-content{position:relative;z-index:2;max-width:660px;margin-left:6vw}.downloads{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:18px}.downloads a{font-size:18px;font-weight:900;display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(214,162,71,.35);padding:18px 22px;background:rgba(0,0,0,.25);transition:.3s}.downloads a:hover{background:rgba(214,162,71,.13);transform:translateX(8px)}.cta{display:block;background:#0b0f12}.cta-img{height:180px;overflow:hidden}.cta-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.cta h2{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-0.02em;font-size:54px;text-transform:uppercase;margin:0;color:#fff}.contact{display:block;position:relative;overflow:hidden;background:var(--bg);color:var(--text)}.contact-bg{position:absolute;top:0;left:0;width:100%;height:130%;z-index:1;pointer-events:none}.contact-bg img{width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0.15}.contact-overlay{position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(5,8,10,0.2) 0%,rgba(5,8,10,0.9) 75%),linear-gradient(0deg,var(--bg) 0%,transparent 15%),linear-gradient(180deg,var(--bg) 0%,transparent 15%);z-index:2;pointer-events:none}.contact-container{position:relative;z-index:3}.contact .eyebrow{color:var(--gold2)}.contact .section-title{color:var(--text)}.phone{font-size:42px;font-weight:900;color:var(--gold)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:rgba(13,18,21,0.75);color:var(--text);padding:18px;font:inherit;border-radius:4px;transition:all 0.3s var(--ease)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 10px rgba(214,162,71,0.15)}.contact-form textarea{grid-column:span 2;min-height:160px}.contact-form button{grid-column:span 2;border:none}.footer{padding:60px 5vw 30px;background:#040607;border-top:1px solid var(--line);display:block}.footer img{width:190px}.footer nav{display:flex;gap:18px;flex-wrap:wrap;color:#cfc7bb;font-size:13px;text-transform:uppercase}.footer p{color:#8d877f;font-size:12px}.whatsapp{position:fixed;right:28px;bottom:28px;width:68px;height:68px;border-radius:50%;z-index:40;background:#25d366;color:white;display:grid;place-items:center;font-size:30px;border:5px solid #fff;box-shadow:0 20px 50px rgba(37,211,102,.35)}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:4vw}.lightbox.active{display:flex}.lightbox img{max-height:88vh;max-width:92vw;object-fit:contain}.lightbox button{position:absolute;right:28px;top:24px;background:none;border:0;color:white;font-size:48px}.thanks{min-height:100vh;display:grid;place-items:center;text-align:center}.thanks img{width:260px;margin:auto}.char{display:inline-block}.line{overflow:hidden}.reveal{opacity:0;transform:translateY(60px)}@media(max-width:1000px){.site-header{height:76px;padding:0 6vw}.site-header.scrolled{width:calc(100% - 48px);left:50%;transform:translateX(-50%);padding:0 20px;height:70px}.brand img{width:160px}.main-nav,.social-top{display:none}.menu-toggle{display:grid;margin-left:auto;background:transparent;border:0;gap:6px}.menu-toggle span{width:32px;height:2px;background:#fff}.main-nav.open{position:fixed;display:flex;flex-direction:column;inset:76px 18px auto;background:rgba(0,0,0,.94);border:1px solid var(--line);padding:28px;border-radius:18px}.hero-title{font-size:78px}.hero-subtitle{font-size:32px}.hero-bg img{object-position:62% center}.story-container,.contact-container{grid-template-columns:1fr}.release-grid,.video-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.numbers{grid-template-columns:1fr 1fr}.cta-container{grid-template-columns:1fr}.footer-container{grid-template-columns:1fr}.contractor-content{margin-left:0}.section{padding:80px 24px}}@media(max-width:640px){.hero{min-height:820px}.hero-title{font-size:58px}.hero-text{font-size:16px}.hero-actions{flex-direction:column}.release-grid,.video-grid,.gallery-grid,.numbers{grid-template-columns:1fr}.gallery-item.large,.gallery-item.wide{grid-column:auto;grid-row:auto}.section-title{font-size:44px}.contact-form{grid-template-columns:1fr}.contact-form textarea,.contact-form button{grid-column:auto}.story-img{height:460px}.contractor{min-height:620px}.downloads a{font-size:14px}.cta h2{font-size:42px}.phone{font-size:30px}.cursor-dot,.cursor-ring{display:none}}
.preloader{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}
.hero{perspective:1000px;transform-style:preserve-3d;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;z-index:1;transform-style:preserve-3d}
.hero-bg-inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform}
.hero-bg-inner img{width:100%;height:100%;object-fit:cover;object-position:70% 12%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#030506 0%,rgba(3,5,6,.92) 24%,rgba(3,5,6,.55) 55%,rgba(3,5,6,.15) 100%),radial-gradient(circle at 70% 25%,rgba(214,162,71,.25),transparent 30%);z-index:2;pointer-events:none}
.hero-outline-wrap{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-outline{position:absolute;left:3vw;top:13vh;font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:-0.03em;font-size:22vw;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(214,162,71,.22);opacity:.45;will-change:transform}
.hero-content{position:relative;z-index:3;max-width:760px;transform-style:preserve-3d;will-change:transform}
.hero-title{perspective:1000px}
.hero-title .char{display:inline-block;transform-style:preserve-3d;backface-visibility:hidden}
.stage-light{z-index:2;will-change:transform}
@media(min-width:1000px){.hero-bg{left:auto;right:0;width:60vw;mask-image:linear-gradient(to right,transparent 0%,black 35%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 35%)}.hero-bg-inner img{object-position:center 10%}.hero-content{max-width:45%;margin-left:2vw}}
@media(max-width:1000px){.hero-bg-inner img{object-position:62% 10%}}
@media(max-width:640px){.hero-bg-inner img{object-position:50% 10%}}
.btn-sm{padding:10px 18px;font-size:11px}
.social-top a{transition:.3s var(--ease);display:inline-flex;align-items:center;justify-content:center}
.social-top a:hover{background:var(--gold);color:#111;border-color:var(--gold)}
.social-top svg{display:block;transition:transform .3s var(--ease)}
.social-top a:hover svg{transform:scale(1.15)}
.lightbox-content{position:relative;width:100%;max-width:960px;display:flex;justify-content:center;align-items:center}
.lightbox img{display:none;max-height:88vh;max-width:92vw;object-fit:contain}
.lightbox.active.is-image img{display:block}
.video-container{display:none;position:relative;width:100%;padding-bottom:56.25%;height:0}
.lightbox.active.is-video .video-container{display:block}
.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.form-status{grid-column:span 2;font-size:14px;font-weight:700;margin-top:12px;padding:12px;border-radius:4px;text-align:center;display:none}
.form-status.success{display:block;background:rgba(37,211,102,.15);color:#25d366;border:1px solid rgba(37,211,102,.3)}
.form-status.error{display:block;background:rgba(255,76,76,.15);color:#ff4c4c;border:1px solid rgba(255,76,76,.3)}
.platforms a:hover{color:#fff;text-decoration:underline}

/* Animated Vectors in Hero Background */
.hero-vectors-container {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85; /* Increased opacity for more white glow visibility */
}
.hero-vector-svg {
  width: 90vw;
  height: 90vw;
  max-width: 1200px;
  max-height: 1200px;
}
.vector-circle {
  transform-origin: center;
}
.spin-slow {
  animation: spin 25s linear infinite; /* Sped up from 120s */
}
.spin-reverse-slow {
  animation: spin-reverse 30s linear infinite; /* Sped up from 180s */
}
.pulse-slow {
  animation: pulse-vector 6s ease-in-out infinite; /* Sped up from 15s */
}
.vector-wave-a {
  animation: wave-motion-a 10s ease-in-out infinite alternate; /* Sped up from 25s */
}
.vector-wave-b {
  animation: wave-motion-b 12s ease-in-out infinite alternate; /* Sped up from 30s */
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes spin-reverse {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}
@keyframes pulse-vector {
  0%, 100% { opacity: 0.3; transform: scale(0.98); }
  50% { opacity: 0.8; transform: scale(1.02); }
}
@keyframes wave-motion-a {
  0% { stroke-dashoffset: 0; transform: translate(-2%, -2%) skew(1deg); }
  100% { stroke-dashoffset: 100; transform: translate(2%, 2%) skew(-1deg); }
}
@keyframes wave-motion-b {
  0% { stroke-dashoffset: 50; transform: translate(1%, -1%) rotate(-1deg); }
  100% { stroke-dashoffset: -50; transform: translate(-1%, 1%) rotate(1deg); }
}

/* Contractor Section Grid & Cards */
.contractor {
  background: #06090b;
  position: relative;
  overflow: hidden;
  padding: 120px 5vw;
}
.contractor-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}
.contractor-bg:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #05080a 0%, rgba(5,8,10,0.95) 30%, rgba(5,8,10,0.6) 65%, transparent 100%),
              linear-gradient(0deg, #05080a 0%, transparent 20%);
  z-index: 1;
}
.contractor-vector-bg {
  position: absolute;
  right: 5vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  opacity: 0.65;
}
.contractor-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: center;
}
.contractor-info {
  max-width: 660px;
}
.contractor-lead {
  font-size: 18px;
  color: var(--muted);
  line-height: 1.6;
  margin: 18px 0 32px;
}
.production-details {
  display: grid;
  gap: 24px;
  margin-bottom: 42px;
}
.detail-item h4 {
  color: var(--gold);
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  text-transform: uppercase;
  margin: 0 0 6px;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.detail-item p {
  margin: 0;
  color: #c4beb3;
  font-size: 15px;
  line-height: 1.5;
}
.contractor-downloads {
  display: grid;
  gap: 20px;
}
.download-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  background: rgba(13,18,21,0.6);
  border: 1px solid var(--line);
  padding: 24px;
  border-radius: 8px;
  backdrop-filter: blur(12px);
  transition: all 0.35s var(--ease);
}
.download-card:hover {
  border-color: var(--gold);
  background: rgba(214,162,71,0.06);
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(0,0,0,0.3);
}
.card-icon {
  font-size: 28px;
  color: var(--gold);
}
.card-meta h4 {
  margin: 0 0 4px;
  font-size: 16px;
  text-transform: uppercase;
  color: #fff;
}
.card-meta p {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
}
.download-btn {
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .contractor-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .contractor-vector-bg {
    display: none;
  }
}

/* JS Initial States for Staggered Entrance Animations */
.js .release-card, 
.js .gallery-item, 
.js .video-card, 
.js .download-card, 
.js #contactForm > * {
  opacity: 0;
  transform: translateY(50px);
}

.js .story-img,
.js .story-copy > *,
.js .section-head,
.js .spotify-embed,
.js .contractor-info > *,
.js .contact-copy > * {
  opacity: 0;
  transform: translateY(30px);
}

/* Container limits for page elements */
.story-container,
.contact-container,
.cta-container,
.footer-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.story-container {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 70px;
  align-items: center;
}
.contact-container {
  display: grid;
  grid-template-columns: .8fr 1fr;
  gap: 70px;
}
.cta-container {
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  gap: 48px;
}
.footer-container {
  display: grid;
  grid-template-columns: 220px 1fr auto;
  gap: 40px;
  align-items: center;
}

/* Header CTA Button styling */
.header-cta {
  margin-left: 16px;
  white-space: nowrap;
}
@media (max-width: 1000px) {
  .header-cta {
    display: none;
  }
}

/* Custom Full-screen Layout for Main Sections on Desktop */
@media (min-width: 1000px) {
  #historia, #musicas, #fotos, #videos, #contratante, #contato {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 110px !important;
    padding-bottom: 50px !important;
    box-sizing: border-box;
  }

  /* Compress titles on desktop to save height */
  .section-title {
    font-size: clamp(32px, 3.8vw, 52px) !important;
    margin-bottom: 16px !important;
  }

  /* Compress Historia Section elements */
  .story-copy p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
  }
  .story-img {
    height: calc(100vh - 180px) !important;
    max-height: 480px !important;
    min-height: 350px !important;
  }

  /* Compress Gallery Grid to fit on screen */
  .gallery-grid {
    grid-auto-rows: clamp(140px, 18vh, 220px) !important;
  }

  /* Compress Video Grid to fit on screen */
  .video-card {
    height: clamp(340px, 42vh, 460px) !important;
  }

  /* Compress Contractor Section downloads */
  .download-card {
    padding: 14px 20px !important;
    gap: 16px !important;
  }
  .production-details {
    gap: 14px !important;
    margin-bottom: 24px !important;
  }
  .contractor-lead {
    margin: 12px 0 20px !important;
  }

  /* Compress Contact Section layout */
  .contact-form input, .contact-form textarea {
    padding: 14px !important;
  }
  .contact-form textarea {
    min-height: 120px !important;
  }
  .contact-copy p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  .phone {
    font-size: 34px !important;
  }
}

/* Story section expand/collapse styles */
.story-extended {
  display: block;
}
.story-expand-btn {
  display: none;
}

@media (max-width: 1000px) {
  .story-container, .contact-container {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .story-extended {
    display: none;
    overflow: hidden;
    opacity: 0;
  }
  .story-expand-btn {
    display: inline-flex;
    margin-top: 20px;
  }
  .story-img {
    display: none !important;
  }
  
  /* Standardization of section headers & titles on mobile (like Espaço do Contratante) */
  .section-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-bottom: 28px !important;
    text-align: left !important;
  }
  .section-head .eyebrow {
    margin-bottom: 0 !important;
  }
  .section-title {
    font-size: clamp(26px, 6vw, 36px) !important;
    line-height: 1.15 !important;
    text-align: left !important;
    margin-bottom: 0 !important;
  }

  /* CTA Section mobile styling */
  .cta-img {
    display: none !important;
  }
  .cta-container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 24px !important;
    padding: 0 16px !important;
  }
  .cta h2 {
    font-size: clamp(24px, 5.5vw, 34px) !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
  }

  /* Photo Gallery mobile layout (3 columns, compact rows, no vertical scroll stretch) */
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: clamp(75px, 11vw, 105px) !important;
    gap: 8px !important;
  }
  .gallery-item.large, .gallery-item.wide {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


