.elementor-881 .elementor-element.elementor-element-64436111{padding:0px 0px 0px 0px;}.elementor-881 .elementor-element.elementor-element-5ad5c6ca > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-881 .elementor-element.elementor-element-6b43925f{margin-top:0px;margin-bottom:0px;padding:025px 025px 025px 025px;}.elementor-881 .elementor-element.elementor-element-1e589377{padding:0px 0px 0px 0px;}.elementor-881 .elementor-element.elementor-element-7b38ea45{padding:25px 25px 25px 25px;}.elementor-881 .elementor-element.elementor-element-2b682c1{padding:0px 0px 0px 0px;}.elementor-881 .elementor-element.elementor-element-7eb8b390{padding:025px 025px 025px 025px;}body.elementor-page-881{padding:0px 0px 0px 0px;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Montserrat:wght@300;400;500;600&display=swap');

:root {
  --sf-bg:#0A0D07; --sf-deep:#1E2818;
  --sf-primary:#3B4A2A; --sf-primary-dark:#2A3620;
  --sf-secondary:#E8DFC4; --sf-secondary-dim:rgba(232,223,196,0.55);
  --sf-accent:#F0A83D; --sf-ease:cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ══ HERO ══ */
.sf-hero { position:relative; min-height:62vh; display:flex; align-items:flex-end; overflow:hidden; background:linear-gradient(135deg,#0A0D07 0%,#1E2818 60%,#2A3620 100%); }
.sf-hero-bg { position:absolute; inset:0; display:grid; grid-template-columns:repeat(6,1fr); opacity:0.07; pointer-events:none; }
.sf-hero-strip { border-right:1px solid rgba(232,223,196,0.3); display:flex; flex-direction:column; justify-content:space-around; align-items:center; padding:20px 0; }
.sf-hero-hole { width:18px; height:12px; border-radius:2px; border:1px solid rgba(232,223,196,0.4); background:rgba(0,0,0,0.6); }
.sf-hero-vignette { position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 30%,rgba(10,13,7,0.7) 100%); z-index:1; pointer-events:none; }
.sf-hero-content { position:relative; z-index:2; padding:0 72px 72px; max-width:820px; }
.sf-hero-eyebrow { font-family:'Montserrat',sans-serif; font-size:0.58rem; font-weight:600; letter-spacing:0.4em; text-transform:uppercase; color:var(--sf-accent); margin-bottom:16px; display:flex; align-items:center; gap:14px; }
.sf-hero-eyebrow::before { content:''; display:block; width:28px; height:1px; background:var(--sf-accent); opacity:0.7; }
.sf-hero-title { font-family:'Playfair Display',serif; font-size:clamp(2.8rem,6vw,5.5rem); font-weight:400; font-style:italic; color:var(--sf-secondary); line-height:1.05; margin-bottom:20px; }
.sf-hero-title em { color:var(--sf-accent); }
.sf-hero-desc { font-family:'Montserrat',sans-serif; font-size:0.84rem; font-weight:300; color:var(--sf-secondary-dim); line-height:1.8; max-width:480px; }

/* ══ SECTION HEADER ══ */
.sf-section-header { display:flex; align-items:flex-end; justify-content:space-between; padding:0 72px; margin-bottom:48px; gap:24px; flex-wrap:wrap; }
.sf-section-tag { font-family:'Montserrat',sans-serif; font-size:0.55rem; font-weight:700; letter-spacing:0.38em; text-transform:uppercase; color:var(--sf-accent); margin-bottom:10px; display:flex; align-items:center; gap:12px; }
.sf-section-tag::before { content:''; display:block; width:22px; height:1px; background:var(--sf-accent); opacity:0.6; }
.sf-section-title { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3vw,2.6rem); font-weight:400; font-style:italic; color:var(--sf-secondary); line-height:1.15; }
.sf-section-title em { color:var(--sf-accent); }
.sf-divider { height:1px; background:linear-gradient(to right,transparent,rgba(232,223,196,0.1) 30%,rgba(232,223,196,0.1) 70%,transparent); margin:0 72px; }

/* ══ FILM CARDS ══ */
.sf-prewedding { padding:96px 0 80px; background:var(--sf-bg); }
.sf-film-grid { padding:0 72px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:20px; }
.sf-film-card { position:relative; overflow:hidden; border-radius:6px; cursor:pointer; background:#000; }
.sf-film-card.featured { grid-column:1/-1; aspect-ratio:21/9; }
.sf-film-card.regular { aspect-ratio:16/9; }
.sf-film-card video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; transition:transform 6s ease,filter .5s ease; transform:scale(1.04); filter:saturate(0.8) contrast(1.05) brightness(0.88); pointer-events:none; }
.sf-film-card:hover video { transform:scale(1.0); filter:saturate(1.05) contrast(1.02) brightness(1); }
.sf-overlay { position:absolute; inset:0; z-index:4; background:linear-gradient(to top,rgba(10,13,7,0.85) 0%,rgba(10,13,7,0.25) 45%,transparent 70%),linear-gradient(to bottom,rgba(10,13,7,0.35) 0%,transparent 30%); transition:opacity .4s ease; }
.sf-film-card:hover .sf-overlay { opacity:0.7; }
.sf-play-btn { position:absolute; z-index:5; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.9); width:64px; height:64px; border-radius:50%; background:rgba(10,13,7,0.45); border:1.5px solid rgba(232,223,196,0.45); display:flex; align-items:center; justify-content:center; transition:all .35s ease; backdrop-filter:blur(6px); opacity:0.6; }
.sf-film-card:hover .sf-play-btn { opacity:1; transform:translate(-50%,-50%) scale(1.05); background:rgba(240,168,61,0.18); border-color:rgba(240,168,61,0.6); }
.sf-play-btn svg { width:22px; height:22px; fill:var(--sf-secondary); margin-left:3px; }
.sf-card-info { position:absolute; bottom:20px; left:24px; right:24px; z-index:5; }
.sf-card-tag { font-family:'Montserrat',sans-serif; font-size:0.5rem; font-weight:700; letter-spacing:0.32em; text-transform:uppercase; color:var(--sf-accent); margin-bottom:6px; }
.sf-card-title { font-family:'Playfair Display',serif; font-size:clamp(1rem,2vw,1.5rem); font-weight:400; font-style:italic; color:var(--sf-secondary); line-height:1.2; }
.sf-film-card.featured .sf-card-title { font-size:clamp(1.3rem,2.5vw,2rem); }
.sf-card-meta { font-family:'Montserrat',sans-serif; font-size:0.58rem; font-weight:400; color:rgba(232,223,196,0.45); margin-top:5px; }
.sf-timecode { position:absolute; top:18px; right:20px; z-index:5; font-family:'Montserrat',sans-serif; font-size:0.45rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:rgba(240,168,61,0.45); }

/* ══ REELS ══ */
.sf-reels { padding:80px 0 96px; background:var(--sf-deep); position:relative; }
.sf-reels::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(59,74,42,0.12) 0%,transparent 60%); pointer-events:none; }
.sf-reels-grid { padding:0 72px; display:flex; gap:24px; justify-content:center; align-items:flex-start; }
.sf-reel-card { position:relative; overflow:hidden; border-radius:10px; cursor:pointer; background:#000; height:min(52vh,520px); width:calc(min(52vh,520px)*9/16); flex-shrink:0; }
.sf-reel-card video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; transition:transform 6s ease,filter .5s ease; transform:scale(1.04); filter:saturate(0.8) contrast(1.05) brightness(0.85); pointer-events:none; }
.sf-reel-card:hover video { transform:scale(1.0); filter:saturate(1.05) contrast(1.02) brightness(1); }
.sf-reel-overlay { position:absolute; inset:0; z-index:2; background:linear-gradient(to top,rgba(10,13,7,0.9) 0%,rgba(10,13,7,0.2) 50%,transparent 75%); transition:opacity .4s ease; }
.sf-reel-card:hover .sf-reel-overlay { opacity:0.65; }
.sf-reel-play { position:absolute; z-index:3; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.9); width:70px; height:70px; border-radius:50%; background:rgba(10,13,7,0.45); border:1.5px solid rgba(240,168,61,0.45); display:flex; align-items:center; justify-content:center; transition:all .35s ease; backdrop-filter:blur(6px); opacity:0.6; }
.sf-reel-card:hover .sf-reel-play { opacity:1; transform:translate(-50%,-50%) scale(1.05); background:rgba(240,168,61,0.18); border-color:rgba(240,168,61,0.7); }
.sf-reel-play svg { width:24px; height:24px; fill:var(--sf-accent); margin-left:3px; }
.sf-reel-info { position:absolute; bottom:24px; left:20px; right:20px; z-index:3; }
.sf-reel-tag { font-family:'Montserrat',sans-serif; font-size:0.5rem; font-weight:700; letter-spacing:0.32em; text-transform:uppercase; color:var(--sf-accent); margin-bottom:6px; }
.sf-reel-title { font-family:'Playfair Display',serif; font-size:clamp(1rem,2vw,1.4rem); font-weight:400; font-style:italic; color:var(--sf-secondary); line-height:1.25; }
.sf-reel-badge { position:absolute; top:18px; left:18px; z-index:3; display:inline-flex; align-items:center; gap:6px; padding:5px 12px; background:rgba(240,168,61,0.12); border:1px solid rgba(240,168,61,0.3); border-radius:50px; font-family:'Montserrat',sans-serif; font-size:0.48rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--sf-accent); }
.sf-reel-badge::before { content:''; display:block; width:5px; height:5px; border-radius:50%; background:var(--sf-accent); animation:sfpulse 1.6s ease infinite; }
@keyframes sfpulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.8)} }

