:root{
  --bg:#050404;
  --ink:#f6efe9;
  --muted:#d5c8c1;
  --rose:#ff8bbd;
  --line:rgba(255,255,255,.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;line-height:1.45;overflow-x:hidden;position:relative}
body:before{content:"";position:fixed;inset:0;background:url('images/mica-bg.webp') center/cover no-repeat;opacity:.58;pointer-events:none;z-index:-2}
body:after{content:"";position:fixed;inset:0;background:linear-gradient(rgba(5,4,4,.76), rgba(5,4,4,.80));pointer-events:none;z-index:-1}
img{display:block;max-width:100%}
a{color:inherit}
.nav{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(18px,4vw,56px);background:linear-gradient(to bottom,rgba(5,4,4,.88),rgba(5,4,4,0))}
.brand{font-weight:700;text-decoration:none;letter-spacing:.02em}
.nav-links{display:flex;gap:24px;font-size:13px;text-transform:uppercase;letter-spacing:.16em}
.nav-links a{text-decoration:none;color:rgba(246,239,233,.78)}
.nav-links a:hover{color:var(--ink)}
.hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.08);transform:scale(1.04);animation:slowZoom 16s ease forwards}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.34) 55%,rgba(0,0,0,.75)),linear-gradient(0deg,rgba(5,4,4,.98),rgba(5,4,4,0) 34%)}
.grain{position:absolute;inset:0;opacity:.14;background-image:radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px);background-size:4px 4px;mix-blend-mode:overlay}
.hero-copy{position:relative;z-index:2;padding:0 clamp(24px,7vw,110px) clamp(70px,12vw,140px);max-width:1180px}
.eyebrow,.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-weight:700}
.hero h1{font-size:clamp(64px,13vw,188px);line-height:.83;margin:20px 0 26px;letter-spacing:-.09em}
.hero-line{max-width:830px;font-size:clamp(22px,3.2vw,46px);line-height:1.02;letter-spacing:-.04em}
.scroll-cue{display:inline-block;margin-top:28px;text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:6px;color:var(--ink)}
.section{padding:clamp(72px,10vw,130px) clamp(24px,7vw,110px)}
.tight-bottom{padding-bottom:34px}
.tight-top{padding-top:28px}
.statement-grid{display:grid;gap:42px;align-items:center}
.media-statement{grid-template-columns:minmax(300px, .82fr) 1.15fr}
.statement-copy h2,.work-intro h2,.recognition h2{font-size:clamp(36px,6vw,88px);line-height:.98;letter-spacing:-.06em;margin:0 0 20px}
.statement-copy p,.case-text p,.case-heading p,.footer-copy a,.feature-copy p,.mang-text p{color:var(--muted);font-size:clamp(16px,1.35vw,20px)}
.statement-image{max-width:560px;justify-self:center}
.statement-image img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center top!important;}
.work-intro h2{max-width:980px}
.feature{padding:clamp(52px,6vw,86px) clamp(24px,7vw,110px) clamp(70px,8vw,110px);display:grid;gap:26px}
.feature-copy{max-width:980px}
.feature h2,.case h2,.footer-copy h2{font-size:clamp(46px,8vw,120px);line-height:.9;letter-spacing:-.075em;margin:10px 0 18px}
.small{font-size:14px!important;color:rgba(246,239,233,.62)!important}
.case{padding:clamp(70px,8vw,110px) clamp(24px,7vw,110px);border-top:1px solid rgba(255,255,255,.06)}
.case-heading{max-width:980px;margin-bottom:30px}
.case-heading.compact{margin-bottom:18px}
.case-text{max-width:720px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,90px);align-items:center}
.reverse{grid-template-columns:.82fr 1.1fr}
.reverse .case-media{order:2}
.case-media{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.case-media img{width:100%;height:100%;object-fit:cover}
.case-media.tall{max-height:780px}.case-media.tall img{aspect-ratio:4/5}
.case-media.poster{max-width:520px;margin:auto;background:#111}
.banner-case{position:relative;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.48)}
.banner-case img{width:100%;height:auto;display:block}
.image-only img{aspect-ratio:21/8;object-fit:cover;animation:slowPan 14s ease-in-out infinite alternate}
.mang-text{max-width:980px;padding:26px 6px 6px}
.carousel{position:relative;overflow:hidden}
.car-track{display:flex;gap:18px;transition:transform .55s cubic-bezier(.16,.9,.22,1)}
.car-track img{flex:0 0 calc((100% - 36px)/3);height:72vh;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:#111}
.portrait-track img{height:76vh}
.car-btn{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:rgba(0,0,0,.42);color:var(--ink);font-size:36px;line-height:1;cursor:pointer}.car-btn:hover{background:rgba(255,255,255,.12)}.prev{left:14px}.next{right:14px}
.video-banner{position:relative;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 120px rgba(0,0,0,.55);background:#111;aspect-ratio:21/8}
.video-frame{position:absolute;inset:0;overflow:hidden}
.video-frame iframe{position:absolute;left:50%;top:50%;width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);border:0}
.video-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));pointer-events:none}
.video-overlay-link{position:absolute;left:28px;bottom:24px;z-index:3;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:rgba(5,4,4,.72);border:1px solid rgba(255,255,255,.18);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.lower-video{margin-top:28px}
.cinematic-hold{animation:breath 8s ease-in-out infinite}
.parallax-card img{animation:slowPan 14s ease-in-out infinite alternate}
.film-links{display:grid;gap:14px;margin-top:24px}.film-link{display:grid;gap:7px;text-decoration:none;border:1px solid var(--line);border-radius:22px;padding:18px 20px;background:rgba(255,255,255,.03)}.film-link span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);font-weight:700}.film-link strong{font-size:22px;font-weight:700}.film-link em{font-style:normal;color:var(--muted);font-size:16px}.static-link{opacity:.9}
.compact-section{padding-top:56px;padding-bottom:56px}
.awards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 34px;max-width:1000px;margin-top:28px}.awards-grid span,.collab-list span{border:1px solid var(--line);border-radius:999px;padding:11px 16px;color:rgba(246,239,233,.76);font-size:14px}.collab-list{display:flex;flex-wrap:wrap;gap:12px;max-width:1050px}
.footer-hero{position:relative;min-height:74vh;display:grid;align-items:end;overflow:hidden}.footer-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.05)}.footer-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,4,4,.92),rgba(5,4,4,.18) 60%,rgba(5,4,4,.55))}.footer-copy{position:relative;z-index:2;padding:clamp(40px,7vw,100px);display:flex;gap:22px;flex-direction:column;align-items:flex-start}.footer-copy h2{max-width:900px}.footer-copy a{text-decoration:none}.footer-copy a:hover{color:var(--rose)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes slowZoom{to{transform:scale(1.12)}}
@keyframes slowPan{from{transform:scale(1.02) translateX(-1%)}to{transform:scale(1.06) translateX(1%)}}
@keyframes breath{0%,100%{transform:scale(1)}50%{transform:scale(1.006)}}
@media(max-width:900px){
  .nav-links{display:none}
  .media-statement,.split,.reverse{grid-template-columns:1fr}
  .reverse .case-media{order:0}
  .case,.section,.feature{padding-left:22px;padding-right:22px}
  .hero h1{font-size:clamp(58px,22vw,120px)}
  .hero-line{font-size:28px}
  .statement-image{max-width:100%}
  .image-only img,.video-banner{aspect-ratio:16/10}
  .video-frame iframe{height:56.25vw;width:170vw}
  .car-track img{flex-basis:82%;height:68vh}
  .portrait-track img{height:70vh}
  .awards-grid{grid-template-columns:1fr}
  .case-media.tall{max-height:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* Global cinematic film grain + atmosphere */


  25%{transform:translate(-1%,1%)}
  50%{transform:translate(1%,-1%)}
  75%{transform:translate(-.5%,-.5%)}
  100%{transform:translate(0,0)}
}

  25%{transform:translate(-1%,1%)}
  50%{transform:translate(1%,-1%)}
  75%{transform:translate(-.5%,-.5%)}
  100%{transform:translate(0,0)}
}
@keyframes cinematicFloat{
  from{transform:scale(1.025) translate3d(-.6%,.4%,0)}
  to{transform:scale(1.075) translate3d(.7%,-.5%,0)}
}
@keyframes cinematicVideoScale{
  from{transform:translate(-50%,-50%) scale(1.03)}
  to{transform:translate(-50%,-50%) scale(1.09)}
}
@media(max-width:900px){
  .sound-toggle{right:14px;bottom:14px}
  .harmonic-video,
  .manghihilot-section .lower-video{aspect-ratio:16/10;min-height:58vh}
  .full-bleed-image,
  .full-bleed-image img,
  .manghihilot-hero,
  .manghihilot-hero img{min-height:68vh}
  .full-bleed-copy{bottom:30px}
}


.availability-line{
  max-width: 920px;
  margin: 20px 0 0;
  color: rgba(246,239,233,.92);
  font-size: clamp(15px,1.4vw,20px);
  line-height: 1.45;
  letter-spacing: .01em;
}


  25%{transform:translate(-1%,1%)}
  50%{transform:translate(1%,-1%)}
  75%{transform:translate(-.5%,-.5%)}
  100%{transform:translate(0,0)}
}




  20%{transform:translate3d(-1.5%,1%,0)}
  40%{transform:translate3d(1%,-1.5%,0)}
  60%{transform:translate3d(-.5%,-.5%,0)}
  80%{transform:translate3d(1.5%,.5%,0)}
  100%{transform:translate3d(0,0,0)}
}



