/* US Best Price Moving — Cinematic homepage ("The Move")
 * Progressive enhancement:
 *  - Without JS / with reduced motion: scenes are stacked, full-height, readable sections.
 *  - With JS (.cine.is-live): a sticky stage; scroll position drives camera moves and crossfades.
 */
.cine{--n:6;position:relative;background:#05080f;color:#fff;}
.cine-stage{position:relative;}
.cine-scene{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end;}
.cine-media{position:absolute;inset:0;overflow:hidden;}
.cine-media img,.cine-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:contrast(1.06) saturate(.92) brightness(.96);}
.cine-media video{opacity:0;transition:opacity .4s ease;}
.cine-media.has-video video{opacity:1;}
/* Cinematic grade: unified shadows, vignette and readable lower third */
.cine-grade{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(3,6,14,.55) 100%),
    linear-gradient(180deg,rgba(5,8,15,.55) 0%,rgba(5,8,15,0) 22%,rgba(5,8,15,0) 50%,rgba(5,8,15,.82) 100%);}
.cine-grain{position:absolute;inset:-50%;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* Extra left scrim for busy, branded backgrounds */
.cine-scene--scrim .cine-grade::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,15,.78) 0%,rgba(5,8,15,.45) 40%,transparent 70%);}

/* Panorama scene (wide source shown as a widescreen band over a soft fill) */
.cine-scene--pano .cine-media{background:#05080f;}
.cine-pano-fill{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(28px) brightness(.45) saturate(.8);transform:scale(1.1);}
.cine-pano-band{position:absolute;left:0;right:0;top:50%;height:min(64vh,62vw);transform:translateY(-58%);overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 40px 120px rgba(0,0,0,.6);}
.cine-pano-band img{position:absolute;top:0;left:0;height:100%;width:auto;max-width:none;object-fit:initial;inset:auto;}

/* Captions */
.cine-caption{position:relative;z-index:3;width:100%;max-width:1300px;margin:0 auto;padding:0 32px 12vh;}
.cine-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:14px;}
.cine-kicker::before{content:'';width:28px;height:2px;background:var(--red);}
.cine-title{font-family:var(--font-display);font-size:clamp(44px,6.2vw,92px);line-height:.95;letter-spacing:1px;color:#fff;margin-bottom:16px;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.cine-title .red{color:var(--red);}
.cine-title .outline{-webkit-text-stroke:2px rgba(255,255,255,.55);color:transparent;}
.cine-text{font-size:clamp(15px,1.25vw,18px);line-height:1.65;color:rgba(255,255,255,.82);max-width:520px;}
.cine-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.cine-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-family:var(--font-heading);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.7);}
.cine-facts span{display:inline-flex;align-items:center;gap:8px;}
.cine-facts span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);}

/* Chapter rail + controls (only meaningful in live mode) */
.cine-rail,.cine-skip,.cine-hint,.cine-bar{display:none;}

/* ───────────── LIVE MODE ───────────── */
.cine.is-live{height:calc(var(--n) * 125vh);}
.cine.is-live .cine-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;}
.cine.is-live .cine-scene{position:absolute;inset:0;min-height:0;opacity:0;visibility:hidden;}
.cine.is-live .cine-scene.is-on{visibility:visible;}
.cine.is-live .cine-scene:first-child{opacity:1;visibility:visible;}
.cine.is-live .cine-media{will-change:transform;}
.cine.is-live .cine-scene:not(.cine-scene--pano) .cine-media{inset:-3%;}
.cine.is-live .cine-caption{will-change:opacity,transform;}
.cine.is-live .cine-scene:not(:first-child) .cine-caption{opacity:0;}

.cine.is-live .cine-rail{display:flex;position:absolute;right:28px;top:50%;transform:translateY(-50%);z-index:5;flex-direction:column;gap:14px;list-style:none;}
.cine-rail button{display:flex;align-items:center;gap:12px;justify-content:flex-end;background:none;border:0;cursor:pointer;color:rgba(255,255,255,.55);font-family:var(--font-heading);font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:4px 0;}
.cine-rail button span{opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s;}
.cine-rail button i{display:block;width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);transition:all .25s;}
.cine-rail button:hover span,.cine-rail button:focus-visible span,.cine-rail button[aria-current="step"] span{opacity:1;transform:none;}
.cine-rail button[aria-current="step"]{color:#fff;}
.cine-rail button[aria-current="step"] i{background:var(--red);border-color:var(--red);transform:scale(1.35);}
.cine-rail button:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px;}