/* ══ LIGHTBOX ══ */
.sf-lightbox { position:fixed; inset:0; z-index:10000; background:rgba(0,0,0,0.94); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .35s ease,visibility .35s ease; backdrop-filter:blur(8px); }
.sf-lightbox.open { opacity:1; visibility:visible; }
.sf-lb-inner { position:relative; }
.sf-lb-close { position:absolute; top:-44px; right:0; width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:rgba(232,223,196,0.6); font-size:1.4rem; font-weight:300; transition:color .3s ease; line-height:1; }
.sf-lb-close:hover { color:var(--sf-accent); }
.sf-lb-title { position:absolute; bottom:-36px; left:0; font-family:'Playfair Display',serif; font-size:0.9rem; font-style:italic; color:rgba(232,223,196,0.5); }

/* ══ BAND ══ */
.sf-band { background:var(--sf-bg); padding:72px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; border-top:1px solid rgba(232,223,196,0.05); }
.sf-band-tagline { font-family:'Playfair Display',serif; font-size:clamp(1.3rem,2.2vw,2rem); font-weight:400; font-style:italic; color:var(--sf-secondary); line-height:1.3; max-width:500px; }
.sf-band-tagline .gold { color:var(--sf-accent); }
.sf-band-cta { display:inline-flex; align-items:center; gap:12px; padding:14px 36px; border:1px solid rgba(232,223,196,0.18); border-radius:4px; color:var(--sf-secondary-dim); font-family:'Montserrat',sans-serif; font-size:0.62rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; text-decoration:none; transition:all .4s ease; white-space:nowrap; }
.sf-band-cta:hover { background:var(--sf-accent); border-color:var(--sf-accent); color:var(--sf-deep); }

