/* ── CINEFRAME COMMON STYLE ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --bg:#080808;
  --bg2:#111111;
  --white:#f5f3ee;
  --muted:rgba(245,243,238,.58);
  --soft:rgba(245,243,238,.84);
  --line:rgba(245,243,238,.13);
  --ease:cubic-bezier(.25,.1,.25,1);
}
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--bg); color:var(--white); font-weight:300; overflow-x:hidden; cursor:none; }
a, button, input, textarea, select, .hoverable { cursor:none; }
img { max-width:100%; display:block; }
.logo{pointer-events:auto;display:flex;align-items:center;justify-content:center;min-width:68px;height:42px;padding:0;background:transparent;border:0}.logo img{height:23px;display:block;filter:invert(1);opacity:.92}.nav{pointer-events:auto;display:flex;gap:2.1rem;align-items:center;padding:0;min-height:42px;background:transparent;border:0}.nav a{text-decoration:none;color:var(--white);font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;opacity:.72;transition:opacity .2s,color .2s;white-space:nowrap}.nav a:hover,.nav a.active{opacity:1;color:var(--white)}

.site-footer{padding:1.75rem 3rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:var(--bg)}.footer-brand{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.footer-links{display:flex;gap:2rem;list-style:none}.footer-links a{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--white)}.footer-copy{font-size:.58rem;color:rgba(245,243,238,.24)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.25rem;border:1px solid rgba(245,243,238,.24);color:var(--white);text-decoration:none;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;transition:background .2s,border-color .2s}.btn:hover{background:rgba(245,243,238,.06);border-color:rgba(245,243,238,.48)}
.kicker{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;color:var(--muted);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase}.kicker::before{content:"";width:32px;height:1px;background:var(--muted)}
.page-title{font-family:'DM Serif Display',serif;font-style:italic;font-weight:400;font-size:clamp(3.2rem,7.5vw,7.8rem);line-height:.9;letter-spacing:-.035em;color:var(--white)}
.basic-page{min-height:100vh;padding:9rem 3rem 6rem;background:radial-gradient(circle at 78% 46%,rgba(120,15,26,.22),transparent 32%),linear-gradient(145deg,rgba(245,243,238,.13),transparent 0%),var(--bg)}
@media (max-width:900px){body{cursor:auto}a,button,input,textarea,select,.hoverable{cursor:pointer}#cursor,.site-header{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.05rem 3rem;display:flex;align-items:center;justify-content:space-between;background:transparent;border-bottom:0;pointer-events:none}.nav{pointer-events:auto;display:flex;gap:2.1rem;align-items:center;padding:0 1.25rem;min-height:42px;background:rgba(8,8,8,.72);border:1px solid var(--line);backdrop-filter:blur(14px)}.nav a{text-decoration:none;color:var(--white);font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;opacity:.72;transition:opacity .2s,color .2s;white-space:nowrap}.site-footer{padding:1.5rem 1.25rem;display:grid;gap:1rem}.footer-links{gap:1rem;flex-wrap:wrap}.basic-page{padding:7rem 1.25rem 4rem}}

/* polished link treatment */
a { color: inherit; }
.text-link { color: var(--white); text-decoration: none; border-bottom: 1px solid rgba(245,243,238,.28); padding-bottom: .15rem; transition: color .2s,border-color .2s; }
.text-link:hover { color: var(--muted); border-color: rgba(245,243,238,.58); }
.centered-section { max-width: 1180px; margin: 0 auto; }

/* consistent CTA / text-link styling */
.btn, .btn:visited, .text-link, .text-link:visited, .contact-row, .contact-row:visited, .info-row, .info-row:visited {
  color: var(--white);
  text-decoration: none;
}
.footer-links a, .footer-links a:visited, .nav a, .nav a:visited {
  color: var(--white);
  text-decoration: none;
}

/* v4 link + header polish */
a, a:visited, a:active { color: inherit; text-decoration: none; }
.text-link, .text-link:visited, .section-link, .section-link:visited { color: var(--white); text-decoration: none; border-bottom: 1px solid rgba(245,243,238,.26); padding-bottom: .14rem; }
.text-link:hover, .section-link:hover { color: var(--muted); border-color: rgba(245,243,238,.55); }
@media (max-width:900px){.site-header{padding:1rem 1.25rem}.logo{min-width:54px;height:38px;padding:0 .8rem}.nav{gap:.85rem;padding:0 .8rem;min-height:38px;overflow-x:auto}.nav a{font-size:.5rem;letter-spacing:.15em}}


