/* ===== Rolling Productions — shared service landing page styling ===== */

/* Header styled for the dark hero (mirrors homepage) */
.rp-hero-header .header-3 { background:transparent !important; box-shadow:none !important; transition:background .35s ease, box-shadow .35s ease, padding .35s ease; }
.rp-hero-header .header-logo-2 img { height:44px; width:auto; }
.rp-hero-header .main-menu ul li a { color:#fff !important; font-weight:500; }
.rp-hero-header .main-menu ul li a i { color:inherit !important; }
.rp-hero-header .main-menu ul li a:hover,
.rp-hero-header .main-menu ul li.active > a { color:#D4EE36 !important; }
.rp-hero-header .main-menu ul li .submenu { background:#161616 !important; box-shadow:0 18px 40px rgba(0,0,0,.45); border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.06); }
.rp-hero-header .main-menu ul li .submenu li a { color:rgba(255,255,255,.82) !important; }
.rp-hero-header .main-menu ul li .submenu li a:hover { color:#D4EE36 !important; }
.rp-hero-header .main-header__search { color:#fff !important; font-size:16px; transition:color .2s ease; }
.rp-hero-header .main-header__search:hover { color:#D4EE36 !important; }
.rp-hero-header .header__hamburger svg path { fill:#fff !important; }
.rp-hero-header #header-sticky.sticky { background:rgba(14,14,14,.92) !important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 10px 30px rgba(0,0,0,.35) !important; }

/* Page shell */
.re-page { background:#0b0b0b; }
.re-eyebrow { color:#D4EE36; font-size:12px; letter-spacing:.24em; text-transform:uppercase; font-weight:700; margin:0 0 14px; }
.re-section { position:relative; }
.re-muted { color:rgba(255,255,255,.72); }

/* Hero */
.re-hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; background:#0b0b0b; }
.re-hero__bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; transform:scale(1.04); }
.re-hero__video { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.re-hero__video iframe { position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-height:100%; min-width:177.78vh; transform:translate(-50%,-50%); border:0; }
.re-hero__overlay { position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, rgba(8,8,8,.55) 0%, rgba(8,8,8,.78) 60%, rgba(8,8,8,.92) 100%); }
.re-hero__inner { position:relative; z-index:3; width:100%; padding:140px clamp(22px,6vw,90px) 90px; text-align:center; }
.re-hero__title { color:#fff; font-size:clamp(2.4rem,6vw,5rem); line-height:1.04; font-weight:800; letter-spacing:-.02em; margin:0 auto 22px; max-width:14ch; }
.re-hero__title span { color:#D4EE36; }
.re-hero__sub { color:rgba(255,255,255,.84); font-size:clamp(16px,1.6vw,20px); line-height:1.6; max-width:620px; margin:0 auto 36px; }
.re-hero__actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.re-hero__stats { display:flex; gap:0; justify-content:center; flex-wrap:wrap; margin-top:62px; max-width:760px; margin-left:auto; margin-right:auto; }
.re-hero__stat { flex:1 1 0; min-width:160px; padding:6px 28px; }
.re-hero__stat + .re-hero__stat { border-left:1px solid rgba(255,255,255,.16); }
.re-hero__stat h3 { color:#fff; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:800; margin:0 0 6px; }
.re-hero__stat p { color:rgba(255,255,255,.66); font-size:13px; letter-spacing:.04em; margin:0; }
@media(max-width:575px){ .re-hero__stat{ flex:1 1 100%; padding:14px 0; } .re-hero__stat + .re-hero__stat{ border-left:none; border-top:1px solid rgba(255,255,255,.14); } }

/* Buttons */
.re-btn { display:inline-flex; align-items:center; gap:10px; padding:15px 34px; border-radius:100px; font-size:15px; font-weight:600; letter-spacing:.02em; text-decoration:none; transition:transform .2s, background .2s, color .2s, border-color .2s; }
.re-btn-primary { background:#D4EE36; color:#121212; }
.re-btn-primary:hover { background:#c2dd25; color:#121212; transform:translateY(-2px); }
.re-btn-outline { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); }
.re-btn-outline:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }

/* Section heads */
.re-head { text-align:center; max-width:680px; margin:0 auto 56px; }
.re-head h2 { color:#fff; font-size:clamp(1.8rem,3.6vw,2.8rem); font-weight:800; letter-spacing:-.01em; line-height:1.18; margin:0; }
.re-head p { color:rgba(255,255,255,.66); font-size:16px; line-height:1.65; margin:16px auto 0; }

/* Intro / value */
.re-value { background:#0b0b0b; padding:clamp(70px,9vw,120px) 0; }
.re-value__lead { color:#fff; font-size:clamp(1.5rem,3vw,2.2rem); line-height:1.4; font-weight:600; max-width:900px; margin:0 auto; text-align:center; }
.re-value__lead b { color:#D4EE36; font-weight:700; }

/* Process */
.re-process { background:#121212; padding:clamp(70px,9vw,120px) 0; }
.re-step { background:#171717; border:1px solid rgba(255,255,255,.07); border-radius:18px; padding:38px 32px; height:100%; transition:transform .25s, border-color .25s; }
.re-step:hover { transform:translateY(-6px); border-color:rgba(212,238,54,.5); }
.re-step__num { display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:rgba(212,238,54,.12); color:#D4EE36; font-weight:800; font-size:18px; margin-bottom:24px; }
.re-step h4 { color:#fff; font-size:21px; font-weight:700; margin:0 0 12px; }
.re-step p { color:rgba(255,255,255,.66); font-size:15px; line-height:1.65; margin:0; }

/* Packages */
.re-pricing { background:#0b0b0b; padding:clamp(70px,9vw,120px) 0; }
.re-card { background:#161616; border:1px solid rgba(255,255,255,.08); border-radius:20px; padding:36px 32px; height:100%; display:flex; flex-direction:column; transition:transform .25s, border-color .25s, box-shadow .25s; }
.re-card:hover { transform:translateY(-6px); border-color:rgba(212,238,54,.55); box-shadow:0 24px 50px rgba(0,0,0,.4); }
.re-card.featured { border-color:#D4EE36; background:linear-gradient(180deg,#1b1d10 0%,#161616 60%); }
.re-card__tag { align-self:flex-start; background:#D4EE36; color:#121212; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:100px; margin-bottom:18px; }
.re-card h4 { color:#fff; font-size:22px; font-weight:700; margin:0 0 10px; }
.re-card .re-card__price { color:#D4EE36; font-size:30px; font-weight:800; margin:0 0 6px; }
.re-card .re-card__price span { font-size:14px; color:rgba(255,255,255,.5); font-weight:500; }
.re-card .re-card__desc { color:rgba(255,255,255,.66); font-size:14.5px; line-height:1.6; margin:0 0 22px; }
.re-card ul { list-style:none; padding:0; margin:0 0 28px; }
.re-card ul li { color:rgba(255,255,255,.78); font-size:14px; line-height:1.5; padding:8px 0 8px 28px; position:relative; border-top:1px solid rgba(255,255,255,.06); }
.re-card ul li:first-child { border-top:none; }
.re-card ul li::before { content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; color:#D4EE36; position:absolute; left:0; top:8px; font-size:12px; }
.re-card .re-btn { margin-top:auto; justify-content:center; }

/* Gallery */
.re-gallery { background:#121212; padding:clamp(70px,9vw,120px) 0; }
.re-gallery__grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.re-gallery__item { position:relative; overflow:hidden; border-radius:16px; }
.re-gallery__item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.re-gallery__item:hover img { transform:scale(1.06); }
.re-g-wide { grid-column:span 8; aspect-ratio:16/9; }
.re-g-tall { grid-column:span 4; aspect-ratio:3/4; }
.re-g-third { grid-column:span 4; aspect-ratio:4/3; }
.re-g-half { grid-column:span 6; aspect-ratio:16/10; }
@media(max-width:767px){ .re-gallery__grid{ grid-template-columns:repeat(2,1fr); } .re-g-wide,.re-g-tall,.re-g-third,.re-g-half{ grid-column:span 2; aspect-ratio:4/3; } }
.re-gallery__grid--auto { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.re-gallery__grid--auto .re-gallery__item { grid-column:auto; aspect-ratio:4/3; }
@media(max-width:767px){ .re-gallery__grid--auto{ grid-template-columns:repeat(2,1fr); } }
.re-gallery__more { text-align:center; margin-top:44px; }

/* CTA / Booking */
.re-cta { position:relative; padding:clamp(80px,11vw,150px) 0; background-size:cover; background-position:center; overflow:hidden; }
.re-cta__overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,8,8,.82), rgba(8,8,8,.9)); }
.re-cta__inner { position:relative; z-index:2; text-align:center; max-width:760px; margin:0 auto; }
.re-cta__inner h2 { color:#fff; font-size:clamp(2rem,4.4vw,3.4rem); font-weight:800; line-height:1.12; letter-spacing:-.01em; margin:0 0 20px; }
.re-cta__inner h2 span { color:#D4EE36; }
.re-cta__inner p { color:rgba(255,255,255,.78); font-size:17px; line-height:1.65; margin:0 0 36px; }

/* Contact strip */
.re-contact { background:#0b0b0b; padding:0 0 clamp(70px,9vw,110px); }
.re-contact__grid { display:flex; flex-wrap:wrap; gap:24px; justify-content:center; }
.re-contact__item { display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.8); font-size:15px; }
.re-contact__item i { color:#D4EE36; font-size:20px; }
.re-contact__item a { color:rgba(255,255,255,.8); text-decoration:none; }
.re-contact__item a:hover { color:#D4EE36; }
