*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0a0a0a;color:#f4f1ea;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{height:82px;position:absolute;z-index:20;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #ffffff18}.logo{display:flex;flex-direction:column}.logo strong{font:600 22px Georgia;letter-spacing:.08em}.logo small{font-size:8px;letter-spacing:.25em;color:#aaa;margin-top:4px}.nav nav{display:flex;gap:27px;font-size:11px;letter-spacing:.08em}.gold-btn{display:inline-block;background:#b79a62;color:#0b0b0b;padding:17px 22px;font-weight:700;font-size:11px;letter-spacing:.08em}.compact{padding:12px 17px}.socials{display:flex;gap:12px;align-items:center}.socials svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:140px 5vw 90px;overflow:hidden;background:linear-gradient(90deg,#080808 0,#080808 43%,#171717 100%)}.hero-copy{position:relative;z-index:3;width:61%}.kicker,.section-label{font-weight:600;font-size:10px;letter-spacing:.25em;color:#aaa}.hero h1,.intro h2,.section-title h2,.urgent h2,.portfolio h2,.contact h2{font-weight:600;font-size:clamp(58px,8vw,126px);line-height:.86;letter-spacing:-.07em;margin:25px 0}.hero h1 em,.intro h2 em,.section-title h2 em,.urgent h2 em,.portfolio h2 em,.contact h2 em{font-family:Georgia;font-weight:500;color:#b79a62}.lead{font-size:clamp(17px,1.7vw,24px);line-height:1.5;max-width:590px;color:#c7c3bc}.actions{display:flex;gap:28px;align-items:center;margin-top:38px}.text-btn{font-weight:600;font-size:11px;letter-spacing:.08em;border-bottom:1px solid #b79a62;padding:14px 0}.hero-art{position:absolute;right:0;top:0;width:46%;height:100%;opacity:.9}.frame{position:absolute;border:1px solid #b79a6244;background:linear-gradient(145deg,#292929,#0c0c0c);box-shadow:0 20px 70px #000}.frame-a{width:55%;height:55%;right:4%;top:12%;transform:rotate(3deg)}.frame-b{width:48%;height:48%;left:3%;top:32%;transform:rotate(-4deg);background:radial-gradient(circle,#4b463d,#111 55%)}.frame-c{width:43%;height:32%;right:8%;bottom:5%;background:linear-gradient(135deg,#d9d5cb,#292929)}.marquee{padding:18px 5vw;background:#f3f0e9;color:#171717;display:flex;justify-content:space-between;font-weight:700;font-size:9px;letter-spacing:.12em}.marquee i{color:#b79a62}.intro{padding:120px 5vw;background:#f3f0e9;color:#151515;display:grid;grid-template-columns:1fr 2.2fr;gap:40px}.intro .section-label{color:#777}.intro h2,.section-title h2,.portfolio h2,.contact h2{font-size:clamp(50px,6vw,86px)}.intro>div>p{max-width:760px;color:#555;line-height:1.8;font-size:17px}.services,.portfolio,.contact{padding:120px 5vw}.section-title{display:flex;justify-content:space-between;align-items:start}.section-title h2{text-align:right}.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff22;margin-top:60px}.cards article{padding:30px;border-right:1px solid #ffffff22;min-height:390px}.cards article:first-child{padding-left:0}.cards article:last-child{border:0}.tag{color:#b79a62;font-size:9px;letter-spacing:.2em;margin-top:35px}.cards h3{font-size:25px}.cards p:not(.tag){color:#aaa;line-height:1.65}.portfolio{background:#f3f0e9;color:#151515}.portfolio .section-label{color:#777}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 24px;margin-top:65px}.project-card{cursor:pointer}.project-cover{aspect-ratio:16/10;background:linear-gradient(135deg,#2b2b2b,#aaa);overflow:hidden;position:relative}.project-cover img{width:100%;height:100%;object-fit:cover;transition:.5s}.project-card:hover img{transform:scale(1.025)}.placeholder{height:100%;display:grid;place-items:center;color:#b79a62;font:600 11px Georgia;letter-spacing:.2em}.project-meta{display:flex;justify-content:space-between;margin-top:18px;gap:20px}.project-meta h3{font-size:24px;margin:0}.project-meta p{margin:7px 0 0;color:#777;font-size:12px}.project-meta .category{color:#9a7f4f;font-size:9px;letter-spacing:.16em;text-align:right}.urgent{position:relative;padding:140px 8vw;background:#151515;text-align:center;overflow:hidden}.urgent h2{font-size:clamp(70px,10vw,145px)}.urgent>p{max-width:720px;margin:25px auto;color:#aaa;line-height:1.7}.gold{color:#b79a62!important}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.contact-copy>p:not(.section-label){color:#aaa;line-height:1.7}.contact form{background:#151515;padding:38px;border:1px solid #ffffff12}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{display:block;font-weight:600;font-size:10px;letter-spacing:.06em;margin-bottom:20px;color:#c7c3bc}.contact input,.contact select,.contact textarea{width:100%;margin-top:8px;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #4a4844;color:#f2efe8;outline:none}.contact select option{color:#111}.check{display:flex!important;align-items:center;gap:10px;border:1px solid #b79a6255;padding:15px!important}.check input{width:auto;margin:0}.submit{border:0;width:100%;cursor:pointer}.hp{position:absolute!important;left:-9999px!important}footer{padding:45px 5vw;border-top:1px solid #ffffff15;display:flex;justify-content:space-between;align-items:end;color:#777;font-size:10px}.modal{position:fixed;inset:0;background:#080808f5;z-index:99;display:none;overflow:auto;padding:6vh 5vw}.modal.open{display:block}.modal-close{position:fixed;right:4vw;top:3vh;font-size:30px;background:none;border:0;color:#fff;cursor:pointer}.modal-inner{max-width:1150px;margin:auto}.modal-head{max-width:760px;margin-bottom:35px}.modal-head .category{color:#b79a62;font-size:10px;letter-spacing:.2em}.modal-head h2{font-size:48px;margin:12px 0}.modal-head p{color:#aaa;line-height:1.65}.gallery-five{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery-five img,.gallery-ph{width:100%;aspect-ratio:4/3;object-fit:cover;background:#222}.gallery-five>*:first-child{grid-column:1/-1;aspect-ratio:16/8}.gallery-ph{display:grid;place-items:center;color:#b79a62;font-size:10px;letter-spacing:.2em}@media(max-width:850px){.nav nav,.nav .compact{display:none}.hero{min-height:850px;align-items:flex-start}.hero-copy{width:100%}.hero h1{font-size:17vw}.hero-art{width:70%;height:42%;top:auto;bottom:0;opacity:.5}.actions{align-items:flex-start;flex-direction:column}.marquee span:nth-of-type(n+4),.marquee i:nth-of-type(n+4){display:none}.intro,.contact{grid-template-columns:1fr}.section-title{display:block}.section-title h2{text-align:left}.cards,.project-grid{grid-template-columns:1fr}.cards article{min-height:auto;border-right:0;border-bottom:1px solid #ffffff22;padding:30px 0}.row{grid-template-columns:1fr}.gallery-five{grid-template-columns:1fr}.gallery-five>*:first-child{grid-column:auto}.intro,.services,.portfolio,.urgent,.contact{padding:80px 6vw}footer{gap:25px;flex-direction:column;align-items:flex-start}}
.service-area{padding:110px 5vw;background:#f3f0e9;color:#151515;display:grid;grid-template-columns:1fr 2.2fr;gap:40px;border-top:1px solid #d9d4c9}.service-area .section-label{color:#777}.service-area h2{font-size:clamp(38px,4.6vw,72px);line-height:.95;letter-spacing:-.055em;margin:0 0 28px;max-width:950px}.service-area>div>p:not(.area-list){font-size:17px;line-height:1.7;color:#555;max-width:780px}.area-list{font-size:10px!important;line-height:2!important;letter-spacing:.08em;text-transform:uppercase;color:#777!important;max-width:1000px!important;margin-top:35px}@media(max-width:850px){.service-area{grid-template-columns:1fr;padding:80px 6vw}.area-list{font-size:9px!important}}
.lang{font-size:10px;letter-spacing:.08em;color:#888}.lang.active{color:#b79a62;font-weight:700}.lang-sep{color:#555;font-size:10px}

.brand-logo{display:flex;align-items:center;width:150px;min-width:150px}
.brand-logo img{display:block;width:100%;height:58px;object-fit:contain;object-position:left center}
footer .brand-logo{width:175px}
@media(max-width:850px){.brand-logo{width:118px;min-width:118px}.brand-logo img{height:48px}}

/* Trusted companies carousel */
.trusted{background:#0a0a0a;padding:42px 0 50px;border-top:1px solid #202020;border-bottom:1px solid #202020;overflow:hidden}
.trusted>.section-label{padding:0 5vw;margin:0 0 30px;color:#777}
.logo-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.logo-track{display:flex;align-items:center;width:max-content;gap:72px;animation:rn-logo-scroll 32s linear infinite;will-change:transform}
.logo-marquee:hover .logo-track{animation-play-state:paused}
.trusted-logo{width:150px;height:58px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;opacity:.72;transition:opacity .25s ease,transform .25s ease}
.trusted-logo:hover{opacity:1;transform:translateY(-2px)}
.trusted-logo img{display:block;max-width:100%;max-height:52px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.72);mix-blend-mode:screen}
@keyframes rn-logo-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 36px))}}
@media(max-width:700px){.logo-track{gap:46px;animation-duration:24s}.trusted-logo{width:118px;height:48px}.trusted-logo img{max-height:42px}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;padding:0 5vw}}