.cine.is-live .cine-bar{display:block;position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.08);z-index:5;}
.cine-bar i{display:block;height:100%;width:100%;background:var(--red);transform-origin:left;transform:scaleX(0);}

.cine.is-live .cine-skip{display:inline-flex;position:absolute;left:28px;bottom:28px;z-index:6;align-items:center;gap:8px;background:rgba(8,15,32,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:100px;padding:10px 18px;font-family:var(--font-heading);font-size:13px;letter-spacing:1px;text-transform:uppercase;}
.cine-skip:hover{background:var(--red);border-color:var(--red);}
.cine.is-live .cine-hint{display:flex;position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:5;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-heading);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.6);transition:opacity .3s;}
.cine-hint::after{content:'';width:1px;height:34px;background:linear-gradient(rgba(255,255,255,.7),transparent);animation:cineHint 1.8s ease-in-out infinite;}
@keyframes cineHint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.cine-loader{position:absolute;inset:0;z-index:7;background:#05080f;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s;}
.cine-loader i{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.12);border-top-color:var(--red);animation:cineSpin .9s linear infinite;}
.cine.is-ready .cine-loader,.cine:not(.is-live) .cine-loader{opacity:0;visibility:hidden;}
@keyframes cineSpin{to{transform:rotate(360deg)}}