.film-grain-global{
  position:fixed!important;
  inset:-50%!important;
  width:200vw!important;
  height:200vh!important;
  z-index:2147483000!important;
  pointer-events:none!important;
  opacity:.24!important;
  mix-blend-mode:normal!important;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.65' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E"),
    radial-gradient(rgba(255,255,255,.34) .55px, transparent .7px),
    radial-gradient(rgba(0,0,0,.30) .55px, transparent .75px)!important;
  background-size:120px 120px, 3px 3px, 4px 4px!important;
  background-position:0 0, 0 0, 1px 1px!important;
  animation:visibleGrain .45s steps(2,end) infinite!important;
}
@keyframes visibleGrain{
  0%{transform:translate3d(0,0,0)}
  25%{transform:translate3d(-2%,1%,0)}
  50%{transform:translate3d(1%,-2%,0)}
  75%{transform:translate3d(-1%,-.5%,0)}
  100%{transform:translate3d(0,0,0)}
}



.sound-toggle{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147483647!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  padding:11px 15px!important;
  background:rgba(5,4,4,.76)!important;
  color:#f6efe9!important;
  backdrop-filter:blur(10px)!important;
  cursor:pointer!important;
  font-size:12px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  opacity:1!important;
  visibility:visible!important;
}
.sound-toggle:hover{background:rgba(255,255,255,.12)!important}
.sound-dot{
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.42)!important;
  box-shadow:0 0 0 rgba(255,139,189,0)!important;
}
.sound-toggle.is-on .sound-dot{
  background:#ff8bbd!important;
  box-shadow:0 0 18px rgba(255,139,189,.9)!important;
}
.sound-toggle.is-on .sound-label:after{content:" on"}
.sound-toggle:not(.is-on) .sound-label:after{content:" off";color:rgba(246,239,233,.55)}
@media(max-width:900px){
  .sound-toggle{right:14px!important;bottom:14px!important}
}







/* v18: restore full bleeds and remove Harmonic text panel */
.full-bleed-section{
  padding-left:0!important;
  padding-right:0!important;
  padding-top:0!important;
  padding-bottom:clamp(52px,7vw,90px)!important;
}
.full-bleed-video,
.full-bleed-image{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
}
.video-banner.full-bleed-video{
  position:relative!important;
  overflow:hidden!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 40px 120px rgba(0,0,0,.55)!important;
}
.harmonic-video{
  aspect-ratio:21/8!important;
  min-height:68vh!important;
}
.full-bleed-image{
  position:relative!important;
  overflow:hidden!important;
  min-height:82vh!important;
  box-shadow:0 40px 120px rgba(0,0,0,.58)!important;
}
.full-bleed-image img{
  width:100%!important;
  height:100%!important;
  min-height:82vh!important;
  object-fit:cover!important;
  animation:cinematicFloat 18s ease-in-out infinite alternate!important;
}
.full-bleed-image:after,
.full-bleed-video:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.16) 55%,rgba(0,0,0,.55)),
    linear-gradient(0deg,rgba(5,4,4,.78),rgba(5,4,4,.05) 48%,rgba(5,4,4,.28))!important;
}
.full-bleed-copy{
  position:absolute!important;
  z-index:4!important;
  left:clamp(24px,7vw,110px)!important;
  bottom:clamp(30px,7vw,90px)!important;
  max-width:min(900px,84vw)!important;
}
.full-bleed-copy h2{
  font-size:clamp(54px,10vw,150px)!important;
  line-height:.86!important;
  letter-spacing:-.08em!important;
  margin:10px 0 16px!important;
  text-shadow:0 3px 28px rgba(0,0,0,.85)!important;
}
.full-bleed-copy p:not(.eyebrow){
  max-width:820px!important;
  color:#f6efe9!important;
  font-size:clamp(16px,1.45vw,21px)!important;
  line-height:1.38!important;
  text-shadow:0 2px 18px rgba(0,0,0,.85)!important;
}
.harmonic-copy{
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  backdrop-filter:none!important;
}
.harmonic-description{
  margin:0 0 12px!important;
}
.harmonic-subline{
  color:rgba(246,239,233,.78)!important;
  margin:0!important;
}
.manghihilot-section{
  padding-left:0!important;
  padding-right:0!important;
}
.manghihilot-section .mang-text{
  padding:clamp(30px,5vw,62px) clamp(24px,7vw,110px)!important;
  max-width:1120px!important;
}
.manghihilot-section .lower-video{
  margin-top:0!important;
  aspect-ratio:21/8!important;
  min-height:66vh!important;
}
.video-frame iframe{
  animation:cinematicVideoScale 18s ease-in-out infinite alternate!important;
}
@media(max-width:900px){
  .harmonic-video,
  .manghihilot-section .lower-video{
    aspect-ratio:16/10!important;
    min-height:58vh!important;
  }
  .full-bleed-image,
  .full-bleed-image img{
    min-height:68vh!important;
  }
  .full-bleed-copy{
    bottom:30px!important;
  }
}