/* =========================================================
   ROSE NOIR NAV HOVER + PAGE SCROLL PROGRESS
   ========================================================= */

/* Elegant animated beige underline for desktop navigation links */
nav a:not(.btn),
.nav a:not(.btn),
header a:not(.btn):not(.logo):not(.brand-logo) {
  position: relative;
  text-decoration: none;
}

nav a:not(.btn)::after,
.nav a:not(.btn)::after,
header a:not(.btn):not(.logo):not(.brand-logo)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 100%;
  height: 1px;
  background: #B79A62;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform .32s cubic-bezier(.22,.61,.36,1);
}

nav a:not(.btn):hover::after,
.nav a:not(.btn):hover::after,
header a:not(.btn):not(.logo):not(.brand-logo):hover::after,
nav a:not(.btn):focus-visible::after,
.nav a:not(.btn):focus-visible::after {
  transform: translateX(-50%) scaleX(1);
}

/* Fixed progress line at the absolute top of the viewport */
#page-progress {
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
  background: transparent;
}

#page-progress-bar {
  display: block;
  width: 100%;
  height: 100%;
  background: #B79A62;
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
  box-shadow: 0 0 10px rgba(183,154,98,.18);
}

@media (prefers-reduced-motion: reduce) {
  nav a:not(.btn)::after,
  .nav a:not(.btn)::after,
  header a:not(.btn):not(.logo):not(.brand-logo)::after {
    transition: none;
  }
}