/* v7 hard link + header fix */
a, a:visited, a:active, a:hover { color: inherit !important; text-decoration: none !important; }
.btn, .btn:visited, .text-link, .text-link:visited, .section-link, .section-link:visited,
.about-cta a, .about-cta a:visited, .info-row, .info-row:visited, .small-cta, .small-cta:visited {
  color: var(--white) !important;
  text-decoration: none !important;
}
.site-header{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 260;
  min-height: 5.15rem;
  padding: 1.05rem 3rem;
  background: rgba(8,8,8,.9) !important;
  border-bottom: 1px solid rgba(245,243,238,.12) !important;
  backdrop-filter: blur(16px);
  pointer-events: auto !important;
}
.logo, .nav { background: transparent !important; border: 0 !important; pointer-events: auto !important; }
.nav a { color: var(--white) !important; text-decoration:none !important; }
@media (max-width:900px){.site-header{padding:1rem 1.25rem}.nav{gap:.85rem;overflow-x:auto}.nav a{font-size:.5rem;letter-spacing:.15em}}

/* v8 nav readability: soft dark glass plate under the whole navigation */
.site-header {
  background: rgba(8,8,8,.72) !important;
  backdrop-filter: blur(20px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(120%) !important;
  border-bottom: 1px solid rgba(245,243,238,.10) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.26) !important;
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(8,8,8,.64), rgba(8,8,8,.38));
  pointer-events: none;
  z-index: -1;
}
.logo,
.nav {
  position: relative;
  z-index: 1;
}
.nav a,
.nav a:visited {
  color: var(--white) !important;
  opacity: .86;
}
.nav a:hover,
.nav a.active {
  opacity: 1;
}
@media (max-width:900px) {
  .site-header {
    background: rgba(8,8,8,.82) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  }
}


/* v10: normal header gets the dark background; gallery filter is no longer sticky */
.site-header {
  background: rgba(8,8,8,.94) !important;
  backdrop-filter: blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  border-bottom: 1px solid rgba(245,243,238,.12) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.28) !important;
}
.site-header::before { display:none !important; }
@media (max-width:900px){
  .site-header { background: rgba(8,8,8,.94) !important; pointer-events:auto !important; }
}


/* v11 final header blur + absolute link color fix */
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:999 !important;
  min-height:5.15rem !important;
  padding:1.05rem 3rem !important;
  background:rgba(8,8,8,.68) !important;
  backdrop-filter:blur(22px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(120%) !important;
  border-bottom:1px solid rgba(245,243,238,.12) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
  pointer-events:auto !important;
}
.logo,.nav{position:relative !important;z-index:2 !important;pointer-events:auto !important;}
.nav a,.nav a:link,.nav a:visited,.nav a:hover,.nav a:active,
.footer-links a,.footer-links a:link,.footer-links a:visited,.footer-links a:hover,.footer-links a:active,
.about-cta a,.about-cta a:link,.about-cta a:visited,.about-cta a:hover,.about-cta a:active,
a.btn,a.btn:link,a.btn:visited,a.btn:hover,a.btn:active,
.section-link,.section-link:link,.section-link:visited,.section-link:hover,.section-link:active,
.text-link,.text-link:link,.text-link:visited,.text-link:hover,.text-link:active{
  color:#f5f3ee !important;
  text-decoration:none !important;
  -webkit-text-decoration:none !important;
}
.about-cta .btn,
.about-cta .btn:link,
.about-cta .btn:visited{
  display:inline-flex !important;
  color:#f5f3ee !important;
  text-decoration:none !important;
  border:1px solid rgba(245,243,238,.24) !important;
  background:transparent !important;
}
.about-cta .btn:hover{
  color:#f5f3ee !important;
  background:rgba(245,243,238,.06) !important;
  border-color:rgba(245,243,238,.48) !important;
}
@media(max-width:900px){
  .site-header{padding:1rem 1.25rem !important;background:rgba(8,8,8,.76) !important;backdrop-filter:blur(20px) saturate(120%) !important;-webkit-backdrop-filter:blur(20px) saturate(120%) !important;}
}