/* v19: fix nav overlap and add Calendly */
.nav{
  min-height:72px!important;
  background:linear-gradient(to bottom,rgba(5,4,4,.92),rgba(5,4,4,.42) 70%,rgba(5,4,4,0))!important;
}
.nav-call{color:#f6efe9!important}
.hero-copy{
  padding-top:clamp(130px,16vh,200px)!important;
}
.hero .eyebrow{
  display:block!important;
  margin-top:clamp(24px,4vh,54px)!important;
}
@media(max-width:900px){
  .nav{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  .hero{
    align-items:center!important;
  }
  .hero-copy{
    padding-top:160px!important;
    padding-bottom:70px!important;
  }
  .brand{
    max-width:52vw!important;
    line-height:1.05!important;
  }
}



/* v20: separate contact section, Netlify form, and image-only footer */
.contact-section{
  padding-top:clamp(72px,9vw,120px)!important;
  padding-bottom:clamp(72px,9vw,120px)!important;
  border-top:1px solid rgba(255,255,255,.08);
}
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(320px, .75fr);
  gap:clamp(34px,6vw,90px);
  align-items:start;
}
.contact-copy h2{
  font-size:clamp(44px,7.5vw,118px);
  line-height:.9;
  letter-spacing:-.075em;
  margin:10px 0 22px;
  max-width:900px;
}
.contact-copy p{
  color:var(--muted);
  font-size:clamp(17px,1.45vw,22px);
  max-width:720px;
}
.contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  margin-top:30px;
}
.contact-links a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid rgba(255,139,189,.55);
  padding-bottom:6px;
}
.contact-links a:hover{
  color:var(--rose);
}
.contact-form{
  display:grid;
  gap:18px;
  padding:clamp(20px,3vw,34px);
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(5,4,4,.50);
  backdrop-filter:blur(10px);
  box-shadow:0 24px 90px rgba(0,0,0,.30);
}
.contact-form label{
  display:grid;
  gap:8px;
}
.contact-form span{
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--rose);
  font-weight:700;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  color:var(--ink);
  padding:13px 14px;
  font:inherit;
  outline:none;
}
.contact-form select option{
  color:#111;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:rgba(255,139,189,.72);
  box-shadow:0 0 0 3px rgba(255,139,189,.12);
}
.contact-form textarea{
  resize:vertical;
}
.contact-form button{
  justify-self:start;
  border:1px solid rgba(255,139,189,.72);
  border-radius:999px;
  background:rgba(255,139,189,.14);
  color:var(--ink);
  padding:13px 20px;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.contact-form button:hover{
  background:rgba(255,139,189,.24);
}
.hidden-field{
  display:none!important;
}
.footer-visual{
  position:relative;
  min-height:72vh;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  animation:cinematicFloat 18s ease-in-out infinite alternate;
}
.footer-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(5,4,4,.50),rgba(5,4,4,.05) 48%,rgba(5,4,4,.34));
  pointer-events:none;
}
.thank-you-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:40px;
  background:#050404;
  color:#f6efe9;
  text-align:center;
}
.thank-you-page h1{
  font-size:clamp(58px,12vw,150px);
  line-height:.9;
  letter-spacing:-.08em;
  margin:10px 0 16px;
}
.thank-you-page p{
  color:#d5c8c1;
}
.thank-you-page a{
  color:#f6efe9;
  text-decoration:none;
  border-bottom:1px solid #ff8bbd;
  padding-bottom:6px;
}
@media(max-width:900px){
  .contact-grid{
    grid-template-columns:1fr;
  }
  .footer-visual{
    min-height:56vh;
  }
}



/* v21: form no-404 success handling */
.form-success-note{
  display:none;
  margin-bottom:18px;
  padding:14px 16px;
  border:1px solid rgba(255,139,189,.45);
  border-radius:16px;
  background:rgba(255,139,189,.12);
  color:#f6efe9;
}
body.form-sent .form-success-note{
  display:block;
}






/* v23: make cross-site buttons clearly visible */
.nav{
  gap:18px!important;
}
.nav-links{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.nav-site-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  text-decoration:none!important;
  color:#f6efe9!important;
  background:rgba(255,255,255,.08)!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.nav-tech{
  background:linear-gradient(135deg, rgba(147,196,255,.18), rgba(255,255,255,.06))!important;
}
.nav-film{
  background:linear-gradient(135deg, rgba(255,214,176,.16), rgba(255,255,255,.05))!important;
}
.nav-site-link:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.36)!important;
}
.site-network{
  width:min(1240px, calc(100% - 48px));
  margin:0 auto;
  padding:48px 0 16px;
}
.site-network-inner{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  backdrop-filter:blur(12px);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  padding:28px;
}
.site-network-copy h2{
  font-size:clamp(34px,5vw,72px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:0 0 14px;
}
.site-network-copy p{
  max-width:54ch;
  color:rgba(246,239,233,.78);
}
.site-network-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-self:center;
}
.network-card{
  display:grid;
  gap:10px;
  align-content:start;
  min-height:144px;
  padding:20px;
  border-radius:22px;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.network-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.07);
}
.network-label{
  font-size:.78rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:.78;
}
.network-card strong{
  font-size:1.05rem;
  line-height:1.3;
}
.network-tech{
  background:linear-gradient(180deg, rgba(147,196,255,.12), rgba(255,255,255,.03));
}
.network-film{
  background:linear-gradient(180deg, rgba(255,214,176,.12), rgba(255,255,255,.03));
}
@media (max-width: 960px){
  .site-network-inner{
    grid-template-columns:1fr;
  }
  .site-network-actions{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .nav-links{
    width:100%!important;
  }
  .nav-site-link,
  .nav-call{
    width:100%!important;
    text-align:center!important;
  }
  .site-network{
    width:min(100% - 24px, 1240px);
  }
}



/* v25: larger Harmonic Convergence video screen */
.harmonic-xl{
  min-height:86vh!important;
  aspect-ratio:16/7!important;
}
.harmonic-xl .video-frame iframe{
  width:154vw!important;
  height:86.625vw!important;
  min-height:100%!important;
  min-width:100%!important;
}
.harmonic-xl .full-bleed-copy{
  bottom:clamp(34px,6vw,78px)!important;
}
@media(max-width:900px){
  .harmonic-xl{
    min-height:72vh!important;
    aspect-ratio:16/10!important;
  }
  .harmonic-xl .video-frame iframe{
    width:178vw!important;
    height:100vw!important;
  }
}







/* v27: force Manghihilot video larger */
#manghihilot .manghihilot-video-xl{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  min-height:92vh!important;
  height:92vh!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
}
#manghihilot .manghihilot-video-xl .video-frame{
  position:absolute!important;
  inset:0!important;
}
#manghihilot .manghihilot-video-xl .video-frame iframe{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:164vw!important;
  height:92.25vw!important;
  min-width:100%!important;
  min-height:100%!important;
  transform:translate(-50%,-50%) scale(1.04)!important;
}
@media(max-width:900px){
  #manghihilot .manghihilot-video-xl{
    min-height:78vh!important;
    height:78vh!important;
  }
  #manghihilot .manghihilot-video-xl .video-frame iframe{
    width:185vw!important;
    height:104vw!important;
  }
}

/* v28: remove transparent boxes, clickable titles, smaller typography, full uncut video bleeds */
:root{
  --heading-scale: .6;
}

/* Remove glass/transparent box treatments while keeping spacing and readability */
.site-network-inner,
.network-card,
.film-link,
.contact-form,
.form-success-note,
.video-overlay-link{
  background:transparent!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  border-color:transparent!important;
}
.network-card,
.film-link,
.contact-form{
  padding-left:0!important;
  padding-right:0!important;
}
.video-overlay-link{
  display:none!important;
}

