@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:"DM Sans",Inter,"Segoe UI",Arial,sans-serif;color:#0c1033;background:#fff}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
.templates-disabled .landing-templates-section,
.templates-disabled .landing-templates-info,
.templates-disabled .landing-templates-link{display:none}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none}
img,video{display:block;max-width:100%}
h1,h2,h3,p,figure{margin:0}
ul{list-style:none;padding:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #93b8ff;outline-offset:4px}
.skip-link{position:absolute;z-index:90;top:-80px;left:16px;padding:12px 18px;background:#fff;border-radius:10px}
.skip-link:focus{top:12px}
.landing-page {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  color: #101432;
  background: #fff;
  font-family: "DM Sans", "Inter", sans-serif;
  scroll-behavior: smooth;
}

.landing-page button { cursor: pointer; }
.landing-page svg { width: 1em; height: 1em; }
.landing-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.landing-header {
  position: sticky;
  z-index: 50;
  top: 0;
  border-bottom: 1px solid rgba(221, 229, 255, .74);
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(18px);
}

.landing-nav { display: flex; height: 70px; align-items: center; justify-content: space-between; gap: 28px; }

.landing-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #101432;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.landing-brand > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #fff;
  border-radius: 11px;
  background: linear-gradient(135deg, #1a56ff, #45b7ff 60%, #9d7cff);
  box-shadow: 0 5px 16px rgba(26, 86, 255, .25);
}

.landing-brand svg { width: 18px; height: 18px; }
.landing-nav nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.landing-nav nav button, .landing-login { color: #505a7e; font-size: 12px; font-weight: 600; transition: color .2s; }
.landing-nav nav button:hover, .landing-login:hover { color: #1a56ff; }
.landing-nav-actions { display: flex; align-items: center; gap: 20px; }

.landing-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  color: #fff;
  border-radius: 15px;
  background: linear-gradient(135deg, #1a56ff, #7657ef);
  box-shadow: 0 10px 30px rgba(26, 86, 255, .25), 0 3px 10px rgba(124, 92, 252, .16);
  font-size: 13px;
  font-weight: 750;
  transition: transform .2s, box-shadow .2s;
}

.landing-button:hover { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(26, 86, 255, .33), 0 5px 14px rgba(124, 92, 252, .2); }
.landing-button svg { width: 16px; height: 16px; }
.landing-button--small { min-height: 40px; padding: 0 16px; border-radius: 12px; font-size: 11px; }
.landing-button--hero { min-height: 56px; padding: 0 28px; border-radius: 17px; font-size: 15px; }

.landing-hero {
  position: relative;
  min-height: 960px;
  padding: 85px 0 100px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 48% 30% at 50% 26%, rgba(178, 205, 255, .22), transparent 72%),
    linear-gradient(180deg, #fbfdff 0%, #f5f8ff 74%, #fff 100%);
}

.landing-orb {
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  filter: blur(100px);
  opacity: .16;
  pointer-events: none;
}

.landing-orb--one { top: 180px; left: -180px; background: #79a8ff; }
.landing-orb--two { right: -180px; bottom: 110px; background: #ad8dff; }

.landing-hero-copy { position: relative; z-index: 1; text-align: center; }
.landing-kicker, .landing-eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #1a56ff;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.landing-kicker { justify-content: center; margin-bottom: 22px; }
.landing-kicker svg { width: 16px; height: 16px; }

.landing-hero h1 {
  color: #0c1033;
  font-size: clamp(52px, 6.2vw, 84px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.065em;
}

.landing-hero h1 span {
  color: transparent;
  background: linear-gradient(105deg, #174fe8 16%, #7057e8 56%, #399eea);
  background-clip: text;
  -webkit-background-clip: text;
}

.landing-hero-subtitle { margin-top: 22px; color: #697594; font-size: 16px; }

.motion-showcase {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: 800px;
  grid-template-columns: 230px 150px 268px;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 55px auto 0;
}

.motion-showcase-card {
  position: relative;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: 27px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 24px 60px rgba(32, 57, 122, .13), 0 3px 12px rgba(32, 57, 122, .05);
}

.motion-showcase-card--source { transform: rotate(-2deg); }
.motion-showcase-card--result {
  padding: 9px;
  box-shadow: 0 28px 80px rgba(45, 83, 190, .22), 0 0 0 5px rgba(78, 117, 255, .05);
  transform: rotate(1.4deg);
}

.motion-showcase-media { overflow: hidden; border-radius: 21px; background: #75b7c9; aspect-ratio: 2 / 3; }
.motion-showcase-card--result .motion-showcase-media { aspect-ratio: .64; }

.motion-showcase-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  animation: landing-demo-breathe 7s ease-in-out infinite alternate;
}

.motion-showcase-card--result img { animation-delay: -2s; }
@keyframes landing-demo-breathe { from { transform: scale(1.02); } to { transform: scale(1.075) translateY(-.7%); } }

.motion-showcase-label {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 9px;
  background: rgba(12, 16, 51, .55);
  backdrop-filter: blur(8px);
  font-size: 9px;
  font-weight: 700;
}

.motion-showcase-label svg { width: 12px; height: 12px; }

.motion-flow { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 12px; color: #8c97b6; text-align: center; }
.motion-flow-label { color: #1a56ff; font-size: 12px; font-weight: 800; }
.motion-flow > span:last-child { font-size: 9px; font-weight: 600; }

.motion-flow-line {
  position: relative;
  width: 132px;
  height: 2px;
  background: linear-gradient(90deg, rgba(26,86,255,.08), #4d7aff, #8e66ef);
}

.motion-flow-line::after {
  position: absolute;
  top: -4px;
  right: -1px;
  width: 10px;
  height: 10px;
  content: "";
  border-top: 2px solid #805ded;
  border-right: 2px solid #805ded;
  transform: rotate(45deg);
}

.motion-flow-line i {
  position: absolute;
  top: -3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 12px 3px #6590ff;
  animation: landing-particle 2.2s linear infinite;
}

.motion-flow-line i:nth-child(2) { animation-delay: -.7s; }
.motion-flow-line i:nth-child(3) { animation-delay: -1.4s; }
@keyframes landing-particle { from { left: 3px; opacity: 0; } 15%,85% { opacity: 1; } to { left: 124px; opacity: 0; } }

.landing-hero-actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 42px; }
.landing-secondary-link { display: inline-flex; align-items: center; gap: 7px; color: #1a56ff; font-size: 12px; font-weight: 700; }
.landing-secondary-link::after { content: "→"; transition: transform .2s; }
.landing-secondary-link:has(svg)::after { display: none; }
.landing-secondary-link:hover::after { transform: translateX(3px); }

.landing-section { padding: 120px 0; }
.landing-section-heading { max-width: 720px; margin: 0 auto 50px; text-align: center; }
.landing-section-heading > p { margin-bottom: 15px; color: #1a56ff; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.landing-section-heading h2, .visual-story-copy h2, .image-section-top h2, .templates-intro h2, .faq-copy h2, .landing-final-cta h2 {
  color: #0c1033;
  font-size: clamp(36px, 4.2vw, 56px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.055em;
}
.landing-section-heading > span { display: block; max-width: 610px; margin: 16px auto 0; color: #7a86a5; font-size: 14px; line-height: 1.65; }

.feature-editorial-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 520px 450px; gap: 16px; }
.feature-editorial {
  position: relative;
  min-height: 450px;
  overflow: hidden;
  border-radius: 28px;
  background: #10182d;
  box-shadow: 0 12px 34px rgba(25, 44, 93, .08);
}
.feature-editorial.is-tall { min-height: 520px; }
.feature-editorial.is-featured { grid-row: span 2; }
.feature-editorial img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.feature-editorial:nth-child(2) img { object-position: center top; }
.feature-editorial:hover img { transform: scale(1.04); }
.feature-editorial-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(7, 10, 23, .87) 100%); }
.feature-editorial-copy { position: absolute; right: 30px; bottom: 28px; left: 30px; max-width: 560px; color: #fff; }
.feature-editorial-copy > span { display: block; margin-bottom: 8px; color: #b9c9ff; font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.feature-editorial-copy h3 { font-size: clamp(22px, 2.5vw, 32px); font-weight: 750; line-height: 1.12; letter-spacing: -.035em; }
.feature-editorial-copy p { max-width: 470px; margin-top: 8px; color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.55; }

.landing-models-section { background: linear-gradient(180deg, #fafcff, #f5f8ff); }
.model-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.model-card {
  display: flex;
  min-height: 190px;
  align-items: flex-start;
  gap: 22px;
  padding: 28px;
  border: 1px solid #e5eaff;
  border-radius: 24px;
  background: rgba(255,255,255,.8);
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.model-card:hover { border-color: #cdd9ff; box-shadow: 0 18px 40px rgba(26,86,255,.07); transform: translateY(-3px); }
.model-mark { display: grid; width: 50px; height: 50px; flex: 0 0 auto; place-items: center; color: #fff; border-radius: 15px; font-size: 13px; font-weight: 800; }
.model-mark.is-blue { background: linear-gradient(135deg,#1554fb,#53a4ff); }
.model-mark.is-violet { background: linear-gradient(135deg,#6545dd,#a985ff); }
.model-mark.is-sky { background: linear-gradient(135deg,#168ccf,#60d5e9); }
.model-mark.is-indigo { background: linear-gradient(135deg,#3342bd,#7d66dc); }
.model-card small { color: #7f8baa; font-size: 10px; font-weight: 700; }
.model-card h3 { margin-top: 8px; color: #151a3b; font-size: 19px; font-weight: 750; letter-spacing: -.025em; }
.model-card p { margin-top: 8px; color: #7b86a3; font-size: 12px; line-height: 1.6; }
.models-summary { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 32px; color: #5f6d91; font-size: 12px; font-weight: 650; }
.models-summary svg { color: #1a56ff; }

.visual-story { display: grid; min-height: 630px; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 80px; }
.visual-story-copy > .landing-eyebrow { margin-bottom: 18px; }
.visual-story-copy > p:not(.landing-eyebrow) { max-width: 480px; margin: 22px 0 0; color: #717e9f; font-size: 14px; line-height: 1.7; }
.visual-story-copy .landing-button { margin-top: 28px; }
.visual-story-copy > small { display: block; max-width: 390px; margin-top: 13px; color: #9aa5bf; font-size: 9px; line-height: 1.5; }
.visual-story-equation { display: flex; align-items: center; gap: 12px; margin-top: 25px; color: #5c6990; }
.visual-story-equation span { padding: 7px 11px; border: 1px solid #e0e6fa; border-radius: 9px; background: #f8faff; font-size: 10px; font-weight: 700; }
.visual-story-equation svg { width: 17px; color: #1a56ff; }

.photo-to-video-visual { position: relative; min-height: 600px; }
.photo-frame { position: absolute; overflow: hidden; border: 7px solid #fff; border-radius: 28px; background: #dce8ff; box-shadow: 0 26px 70px rgba(36, 65, 135, .17); }
.photo-frame img { width: 100%; height: 100%; object-fit: cover; }
.photo-frame--back { top: 64px; left: 2%; width: 43%; aspect-ratio: 3/4; opacity: .62; transform: rotate(-7deg); }
.photo-frame--back img { filter: saturate(.55); }
.photo-frame--front { z-index: 2; top: 20px; right: 3%; width: 62%; aspect-ratio: 3/4; transform: rotate(2deg); }
.photo-motion-pill { position: absolute; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 6px; padding: 8px 10px; color: #fff; border-radius: 10px; background: rgba(14, 19, 49, .62); backdrop-filter: blur(8px); font-size: 9px; font-weight: 700; }
.photo-motion-pill svg { width: 14px; height: 14px; }
.photo-motion-trail { position: absolute; z-index: 1; top: 45%; left: 28%; width: 42%; height: 2px; background: linear-gradient(90deg, transparent, #4d7aff, transparent); box-shadow: 0 0 20px #5a83ff; transform: rotate(-8deg); }

.landing-image-section { color: #fff; background: #0e1120; }
.image-section-top { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 60px; margin-bottom: 46px; }
.image-section-top .landing-eyebrow { margin-bottom: 18px; color: #91acff; }
.image-section-top h2 { color: #fff; }
.image-section-top > div:last-child p { max-width: 480px; color: #9ba4bb; font-size: 13px; line-height: 1.7; }
.landing-button--light { margin-top: 22px; color: #15204b; background: #fff; box-shadow: none; }
.image-showcase-grid { display: grid; height: 600px; grid-template-columns: 1.15fr .75fr .75fr; grid-template-rows: 1fr .85fr; gap: 12px; }
.image-showcase-grid figure { position: relative; overflow: hidden; border-radius: 22px; background: #202536; }
.image-showcase-grid figure.is-large { grid-row: 1 / 3; }
.image-showcase-grid figure.is-wide { grid-column: 2 / 4; }
.image-showcase-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.image-showcase-grid figure:hover img { transform: scale(1.045); }
.image-showcase-grid figcaption { position: absolute; bottom: 12px; left: 12px; padding: 6px 9px; color: #fff; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; background: rgba(10,12,22,.5); backdrop-filter: blur(7px); font-size: 9px; font-weight: 650; }
.image-seo-note { margin-top: 18px; color: #70798e; font-size: 10px; text-align: center; }

.landing-templates-section { overflow: hidden; background: #f7f9ff; }
.templates-intro { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; margin-bottom: 42px; }
.templates-intro .landing-eyebrow { margin-bottom: 17px; }
.templates-intro > div:last-child p { color: #7b86a3; font-size: 13px; line-height: 1.65; }
.templates-intro .landing-secondary-link { margin-top: 17px; }
.landing-template-rail { display: grid; height: 390px; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 12px; }
.landing-template-rail .template-tile { position: relative; overflow: hidden; border-radius: 22px; background: #182039; text-align: left; }
.landing-template-rail .template-tile:nth-child(2), .landing-template-rail .template-tile:nth-child(4) { margin-top: 34px; }
.landing-template-rail .template-tile:nth-child(3), .landing-template-rail .template-tile:nth-child(5) { margin-bottom: 34px; }
.landing-template-rail img, .landing-template-rail video { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.landing-template-rail .template-tile:hover img, .landing-template-rail .template-tile:hover video { transform: scale(1.05); }
.landing-template-rail .template-tile::after { position: absolute; inset: 40% 0 0; content: ""; background: linear-gradient(transparent,rgba(7,9,17,.9)); }
.landing-template-rail .template-tile > span { position: absolute; z-index: 1; right: 15px; bottom: 15px; left: 15px; color: #fff; font-size: 13px; font-weight: 700; line-height: 1.25; }
.landing-template-rail .template-tile small { display: block; margin-bottom: 4px; color: #bdc9ed; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }

.how-section { padding-bottom: 145px; }
.how-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 55px; margin-top: 60px; }
.how-grid::before { position: absolute; top: 18px; right: 10%; left: 10%; height: 1px; content: ""; background: linear-gradient(90deg,transparent,#ccd8ff 15%,#ccd8ff 85%,transparent); }
.how-grid article { position: relative; text-align: center; }
.how-grid article > span { position: relative; z-index: 1; display: grid; width: 38px; height: 38px; margin: 0 auto 26px; place-items: center; color: #1a56ff; border: 1px solid #cad7ff; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px #fff; font-size: 10px; font-weight: 800; }
.how-grid h3 { color: #171c3e; font-size: 17px; font-weight: 750; letter-spacing: -.02em; }
.how-grid p { max-width: 270px; margin: 9px auto 0; color: #8490ad; font-size: 11px; line-height: 1.6; }

.pricing-section { background: linear-gradient(180deg,#f6f8ff,#fbfcff); }
.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; gap: 14px; }
.price-card { position: relative; display: flex; min-height: 480px; flex-direction: column; padding: 28px; border: 1px solid #e2e8fa; border-radius: 25px; background: #fff; box-shadow: 0 10px 30px rgba(32,55,115,.05); }
.price-card.is-popular { border-color: #9ab2ff; box-shadow: 0 22px 55px rgba(26,86,255,.12); transform: translateY(-10px); }
.price-popular { position: absolute; top: 18px; right: 18px; padding: 5px 8px; color: #fff; border-radius: 7px; background: linear-gradient(135deg,#1a56ff,#7c5cfc); font-size: 8px; font-weight: 750; }
.price-card-head { display: flex; align-items: center; gap: 8px; color: #3d486d; font-size: 12px; }
.price-dot { width: 8px; height: 8px; border-radius: 50%; }
.price-dot.is-blue { background: #2b7fff; }.price-dot.is-violet { background: #8958ee; }.price-dot.is-gold { background: #e2a320; }
.price-coins { margin-top: 30px; color: #1a2147; font-size: 14px; font-weight: 700; }
.price-coins b { margin-right: 6px; font-size: 44px; line-height: 1; letter-spacing: -.05em; }
.price-card > p { min-height: 36px; margin-top: 10px; color: #8893ad; font-size: 10px; }
.price-card ul { display: flex; flex-direction: column; gap: 12px; margin: 27px 0; padding-top: 22px; border-top: 1px solid #edf0fa; }
.price-card li { display: flex; justify-content: space-between; color: #526080; font-size: 10px; }
.price-card li span { color: #1a56ff; }
.price-value { display: flex; align-items: baseline; justify-content: flex-end; gap: 10px; margin-top: auto; }
.price-value small { color: #a4adc0; font-size: 10px; text-decoration: line-through; }
.price-value strong { color: #111738; font-size: 28px; letter-spacing: -.04em; }
.price-card > a { width: 100%; margin-top: 18px; }
.price-outline { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; color: #1a56ff; border: 1px solid #cfd9ff; border-radius: 14px; background: #f8faff; font-size: 12px; font-weight: 700; }

.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: start; gap: 100px; }
.faq-copy .landing-eyebrow { margin-bottom: 16px; }
.faq-copy > p:last-child { max-width: 280px; margin-top: 18px; color: #8792ad; font-size: 12px; line-height: 1.6; }
.faq-list { border-top: 1px solid #e3e8f5; }
.faq-list article { border-bottom: 1px solid #e3e8f5; }
.faq-list article > button { display: flex; width: 100%; min-height: 72px; align-items: center; justify-content: space-between; gap: 20px; color: #202645; font-size: 13px; font-weight: 700; text-align: left; }
.faq-list article > button > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; color: #1a56ff; border-radius: 50%; background: #f1f4ff; }
.faq-list article > button svg { width: 16px; height: 16px; transition: transform .25s; }
.faq-list article > button svg.is-open { transform: rotate(45deg); }
.faq-list article > div { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s; }
.faq-list article > div > p { overflow: hidden; color: #7c87a3; font-size: 12px; line-height: 1.65; }
.faq-list article.is-open > div { grid-template-rows: 1fr; }
.faq-list article.is-open > div > p { padding: 0 50px 22px 0; }

.landing-final-cta { padding: 110px 0; color: #fff; background: radial-gradient(circle at 80% 0%,rgba(128,101,255,.38),transparent 38%),linear-gradient(135deg,#0d1534,#152661 60%,#24377b); text-align: center; }
.landing-final-cta p { display: flex; align-items: center; justify-content: center; gap: 8px; color: #9fb7ff; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.landing-final-cta h2 { margin: 22px 0 32px; color: #fff; }

.landing-footer { padding: 58px 0 24px; color: #aeb8d1; background: #090d21; }
.landing-footer .landing-brand { color: #fff; }
.landing-footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; padding-bottom: 45px; }
.landing-footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.landing-footer-main p { margin-top: 5px; color: #747f9d; font-size: 11px; }
.landing-footer-main strong { margin-bottom: 6px; color: #fff; font-size: 11px; }
.landing-footer-main > div:not(:first-child) button { color: #8d98b4; font-size: 10px; transition: color .2s; }
.landing-footer-main > div:not(:first-child) button:hover { color: #fff; }
.landing-footer-bottom { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); color: #5f6985; font-size: 9px; }

@media (max-width: 900px) {
  .landing-nav nav { display: none; }
  .landing-section { padding: 90px 0; }
  .feature-editorial-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 460px 390px; }
  .feature-editorial, .feature-editorial.is-tall { min-height: 0; }
  .model-grid { grid-template-columns: 1fr; }
  .visual-story { grid-template-columns: 1fr 1fr; gap: 35px; }
  .photo-to-video-visual { min-height: 500px; }
  .templates-intro { gap: 35px; }
  .landing-template-rail { width: 1050px; grid-template-columns: 240px repeat(4,190px); }
  .landing-templates-section .landing-container { overflow: visible; }
  .pricing-grid { gap: 9px; }
  .price-card { padding: 21px; }
  .faq-layout { gap: 45px; }
}

@media (max-width: 680px) {
  .landing-container { width: min(100% - 28px, 1180px); }
  .landing-nav { height: 62px; }
  .landing-brand { font-size: 12px; }
  .landing-brand > span { width: 31px; height: 31px; }
  .landing-login { display: none; }
  .landing-button--small { min-height: 38px; padding: 0 12px; font-size: 9px; }
  .landing-button--small svg { display: none; }
  .landing-hero { min-height: auto; padding: 62px 0 75px; }
  .landing-kicker { margin-bottom: 17px; font-size: 9px; }
  .landing-hero h1 { font-size: clamp(44px, 13vw, 62px); line-height: 1; }
  .landing-hero-subtitle { max-width: 330px; margin: 17px auto 0; font-size: 13px; line-height: 1.5; }
  .motion-showcase { max-width: 390px; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 38px; }
  .motion-showcase-card { padding: 5px; border-radius: 19px; }
  .motion-showcase-card--source { transform: rotate(-1.5deg) scale(.92); transform-origin: right center; }
  .motion-showcase-card--result { transform: rotate(1deg); }
  .motion-showcase-media { border-radius: 15px; }
  .motion-flow { position: absolute; z-index: 4; top: 45%; left: 50%; width: 58px; padding: 6px; border-radius: 9px; background: rgba(255,255,255,.88); backdrop-filter: blur(8px); transform: translate(-50%,-50%); }
  .motion-flow-label { font-size: 7px; }
  .motion-flow-line { width: 42px; }
  .motion-flow-line i { display: none; }
  .motion-flow > span:last-child { display: none; }
  .motion-showcase-label { top: 10px; left: 10px; padding: 5px 6px; font-size: 7px; }
  .landing-hero-actions { flex-direction: column; gap: 17px; margin-top: 30px; }
  .landing-section { padding: 75px 0; }
  .landing-section-heading { margin-bottom: 32px; text-align: left; }
  .landing-section-heading h2, .visual-story-copy h2, .image-section-top h2, .templates-intro h2, .faq-copy h2, .landing-final-cta h2 { font-size: 36px; }
  .landing-section-heading > span { margin-top: 12px; font-size: 12px; }
  .feature-editorial-grid { display: flex; flex-direction: column; gap: 10px; }
  .feature-editorial, .feature-editorial.is-tall { min-height: 390px; }
  .feature-editorial.is-featured { min-height: 520px; }
  .feature-editorial-copy { right: 20px; bottom: 20px; left: 20px; }
  .feature-editorial-copy h3 { font-size: 24px; }
  .feature-editorial-copy p { font-size: 10px; }
  .model-card { min-height: 0; gap: 15px; padding: 20px; }
  .model-mark { width: 43px; height: 43px; }
  .visual-story { display: flex; flex-direction: column; gap: 45px; }
  .visual-story-copy { order: 1; }
  .photo-to-video-visual { width: 100%; min-height: 500px; order: 2; }
  .photo-frame--front { right: 2%; width: 65%; }
  .image-section-top, .templates-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
  .image-showcase-grid { height: 760px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.2fr .8fr .75fr; }
  .image-showcase-grid figure.is-large { grid-column: 1 / 3; grid-row: auto; }
  .image-showcase-grid figure.is-wide { grid-column: 1 / 3; }
  .landing-template-rail { display: flex; width: auto; height: 330px; gap: 9px; overflow-x: auto; padding-right: 60px; scrollbar-width: none; }
  .landing-template-rail .template-tile { width: 190px; flex: 0 0 190px; margin: 0 !important; border-radius: 18px; }
  .landing-template-rail .template-tile.is-featured { width: 220px; flex-basis: 220px; }
  .how-grid { grid-template-columns: 1fr; gap: 42px; }
  .how-grid::before { top: 0; bottom: 0; left: 18px; width: 1px; height: auto; }
  .how-grid article { padding-left: 60px; text-align: left; }
  .how-grid article > span { position: absolute; top: 0; left: 0; margin: 0; }
  .how-grid p { margin-left: 0; }
  .pricing-grid { display: flex; margin: 0 -14px; padding: 12px 14px 30px; gap: 10px; overflow-x: auto; scrollbar-width: none; }
  .price-card { width: 295px; min-width: 295px; min-height: 450px; }
  .price-card.is-popular { transform: none; }
  .faq-layout { grid-template-columns: 1fr; gap: 35px; }
  .faq-copy h2 br { display: none; }
  .faq-list article > button { min-height: 67px; font-size: 12px; }
  .landing-final-cta { padding: 80px 0; }
  .landing-final-cta h2 br { display: none; }
  .landing-footer-main { grid-template-columns: 1fr 1fr; gap: 35px; }
  .landing-footer-main > div:first-child { grid-column: 1/3; }
  .landing-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-showcase-media img, .motion-flow-line i { animation: none; }
  .landing-page { scroll-behavior: auto; }
}


/* Static landing adaptation */
.landing-page{height:auto;overflow:visible}
.landing-brand{display:inline-flex}
.landing-header .landing-brand{font-size:14px}
.landing-nav nav a,.landing-login{color:#505a7e;font-size:12px;font-weight:600;transition:color .2s}
.landing-nav nav a:hover,.landing-login:hover{color:#1a56ff}
.landing-button{border:0;cursor:pointer}
.landing-secondary-link{cursor:pointer}
.motion-showcase-media video{width:100%;height:100%;object-fit:cover;object-position:center center}
.motion-showcase-card--source video{object-position:center center}
.motion-showcase-card--result video{object-position:center center}
.feature-editorial>img{position:absolute;inset:0}
.landing-template-rail .template-tile{display:block;color:#fff}
.landing-template-rail video{width:100%;height:100%;object-fit:cover}
.landing-template-rail .template-tile::after{pointer-events:none}
.landing-template-rail .template-tile>span{pointer-events:none}
.landing-template-rail .template-tile{min-height:0}
.landing-footer-main a{display:block;color:#8d98b4;font-size:10px;transition:color .2s}
.landing-footer-main a:hover{color:#fff}
.landing-footer-bottom a{color:inherit}
.landing-footer-bottom a:hover{color:#fff}
.faq-list details{border-bottom:1px solid #e3e8f5}
.faq-list details>summary{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:20px;color:#202645;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.faq-list details>summary::-webkit-details-marker{display:none}
.faq-list details>summary>span{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;color:#1a56ff;border-radius:50%;background:#f1f4ff;font-size:20px;font-weight:400}
.faq-list details[open]>summary>span{transform:rotate(45deg)}
.faq-list details>p{padding:0 50px 22px 0;color:#7c87a3;font-size:12px;line-height:1.65}
@media(max-width:680px){.landing-header .landing-brand{font-size:12px}.faq-list details>summary{min-height:67px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-showcase-media video{animation:none}}

/* Shared styling for generated legal pages */
.shell{width:calc(100% - 48px);max-width:1200px;margin-left:auto;margin-right:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(249,250,255,.9);border-bottom:1px solid rgba(221,229,255,.75);backdrop-filter:blur(18px)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;white-space:nowrap;letter-spacing:-.04em}
.brand b{color:#1a56ff}
.brand-mark{width:40px;height:40px;object-fit:contain;flex:none}
.text-link{color:#1a56ff;font-size:14px;font-weight:700}
.site-footer{background:#0c1033;color:#fff;padding:46px 0 25px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff29;padding-top:22px;color:#bcc5e5;font-size:12px}
.legal-page{background:#f4f7ff}
.legal-layout{max-width:880px;padding-top:56px;padding-bottom:90px}
.legal-back{display:inline-block;color:#1a56ff;font-size:14px;font-weight:700;margin-bottom:25px}
.legal-document{background:#fff;border:1px solid #dde5ff;border-radius:22px;padding:clamp(24px,5vw,55px);box-shadow:0 14px 40px #0c103309}
.legal-document h1{font-size:clamp(28px,4vw,40px);line-height:1.16;margin-bottom:22px}
.legal-document h2{font-size:23px;margin:38px 0 15px}
.legal-document p,.legal-document li{color:#4a5580;font-size:15px;line-height:1.75}
.legal-document p{margin-bottom:16px}
.legal-document li{margin-bottom:8px}
.legal-document strong{color:#0c1033}
.legal-document a{color:#1a56ff;text-decoration:underline}
.legal-document code{font-family:inherit;background:#eef2ff;padding:2px 5px;border-radius:4px}
.legal-document ul{list-style:disc;padding-left:22px}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.header-inner{height:68px}.legal-layout{padding-top:35px;padding-bottom:70px}.brand{font-size:15px}.footer-bottom{flex-direction:column}}