/* v13: floating blurred header, burger menu, favicon-ready link reset */
.site-header{
  position:fixed !important;
  top:1rem !important;
  left:4.5rem !important;
  right:4.5rem !important;
  width:auto !important;
  min-height:4.35rem !important;
  padding:.72rem 1.15rem !important;
  border-radius:18px !important;
  background:rgba(8,8,8,.58) !important;
  backdrop-filter:blur(22px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(125%) !important;
  border:1px solid rgba(245,243,238,.13) !important;
  box-shadow:0 20px 55px rgba(0,0,0,.34) !important;
  z-index:9999 !important;
}
.logo{height:42px !important; min-width:60px !important;}
.nav{gap:2.15rem !important;}
.nav a,.nav a:link,.nav a:visited,.nav a:hover,.nav a:active{
  color:#f5f3ee !important;
  text-decoration:none !important;
  -webkit-text-decoration:none !important;
}
.nav-toggle{display:none;position:relative;width:44px;height:42px;border:1px solid rgba(245,243,238,.14);background: transparent;border-radius:12px;color:var(--white);}
.nav-toggle span{position:absolute;left:12px;right:12px;height:1px;background:var(--white);transition:transform .22s ease, top .22s ease, opacity .22s ease;}
.nav-toggle span:first-child{top:16px}.nav-toggle span:last-child{top:25px}
.site-header.nav-open .nav-toggle span:first-child{top:21px;transform:rotate(45deg)}
.site-header.nav-open .nav-toggle span:last-child{top:21px;transform:rotate(-45deg)}
/* force normal styled links in body sections */
.about-cta a,.about-cta a:link,.about-cta a:visited,.about-cta a:hover,.about-cta a:active,
.cineframe-link-fix a,.cineframe-link-fix a:link,.cineframe-link-fix a:visited,.cineframe-link-fix a:hover,.cineframe-link-fix a:active{
  color:#f5f3ee !important;
  text-decoration:none !important;
  -webkit-text-decoration:none !important;
}
.about-cta .btn,.cineframe-link-fix .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 1.25rem !important;
  border:1px solid rgba(245,243,238,.28) !important;
  background:transparent !important;
  font-size:.58rem !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
}
.about-cta .btn:hover,.cineframe-link-fix .btn:hover{background:rgba(245,243,238,.06) !important;border-color:rgba(245,243,238,.5) !important;}
@media(max-width:900px){
  .site-header{
    top:.75rem !important;
    left:1rem !important;
    right:1rem !important;
    padding:.65rem .75rem !important;
    border-radius:16px !important;
    min-height:4rem !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
  }
  .nav-toggle{display:block !important;justify-self:end;}
  .site-header .nav{
    display:none !important;
    grid-column:1 / -1;
    margin-top:.65rem;
    padding:.75rem 0 .3rem !important;
    border-top:1px solid rgba(245,243,238,.12) !important;
    background:transparent !important;
    border-left:0 !important;border-right:0 !important;border-bottom:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    overflow:visible !important;
  }
  .site-header.nav-open .nav{display:flex !important;}
  .site-header .nav a{
    padding:.85rem .2rem !important;
    font-size:.64rem !important;
    letter-spacing:.22em !important;
    border-bottom:1px solid rgba(245,243,238,.08);
  }
}


