/* DutyMate Cinematic V3
   Preserves the approved app-style hero while upgrading the stage, palette,
   motion, section rhythm and footer. Loaded after premium-3d.css + luxury-v2.css. */

body.cinematic-v3 {
  --v3-navy-1000:#03101e;
  --v3-navy-950:#051526;
  --v3-navy-900:#071c31;
  --v3-navy-850:#0a2741;
  --v3-navy-800:#0d3351;
  --v3-blue:#4b8fff;
  --v3-cyan:#4fd7e8;
  --v3-teal:#55d7c4;
  --v3-ice:#eef7fb;
  --v3-paper:#f7fbfd;
  --v3-ink:#10293c;
  --v3-muted:#6b8190;
  --v3-line:rgba(31,83,119,.11);
  --v3-shadow:0 32px 90px rgba(6,33,55,.10);
  --v3-shadow-dark:0 44px 120px rgba(0,0,0,.30);
  background:
    radial-gradient(circle at 11% 14%,rgba(79,215,232,.06),transparent 24rem),
    linear-gradient(180deg,#f7fbfd 0%,#f4f9fb 100%) !important;
  color:var(--v3-ink) !important;
}

body.cinematic-v3::before {
  opacity:.28 !important;
  background-image:
    linear-gradient(rgba(37,88,124,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,88,124,.025) 1px,transparent 1px) !important;
  background-size:42px 42px !important;
}

/* Header */
body.cinematic-v3 .site-header {
  top:14px !important;
}
body.cinematic-v3 .nav-wrap {
  width:min(1180px,calc(100% - 24px)) !important;
  min-height:66px !important;
  padding:8px 10px 8px 16px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:20px !important;
  background:rgba(248,252,255,.90) !important;
  box-shadow:
    0 18px 50px rgba(2,18,31,.15),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
  backdrop-filter:blur(24px) saturate(145%) !important;
}
body.cinematic-v3 .site-header.p3-scrolled .nav-wrap {
  background:rgba(248,252,255,.96) !important;
  box-shadow:0 16px 45px rgba(2,18,31,.17),inset 0 1px 0 white !important;
}
body.cinematic-v3 .brand { color:#0f2b40 !important; }
body.cinematic-v3 .brand img {
  width:40px !important;
  height:40px !important;
  border-radius:12px !important;
  filter:drop-shadow(0 8px 16px rgba(20,65,95,.16));
}
body.cinematic-v3 .main-nav a {
  color:#3e5b70 !important;
  font-size:.86rem !important;
  padding:10px 11px !important;
}
body.cinematic-v3 .main-nav a:hover {
  color:#0e3048 !important;
  background:rgba(56,133,184,.07) !important;
}
body.cinematic-v3 .main-nav .nav-cta {
  color:white !important;
  background:linear-gradient(135deg,#147bb8,#3c78f3 56%,#5e69ec) !important;
  box-shadow:0 12px 26px rgba(47,101,213,.26) !important;
}

/* Hero atmosphere */
body.cinematic-v3 .dm-hero {
  position:relative;
  isolation:isolate;
  min-height:auto !important;
  padding:132px 0 72px !important;
  color:#f7fbff !important;
  background:
    radial-gradient(circle at 83% 23%,rgba(79,215,232,.14),transparent 27rem),
    radial-gradient(circle at 68% 70%,rgba(75,143,255,.10),transparent 31rem),
    radial-gradient(circle at 8% 20%,rgba(91,105,236,.08),transparent 25rem),
    linear-gradient(147deg,#041321 0%,#061c31 46%,#082941 100%) !important;
  overflow:hidden;
}
body.cinematic-v3 .dm-hero::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-5 !important;
  opacity:.55 !important;
  background:
    linear-gradient(rgba(255,255,255,.033) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.033) 1px,transparent 1px) !important;
  background-size:54px 54px !important;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 60%,transparent 100%) !important;
}
body.cinematic-v3 .dm-hero::after {
  content:"" !important;
  position:absolute !important;
  z-index:-4 !important;
  width:70rem !important;
  height:70rem !important;
  top:-36rem !important;
  right:-21rem !important;
  border-radius:50% !important;
  border:1px solid rgba(95,220,239,.14) !important;
  box-shadow:
    0 0 0 5.5rem rgba(79,215,232,.018),
    0 0 0 12rem rgba(75,143,255,.018),
    0 0 0 20rem rgba(75,143,255,.012) !important;
  pointer-events:none !important;
}
.v3-hero-atmosphere {
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
  pointer-events:none;
}
.v3-beam {
  position:absolute;
  display:block;
  width:44rem;
  height:8rem;
  border-radius:999px;
  filter:blur(20px);
  opacity:.22;
  transform:rotate(-24deg);
}
.v3-beam-a {
  top:12%;
  right:-17rem;
  background:linear-gradient(90deg,transparent,rgba(76,215,235,.42),transparent);
  animation:v3BeamDrift 13s ease-in-out infinite;
}
.v3-beam-b {
  bottom:12%;
  left:-21rem;
  background:linear-gradient(90deg,transparent,rgba(75,143,255,.27),transparent);
  animation:v3BeamDrift 17s ease-in-out infinite reverse;
}
.v3-orbit {
  position:absolute;
  display:block;
  border:1px solid rgba(110,225,240,.12);
  border-radius:50%;
}
.v3-orbit-a {
  width:48rem;
  height:48rem;
  right:-13rem;
  top:2rem;
  box-shadow:0 0 0 54px rgba(80,213,231,.018),0 0 0 110px rgba(80,213,231,.012);
  animation:v3OrbitSpin 28s linear infinite;
}
.v3-orbit-b {
  width:24rem;
  height:24rem;
  right:8rem;
  top:13rem;
  border-style:dashed;
  opacity:.5;
  animation:v3OrbitSpin 20s linear infinite reverse;
}
.v3-starfield {
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:
    radial-gradient(circle at 15% 22%,rgba(255,255,255,.8) 0 1px,transparent 1.7px),
    radial-gradient(circle at 71% 17%,rgba(122,231,244,.8) 0 1px,transparent 1.7px),
    radial-gradient(circle at 38% 69%,rgba(255,255,255,.6) 0 1px,transparent 1.6px),
    radial-gradient(circle at 88% 78%,rgba(108,196,255,.65) 0 1px,transparent 1.6px),
    radial-gradient(circle at 54% 41%,rgba(255,255,255,.55) 0 1px,transparent 1.6px);
  background-size:310px 270px,370px 330px,420px 390px,470px 410px,530px 480px;
  animation:v3Stars 20s linear infinite;
}
@keyframes v3BeamDrift {
  0%,100%{transform:translate3d(0,0,0) rotate(-24deg);opacity:.15}
  50%{transform:translate3d(-38px,26px,0) rotate(-20deg);opacity:.28}
}
@keyframes v3OrbitSpin { to { transform:rotate(360deg); } }
@keyframes v3Stars { to { background-position:30px 20px,-20px 40px,40px -30px,-35px 25px,28px -35px; } }

body.cinematic-v3 .dm-shell { width:min(1180px,calc(100% - 36px)) !important; }
body.cinematic-v3 .dm-hero-grid {
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr) !important;
  gap:clamp(48px,7vw,96px) !important;
  align-items:center !important;
}
body.cinematic-v3 .dm-hero-grid > div:first-child {
  z-index:3;
  align-self:center;
  transform:translateY(-2px);
}
body.cinematic-v3 .dm-hero-badge {
  color:#d9f8ff !important;
  border:1px solid rgba(133,226,239,.16) !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.08) !important;
}
body.cinematic-v3 .dm-hero-badge span {
  background:var(--v3-teal) !important;
  box-shadow:0 0 0 6px rgba(85,215,196,.10),0 0 18px rgba(85,215,196,.54) !important;
}
body.cinematic-v3 .dm-hero h1 {
  max-width:660px !important;
  margin:24px 0 22px !important;
  color:white !important;
  font-size:clamp(3.2rem,5.65vw,6.15rem) !important;
  line-height:.96 !important;
  letter-spacing:-.064em !important;
  text-wrap:balance;
  text-shadow:0 10px 34px rgba(0,0,0,.12);
}
body.cinematic-v3 .dm-hero h1::after {
  width:.38em !important;
  height:.38em !important;
  background:linear-gradient(135deg,#5ce2e9,#65a9ff) !important;
  box-shadow:0 0 28px rgba(79,215,232,.32) !important;
}
body.cinematic-v3 .dm-hero-lead {
  max-width:625px !important;
  color:#b7cad9 !important;
  font-size:clamp(1.03rem,1.35vw,1.18rem) !important;
  line-height:1.72 !important;
}
body.cinematic-v3 .dm-button {
  min-height:54px !important;
  border-radius:16px !important;
}
body.cinematic-v3 .dm-button-primary {
  color:white !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(135deg,#1ba7e8 0%,#4b80ff 54%,#6a64ee 100%) !important;
  box-shadow:0 20px 42px rgba(36,104,225,.32),inset 0 1px 0 rgba(255,255,255,.22) !important;
}
body.cinematic-v3 .dm-button-secondary {
  color:#edfaff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body.cinematic-v3 .dm-trust {
  gap:8px !important;
  margin-top:26px !important;
}
body.cinematic-v3 .dm-trust span {
  color:#9db9cc !important;
  border:1px solid rgba(255,255,255,.075) !important;
  background:rgba(255,255,255,.028) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

/* Original app hero, upgraded as a 3D product object */
body.cinematic-v3 .dm-device-wrap {
  position:relative;
  min-height:640px !important;
  display:grid;
  place-items:center;
  perspective:1600px !important;
  transform:translateY(var(--v3-device-lift,0px));
  transition:transform .12s linear;
}
body.cinematic-v3 .dm-device-wrap::before {
  width:570px !important;
  height:570px !important;
  border:1px solid rgba(78,211,233,.16) !important;
  background:
    radial-gradient(circle at 50% 50%,rgba(56,165,205,.11),rgba(75,143,255,.04) 40%,transparent 68%) !important;
  box-shadow:
    0 0 0 48px rgba(79,215,232,.018),
    0 0 0 102px rgba(75,143,255,.014),
    inset 0 0 80px rgba(79,215,232,.04) !important;
  animation:v3HaloPulse 7s ease-in-out infinite;
}
body.cinematic-v3 .dm-device-wrap::after {
  width:490px !important;
  height:130px !important;
  bottom:25px !important;
  background:radial-gradient(ellipse,rgba(0,0,0,.48),transparent 68%) !important;
  filter:blur(17px) !important;
  opacity:.75;
}
@keyframes v3HaloPulse {
  0%,100%{transform:translate3d(6%,-2%,-120px) scale(.985);opacity:.82}
  50%{transform:translate3d(6%,-2%,-120px) scale(1.025);opacity:1}
}
body.cinematic-v3 .phone-card {
  width:min(430px,100%) !important;
  padding:10px !important;
  border-radius:42px !important;
  border:1px solid rgba(173,235,244,.20) !important;
  background:
    linear-gradient(155deg,rgba(255,255,255,.17),rgba(255,255,255,.045)) !important;
  box-shadow:
    0 58px 125px rgba(0,0,0,.43),
    0 18px 52px rgba(33,132,192,.18),
    0 0 80px rgba(64,192,224,.06),
    inset 0 1px 0 rgba(255,255,255,.28) !important;
  backdrop-filter:blur(20px) saturate(135%);
  animation:v3PhoneFloat 7.5s ease-in-out infinite !important;
}
@keyframes v3PhoneFloat {
  0%,100%{transform:rotateY(-9deg) rotateX(4deg) translate3d(0,0,0)}
  50%{transform:rotateY(-5.5deg) rotateX(2.5deg) translate3d(0,-13px,8px)}
}
body.cinematic-v3 .phone-card::before {
  width:170px !important;
  height:100px !important;
  left:-92px !important;
  top:14% !important;
  border:1px solid rgba(93,220,234,.22) !important;
  background:
    linear-gradient(145deg,rgba(76,215,232,.16),rgba(255,255,255,.045)) !important;
  box-shadow:0 24px 52px rgba(0,0,0,.17) !important;
}
body.cinematic-v3 .phone-card::after {
  width:158px !important;
  height:124px !important;
  right:-83px !important;
  bottom:16% !important;
  border:1px solid rgba(83,147,255,.18) !important;
  background:
    linear-gradient(145deg,rgba(77,143,255,.16),rgba(98,219,227,.06)) !important;
  box-shadow:0 24px 52px rgba(0,0,0,.18) !important;
}
body.cinematic-v3 .dm-phone {
  border-radius:31px !important;
  box-shadow:
    inset 0 0 0 1px rgba(11,41,68,.08),
    0 1px 0 rgba(255,255,255,.6) !important;
}
body.cinematic-v3 .dm-phone-bar {
  background:linear-gradient(135deg,#071c31,#0b3b5d) !important;
}
body.cinematic-v3 .dm-today {
  background:
    radial-gradient(circle at 92% 10%,rgba(82,216,221,.16),transparent 31%),
    linear-gradient(135deg,#09233d,#0d456f) !important;
}
body.cinematic-v3 .p3-floating-chip {
  color:#e4faff !important;
  border:1px solid rgba(136,227,240,.15) !important;
  background:rgba(4,28,47,.66) !important;
  box-shadow:0 20px 46px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05) !important;
  animation:v3ChipFloat 6.5s ease-in-out infinite !important;
}
body.cinematic-v3 .p3-floating-chip i {
  background:linear-gradient(135deg,#4fd7e8,#55d7c4) !important;
  box-shadow:0 0 16px rgba(79,215,232,.48) !important;
}
@keyframes v3ChipFloat {
  0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
  50%{transform:translate3d(0,-9px,8px) rotate(1deg)}
}

/* Shift marquee restored */
body.cinematic-v3 .v3-shift-marquee {
  position:relative;
  z-index:10;
  padding:14px 0 !important;
  border-top:1px solid rgba(73,197,221,.10) !important;
  border-bottom:1px solid rgba(73,197,221,.12) !important;
  background:
    linear-gradient(90deg,#071c31 0%,#0a2e4a 50%,#071c31 100%) !important;
  box-shadow:0 14px 42px rgba(5,29,49,.12);
}
body.cinematic-v3 .v3-shift-marquee::before {
  background:linear-gradient(90deg,#071c31,transparent) !important;
}
body.cinematic-v3 .v3-shift-marquee::after {
  background:linear-gradient(-90deg,#071c31,transparent) !important;
}
body.cinematic-v3 .v3-shift-marquee .lux-marquee-track {
  gap:22px !important;
  color:#bdd6e3 !important;
  font-size:.74rem !important;
  letter-spacing:.01em;
  animation-duration:34s !important;
}
body.cinematic-v3 .v3-shift-marquee .lux-marquee-track i {
  color:#5ed8e5 !important;
  text-shadow:0 0 14px rgba(79,215,232,.42);
}

/* Cohesive section palette */
body.cinematic-v3 .dm-section {
  position:relative;
  padding:118px 0 !important;
}
body.cinematic-v3 .dm-section:not(.dm-section-dark) {
  background:
    radial-gradient(circle at 92% 10%,rgba(79,215,232,.055),transparent 22rem),
    linear-gradient(180deg,#f8fbfd,#f4f9fb) !important;
}
body.cinematic-v3 .dm-section-soft {
  background:
    radial-gradient(circle at 85% 15%,rgba(70,170,219,.10),transparent 24rem),
    radial-gradient(circle at 12% 85%,rgba(80,215,226,.07),transparent 25rem),
    linear-gradient(180deg,#eef5f9,#f8fbfd) !important;
}
body.cinematic-v3 .dm-section::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(1120px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(38,92,128,.10),transparent);
  pointer-events:none;
}
body.cinematic-v3 .dm-heading {
  max-width:820px !important;
  margin-bottom:48px !important;
}
body.cinematic-v3 .dm-heading h2 {
  color:#0f2e44 !important;
  font-size:clamp(2.55rem,4.7vw,4.9rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.058em !important;
  font-weight:830 !important;
}
body.cinematic-v3 .dm-heading p {
  color:#708492 !important;
  font-size:1.03rem !important;
}
body.cinematic-v3 .dm-kicker {
  color:#2584b9 !important;
  font-size:.72rem !important;
  letter-spacing:.105em !important;
}

/* Cards */
body.cinematic-v3 .dm-feature-card,
body.cinematic-v3 .dm-setting-card,
body.cinematic-v3 .dm-step,
body.cinematic-v3 .dm-source,
body.cinematic-v3 .dm-work-card,
body.cinematic-v3 .dm-free-plan,
body.cinematic-v3 .dm-plan,
body.cinematic-v3 .dm-report-details,
body.cinematic-v3 .dm-faq-grid details {
  border:1px solid rgba(34,87,123,.09) !important;
  background:
    linear-gradient(155deg,rgba(255,255,255,.94),rgba(248,252,254,.83)) !important;
  box-shadow:
    0 24px 70px rgba(8,45,72,.075),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
  backdrop-filter:blur(16px);
}
body.cinematic-v3 .dm-feature-card:hover,
body.cinematic-v3 .dm-setting-card:hover,
body.cinematic-v3 .dm-step:hover,
body.cinematic-v3 .dm-source:hover,
body.cinematic-v3 .dm-plan:hover {
  border-color:rgba(55,150,200,.20) !important;
  box-shadow:
    0 34px 88px rgba(8,45,72,.12),
    0 0 0 1px rgba(74,194,216,.035),
    inset 0 1px 0 white !important;
}
body.cinematic-v3 .dm-feature-card h3,
body.cinematic-v3 .dm-setting-card strong,
body.cinematic-v3 .dm-step h3,
body.cinematic-v3 .dm-source strong,
body.cinematic-v3 .dm-plan h3,
body.cinematic-v3 .dm-free-plan h3 {
  color:#173b52 !important;
}
body.cinematic-v3 .dm-feature-card p,
body.cinematic-v3 .dm-setting-card p,
body.cinematic-v3 .dm-step p,
body.cinematic-v3 .dm-source span,
body.cinematic-v3 .dm-plan p,
body.cinematic-v3 .dm-plan li,
body.cinematic-v3 .dm-free-plan p {
  color:#728894 !important;
}
body.cinematic-v3 .dm-feature-icon,
body.cinematic-v3 .dm-copy-item-icon,
body.cinematic-v3 .dm-source-badge,
body.cinematic-v3 .dm-step-number {
  color:#1f79ac !important;
  border:1px solid rgba(48,137,190,.10) !important;
  background:linear-gradient(145deg,#edf7fb,#e4f1f7) !important;
  box-shadow:inset 0 1px 0 white,0 8px 22px rgba(38,104,145,.07) !important;
}

/* Personal mode */
body.cinematic-v3 #personal .dm-split {
  grid-template-columns:.92fr 1.08fr !important;
  gap:clamp(48px,7vw,92px) !important;
}
body.cinematic-v3 .dm-copy-item {
  border-bottom:1px solid rgba(31,84,120,.08) !important;
}
body.cinematic-v3 .dm-copy-item strong { color:#1b4057 !important; }
body.cinematic-v3 .dm-copy-item span { color:#738894 !important; }
body.cinematic-v3 .dm-app-frame {
  border:1px solid rgba(43,110,153,.11) !important;
  background:
    radial-gradient(circle at 90% 7%,rgba(77,211,230,.16),transparent 18rem),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(234,245,250,.88)) !important;
  box-shadow:
    0 46px 112px rgba(8,46,74,.14),
    inset 0 1px 0 white !important;
  transform-style:preserve-3d;
}
body.cinematic-v3 .dm-app-window {
  transform:rotateY(-4.5deg) rotateX(1.4deg) translateZ(8px) !important;
  box-shadow:0 26px 62px rgba(10,52,82,.13) !important;
}
body.cinematic-v3 .dm-app-titlebar {
  background:linear-gradient(135deg,#071c31,#0d456f) !important;
}

/* Professional */
body.cinematic-v3 .dm-section-dark {
  background:
    radial-gradient(circle at 70% 2%,rgba(79,215,232,.11),transparent 26rem),
    radial-gradient(circle at 94% 82%,rgba(75,143,255,.11),transparent 30rem),
    linear-gradient(148deg,#03111f 0%,#061d31 50%,#082a43 100%) !important;
}
body.cinematic-v3 .dm-section-dark::before {
  opacity:.4 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) !important;
  background-size:48px 48px !important;
}
body.cinematic-v3 .dm-section-dark .dm-heading h2 { color:#f5fbff !important; }
body.cinematic-v3 .dm-section-dark .dm-heading p { color:#adc4d3 !important; }
body.cinematic-v3 .dm-section-dark .dm-kicker { color:#64dbe8 !important; }
body.cinematic-v3 .dm-pro-card {
  border:1px solid rgba(118,215,232,.11) !important;
  background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.027)) !important;
  box-shadow:0 28px 78px rgba(0,0,0,.21),inset 0 1px 0 rgba(255,255,255,.065) !important;
}
body.cinematic-v3 .dm-pro-card h3 { color:#eefaff !important; }
body.cinematic-v3 .dm-pro-card p { color:#a9c0cf !important; }
body.cinematic-v3 .dm-pro-card .dm-feature-icon {
  color:#77e0ea !important;
  border-color:rgba(107,219,233,.12) !important;
  background:rgba(83,199,221,.075) !important;
}
body.cinematic-v3 .dm-pro-demo {
  border:1px solid rgba(103,214,230,.10) !important;
  background:linear-gradient(150deg,rgba(255,255,255,.065),rgba(255,255,255,.025)) !important;
  box-shadow:0 46px 118px rgba(0,0,0,.27) !important;
}

/* Workspace + source orbit */
body.cinematic-v3 .dm-work-card.dm-accent {
  color:white !important;
  border-color:rgba(99,210,229,.13) !important;
  background:
    radial-gradient(circle at 92% 10%,rgba(87,218,226,.16),transparent 17rem),
    linear-gradient(145deg,#082139,#0d496c) !important;
  box-shadow:0 32px 88px rgba(7,44,72,.20) !important;
}
body.cinematic-v3 .dm-work-card.dm-accent .dm-card-label { color:#78e0e9 !important; }

body.cinematic-v3 .lux-orbit-rings i {
  border-color:rgba(50,145,193,.14) !important;
}
body.cinematic-v3 .lux-orbit-core {
  border:1px solid rgba(48,126,176,.11) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(231,244,249,.94)) !important;
  box-shadow:0 34px 86px rgba(10,58,89,.14),inset 0 1px 0 white !important;
}
body.cinematic-v3 .lux-orbit-core strong { color:#1e4760 !important; }
body.cinematic-v3 .lux-orbit-core small { color:#8498a5 !important; }
body.cinematic-v3 .lux-orbit-node {
  border:1px solid rgba(48,126,176,.10) !important;
  background:rgba(255,255,255,.91) !important;
  box-shadow:0 18px 46px rgba(10,58,89,.09),inset 0 1px 0 white !important;
}
body.cinematic-v3 .lux-orbit-node b { color:#2576a6 !important; }
body.cinematic-v3 .lux-orbit-node span { color:#8195a2 !important; }

/* Reports */
body.cinematic-v3 .dm-report-summary {
  border-color:rgba(87,195,219,.13) !important;
  background:
    radial-gradient(circle at 87% 9%,rgba(84,216,229,.13),transparent 18rem),
    linear-gradient(145deg,#061c31,#0d496d) !important;
  box-shadow:0 34px 92px rgba(7,44,72,.21) !important;
}
body.cinematic-v3 .dm-report-summary p,
body.cinematic-v3 .dm-report-summary small { color:#b3cad8 !important; }
body.cinematic-v3 .dm-report-detail strong { color:#1c425a !important; }
body.cinematic-v3 .dm-report-detail small,
body.cinematic-v3 .dm-report-detail span { color:#8195a2 !important; }

/* Plans */
body.cinematic-v3 .dm-plan-complete {
  color:white !important;
  border-color:rgba(93,202,224,.15) !important;
  background:
    radial-gradient(circle at 88% 8%,rgba(84,216,229,.14),transparent 18rem),
    linear-gradient(145deg,#051a2d,#0b4163) !important;
  box-shadow:0 38px 98px rgba(7,43,70,.23) !important;
}
body.cinematic-v3 .dm-plan-complete h3 { color:#f5fbff !important; }
body.cinematic-v3 .dm-plan-complete p,
body.cinematic-v3 .dm-plan-complete li,
body.cinematic-v3 .dm-plan-complete .dm-plan-restriction,
body.cinematic-v3 .dm-plan-complete .dm-price-option em { color:#b3c9d7 !important; }
body.cinematic-v3 .dm-plan-complete .dm-price-option {
  border-color:rgba(255,255,255,.095) !important;
  background:rgba(255,255,255,.055) !important;
}
body.cinematic-v3 .dm-plan-complete .dm-price-option strong,
body.cinematic-v3 .dm-plan-complete .dm-price-option span,
body.cinematic-v3 .dm-plan-complete .dm-price-option small { color:white !important; }
body.cinematic-v3 .dm-best-value {
  color:#08283c !important;
  background:linear-gradient(135deg,#70e5e8,#7fb8ff) !important;
  box-shadow:0 12px 28px rgba(73,190,223,.22) !important;
}

/* FAQ and final download */
body.cinematic-v3 .dm-faq-grid summary { color:#183f56 !important; }
body.cinematic-v3 .dm-faq-grid details p { color:#718793 !important; }
body.cinematic-v3 .dm-download {
  position:relative;
  overflow:hidden;
  min-height:300px !important;
  color:#f5fbff !important;
  border:1px solid rgba(107,218,234,.12) !important;
  background:
    radial-gradient(circle at 82% 24%,rgba(77,215,231,.18),transparent 22rem),
    radial-gradient(circle at 18% 90%,rgba(75,143,255,.13),transparent 23rem),
    linear-gradient(145deg,#041727,#082f4b) !important;
  box-shadow:0 38px 102px rgba(5,34,57,.22) !important;
}
body.cinematic-v3 .dm-download::after {
  color:rgba(118,211,229,.035) !important;
}
body.cinematic-v3 .dm-download h2 { color:#f5fbff !important; }
body.cinematic-v3 .dm-download p { color:#b2c8d6 !important; }
body.cinematic-v3 .dm-download .dm-kicker { color:#67dbe7 !important; }

/* Flagship footer */
body.cinematic-v3 .v3-footer {
  position:relative;
  overflow:hidden;
  padding:0 !important;
  background:
    radial-gradient(circle at 72% 10%,rgba(80,215,232,.11),transparent 24rem),
    radial-gradient(circle at 12% 82%,rgba(75,143,255,.08),transparent 27rem),
    linear-gradient(155deg,#020d18 0%,#041522 45%,#071e31 100%) !important;
  border-top:1px solid rgba(109,221,235,.08);
}
body.cinematic-v3 .v3-footer::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.023) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.023) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
  pointer-events:none;
}
.v3-footer-glow {
  position:absolute;
  z-index:0;
  top:-18rem;
  left:50%;
  width:58rem;
  height:38rem;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(67,210,231,.16),rgba(66,126,218,.05) 45%,transparent 72%);
  filter:blur(20px);
  pointer-events:none;
}
.v3-footer-cta {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:34px;
  padding:90px 0 58px;
}
.v3-footer-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#6ddce8;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.v3-footer-eyebrow::before {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#55d7c4;
  box-shadow:0 0 0 6px rgba(85,215,196,.09),0 0 16px rgba(85,215,196,.34);
}
.v3-footer-cta h2 {
  max-width:740px;
  margin:14px 0 12px;
  color:#f5fbff;
  font-size:clamp(3rem,6vw,6.4rem);
  line-height:.94;
  letter-spacing:-.066em;
  font-weight:850;
  text-wrap:balance;
}
.v3-footer-cta p {
  max-width:650px;
  margin:0;
  color:#a9c1d0;
  font-size:1rem;
  line-height:1.7;
}
.v3-footer-button { align-self:center; }
.v3-footer-divider {
  position:relative;
  z-index:2;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,220,235,.16),transparent);
}
body.cinematic-v3 .v3-footer-grid {
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 36px)) !important;
  display:grid !important;
  grid-template-columns:1.65fr .72fr .72fr 1fr !important;
  gap:44px !important;
  padding:58px 0 42px !important;
}
.v3-footer-brand img {
  width:min(220px,78%) !important;
  max-height:70px;
  object-fit:contain;
  object-position:left center;
  filter:brightness(1.08) drop-shadow(0 10px 24px rgba(0,0,0,.16));
}
.v3-footer-brand p {
  max-width:440px;
  margin-top:16px;
  color:#91aebe !important;
  line-height:1.7;
}
.v3-footer-chips {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:20px;
}
.v3-footer-chips span {
  padding:7px 10px;
  color:#a9c6d5;
  font-size:.69rem;
  border:1px solid rgba(126,220,235,.08);
  border-radius:999px;
  background:rgba(255,255,255,.028);
}
.v3-footer-column > strong {
  display:block;
  margin-bottom:16px;
  color:#edf9ff;
  font-size:.82rem;
  letter-spacing:.01em;
}
body.cinematic-v3 .v3-footer-column .footer-links {
  display:grid !important;
  gap:11px !important;
}
body.cinematic-v3 .v3-footer-column .footer-links a {
  color:#8eacbc !important;
  font-size:.82rem;
  transition:color .2s ease,transform .2s ease;
}
body.cinematic-v3 .v3-footer-column .footer-links a:hover {
  color:#dff8ff !important;
  transform:translateX(3px);
}
.v3-developer-mark {
  align-self:start;
  padding:18px;
  border:1px solid rgba(121,218,233,.08);
  border-radius:20px;
  background:rgba(255,255,255,.028);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.v3-developer-mark span,
.v3-developer-mark small {
  display:block;
  color:#7f9dad !important;
}
.v3-developer-mark span {
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.v3-developer-mark img {
  width:min(180px,100%) !important;
  max-height:58px;
  margin:10px 0 8px;
  object-fit:contain;
  object-position:left center;
  filter:brightness(1.1);
}
.v3-developer-mark small {
  line-height:1.55;
  font-size:.7rem;
}
.v3-footer-wordmark {
  position:relative;
  z-index:1;
  margin-top:4px;
  overflow:hidden;
  color:transparent;
  font-size:clamp(8rem,22vw,21rem);
  line-height:.72;
  font-weight:900;
  letter-spacing:-.095em;
  text-align:center;
  white-space:nowrap;
  -webkit-text-stroke:1px rgba(115,218,233,.10);
  text-shadow:0 0 70px rgba(67,194,220,.045);
  transform:translateY(var(--v3-footer-wordmark-y,0px));
  transition:transform .12s linear;
  user-select:none;
}
body.cinematic-v3 .footer-bottom {
  position:relative;
  z-index:3;
  width:min(1180px,calc(100% - 36px)) !important;
  display:flex !important;
  justify-content:space-between;
  gap:20px;
  padding:24px 0 28px !important;
  border-top:1px solid rgba(109,210,228,.075) !important;
  color:#718f9f !important;
}
.v3-footer-status {
  display:flex;
  align-items:center;
  gap:8px;
}
.v3-footer-status i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#55d7c4;
  box-shadow:0 0 0 5px rgba(85,215,196,.08),0 0 13px rgba(85,215,196,.35);
}

/* Cinematic reveal */
body.cinematic-v3 .dm-section.v3-in-view .dm-heading {
  filter:none;
}
body.cinematic-v3 .dm-section .dm-heading {
  filter:saturate(.92);
  transition:filter .7s ease;
}
body.cinematic-v3 .v3-depth-card {
  transform-style:preserve-3d;
}
body.cinematic-v3 .v3-depth-card > * {
  transform:translateZ(10px);
}

/* desktop composition */
@media (max-width:1100px) {
  body.cinematic-v3 .dm-hero-grid {
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:38px !important;
  }
  body.cinematic-v3 .dm-device-wrap { min-height:590px !important; }
  body.cinematic-v3 .v3-footer-grid {
    grid-template-columns:1.35fr .7fr .7fr !important;
  }
  .v3-developer-mark { grid-column:1/-1; max-width:420px; }
}

/* Tablet/mobile */
@media (max-width:900px) {
  body.cinematic-v3 .site-header { top:10px !important; }
  body.cinematic-v3 .nav-wrap {
    width:calc(100% - 18px) !important;
    min-height:58px !important;
    border-radius:16px !important;
  }
  body.cinematic-v3 .main-nav {
    background:rgba(247,251,254,.97) !important;
    border-color:rgba(37,93,129,.09) !important;
  }

  body.cinematic-v3 .dm-hero {
    padding:104px 0 48px !important;
  }
  body.cinematic-v3 .dm-hero-grid {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  body.cinematic-v3 .dm-hero-grid > div:first-child {
    text-align:left !important;
  }
  body.cinematic-v3 .dm-hero h1 {
    max-width:620px !important;
    font-size:clamp(3rem,10.8vw,5rem) !important;
  }
  body.cinematic-v3 .dm-hero-lead { margin:0 !important; }
  body.cinematic-v3 .dm-actions,
  body.cinematic-v3 .dm-trust { justify-content:flex-start !important; }

  body.cinematic-v3 .dm-device-wrap {
    min-height:520px !important;
    margin-top:2px !important;
    padding:8px 0 0 !important;
  }
  body.cinematic-v3 .dm-device-wrap::before {
    width:min(500px,88vw) !important;
    height:min(500px,88vw) !important;
  }
  body.cinematic-v3 .phone-card {
    width:min(390px,92vw) !important;
    animation:v3PhoneFloatMobile 6.5s ease-in-out infinite !important;
  }
  @keyframes v3PhoneFloatMobile {
    0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
    50%{transform:translate3d(0,-9px,0) rotate(1deg)}
  }
  body.cinematic-v3 .p3-floating-chip { display:flex !important; }
  body.cinematic-v3 .p3-chip-a { left:0 !important; top:20% !important; }
  body.cinematic-v3 .p3-chip-b { right:0 !important; top:43% !important; }
  body.cinematic-v3 .p3-chip-c { left:3% !important; bottom:10% !important; }
  body.cinematic-v3 .p3-floating-chip {
    padding:9px 11px !important;
    border-radius:14px !important;
    transform:scale(.86);
  }

  body.cinematic-v3 .dm-app-window { transform:none !important; }
  body.cinematic-v3 .v3-footer-cta {
    grid-template-columns:1fr;
    align-items:start;
    padding-top:70px;
  }
  body.cinematic-v3 .v3-footer-grid {
    grid-template-columns:1fr 1fr !important;
    gap:34px !important;
  }
  .v3-footer-brand { grid-column:1/-1; }
  .v3-developer-mark { grid-column:1/-1; }
}

@media (max-width:640px) {
  body.cinematic-v3 .dm-shell,
  body.cinematic-v3 .footer-grid,
  body.cinematic-v3 .footer-bottom {
    width:min(100% - 24px,1180px) !important;
  }
  body.cinematic-v3 .dm-hero {
    padding:92px 0 38px !important;
  }
  body.cinematic-v3 .dm-hero-grid { gap:10px !important; }
  body.cinematic-v3 .dm-hero-badge {
    padding:8px 10px !important;
    font-size:.64rem !important;
  }
  body.cinematic-v3 .dm-hero h1 {
    margin:18px 0 16px !important;
    font-size:clamp(2.55rem,11.4vw,4rem) !important;
    line-height:.96 !important;
  }
  body.cinematic-v3 .dm-hero-lead {
    font-size:.9rem !important;
    line-height:1.62 !important;
  }
  body.cinematic-v3 .dm-actions {
    display:flex !important;
    flex-wrap:wrap;
    gap:8px !important;
    margin-top:22px !important;
  }
  body.cinematic-v3 .dm-button {
    width:auto !important;
    min-height:48px !important;
    padding-inline:14px !important;
  }
  body.cinematic-v3 .dm-trust {
    gap:6px !important;
    margin-top:18px !important;
  }
  body.cinematic-v3 .dm-trust span {
    padding:7px 9px !important;
    font-size:.65rem !important;
  }

  body.cinematic-v3 .dm-device-wrap {
    min-height:455px !important;
    padding-top:4px !important;
  }
  body.cinematic-v3 .phone-card {
    width:min(340px,94vw) !important;
    padding:7px !important;
    border-radius:30px !important;
  }
  body.cinematic-v3 .phone-card::before,
  body.cinematic-v3 .phone-card::after { display:block !important; }
  body.cinematic-v3 .phone-card::before {
    width:105px !important;
    height:62px !important;
    left:-45px !important;
  }
  body.cinematic-v3 .phone-card::after {
    width:96px !important;
    height:72px !important;
    right:-38px !important;
  }
  body.cinematic-v3 .p3-floating-chip {
    font-size:.7rem !important;
    padding:8px 9px !important;
    transform:scale(.78);
  }
  body.cinematic-v3 .p3-floating-chip small { font-size:.6rem !important; }
  body.cinematic-v3 .p3-chip-a { left:-10px !important; top:16% !important; }
  body.cinematic-v3 .p3-chip-b { right:-12px !important; top:48% !important; }
  body.cinematic-v3 .p3-chip-c { left:0 !important; bottom:5% !important; }

  body.cinematic-v3 .v3-shift-marquee { padding:12px 0 !important; }
  body.cinematic-v3 .v3-shift-marquee .lux-marquee-track {
    gap:17px !important;
    font-size:.66rem !important;
  }

  body.cinematic-v3 .dm-section { padding:84px 0 !important; }
  body.cinematic-v3 .dm-heading { margin-bottom:34px !important; }
  body.cinematic-v3 .dm-heading h2 {
    font-size:clamp(2.15rem,10.8vw,3.4rem) !important;
  }

  body.cinematic-v3 .v3-footer-cta {
    padding:66px 0 44px !important;
  }
  .v3-footer-cta h2 {
    font-size:clamp(2.7rem,14vw,4.4rem);
  }
  .v3-footer-cta p { font-size:.92rem; }
  body.cinematic-v3 .v3-footer-grid {
    grid-template-columns:1fr !important;
    gap:30px !important;
    padding:44px 0 28px !important;
  }
  .v3-footer-brand,
  .v3-developer-mark { grid-column:auto; }
  .v3-footer-wordmark {
    font-size:clamp(6.7rem,27vw,10rem);
    line-height:.78;
  }
  body.cinematic-v3 .footer-bottom {
    display:grid !important;
    gap:10px !important;
    font-size:.7rem !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce) {
  .v3-beam,
  .v3-orbit,
  .v3-starfield,
  body.cinematic-v3 .phone-card,
  body.cinematic-v3 .dm-device-wrap::before,
  body.cinematic-v3 .p3-floating-chip,
  body.cinematic-v3 .v3-shift-marquee .lux-marquee-track {
    animation:none !important;
  }
  body.cinematic-v3 .dm-device-wrap,
  .v3-footer-wordmark {
    transform:none !important;
  }
}