/* Six temporary client-logo placeholders */
.trusted-placeholder{
  border:1px solid rgba(183,154,98,.22);
  background:rgba(255,255,255,.018);
  color:#8f8c86;
  letter-spacing:.16em;
  font-size:11px;
  font-weight:600;
}
.trusted-placeholder span{opacity:.72}

/* Rose Noir FAQ accordion */
.faq-section{padding:110px 5vw;background:#0a0a0a;border-top:1px solid #202020}
.faq-head{max-width:1180px;margin:0 auto 48px}
.faq-head h2{margin:10px 0 0;font-size:clamp(42px,6vw,84px);line-height:.94;letter-spacing:-.045em}
.faq-list{max-width:1180px;margin:0 auto;border-top:1px solid #2a2a2a}
.faq-item{border-bottom:1px solid #2a2a2a}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 0;border:0;background:transparent;color:#f3f0e9;text-align:left;font:inherit;font-size:clamp(17px,1.5vw,21px);font-weight:600;cursor:pointer}
.faq-question:hover{color:#c7ad78}
.faq-plus{position:relative;width:18px;height:18px;flex:0 0 18px}
.faq-plus:before,.faq-plus:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:1px;background:#b79a62;transform:translate(-50%,-50%);transition:transform .35s ease}
.faq-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.open .faq-plus:after{transform:translate(-50%,-50%) rotate(0deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1)}
.faq-answer-inner{overflow:hidden}
.faq-answer p{max-width:800px;margin:0;padding:0 50px 28px 0;color:#aaa69f;line-height:1.75;font-size:15px}
@media(max-width:700px){.faq-section{padding:75px 6vw}.faq-head{margin-bottom:32px}.faq-question{padding:22px 0;font-size:17px}.faq-answer p{padding-right:15px}}
@media(prefers-reduced-motion:reduce){.faq-answer,.faq-plus:before,.faq-plus:after{transition:none}}

/* Hero video background + larger official logo */
.brand-logo{width:195px!important;min-width:195px!important}
.brand-logo img{height:75px!important}
footer .brand-logo{width:225px!important}
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero>*:not(.hero-video-bg){position:relative;z-index:2}
.hero-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#090909;pointer-events:none}
.hero-video-bg iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%) scale(1.02);border:0;opacity:var(--hero-video-opacity,.40);filter:saturate(.72) contrast(1.08)}
.hero-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.78) 0%,rgba(5,5,5,.47) 48%,rgba(5,5,5,.68) 100%)}
.hero-video-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(243,240,233,.22) .65px,transparent .7px);background-size:5px 5px;opacity:.32;mix-blend-mode:soft-light}
@media(max-width:700px){.brand-logo{width:154px!important;min-width:154px!important}.brand-logo img{height:62px!important}.hero-video-bg iframe{width:220vh}}