/* v14: minimal header, visible only at top or when scrolling upward */
.site-header{
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:auto !important;
  min-height:72px !important;
  padding:1.55rem 3rem !important;
  border-radius:0 !important;
  background:linear-gradient(to bottom, rgba(8,8,8,.42), rgba(8,8,8,.16) 62%, rgba(8,8,8,0)) !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transform:translateY(0) !important;
  transition:transform .34s var(--ease), background .28s ease, opacity .28s ease !important;
}
.site-header.header-solid{
  background:rgba(8,8,8,.72) !important;
  backdrop-filter:blur(12px) saturate(115%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(115%) !important;
  border-bottom:1px solid rgba(245,243,238,.09) !important;
}
.site-header.header-hidden{
  transform:translateY(-115%) !important;
}
.site-header .logo,
.site-header .nav{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.site-header .nav{gap:2.35rem !important;}
.site-header .nav a{opacity:.72 !important;}
.site-header .nav a:hover,
.site-header .nav a.active{opacity:1 !important;}
@media(max-width:900px){
  .site-header{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    min-height:68px !important;
    padding:1rem 1.25rem !important;
    border-radius:0 !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
    background:rgba(8,8,8,.72) !important;
    backdrop-filter:blur(12px) saturate(115%) !important;
    -webkit-backdrop-filter:blur(12px) saturate(115%) !important;
  }
  .site-header .nav-toggle{display:block !important;justify-self:end;}
  .site-header .nav{
    display:none !important;
    grid-column:1 / -1;
    margin-top:.65rem;
    padding:.75rem 0 .25rem !important;
    border-top:1px solid rgba(245,243,238,.12) !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .site-header.nav-open{transform:translateY(0) !important;}
  .site-header.nav-open .nav{display:flex !important;}
  .site-header .nav a{padding:.85rem 0 !important;font-size:.64rem !important;letter-spacing:.22em !important;border-bottom:1px solid rgba(245,243,238,.08);}
}


/* v15: clean transparent header — no blur/no dark plate, only appears when scrolling up */
.site-header,
.site-header.header-solid{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:auto !important;
  min-height:72px !important;
  padding:1.55rem 3rem !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transform:translateY(0) !important;
  transition:transform .34s var(--ease), opacity .25s ease !important;
}
.site-header::before,
.site-header::after{
  display:none !important;
  content:none !important;
}
.site-header.header-hidden{
  transform:translateY(-115%) !important;
}
.site-header .logo,
.site-header .nav{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.site-header .nav a,
.site-header .nav a:link,
.site-header .nav a:visited{
  color:#f5f3ee !important;
  text-decoration:none !important;
  opacity:.72 !important;
  text-shadow:0 1px 18px rgba(0,0,0,.42);
}
.site-header .nav a:hover,
.site-header .nav a.active{
  opacity:1 !important;
}
@media(max-width:900px){
  .site-header,
  .site-header.header-solid{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    min-height:68px !important;
    padding:1rem 1.25rem !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
  }
  .site-header.nav-open{
    background:rgba(8,8,8,.92) !important;
    border-bottom:1px solid rgba(245,243,238,.10) !important;
  }
  .site-header .nav-toggle{
    display:block !important;
    justify-self:end;
    background: transparent;
  }
  .site-header .nav{
    display:none !important;
    grid-column:1 / -1;
    margin-top:.65rem;
    padding:.75rem 0 .25rem !important;
    border-top:1px solid rgba(245,243,238,.12) !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .site-header.nav-open{transform:translateY(0) !important;}
  .site-header.nav-open .nav{display:flex !important;}
  .site-header .nav a{padding:.85rem 0 !important;font-size:.64rem !important;letter-spacing:.22em !important;border-bottom:1px solid rgba(245,243,238,.08);}
}


/* v16: absolute final header fix — no blur / no dark plate anywhere */
.site-header,
.site-header.header-solid,
.site-header:not(.nav-open){
  background: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.site-header::before,
.site-header::after{
  display:none !important;
  content:none !important;
  background:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.site-header .logo,
.site-header .nav{
  background: transparent !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:0 !important;
  box-shadow:none !important;
}
@media(max-width:900px){
  .site-header,
  .site-header.header-solid,
  .site-header:not(.nav-open){
    background: transparent !important;
    background-image:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .site-header.nav-open{
    background: rgba(8,8,8,.92) !important;
    border-bottom:1px solid rgba(245,243,238,.10) !important;
  }
}


/* v17: make the entire header, including nav links, disappear on scroll down */
.site-header{
  background: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: transform .34s var(--ease), opacity .24s ease !important;
  will-change: transform, opacity;
}
.site-header.header-hidden{
  transform: translate3d(0,-120%,0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.site-header.header-hidden .logo,
.site-header.header-hidden .nav,
.site-header.header-hidden .nav-toggle{
  opacity: 0 !important;
  pointer-events: none !important;
}
body.cursor-header #cursor,
body.cursor-header 
@media(max-width:900px){
  .site-header:not(.nav-open){
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .site-header.header-hidden:not(.nav-open){
    transform: translate3d(0,-120%,0) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}


/* v19: final clean header behavior + remove desktop burger dot + remove top hero bar */
.nav-toggle,
button.nav-toggle.hoverable{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  background:transparent !important;
}

.site-header{
  background:transparent !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:0 !important;
  box-shadow:none !important;
  transform:translate3d(0,0,0) !important;
  transition:transform .34s cubic-bezier(.25,.1,.25,1), opacity .22s ease !important;
  will-change:transform,opacity;
}
.site-header.header-hidden{
  transform:translate3d(0,-140%,0) !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.site-header.header-hidden *{
  pointer-events:none !important;
}

/* remove the black strip behind the header on the start hero */
.hero::before{
  display:none !important;
  background:transparent !important;
}

@media(max-width:900px){
  .nav-toggle,
  button.nav-toggle.hoverable{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    width:44px !important;
    height:42px !important;
    border:1px solid rgba(245,243,238,.18) !important;
    background:rgba(8,8,8,.28) !important;
    border-radius:12px !important;
  }
  .site-header.nav-open{
    background:rgba(8,8,8,.92) !important;
  }
}

/* v22: V19 base — remove desktop dot completely + sharper black mobile burger/menu */
@media (min-width:901px){
  .site-header .nav-toggle,
  .site-header button.nav-toggle,
  .site-header button.nav-toggle.hoverable{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    position:absolute !important;
    width:0 !important;
    min-width:0 !important;
    height:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    overflow:hidden !important;
    background:transparent !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }
}

@media (max-width:900px){
  .site-header{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    min-height:68px !important;
    padding:1rem 1.25rem !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
  }

  .site-header .nav-toggle,
  .site-header button.nav-toggle,
  .site-header button.nav-toggle.hoverable{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    justify-self:end !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    min-width:46px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid rgba(245,243,238,.18) !important;
    border-radius:0 !important;
    background:#080808 !important;
    color:var(--white) !important;
    box-shadow:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }

  .site-header .nav-toggle span{
    position:absolute !important;
    left:12px !important;
    right:12px !important;
    height:1px !important;
    background:var(--white) !important;
    display:block !important;
  }
  .site-header .nav-toggle span:first-child{top:16px !important;}
  .site-header .nav-toggle span:last-child{top:25px !important;}
  .site-header.nav-open .nav-toggle span:first-child{top:21px !important;transform:rotate(45deg) !important;}
  .site-header.nav-open .nav-toggle span:last-child{top:21px !important;transform:rotate(-45deg) !important;}

  .site-header.nav-open{
    background:#080808 !important;
    border-bottom:1px solid rgba(245,243,238,.12) !important;
    transform:translate3d(0,0,0) !important;
    opacity:1 !important;
  }

  .site-header .nav{
    display:none !important;
    grid-column:1 / -1 !important;
    margin-top:1rem !important;
    padding:0 0 .65rem !important;
    background:#080808 !important;
    border:0 !important;
    border-top:1px solid rgba(245,243,238,.12) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    overflow:visible !important;
  }
  .site-header.nav-open .nav{display:flex !important;}
  .site-header .nav a{
    padding:1rem 0 !important;
    border-bottom:1px solid rgba(245,243,238,.09) !important;
    font-size:.64rem !important;
    letter-spacing:.22em !important;
    color:#f5f3ee !important;
    text-decoration:none !important;
  }
}


/* v23 final: remove the visible nav-toggle dot except on real mobile; mobile burger has no own background plate */
.site-header .nav-toggle,
.site-header button.nav-toggle,
.site-header button.nav-toggle.hoverable{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:hidden !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

@media (max-width:720px){
  .site-header{
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
    padding:1rem 1.25rem !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .site-header .nav-toggle,
  .site-header button.nav-toggle,
  .site-header button.nav-toggle.hoverable{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    justify-self:end !important;
    align-items:center !important;
    justify-content:center !important;
    width:36px !important;
    min-width:36px !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    overflow:visible !important;
    cursor:none !important;
  }

  .site-header .nav-toggle::before,
  .site-header .nav-toggle::after,
  .site-header button.nav-toggle::before,
  .site-header button.nav-toggle::after{
    content:none !important;
    display:none !important;
  }

  .site-header .nav-toggle span{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    height:1px !important;
    background:var(--white) !important;
    display:block !important;
    opacity:1 !important;
    transform-origin:center !important;
    transition:top .22s ease, transform .22s ease, opacity .22s ease !important;
  }
  .site-header .nav-toggle span:first-child{top:9px !important;}
  .site-header .nav-toggle span:last-child{top:18px !important;}
  .site-header.nav-open .nav-toggle span:first-child{top:14px !important;transform:rotate(45deg) !important;}
  .site-header.nav-open .nav-toggle span:last-child{top:14px !important;transform:rotate(-45deg) !important;}

  .site-header.nav-open{
    background:#080808 !important;
    border-bottom:1px solid rgba(245,243,238,.1) !important;
  }
  .site-header .nav{
    display:none !important;
    grid-column:1 / -1 !important;
    margin-top:1rem !important;
    padding:.25rem 0 .7rem !important;
    background:#080808 !important;
    border-top:1px solid rgba(245,243,238,.12) !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .site-header.nav-open .nav{display:flex !important;}
  .site-header .nav a{
    color:var(--white) !important;
    text-decoration:none !important;
    padding:1rem 0 !important;
    border-bottom:1px solid rgba(245,243,238,.08) !important;
  }
}


/* v24: burger button is not in the desktop DOM anymore; these rules are a safety net */
@media (min-width:721px){
  .site-header .nav-toggle,
  .site-header button.nav-toggle,
  .site-header button.nav-toggle.hoverable{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  .site-header .nav{display:flex !important;}
}

@media (max-width:720px){
  .site-header{
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
  }
  .site-header .nav-toggle,
  .site-header button.nav-toggle,
  .site-header button.nav-toggle.hoverable{
    display:inline-flex !important;
    position:relative !important;
    justify-self:end !important;
    width:36px !important;
    height:28px !important;
    min-width:36px !important;
    min-height:28px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }
  .site-header .nav-toggle::before,
  .site-header .nav-toggle::after,
  .site-header button.nav-toggle::before,
  .site-header button.nav-toggle::after{
    content:none !important;
    display:none !important;
  }
  .site-header .nav-toggle span{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    height:1px !important;
    background:var(--white) !important;
    display:block !important;
    opacity:1 !important;
  }
  .site-header .nav-toggle span:first-child{top:9px !important;}
  .site-header .nav-toggle span:last-child{top:18px !important;}
  .site-header.nav-open .nav-toggle span:first-child{top:14px !important;transform:rotate(45deg) !important;}
  .site-header.nav-open .nav-toggle span:last-child{top:14px !important;transform:rotate(-45deg) !important;}
}


/* ── MOBILE DARKER SECTION FIX ── */
@media (max-width: 760px) {
  body,
  main,
  .section-pad,
  .about-preview,
  .path-section,
  .work-section,
  .home-about,
  .intro-section,
  .about-section,
  .contact-section,
  .gallery-wrap,
  .project-slider-section {
    background: #080808 !important;
  }

  .work-card,
  .info-card,
  .service-card,
  .project-card,
  .quick-link,
  .about-card {
    background-color: #0b0b0b !important;
  }

  .section-pad:first-of-type,
  main > section:first-child:not(.hero) {
    background: #080808 !important;
  }
}


/* ── PORTFOLIO SLIDER MODE ── */
@media (max-width: 900px) {
  .work-grid,
  .portfolio-grid,
  .projects-grid,
  .project-slider,
  .project-track {
    display: flex !important;
    overflow-x: auto !important;
    gap: 2px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: .25rem;
  }

  .work-grid::-webkit-scrollbar,
  .portfolio-grid::-webkit-scrollbar,
  .projects-grid::-webkit-scrollbar,
  .project-slider::-webkit-scrollbar,
  .project-track::-webkit-scrollbar {
    display: none;
  }

  .work-card,
  .portfolio-card,
  .project-card,
  .projects-card {
    flex: 0 0 82vw !important;
    min-width: 82vw !important;
    scroll-snap-align: start;
  }

  .work-card:first-child,
  .portfolio-card:first-child {
    flex-basis: 88vw !important;
    min-width: 88vw !important;
  }
}

.slider-hint {
  display: none;
}

@media (max-width: 900px) {
  .slider-hint {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1rem;
    color: var(--muted);
    font-size: .56rem;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .slider-hint::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--muted);
  }
}


/* ── V28 STATIC HEADER / NO GRAY TRANSITION ── */
.site-header,
header.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

.site-header.hidden,
.site-header.header-hidden,
.site-header.is-hidden,
body.scrolled-down .site-header,
body.header-hidden .site-header {
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.hero::before,
.hero::after,
.home-hero::before,
.home-hero::after,
.page-hero::before,
.page-hero::after {
  display: none !important;
}

.hero,
.home-hero,
.page-hero,
.hero-main,
.hero-bg-wrap {
  background-color: #080808 !important;
}

.hero-overlay {
  background: linear-gradient(to bottom, rgba(8,8,8,.06) 0%, rgba(8,8,8,0) 40%, rgba(8,8,8,.38) 100%) !important;
}

body,
main {
  background: #080808 !important;
}

.hero + *,
.home-hero + *,
main > section:first-child:not(.hero):not(.home-hero) {
  background: #080808 !important;
  background-image: none !important;
}


/* Header must never animate/hide on scroll */
.site-header,
header.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  transform: translate3d(0,0,0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.site-header *,
header.site-header * {
  pointer-events: auto;
}

.site-header.hidden,
.site-header.header-hidden,
.site-header.is-hidden,
.site-header.nav-hidden,
.site-header.scrolled,
body.scrolled-down .site-header,
body.header-hidden .site-header,
body.nav-hidden .site-header {
  transform: translate3d(0,0,0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* On hover: keep the dot, only slightly enlarge the ring */


.site-header .logo {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.site-header .nav {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2.5rem !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

.site-header .nav a {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* Desktop: burger must not take space or create a dot */
@media (min-width: 761px) {
  .nav-toggle,
  button.nav-toggle,
  .nav-toggle.hoverable,
  button.nav-toggle.hoverable {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
  }
}

/* Mobile keeps logo + burger */
@media (max-width: 760px) {
  .site-header,
  header.site-header {
    padding: 1.35rem 1.25rem !important;
  }

  .site-header .nav {
    margin-left: 0 !important;
  }
}

/* Remove the single-element cursor from v32 */


/* Cursor as two elements again: point + slightly soft/deformed trailing ring */
@media (pointer: fine) {
  html, body, a, button, input, textarea, select, .site-header, .site-header * {
    cursor: none !important;
  }

  .cf-cursor-dot,
  

  

  

  body.cursor-hover .cf-cursor-dot,
  body.cursor-hover 
}

@media (pointer: coarse) {
  .cf-cursor-dot,
  .cf-cursor-ring,
  .cf-cursor,
  #cursor,
  
}








/* =========================================================
   CINEFRAME FINAL CLEAN PATCH
   - stable desktop cursor
   - normal mobile burger menu
   - mobile nav hidden until opened
   ========================================================= */

/* Keep desktop header layout clean */
.site-header,
header.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 5000 !important;
  padding: 1.8rem 3rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.site-header .logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  z-index: 5020 !important;
}

.site-header .nav {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2.5rem !important;
  width: auto !important;
  flex: 0 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 5010 !important;
}

.site-header .nav a {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  color: var(--white, #f5f3ee) !important;
  text-decoration: none !important;
}

/* Desktop: no burger button */
@media (min-width: 761px) {
  .nav-toggle,
  button.nav-toggle {
    display: none !important;
  }
}

/* Lightweight desktop cursor. Only one JS loop, no hover hiding. */
@media (pointer: fine) {
  html, body, a, button, input, textarea, select, .site-header, .site-header * {
    cursor: none !important;
  }

  .cf-cursor-dot,
  .cf-cursor-ring {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    pointer-events: none !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    will-change: transform !important;
    mix-blend-mode: normal !important;
  }

  .cf-cursor-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: #f5f3ee !important;
    z-index: 2147483647 !important;
  }

  .cf-cursor-ring {
    width: 42px !important;
    height: 42px !important;
    border-radius: 44% 56% 52% 48% / 50% 44% 56% 50% !important;
    border: 1px solid rgba(245,243,238,.58) !important;
    background: transparent !important;
    z-index: 2147483646 !important;
  }
}

@media (pointer: coarse) {
  .cf-cursor-dot,
  .cf-cursor-ring,
  #cursor,
  #cursor-ring {
    display: none !important;
  }
}

/* Completely rebuilt normal mobile menu */
@media (max-width: 760px) {
  body {
    cursor: auto !important;
  }

  a, button, input, textarea, select, .hoverable {
    cursor: pointer !important;
  }

  .site-header,
  header.site-header {
    height: 68px !important;
    min-height: 68px !important;
    padding: 1.2rem 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .site-header .logo,
  header.site-header .logo {
    display: inline-flex !important;
    position: relative !important;
    z-index: 5200 !important;
  }

  .nav-toggle,
  button.nav-toggle {
    display: flex !important;
    position: relative !important;
    width: 32px !important;
    height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5300 !important;
  }

  .nav-toggle span,
  .nav-toggle::before,
  .nav-toggle::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    width: 32px !important;
    height: 1px !important;
    background: var(--white, #f5f3ee) !important;
    opacity: 1 !important;
    display: block !important;
    transform-origin: center !important;
    transition: top .26s ease, transform .26s ease, opacity .18s ease !important;
  }

  .nav-toggle::before { top: 4px !important; }
  .nav-toggle span { top: 10.5px !important; }
  .nav-toggle::after { top: 17px !important; }

  body.menu-open .nav-toggle::before {
    top: 10.5px !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .nav-toggle span {
    opacity: 0 !important;
  }

  body.menu-open .nav-toggle::after {
    top: 10.5px !important;
    transform: rotate(-45deg) !important;
  }

  /* Hide mobile nav completely until burger is pressed */
  .site-header .nav,
  header.site-header .nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    width: min(82vw, 360px) !important;
    margin: 0 !important;
    padding: 5.5rem 2rem 3rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 1.25rem !important;
    background: #000 !important;
    border-left: 1px solid rgba(245,243,238,.12) !important;
    transform: translateX(101%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transition: transform .34s cubic-bezier(.25,.1,.25,1) !important;
    z-index: 5150 !important;
    overflow: hidden !important;
  }

  body.menu-open .site-header .nav,
  body.menu-open header.site-header .nav {
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  .site-header .nav a,
  header.site-header .nav a {
    color: var(--white, #f5f3ee) !important;
    text-decoration: none !important;
    font-size: .86rem !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    opacity: .82 !important;
    transition: opacity .2s ease !important;
  }

  .site-header .nav a:hover,
  header.site-header .nav a:hover,
  .site-header .nav a.active,
  header.site-header .nav a.active {
    opacity: 1 !important;
  }

  body.menu-open::after {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.42) !important;
    z-index: 5100 !important;
  }

  body.menu-open .site-header .nav,
  body.menu-open .nav-toggle,
  body.menu-open .logo {
    pointer-events: auto !important;
  }
}


/* ── MOBILE MENU RIGHT ALIGN + VISIBLE X FIX ── */
@media (max-width: 760px) {
  body.menu-open .site-header,
  body.menu-open header.site-header {
    z-index: 8000 !important;
  }

  body.menu-open .site-header .nav,
  body.menu-open header.site-header .nav {
    align-items: flex-end !important;
    text-align: right !important;
    padding: 5.5rem 1.5rem 3rem 2rem !important;
    z-index: 8050 !important;
  }

  body.menu-open .site-header .nav a,
  body.menu-open header.site-header .nav a {
    width: 100% !important;
    justify-content: flex-end !important;
    text-align: right !important;
  }

  body.menu-open .nav-toggle,
  body.menu-open button.nav-toggle {
    position: fixed !important;
    top: 1.2rem !important;
    right: 1.25rem !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 9000 !important;
    width: 32px !important;
    height: 22px !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.menu-open .nav-toggle::before,
  body.menu-open .nav-toggle::after,
  body.menu-open .nav-toggle span {
    display: block !important;
    visibility: visible !important;
    background: var(--white, #f5f3ee) !important;
    opacity: 1 !important;
    z-index: 9001 !important;
  }

  body.menu-open .nav-toggle::before {
    top: 10.5px !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .nav-toggle span {
    opacity: 0 !important;
  }

  body.menu-open .nav-toggle::after {
    top: 10.5px !important;
    transform: rotate(-45deg) !important;
  }
}


/* ── FORCE VISIBLE MOBILE X BUTTON ── */
@media (max-width: 760px) {
  body.menu-open::after {
    z-index: 7000 !important;
  }

  body.menu-open .site-header,
  body.menu-open header.site-header {
    z-index: 9000 !important;
  }

  body.menu-open .site-header .nav,
  body.menu-open header.site-header .nav {
    z-index: 9100 !important;
  }

  body.menu-open .nav-toggle,
  body.menu-open button.nav-toggle,
  body.menu-open .nav-toggle.hoverable,
  body.menu-open button.nav-toggle.hoverable {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: 1.25rem !important;
    right: 1.25rem !important;
    width: 34px !important;
    height: 34px !important;
    z-index: 999999 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  body.menu-open .nav-toggle span,
  body.menu-open button.nav-toggle span {
    display: none !important;
    opacity: 0 !important;
  }

  body.menu-open .nav-toggle::before,
  body.menu-open .nav-toggle::after,
  body.menu-open button.nav-toggle::before,
  body.menu-open button.nav-toggle::after {
    content: "" !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: 34px !important;
    height: 1px !important;
    background: #f5f3ee !important;
    transform-origin: center !important;
    z-index: 1000000 !important;
  }

  body.menu-open .nav-toggle::before,
  body.menu-open button.nav-toggle::before {
    transform: rotate(45deg) !important;
  }

  body.menu-open .nav-toggle::after,
  body.menu-open button.nav-toggle::after {
    transform: rotate(-45deg) !important;
  }
}


/* optimized preview performance */
.grid-item,
.work-card,
.project-card {
  contain: layout paint style;
}

.grid-item img,
.work-card img,
.project-card img {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.cookie-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 99999;
}

.cookie-popup {
  width: 100%;
  max-width: 520px;
  background: #111;
  color: #fff;
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  animation: cookiePopIn 0.45s ease forwards;
}

.cookie-label {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 16px;
}

.cookie-popup h2 {
  margin: 0 0 14px;
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.04em;
}

.cookie-popup p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.68);
}

.cookie-popup-actions {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}

.cookie-btn {
  width: 100%;
  border: none;
  border-radius: 999px;
  padding: 13px 18px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.25s ease;
}

.cookie-btn.primary {
  background: #fff;
  color: #111;
}

.cookie-btn.secondary {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.cookie-btn:hover {
  transform: translateY(-1px);
  opacity: 0.82;
}

.cookie-popup-overlay.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

@keyframes cookiePopIn {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(12px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@media (max-width: 600px) {
  .cookie-popup {
    padding: 26px 22px;
    border-radius: 20px;
  }

  .cookie-popup-actions {
    flex-direction: column-reverse;
  }
}