/* Make project titles carry their links instead of separate buttons */
.title-link{
  color:inherit!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,139,189,.45)!important;
  text-shadow:inherit!important;
}
.title-link:hover{
  color:var(--rose)!important;
  border-bottom-color:rgba(255,139,189,.9)!important;
}

/* Reduce heading and subheading scale so the visuals lead */
.hero h1{
  font-size:clamp(48px,9vw,108px)!important;
  letter-spacing:-.07em!important;
}
.hero-line{
  font-size:clamp(20px,2.1vw,33px)!important;
  max-width:1050px!important;
}
.availability-line{
  font-size:clamp(13px,.9vw,15px)!important;
}
.statement-copy h2,
.work-intro h2,
.recognition h2,
.site-network-copy h2{
  font-size:clamp(22px,3.6vw,53px)!important;
  letter-spacing:-.045em!important;
}
.feature h2,
.case h2,
.footer-copy h2,
.contact-copy h2,
.full-bleed-copy h2{
  font-size:clamp(32px,6vw,90px)!important;
  letter-spacing:-.055em!important;
}
.full-bleed-copy p:not(.eyebrow),
.statement-copy p,
.case-text p,
.case-heading p,
.feature-copy p,
.mang-text p,
.site-network-copy p,
.contact-copy p{
  font-size:clamp(14px,.95vw,17px)!important;
  line-height:1.45!important;
}
.eyebrow,.kicker,.network-label{
  font-size:clamp(9px,.62vw,11px)!important;
}

/* Full-bleed videos, uncropped: true 16:9 instead of cover-scaled iframes */
#harmonic .harmonic-xl,
#manghihilot .manghihilot-video-xl{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#050404!important;
}
#harmonic .harmonic-xl .video-frame,
#manghihilot .manghihilot-video-xl .video-frame{
  position:absolute!important;
  inset:0!important;
}
#harmonic .harmonic-xl .video-frame iframe,
#manghihilot .manghihilot-video-xl .video-frame iframe{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  transform:none!important;
  animation:none!important;
  border:0!important;
}

/* Native edge blending: top/bottom only, no text-box or side panel */
.full-bleed-video:after,
.video-banner.full-bleed-video:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:2!important;
  background:
    linear-gradient(to bottom, rgba(5,4,4,.78) 0%, rgba(5,4,4,.18) 12%, rgba(5,4,4,0) 25%, rgba(5,4,4,0) 75%, rgba(5,4,4,.20) 88%, rgba(5,4,4,.86) 100%)!important;
}
.full-bleed-image:after{
  background:
    linear-gradient(to bottom, rgba(5,4,4,.76) 0%, rgba(5,4,4,.10) 20%, rgba(5,4,4,0) 58%, rgba(5,4,4,.80) 100%)!important;
}
.full-bleed-copy{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  z-index:4!important;
}
.harmonic-copy{
  max-width:min(760px,82vw)!important;
}

@media(max-width:900px){
  .hero h1{font-size:clamp(42px,14vw,78px)!important;}
  .hero-line{font-size:clamp(19px,6vw,27px)!important;}
  #harmonic .harmonic-xl,
  #manghihilot .manghihilot-video-xl{
    aspect-ratio:16/9!important;
    min-height:0!important;
    height:auto!important;
  }
  .full-bleed-copy h2{font-size:clamp(30px,11vw,58px)!important;}
  .full-bleed-copy p:not(.eyebrow){font-size:14px!important;}
}


/* v29: requested final refinements */
/* Reduce major headings by another ~10% */
.hero h1{
  font-size:clamp(43px,8.1vw,97px)!important;
}
.hero-line{
  font-size:clamp(18px,1.9vw,30px)!important;
}
.statement-copy h2,
.work-intro h2,
.recognition h2,
.site-network-copy h2{
  font-size:clamp(20px,3.25vw,48px)!important;
}
.feature h2,
.case h2,
.footer-copy h2,
.contact-copy h2,
.full-bleed-copy h2{
  font-size:clamp(29px,5.4vw,81px)!important;
}

/* Fix Harmonic Convergence embed behavior and provide a visual fallback while YouTube loads */
#harmonic .video-frame{
  background:#050404 url('images/harmonic-footer.webp') center center / cover no-repeat!important;
  z-index:1!important;
}
#harmonic .video-frame iframe{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}

/* More transparent, longer top/bottom edge blending on each full-bleed video */
.full-bleed-video:after,
.video-banner.full-bleed-video:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:2!important;
  background:
    linear-gradient(to bottom,
      rgba(5,4,4,.94) 0%,
      rgba(5,4,4,.62) 7%,
      rgba(5,4,4,.22) 18%,
      rgba(5,4,4,0) 32%,
      rgba(5,4,4,0) 68%,
      rgba(5,4,4,.24) 82%,
      rgba(5,4,4,.66) 93%,
      rgba(5,4,4,.96) 100%)!important;
}

/* Remove transparent recognition boxes/pills */
.recognition .awards-grid{
  gap:10px 34px!important;
  margin-top:22px!important;
}
.recognition .awards-grid span{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0 0 10px 0!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  color:rgba(246,239,233,.78)!important;
}

@media(max-width:900px){
  .hero h1{font-size:clamp(38px,12.6vw,70px)!important;}
  .hero-line{font-size:clamp(17px,5.4vw,24px)!important;}
  .full-bleed-copy h2{font-size:clamp(27px,9.9vw,52px)!important;}
}


/* v30: Harmonic Convergence embed + homepage refinement */
/* Use the exact YouTube ID from https://youtu.be/wxr1vF5K3tk and keep the embed visible. */
#harmonic .video-frame{
  background:#050404 url('images/harmonic-footer.webp') center center / cover no-repeat!important;
}
#harmonic .video-frame iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}

/* Reduce only the homepage name another ~10%. */
.hero h1{
  font-size:clamp(39px,7.3vw,87px)!important;
  line-height:.86!important;
}

/* Move homepage banner text lower so it covers less of the image. */
.hero-copy{
  padding-bottom:clamp(28px,5vw,58px)!important;
}
.hero-line{
  max-width:980px!important;
}

/* Softer, more transparent video-edge gradients: longer fade, less heavy blackout. */
.full-bleed-video:after,
.video-banner.full-bleed-video:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:2!important;
  background:
    linear-gradient(to bottom,
      rgba(5,4,4,.68) 0%,
      rgba(5,4,4,.36) 9%,
      rgba(5,4,4,.12) 22%,
      rgba(5,4,4,0) 36%,
      rgba(5,4,4,0) 64%,
      rgba(5,4,4,.13) 78%,
      rgba(5,4,4,.38) 91%,
      rgba(5,4,4,.72) 100%)!important;
}

@media(max-width:900px){
  .hero h1{font-size:clamp(34px,11.3vw,63px)!important;}
  .hero-copy{padding-bottom:clamp(24px,7vw,44px)!important;}
}


/* v31: reliable Harmonic Convergence player fix.
   The previous background-style autoplay embed could appear broken when YouTube blocked autoplay.
   This keeps the video full-bleed but uses the standard playable YouTube iframe. */
#harmonic .video-frame{
  background:#050404 url('https://img.youtube.com/vi/wxr1vF5K3tk/maxresdefault.jpg') center center / cover no-repeat!important;
}
#harmonic .video-frame iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  border:0!important;
}
#harmonic .video-banner.full-bleed-video:after{
  background:
    linear-gradient(to bottom,
      rgba(5,4,4,.78) 0%,
      rgba(5,4,4,.42) 8%,
      rgba(5,4,4,.12) 22%,
      rgba(5,4,4,0) 36%,
      rgba(5,4,4,0) 64%,
      rgba(5,4,4,.12) 78%,
      rgba(5,4,4,.42) 92%,
      rgba(5,4,4,.78) 100%)!important;
}