/* Cleaner hero video: no decorative lines, softer highlights */
.hero::before,.hero::after{display:none!important;content:none!important}
.hero-video-bg iframe{
  filter:grayscale(.12) saturate(.62) brightness(.72) contrast(.92)!important;
}
.hero-video-shade{
  background:
    linear-gradient(90deg,rgba(5,5,5,.82) 0%,rgba(5,5,5,.56) 48%,rgba(5,5,5,.74) 100%)!important;
}

/* Official Rose Noir logo, 40% larger than previous size */
.brand-logo{width:273px!important;min-width:273px!important}
.brand-logo img{height:105px!important}
footer .brand-logo{width:273px!important}
@media(max-width:700px){
  .brand-logo{width:216px!important;min-width:216px!important}
  .brand-logo img{height:87px!important}
}

/* Header refinement: opaque enough to separate navigation from hero video */
header{
  background:rgba(10,10,10,.80)!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

/* Underline animation belongs ONLY to navigation/menu text */
header .logo::after,
header .brand-logo::after,
header .logo:hover::after,
header .brand-logo:hover::after{
  content:none!important;
  display:none!important;
}

/* Ensure logo itself never inherits link underline/border effects */
header .logo,
header .brand-logo{
  text-decoration:none!important;
  border-bottom:0!important;
  background-image:none!important;
}

/* Logo breathing room: prevent the taller official mark from being clipped */
header{
  min-height:132px!important;
  overflow:visible!important;
}
header .brand-logo{
  padding:12px 0!important;
  box-sizing:content-box!important;
  overflow:visible!important;
}
header .brand-logo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:105px!important;
  object-fit:contain!important;
  overflow:visible!important;
}
@media(max-width:700px){
  header{min-height:108px!important}
  header .brand-logo{padding:10px 0!important}
  header .brand-logo img{max-height:87px!important}
}

/* YouTube captions live inside the cross-origin iframe and cannot be reliably
   disabled by site CSS. Mask the lower caption-safe area of the background video. */
.hero-video-bg::after{
  content:"";
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  height:24%;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(10,10,10,0) 0%,
    rgba(10,10,10,.70) 38%,
    rgba(10,10,10,.97) 78%,
    #0a0a0a 100%
  );
}
.hero-video-dots{z-index:5}
.hero-video-shade{z-index:3}

/* Video replaces the original abstract hero artwork completely */
.hero .hero-art,
.hero .frame,
.hero .frame-a,
.hero .frame-b,
.hero .frame-c{
  display:none!important;
}


