: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;
}