/* v34: Harden Harmonic Convergence autoplay loop embed.
   Remove YouTube JS API origin/referrer dependencies that can fail on Netlify preview domains. */
#harmonic .video-frame{
  background:#050404 url('images/harmonic-footer.webp') center center / cover no-repeat!important;
}
#harmonic .video-frame iframe{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  transform:none!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
  pointer-events:auto!important;
  border:0!important;
}
#harmonic .video-banner.full-bleed-video:after{
  pointer-events:none!important;
  z-index:2!important;
}
#harmonic .full-bleed-copy{
  z-index:3!important;
}

/* v35: Harmonic Convergence hard fix.
   Keep YouTube as a real player, not a hidden-control background embed.
   This prevents the section from looking broken when autoplay is delayed or blocked. */
#harmonic .video-frame{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  background:#050404 url('images/harmonic-footer.webp') center center / cover no-repeat!important;
}
#harmonic .video-frame iframe.harmonic-youtube,
#harmonic .video-frame iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  transform:none!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  pointer-events:auto!important;
  border:0!important;
  background:transparent!important;
}
#harmonic .youtube-open-fallback{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:url('images/harmonic-footer.webp') center center / cover no-repeat!important;
}
#harmonic .video-banner.full-bleed-video:after{
  z-index:3!important;
  pointer-events:none!important;
}
#harmonic .full-bleed-copy{
  z-index:4!important;
  pointer-events:auto!important;
}


/* v36: Stop shipping a broken Harmonic Convergence iframe.
   The supplied YouTube video is not reliably embeddable, so this section now
   uses a stable full-bleed poster that opens the exact YouTube link. */
#harmonic .video-frame.harmonic-poster-link{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  overflow:hidden!important;
  z-index:1!important;
  background:#050404!important;
  text-decoration:none!important;
}
#harmonic .harmonic-poster{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  opacity:.92!important;
  transform:none!important;
}
#harmonic .video-frame.harmonic-poster-link:before,
#harmonic .video-frame.harmonic-poster-link:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:24%!important;
  z-index:2!important;
  pointer-events:none!important;
}
#harmonic .video-frame.harmonic-poster-link:before{
  top:0!important;
  background:linear-gradient(to bottom, rgba(5,4,4,.28), rgba(5,4,4,0))!important;
}
#harmonic .video-frame.harmonic-poster-link:after{
  bottom:0!important;
  background:linear-gradient(to top, rgba(5,4,4,.28), rgba(5,4,4,0))!important;
}
#harmonic iframe.harmonic-youtube,
#harmonic .youtube-open-fallback{
  display:none!important;
}
#harmonic .video-banner.full-bleed-video:after{
  z-index:3!important;
  pointer-events:none!important;
}
#harmonic .full-bleed-copy{
  z-index:4!important;
}


/* v37: Harmonic Convergence source swap to https://youtu.be/wxr1vF5K3tk.
   Restore a visible YouTube player and keep a reliable click-through fallback. */
#harmonic .video-frame.harmonic-player-frame{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  overflow:hidden!important;
  z-index:1!important;
  background:#050404 url('https://img.youtube.com/vi/wxr1vF5K3tk/maxresdefault.jpg') center center / cover no-repeat!important;
}
#harmonic iframe.harmonic-youtube{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  border:0!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  pointer-events:auto!important;
}
#harmonic .youtube-open-fallback{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:1!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
#harmonic .harmonic-poster,
#harmonic .video-frame.harmonic-poster-link{
  display:none!important;
}
#harmonic .video-frame.harmonic-player-frame:before,
#harmonic .video-frame.harmonic-player-frame:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:22%!important;
  z-index:3!important;
  pointer-events:none!important;
}
#harmonic .video-frame.harmonic-player-frame:before{
  top:0!important;
  background:linear-gradient(to bottom, rgba(5,4,4,.20), rgba(5,4,4,0))!important;
}
#harmonic .video-frame.harmonic-player-frame:after{
  bottom:0!important;
  background:linear-gradient(to top, rgba(5,4,4,.20), rgba(5,4,4,0))!important;
}
#harmonic .full-bleed-copy{
  z-index:5!important;
}


/* v38: Harmonic Convergence must render as video, not poster/photo. */
#harmonic .video-frame.harmonic-iframe-only,
#harmonic .video-frame.harmonic-player-frame,
#harmonic .video-frame{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#050404!important;
  background-image:none!important;
}
#harmonic .video-frame.harmonic-iframe-only iframe.harmonic-youtube,
#harmonic iframe.harmonic-youtube,
#harmonic .video-frame iframe{
  position:absolute!important;
  left:0!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  border:0!important;
  z-index:10!important;
  pointer-events:auto!important;
}
#harmonic .youtube-open-fallback,
#harmonic .harmonic-poster,
#harmonic .video-frame.harmonic-poster-link{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#harmonic .video-frame.harmonic-iframe-only:before,
#harmonic .video-frame.harmonic-iframe-only:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:20%!important;
  z-index:11!important;
  pointer-events:none!important;
}
#harmonic .video-frame.harmonic-iframe-only:before{
  top:0!important;
  background:linear-gradient(to bottom, rgba(5,4,4,.18), rgba(5,4,4,0))!important;
}
#harmonic .video-frame.harmonic-iframe-only:after{
  bottom:0!important;
  background:linear-gradient(to top, rgba(5,4,4,.18), rgba(5,4,4,0))!important;
}


/* v47: updated collaborator names and preserved Harmonic -> Manghihilot continuity */
#harmonic.full-bleed-section{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
#harmonic .video-banner.full-bleed-video,
#harmonic .harmonic-xl{
  margin-bottom:0!important;
  border-bottom:0!important;
}
#manghihilot.manghihilot-section{
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  border-top:0!important;
}
#manghihilot .manghihilot-hero,
#manghihilot .manghihilot-video-xl,
#manghihilot .lower-video{
  margin-top:0!important;
  margin-bottom:0!important;
}
#manghihilot .manghihilot-hero{
  min-height:86vh!important;
  box-shadow:0 32px 100px rgba(0,0,0,.54)!important;
}
#manghihilot .manghihilot-hero img{
  min-height:86vh!important;
}
#manghihilot .manghihilot-video-xl{
  border-top:0!important;
}
#manghihilot .mang-overlay-copy{
  left:clamp(24px,5vw,68px)!important;
  bottom:clamp(18px,2.8vw,34px)!important;
  max-width:min(540px,38vw)!important;
}
#manghihilot .mang-overlay-copy h2{
  margin:8px 0 10px!important;
}
#manghihilot .mang-overlay-text{
  max-width:min(520px,36vw)!important;
}
#manghihilot .mang-overlay-text p{
  margin:0 0 10px!important;
  font-size:clamp(13px,.96vw,15px)!important;
  line-height:1.44!important;
  color:rgba(246,239,233,.86)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.84)!important;
}
#manghihilot .mang-overlay-text p:last-child{
  margin-bottom:0!important;
}
#manghihilot .mang-text{
  display:none!important;
}
@media(max-width:900px){
  #manghihilot .manghihilot-hero,
  #manghihilot .manghihilot-hero img{
    min-height:76vh!important;
  }
  #manghihilot .mang-overlay-copy{
    left:22px!important;
    right:22px!important;
    bottom:18px!important;
    max-width:none!important;
  }
  #manghihilot .mang-overlay-text{
    max-width:88vw!important;
  }
  #manghihilot .mang-overlay-text p{
    font-size:13px!important;
    line-height:1.4!important;
  }
}