/* ══ SCROLL REVEAL ══ */
.sf-reveal { opacity:0; transform:translateY(28px); transition:opacity .85s cubic-bezier(0.25,0.46,0.45,0.94),transform .85s cubic-bezier(0.25,0.46,0.45,0.94); }
.sf-reveal.visible { opacity:1; transform:translateY(0); }
.sf-reveal-d1 { transition-delay:0.1s; } .sf-reveal-d2 { transition-delay:0.22s; } .sf-reveal-d3 { transition-delay:0.35s; } .sf-reveal-d4 { transition-delay:0.48s; }

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .sf-film-grid,.sf-section-header { padding:0 32px; }
  .sf-reels-grid { padding:0 32px; }
  .sf-divider { margin:0 32px; }
  .sf-hero-content { padding:0 32px 56px; }
  .sf-band { padding:56px 32px; }
}
@media(max-width:768px){
  .sf-hero { min-height:55vh; }
  .sf-hero-content { padding:0 20px 48px !important; }
  .sf-section-header { padding:0 20px; margin-bottom:32px; }
  .sf-divider { margin:0 20px; }
  .sf-film-grid { padding:0 20px; grid-template-columns:1fr; }
  .sf-film-card.featured { grid-column:1; aspect-ratio:16/9; }
  .sf-reels-grid { padding:0 20px; flex-direction:column; align-items:center; }
  .sf-reel-card { height:65vw; width:calc(65vw*9/16); }
  .sf-band { padding:48px 20px; flex-direction:column; text-align:center; }
  .sf-band-cta { width:100%; justify-content:center; }
}/* End custom CSS */