/* ───────────── QUOTE (final scene) ───────────── */
.cine-quote{position:relative;background:#05080f;color:#fff;padding:110px 0 100px;overflow:hidden;}
.cine-quote-bg{position:absolute;inset:0;background:url('/images/cinema/scene-6-900.webp') center/cover no-repeat;opacity:.22;filter:saturate(.7);}
.cine-quote-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05080f 0%,rgba(5,8,15,.75) 55%,rgba(5,8,15,.55) 100%);}
.cine-quote-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 460px;gap:60px;align-items:center;max-width:1180px;margin:0 auto;padding:0 24px;}
.cine-quote h2{font-family:var(--font-display);font-size:clamp(42px,5.4vw,78px);line-height:.95;letter-spacing:1px;margin-bottom:18px;}
.cine-quote h2 span{color:var(--red);}
.cine-quote p.lead{font-size:17px;color:rgba(255,255,255,.75);line-height:1.7;max-width:480px;}
.cine-quote-list{margin-top:26px;display:grid;gap:12px;list-style:none;}
.cine-quote-list li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.8);font-size:15px;}
.cine-quote-list li::before{content:'✓';flex:0 0 22px;height:22px;border-radius:50%;background:rgba(204,17,17,.18);color:#ff5a5a;font-size:12px;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.cine-quote .quote-card{background:rgba(255,255,255,.05);}
.ff label{display:block;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:5px;}
.ff textarea{width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);padding:11px 13px;font-family:var(--font-body);font-size:14px;color:#fff;outline:none;resize:vertical;min-height:70px;}
.ff textarea:focus{border-color:var(--red);}
.ff .opt{text-transform:none;letter-spacing:0;opacity:.7;font-weight:400;}

/* FAQ */
.faq-list{max-width:820px;margin:44px auto 0;display:grid;gap:12px;}
.faq-item{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;gap:16px;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:22px;color:var(--red);transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary:focus-visible{outline:2px solid var(--red);outline-offset:-2px;}
.faq-item div{padding:0 24px 20px;color:var(--gray-600);font-size:15px;line-height:1.7;}
.faq-item a{color:var(--red);font-weight:600;}

/* Skip link for keyboard users */
.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--red);color:#fff;padding:10px 16px;border-radius:6px;font-weight:600;}
.skip-link:focus{top:12px;}

@media (max-width:1024px){
  .cine-quote-inner{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:768px){
  .cine.is-live{height:calc(var(--n) * 95vh);}
  .cine-caption{padding:0 20px 92px;}
  .cine-title{font-size:clamp(40px,12vw,64px);}
  .cine-text{font-size:15px;}
  .cine.is-live .cine-rail{display:none;}
  .cine.is-live .cine-skip{right:auto;left:16px;bottom:22px;padding:9px 14px;font-size:12px;}
  .cine.is-live .cine-hint{display:none;}
  .cine-grade{background:
    radial-gradient(140% 90% at 50% 40%,transparent 50%,rgba(3,6,14,.5) 100%),
    linear-gradient(180deg,rgba(5,8,15,.55) 0%,rgba(5,8,15,0) 20%,rgba(5,8,15,.15) 45%,rgba(5,8,15,.9) 100%);}
  .cine-pano-band{height:46vh;transform:translateY(-70%);}
  .cine-grain{display:none;}
  .cine-quote{padding:80px 0 70px;}
  .cine-actions .btn{flex:1 1 auto;justify-content:center;}
}
@media (prefers-reduced-motion: reduce){
  .cine-hint::after,.cine-loader i{animation:none;}
}

/* ───────────── 3D WORLD MODE (.cine.is-3d) ───────────── */
.is-3d-page .nav{background:rgba(8,15,32,.94);backdrop-filter:blur(12px);}
.cine-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;}
.cine.is-3d{background:#edf1f6;}
.cine.is-3d .cine-media,.cine.is-3d .cine-grade,.cine.is-3d .cine-grain{display:none;}
.cine.is-3d .cine-loader{background:#edf1f6;}
.cine.is-3d .cine-scene{align-items:flex-end;pointer-events:none;}
.cine.is-3d .cine-caption{pointer-events:auto;position:absolute;left:max(32px,calc((100vw - 1300px)/2 + 32px));bottom:9vh;width:min(500px,calc(100vw - 64px));margin:0;padding:30px 32px 28px;
  background:rgba(255,255,255,.9);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-radius:18px;box-shadow:0 24px 70px rgba(15,26,55,.16),0 1px 0 rgba(255,255,255,.6) inset;border:1px solid rgba(15,26,55,.06);}
.cine.is-3d .cine-title{color:var(--navy);text-shadow:none;font-size:clamp(40px,4.6vw,72px);}
.cine.is-3d .cine-title .outline{-webkit-text-stroke:2px var(--navy);color:transparent;}
.cine.is-3d .cine-kicker{color:var(--red);}
.cine.is-3d .cine-text{color:var(--gray-600);}
.cine.is-3d .cine-facts{color:var(--gray-600);}
.cine.is-3d .cine-actions .btn-outline{color:var(--navy);border-color:rgba(15,26,55,.25);}
.cine.is-3d .cine-actions .btn-outline:hover{background:var(--navy);color:#fff;}
.cine.is-3d .cine-rail button{color:rgba(15,26,55,.5);}
.cine.is-3d .cine-rail button i{border-color:rgba(15,26,55,.45);}
.cine.is-3d .cine-rail button[aria-current="step"]{color:var(--navy);}
.cine.is-3d .cine-hint{color:rgba(15,26,55,.55);}
.cine.is-3d .cine-hint::after{background:linear-gradient(rgba(15,26,55,.6),transparent);}
.cine.is-3d .cine-bar{background:rgba(15,26,55,.08);}
.cine.is-3d .cine-skip{background:rgba(255,255,255,.85);color:var(--navy);border-color:rgba(15,26,55,.15);}
.cine.is-3d .cine-skip:hover{background:var(--red);color:#fff;border-color:var(--red);}
@media (max-width:768px){
  .cine.is-3d .cine-caption{left:12px;right:12px;width:auto;bottom:76px;padding:20px 20px 18px;border-radius:16px;}
  .cine.is-3d .cine-title{font-size:clamp(32px,9.5vw,46px);margin-bottom:10px;}
  .cine.is-3d .cine-text{font-size:14px;line-height:1.55;}
  .cine.is-3d .cine-facts{display:none;}
  .cine.is-3d .cine-actions{margin-top:16px;}
  .cine.is-3d .cine-actions .btn-lg{padding:13px 16px;font-size:14px;}
  .cine.is-3d .cine-kicker{margin-bottom:8px;font-size:11px;}
}