/* v49: replace Harmonic Convergence YouTube iframe with uploaded self-hosted MP4 */
#harmonic .video-frame.harmonic-local-frame{
  position:absolute!important;
  inset:0!important;
  background:#050404 url('images/harmonic-footer.webp') center center / cover no-repeat!important;
}
#harmonic .harmonic-local-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:0!important;
  display:block!important;
  animation:none!important;
}
#harmonic iframe.harmonic-youtube{
  display:none!important;
}
@media(max-width:900px){
  #harmonic .harmonic-local-video{
    object-fit:cover!important;
  }
}

/* v55: museum-catalog / experimental-film title sequence refinement */
:root{
  --rose:#b9a1ff;
  --lavender:#b9a1ff;
  --lavender-soft:rgba(185,161,255,.72);
  --ink:#f7f1ea;
  --muted:#cfc3bd;
  --line:rgba(247,241,234,.12);
}
body{
  background:#040303!important;
  letter-spacing:.002em;
}
body:before{
  opacity:.40!important;
  filter:saturate(.82) contrast(1.08)!important;
}
body:after{
  background:
    radial-gradient(circle at 82% 14%, rgba(185,161,255,.09), transparent 28%),
    linear-gradient(rgba(5,4,4,.82), rgba(5,4,4,.86))!important;
}
.nav{
  padding-top:18px!important;
  padding-bottom:18px!important;
  background:linear-gradient(to bottom, rgba(4,3,3,.94), rgba(4,3,3,.56) 68%, rgba(4,3,3,0))!important;
}
.brand{
  color:rgba(247,241,234,.88)!important;
  font-size:13px!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  font-weight:500!important;
}
.nav-links{
  gap:22px!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
}
.nav-links a:hover,
.title-link:hover,
.contact-links a:hover,
.footer-copy a:hover{
  color:var(--lavender)!important;
}
.hero-img{
  animation:none!important;
  transform:scale(1.015)!important;
  filter:saturate(.94) contrast(1.08) brightness(.92)!important;
}
.hero:after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.28) 54%,rgba(0,0,0,.62)),
    linear-gradient(0deg,rgba(5,4,4,.98),rgba(5,4,4,0) 38%,rgba(5,4,4,.18) 100%)!important;
}
.hero-copy{
  max-width:1040px!important;
  padding-bottom:clamp(76px,10vw,124px)!important;
}
.hero h1{
  font-size:clamp(54px,10.5vw,150px)!important;
  letter-spacing:-.085em!important;
  max-width:1000px!important;
  color:rgba(247,241,234,.94)!important;
}
.hero-line{
  max-width:680px!important;
  font-size:clamp(21px,2.7vw,38px)!important;
  line-height:1.08!important;
  color:rgba(247,241,234,.90)!important;
}
.availability-line{
  max-width:640px!important;
  color:rgba(247,241,234,.70)!important;
  font-size:clamp(13px,1.05vw,17px)!important;
  line-height:1.55!important;
}
.eyebrow,.kicker,.network-label,.film-link span{
  color:var(--lavender)!important;
  font-size:clamp(9px,.68vw,11px)!important;
  letter-spacing:.24em!important;
  font-weight:650!important;
}
.scroll-cue{
  color:rgba(247,241,234,.84)!important;
  border-color:var(--lavender)!important;
  font-size:12px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.section{
  padding-top:clamp(92px,12vw,166px)!important;
  padding-bottom:clamp(92px,12vw,166px)!important;
}
.compact-section{
  padding-top:clamp(72px,9vw,116px)!important;
  padding-bottom:clamp(72px,9vw,116px)!important;
}
.statement-copy h2,
.work-intro h2,
.recognition h2,
.contact-copy h2{
  font-size:clamp(32px,5.1vw,76px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}
.feature h2,.case h2,.footer-copy h2{
  font-size:clamp(40px,6.9vw,104px)!important;
  letter-spacing:-.065em!important;
}
.statement-copy p,
.case-text p,
.case-heading p,
.feature-copy p,
.site-network-copy p,
.contact-copy p{
  font-size:clamp(15px,1.08vw,18px)!important;
  line-height:1.62!important;
  max-width:700px!important;
  color:rgba(247,241,234,.72)!important;
}
.site-network{
  padding-top:clamp(64px,8vw,110px)!important;
  padding-bottom:clamp(64px,8vw,110px)!important;
}
.site-network-inner,
.network-card,
.film-link,
.contact-form,
.form-success-note{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.network-card,
.film-link,
.awards-grid span,
.collab-list span,
.contact-form,
input,select,textarea{
  border-color:rgba(247,241,234,.12)!important;
}
.network-card,
.film-link{
  border-radius:0!important;
  padding-left:0!important;
  padding-right:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:1px solid rgba(247,241,234,.12)!important;
  border-bottom:1px solid rgba(247,241,234,.12)!important;
}
.network-card strong,.film-link strong{
  color:rgba(247,241,234,.92)!important;
  font-weight:500!important;
}
.title-card{
  min-height:clamp(30vh,36vw,44vh)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:clamp(64px,8vw,120px) clamp(24px,7vw,110px)!important;
  position:relative!important;
  overflow:hidden!important;
  border-top:1px solid rgba(247,241,234,.07)!important;
  border-bottom:1px solid rgba(247,241,234,.07)!important;
  background:
    radial-gradient(circle at 50% 44%, rgba(185,161,255,.075), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0))!important;
}
.title-card:before{
  content:""!important;
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  background:rgba(185,161,255,.72)!important;
  box-shadow:0 0 34px rgba(185,161,255,.56)!important;
  margin-bottom:24px!important;
}
.title-card:after{
  content:""!important;
  width:min(210px,42vw)!important;
  height:1px!important;
  margin-top:28px!important;
  background:linear-gradient(90deg, transparent, rgba(247,241,234,.28), transparent)!important;
}
.title-card .section-number{
  color:var(--lavender)!important;
  font-size:clamp(14px,1.15vw,18px)!important;
  line-height:1!important;
  letter-spacing:.36em!important;
  margin-bottom:18px!important;
  font-weight:400!important;
}
.title-card p{
  color:rgba(247,241,234,.42)!important;
  text-transform:uppercase!important;
  letter-spacing:.32em!important;
  font-size:clamp(9px,.68vw,11px)!important;
  margin:0 0 16px!important;
}
.title-card h2{
  margin:0!important;
  max-width:900px!important;
  font-size:clamp(24px,3.4vw,48px)!important;
  line-height:1.16!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:380!important;
  color:rgba(247,241,234,.88)!important;
}
#harmonic.full-bleed-section{
  padding-bottom:0!important;
}
.full-bleed-video:after,
.video-banner.full-bleed-video:after{
  background:
    linear-gradient(to bottom, rgba(4,3,3,.74) 0%, rgba(4,3,3,.12) 16%, rgba(4,3,3,0) 34%, rgba(4,3,3,0) 68%, rgba(4,3,3,.16) 86%, rgba(4,3,3,.84) 100%)!important;
}
.full-bleed-image:after{
  background:
    linear-gradient(to bottom, rgba(4,3,3,.62), rgba(4,3,3,.08) 28%, rgba(4,3,3,0) 56%, rgba(4,3,3,.86) 100%),
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.12) 55%, rgba(0,0,0,.36))!important;
}
.full-bleed-copy{
  max-width:min(720px,76vw)!important;
}
.full-bleed-copy h2{
  font-size:clamp(36px,6.2vw,92px)!important;
}
.harmonic-description,
.harmonic-subline,
.mang-overlay-text p{
  font-size:clamp(13px,.88vw,15px)!important;
  line-height:1.55!important;
  color:rgba(247,241,234,.72)!important;
}
.mang-overlay-copy{
  max-width:min(500px,36vw)!important;
  bottom:clamp(18px,2.6vw,34px)!important;
}
.mang-overlay-text{
  max-width:min(470px,34vw)!important;
}
.case{
  border-top:0!important;
}
.case-heading{
  margin-bottom:clamp(28px,4vw,52px)!important;
}
.case-media,
.banner-case,
.car-track img{
  border-radius:0!important;
  box-shadow:0 32px 110px rgba(0,0,0,.46)!important;
}
.car-track{
  gap:24px!important;
}
.car-track img{
  flex-basis:calc((100% - 48px)/3)!important;
  height:74vh!important;
}
.portrait-track img{
  height:78vh!important;
}
.car-btn{
  background:rgba(4,3,3,.62)!important;
  border-color:rgba(247,241,234,.14)!important;
  color:rgba(247,241,234,.76)!important;
}
.awards-grid,
.collab-list{
  max-width:1180px!important;
}
.awards-grid span,.collab-list span{
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:1px solid rgba(247,241,234,.12)!important;
  border-bottom:1px solid rgba(247,241,234,.12)!important;
  padding:14px 0!important;
  color:rgba(247,241,234,.70)!important;
  background:transparent!important;
}
.contact-form button{
  background:var(--lavender)!important;
  color:#050404!important;
}
.reveal{
  opacity:0!important;
  transform:translateY(18px)!important;
  transition:opacity 1.05s ease, transform 1.05s cubic-bezier(.16,1,.3,1)!important;
}
.reveal.visible{
  opacity:1!important;
  transform:translateY(0)!important;
}
.reveal:nth-of-type(2n){transition-delay:.04s!important;}
.reveal:nth-of-type(3n){transition-delay:.08s!important;}
.cinematic-hold,
.parallax-card img,
.image-only img,
.video-frame iframe,
.hero-img{
  animation:none!important;
}
.film-grain-global{
  opacity:.16!important;
}
@media(max-width:900px){
  .section,.case,.feature,.title-card{
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .hero h1{font-size:clamp(48px,18vw,96px)!important;}
  .hero-line{font-size:clamp(22px,7vw,30px)!important;}
  .title-card{min-height:32vh!important;}
  .title-card h2{font-size:clamp(22px,7vw,34px)!important;letter-spacing:.14em!important;}
  .mang-overlay-copy,
  .mang-overlay-text{
    max-width:88vw!important;
  }
  .car-track{gap:18px!important;}
  .car-track img{flex-basis:82%!important;height:68vh!important;}
}

/* v62: complete ritual pacing, sensory cues, artifact labels, motif, and descent */
:root{
  --descent:0;
}
body{
  background:#030202!important;
}
.ritual-atmosphere,
.descent-veil{
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
}
.ritual-atmosphere{
  z-index:0!important;
  opacity:.55!important;
  mix-blend-mode:screen!important;
  background:
    radial-gradient(circle at 18% 24%, rgba(185,161,255,.10), transparent 24%),
    radial-gradient(circle at 82% 62%, rgba(255,139,189,.06), transparent 28%),
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,.025) 45%, transparent 58%);
  animation:ritualShimmer 26s ease-in-out infinite alternate!important;
}
.descent-veil{
  z-index:1!important;
  background:
    linear-gradient(to bottom,
      rgba(3,2,2, calc(var(--descent) * .08)),
      rgba(3,2,2, calc(var(--descent) * .28))),
    radial-gradient(circle at 50% calc(12% + (var(--descent) * 54%)), rgba(185,161,255, calc(.06 - (var(--descent) * .025))), transparent 30%);
}
.nav,.sound-toggle,main,.film-grain-global{position:relative}
.nav,.sound-toggle{z-index:2147483647!important}
main{z-index:2!important}
@keyframes ritualShimmer{
  0%{transform:translate3d(-1.4%,.6%,0) scale(1);opacity:.38}
  50%{opacity:.62}
  100%{transform:translate3d(1.2%,-.9%,0) scale(1.04);opacity:.46}
}