/* Rose Noir — Reels / About / Careers / expanded footer */
.reels-showcase{padding:110px 5vw 120px;background:#0a0a0a;overflow:hidden}
.reels-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:60px;align-items:end;margin-bottom:48px}
.reels-heading h2,.about-strip h2,.careers-strip h2{font-size:clamp(3rem,6vw,6.7rem);line-height:.88;letter-spacing:-.055em;margin:.18em 0 0}
.reels-heading>p{max-width:470px;margin:0 0 8px;opacity:.68;line-height:1.7}
.reels-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,360px);gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 20px;scroll-snap-type:x proximity;scrollbar-width:thin}
.reel-card{position:relative;scroll-snap-align:start;background:#111;border:1px solid rgba(183,154,98,.22);min-height:590px;overflow:hidden}
.reel-card iframe{display:block;width:100%;height:540px;border:0;background:#111}
.reel-open{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px;color:#f3f0e9;text-decoration:none;font-size:.72rem;letter-spacing:.12em;border-top:1px solid rgba(255,255,255,.09);transition:background .25s ease,color .25s ease}
.reel-open:hover{background:#b79a62;color:#0a0a0a}
.about-strip,.careers-strip{padding:105px 5vw;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:8vw;align-items:end;border-top:1px solid rgba(255,255,255,.1)}
.about-strip{background:#f3f0e9;color:#0a0a0a}
.careers-strip{background:#101010}
.about-copy,.careers-copy{max-width:620px}
.about-copy p,.careers-copy p{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.75;margin:0 0 30px;opacity:.76}
.text-link{display:inline-block;color:inherit;text-decoration:none;font-size:.75rem;font-weight:700;letter-spacing:.13em;border-bottom:1px solid currentColor;padding-bottom:6px}
.careers-btn{display:inline-flex;width:auto}
.site-footer{padding:72px 5vw 28px;background:#070707;border-top:1px solid rgba(183,154,98,.25)}
.footer-main{display:grid;grid-template-columns:minmax(260px,1.35fr) .7fr 1fr .55fr;gap:54px;align-items:start}
.footer-brand .brand-logo{display:inline-flex;margin:0 0 24px}
.footer-brand>p{max-width:330px;line-height:1.65;opacity:.55}
.footer-column,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-label{font-size:.67rem;letter-spacing:.16em;color:#b79a62;margin:0 0 8px}
.footer-column a{color:#f3f0e9;text-decoration:none;opacity:.72;line-height:1.55;transition:opacity .2s ease}
.footer-column a:hover{opacity:1}
.footer-icons{display:flex;gap:10px}
.footer-icons a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;transition:border-color .2s ease,background .2s ease}
.footer-icons a:hover{border-color:#b79a62;background:rgba(183,154,98,.1)}
.footer-icons svg{width:19px;height:19px}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);font-size:.72rem;letter-spacing:.08em;opacity:.45}
@media(max-width:900px){
  .reels-heading,.about-strip,.careers-strip{grid-template-columns:1fr;gap:34px}
  .reels-showcase,.about-strip,.careers-strip{padding-top:80px;padding-bottom:85px}
  .reels-track{grid-auto-columns:minmax(270px,82vw)}
  .footer-main{grid-template-columns:1fr 1fr;gap:46px 28px}
}
@media(max-width:560px){
  .reel-card iframe{height:500px}
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px}
}


/* 2026-09 polish: centered footer, native date picker, clean Instagram tiles */
.site-footer{text-align:center}
.footer-main{
  max-width:1220px;
  margin:0 auto;
  grid-template-columns:1.25fr .75fr 1fr .65fr;
  justify-content:center;
}
.footer-brand,.footer-column,.footer-social{
  align-items:center;
  text-align:center;
}
.footer-brand>p{margin-left:auto;margin-right:auto}
.footer-bottom{
  max-width:1220px;
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
}
.footer-bottom p+ p{margin-left:24px}
.footer-icons{justify-content:center}

input[type="date"]{
  color-scheme:dark;
  cursor:pointer;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.78;
}

.reels-track{
  grid-auto-columns:minmax(230px,300px);
  gap:22px;
  align-items:start;
}
.reel-card.reel-clean{
  display:block;
  min-height:0;
  aspect-ratio:9/16;
  border:0;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  background:#111;
  text-decoration:none;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
  transition:transform .3s ease, box-shadow .3s ease;
}
.reel-card.reel-clean:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 55px rgba(0,0,0,.34);
}
.reel-media{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:inherit;
  background:#111;
}
.reel-media iframe{
  position:absolute;
  width:calc(100% + 2px);
  height:calc(100% + 235px);
  left:-1px;
  top:-58px;
  border:0;
  pointer-events:none;
  background:#111;
}
.reel-glass{
  position:absolute;
  inset:0;
  z-index:3;
  background:transparent;
}
@media(max-width:900px){
  .footer-main{grid-template-columns:1fr 1fr}
  .reels-track{grid-auto-columns:minmax(235px,72vw)}
}
@media(max-width:560px){
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{align-items:center}
  .footer-bottom p+ p{margin-left:0}
}


/* Instagram media-only crop: hide Instagram chrome below the actual visual */
.reel-card.reel-clean{
  aspect-ratio:4/5;
  border-radius:20px;
}
.reel-media{
  inset:0;
  border-radius:20px;
}
.reel-media iframe{
  width:100%;
  height:760px;
  left:0;
  top:-58px;
  transform:none;
}
/* Hard crop the embed viewport before Instagram's actions/caption area */
.reel-media::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:#0a0a0a;
  z-index:2;
}


/* Footer layout correction — centered as one balanced block */
.site-footer{
  padding:64px 5vw 28px;
  text-align:center;
}
.footer-main{
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:clamp(55px,7vw,120px);
}
.footer-brand,
.footer-column,
.footer-social{
  flex:0 1 auto;
  width:auto;
  min-width:145px;
  align-items:center;
  text-align:center;
}
.footer-brand{min-width:260px}
.footer-brand .brand-logo{
  margin-left:auto;
  margin-right:auto;
}
.footer-contact{min-width:230px}
.footer-icons{
  min-width:100px;
  justify-content:center;
}
.footer-bottom{
  width:min(1180px,100%);
  margin:48px auto 0;
  padding-top:20px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:32px;
  text-align:center;
}
.footer-bottom p,
.footer-bottom p + p{
  margin:0;
}
@media(max-width:900px){
  .footer-main{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:48px 30px;
  }
  .footer-brand,.footer-column,.footer-social,.footer-contact{
    min-width:0;
    width:100%;
  }
}
@media(max-width:560px){
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px}
}


/* Footer composition v2 — deliberate centered band */
.site-footer{
  padding:72px 5vw 30px;
  text-align:left;
}
.footer-main{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.45fr .75fr 1fr .55fr;
  column-gap:clamp(42px,5vw,80px);
  align-items:start;
}
.footer-brand,
.footer-column,
.footer-social,
.footer-contact{
  width:auto;
  min-width:0;
  text-align:left;
  align-items:flex-start;
}
.footer-brand{padding-right:25px}
.footer-brand .brand-logo{
  margin:0 0 22px;
  justify-content:flex-start;
}
.footer-brand>p{
  margin:0;
  max-width:300px;
}
.footer-icons{justify-content:flex-start}
.footer-bottom{
  width:min(1120px,100%);
  margin:52px auto 0;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
}
.footer-bottom p,
.footer-bottom p + p{margin:0}
@media(max-width:900px){
  .footer-main{
    grid-template-columns:1.2fr 1fr;
    gap:48px 50px;
  }
  .footer-brand,.footer-column,.footer-social,.footer-contact{
    width:100%;
    text-align:left;
    align-items:flex-start;
  }
}
@media(max-width:560px){
  .site-footer{padding-left:7vw;padding-right:7vw}
  .footer-main{grid-template-columns:1fr;gap:38px}
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}


/* Index footer final alignment */
.site-footer .footer-main{
  width:min(1050px,100%);
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:1.55fr .72fr 1.15fr .42fr;
  justify-content:center;
  column-gap:clamp(48px,5vw,82px);
}
.site-footer .footer-bottom{
  width:min(1050px,100%);
  margin-left:auto;
  margin-right:auto;
}
.site-footer .footer-brand .brand-logo{
  width:382px;
  max-width:100%;
}
.site-footer .footer-brand .brand-logo img{
  width:100%;
  height:auto;
  max-height:none;
}
.site-footer .footer-social{
  padding-top:0;
}
@media(max-width:900px){
  .site-footer .footer-main{
    grid-template-columns:1.2fr 1fr;
  }
  .site-footer .footer-brand .brand-logo{width:320px}
}
@media(max-width:560px){
  .site-footer .footer-main{grid-template-columns:1fr}
  .site-footer .footer-brand .brand-logo{width:280px}
}


/* FINAL FOOTER: official logo only */
.site-footer.footer-logo-only{
  min-height:300px !important;
  padding:55px 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.footer-logo-only .footer-only-logo{
  display:block !important;
  width:min(464px,80vw) !important; /* ~70% larger than 273px */
  margin:0 auto !important;
  padding:0 !important;
}
.footer-logo-only .footer-only-logo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  margin:0 auto !important;
}


/* REELS SINGLE-PLAY FIX
   Instagram iframe is cross-origin, so its native white play glyph cannot be
   recolored with parent CSS. Remove our added play overlay to guarantee ONE
   play button instead of two. Keep the clean crop, no side bars, no white footer. */
.reel-card.reel-clean::after{
  content:none !important;
  display:none !important;
}
.reel-card.reel-clean{
  aspect-ratio:4/5 !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:#0a0a0a !important;
}
.reel-card.reel-clean .reel-media{
  inset:0 !important;
  overflow:hidden !important;
  border-radius:inherit !important;
}
.reel-card.reel-clean .reel-media iframe{
  top:-58px !important;
  left:50% !important;
  width:340px !important;
  height:760px !important;
  max-width:none !important;
  transform:translateX(-50%) scale(1.13) !important;
  transform-origin:top center !important;
  border:0 !important;
  pointer-events:none !important;
}
.reel-card.reel-clean .reel-media::after{
  content:"" !important;
  position:absolute !important;
  z-index:5 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:10px !important;
  background:#0a0a0a !important;
  pointer-events:none !important;
}