/* Slower, smoke-like pacing. */
.reveal{
  opacity:0!important;
  transform:translateY(24px) scale(.992)!important;
  filter:blur(2px)!important;
  transition:
    opacity 1.85s cubic-bezier(.22,1,.36,1),
    transform 1.85s cubic-bezier(.22,1,.36,1),
    filter 1.85s cubic-bezier(.22,1,.36,1)!important;
}
.reveal.visible{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
  filter:blur(0)!important;
}
.hero-copy.reveal{
  transition-duration:2.15s!important;
}
.full-bleed-image img,
.footer-visual img{
  animation:ritualDrift 34s ease-in-out infinite alternate!important;
}
#harmonic .harmonic-local-video{
  animation:ritualVideoBreath 30s ease-in-out infinite alternate!important;
}
@keyframes ritualDrift{
  from{transform:scale(1.018) translate3d(-.45%,.35%,0)}
  to{transform:scale(1.045) translate3d(.45%,-.35%,0)}
}
@keyframes ritualVideoBreath{
  from{transform:scale(1.002)}
  to{transform:scale(1.018)}
}

/* Light pulses: visible only as a faint ritual atmosphere, never a flashy effect. */
.title-card,
.case,
.section,
.full-bleed-video,
.full-bleed-image{
  position:relative!important;
}
.title-card:before{
  animation:beadPulse 6.8s ease-in-out infinite!important;
}
.title-card:after{
  opacity:.76!important;
}
.title-card .section-number:before,
.case-heading:before,
.case-text:before,
.full-bleed-copy:before{
  content:""!important;
  display:block!important;
  width:5px!important;
  height:5px!important;
  border-radius:999px!important;
  background:rgba(185,161,255,.72)!important;
  box-shadow:0 0 22px rgba(185,161,255,.54)!important;
  margin:0 0 18px!important;
}
.title-card .section-number:before{
  margin:0 auto 18px!important;
  width:4px!important;
  height:4px!important;
}
.case-heading:after,
.case-text:after,
.full-bleed-copy:after{
  content:""!important;
  display:block!important;
  width:min(180px,36vw)!important;
  height:1px!important;
  margin-top:24px!important;
  background:linear-gradient(90deg, rgba(185,161,255,.42), transparent)!important;
}
@keyframes beadPulse{
  0%,100%{opacity:.44;transform:scale(.85);box-shadow:0 0 20px rgba(185,161,255,.38)}
  45%{opacity:.92;transform:scale(1.18);box-shadow:0 0 42px rgba(185,161,255,.68)}
}

/* Artifact-label typography: museum label crossed with ritual note. */
.artifact-label{
  max-width:680px!important;
  margin-top:14px!important;
  color:rgba(247,241,234,.74)!important;
}
.artifact-label p{
  margin:0 0 10px!important;
  color:rgba(247,241,234,.74)!important;
  font-size:clamp(13px,.94vw,16px)!important;
  line-height:1.58!important;
  letter-spacing:.01em!important;
}
.artifact-label strong{
  color:rgba(247,241,234,.94)!important;
  font-weight:520!important;
}
.artifact-label span{
  color:var(--lavender)!important;
  text-transform:uppercase!important;
  letter-spacing:.18em!important;
  font-size:.78em!important;
  font-weight:650!important;
}
.mang-overlay-text.artifact-label p,
.full-bleed-copy .artifact-label p{
  text-shadow:0 2px 18px rgba(0,0,0,.82)!important;
}
.harmonic-description.artifact-label{
  margin-top:12px!important;
}

/* Make the sound control clear and actually useful. */
.sound-toggle{
  background:rgba(4,3,3,.82)!important;
  border-color:rgba(185,161,255,.42)!important;
  box-shadow:0 0 30px rgba(0,0,0,.28)!important;
}
.sound-toggle .sound-label:after{
  content:""!important;
}
.sound-toggle.is-on{
  background:rgba(185,161,255,.16)!important;
}
.sound-toggle.is-on .sound-dot{
  animation:beadPulse 4.8s ease-in-out infinite!important;
}

@media(max-width:900px){
  .reveal{filter:none!important;transition-duration:1.3s!important;}
  .ritual-atmosphere{opacity:.42!important;}
  .case-heading:before,.case-text:before,.full-bleed-copy:before{margin-bottom:14px!important;}
  .artifact-label p{font-size:13px!important;line-height:1.5!important;}
}

/* v66 regression fixes: restore fixed transparent nav and fixed sound control. */
.nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:2147483646!important;
  background:linear-gradient(to bottom, rgba(5,4,4,.38), rgba(5,4,4,.13) 62%, rgba(5,4,4,0))!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
}
.sound-toggle{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147483647!important;
}
main{position:relative!important;z-index:2!important;}
.film-grain-global{position:fixed!important;}

/* Preserve Harmonic Convergence as a moving video, not a still image. */
#harmonic .video-frame,
#harmonic .harmonic-player-frame,
#harmonic .harmonic-local-frame{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
#harmonic video.harmonic-local-video{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Ensure Manghihilot image is visible and correctly scaled. */
#manghihilot .manghihilot-hero img,
.manghihilot-hero img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:72vh!important;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
}

/* v67: hard restore true transparent nav and force Manghihilot image rendering. */
.nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:2147483646!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.nav:before,
.nav:after{
  content:none!important;
  display:none!important;
}

#manghihilot .manghihilot-hero{
  position:relative!important;
  min-height:86vh!important;
  background:#050404 url('images/manghihilot-final-banner.webp') center center / cover no-repeat!important;
  overflow:hidden!important;
}
#manghihilot .manghihilot-hero img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
  animation:none!important;
}
#manghihilot .manghihilot-hero:after{
  z-index:2!important;
}
#manghihilot .mang-overlay-copy{
  z-index:4!important;
}


/* v68: softer title hierarchy + updated Manghihilot artifact label */
.feature h2,
.case h2,
.footer-copy h2,
.contact-copy h2,
.full-bleed-copy h2,
.statement-copy h2,
.work-intro h2,
.recognition h2,
.site-network-copy h2,
.hero h1 {
  font-weight:420!important;
}
#manghihilot .mang-overlay-copy h2 {
  font-weight:400!important;
  letter-spacing:-.035em!important;
}
#manghihilot .artifact-subtitle {
  color:rgba(246,239,233,.74)!important;
  font-size:clamp(12px,.82vw,14px)!important;
  line-height:1.45!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  margin:0 0 12px!important;
}

/* v69: globally reduce title scale, including the main name and navigation name. */
.brand{
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.hero h1{
  font-size:clamp(34px,6.1vw,76px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  font-weight:360!important;
  max-width:860px!important;
}
.hero-line{
  font-size:clamp(16px,1.55vw,26px)!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
  max-width:760px!important;
}
.statement-copy h2,
.work-intro h2,
.recognition h2,
.site-network-copy h2,
.contact-copy h2{
  font-size:clamp(24px,3.55vw,54px)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  font-weight:360!important;
}
.feature h2,
.case h2,
.footer-copy h2,
.full-bleed-copy h2,
#manghihilot .mang-overlay-copy h2,
.case-heading h2,
.case-text h2{
  font-size:clamp(28px,4.65vw,68px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:360!important;
}
.title-card h2{
  font-size:clamp(18px,2.55vw,34px)!important;
  line-height:1.08!important;
  letter-spacing:.12em!important;
  font-weight:340!important;
}
.film-link strong,
.network-card strong{
  font-size:clamp(17px,1.5vw,21px)!important;
  font-weight:450!important;
}
@media(max-width:900px){
  .brand{font-size:10px!important;letter-spacing:.09em!important;}
  .hero h1{font-size:clamp(30px,10vw,56px)!important;}
  .hero-line{font-size:clamp(16px,5vw,22px)!important;}
  .statement-copy h2,
  .work-intro h2,
  .recognition h2,
  .site-network-copy h2,
  .contact-copy h2{font-size:clamp(22px,7vw,38px)!important;}
  .feature h2,
  .case h2,
  .footer-copy h2,
  .full-bleed-copy h2,
  #manghihilot .mang-overlay-copy h2,
  .case-heading h2,
  .case-text h2{font-size:clamp(25px,8vw,46px)!important;}
  .title-card h2{font-size:clamp(17px,5.4vw,27px)!important;}
}

/* v82: reduce all titles globally by ~30%, including hero and navigation name */
.brand{
  font-size:8px!important;
  letter-spacing:.11em!important;
}
.hero h1{
  font-size:clamp(24px,4.3vw,53px)!important;
  line-height:.96!important;
}
.statement-copy h2,
.work-intro h2,
.recognition h2,
.site-network-copy h2,
.contact-copy h2{
  font-size:clamp(17px,2.5vw,38px)!important;
}
.feature h2,
.case h2,
.footer-copy h2,
.full-bleed-copy h2,
#manghihilot .mang-overlay-copy h2,
.case-heading h2,
.case-text h2{
  font-size:clamp(20px,3.25vw,48px)!important;
}
.title-card h2{
  font-size:clamp(13px,1.8vw,24px)!important;
}
.film-link strong,
.network-card strong{
  font-size:clamp(12px,1.05vw,15px)!important;
}
@media(max-width:900px){
  .brand{font-size:7px!important;letter-spacing:.09em!important;}
  .hero h1{font-size:clamp(21px,7vw,39px)!important;}
  .statement-copy h2,
  .work-intro h2,
  .recognition h2,
  .site-network-copy h2,
  .contact-copy h2{font-size:clamp(15px,4.9vw,27px)!important;}
  .feature h2,
  .case h2,
  .footer-copy h2,
  .full-bleed-copy h2,
  #manghihilot .mang-overlay-copy h2,
  .case-heading h2,
  .case-text h2{font-size:clamp(18px,5.6vw,32px)!important;}
  .title-card h2{font-size:clamp(12px,3.8vw,19px)!important;}
}

/* v83: make Manghihilot image true full-bleed without cropping */
#manghihilot .manghihilot-hero{
  min-height:0!important;
  height:auto!important;
  background:none!important;
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow:hidden!important;
}
#manghihilot .manghihilot-hero img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:unset!important;
  object-position:center top!important;
  animation:none!important;
  transform:none!important;
}
@media (max-width:900px){
  #manghihilot .manghihilot-hero img{
    width:100%!important;
    height:auto!important;
  }
}
