/* Homepage only: the shared pricing/legal styles remain independent. */
.landing-home { --brand:#2458db; --brand-dark:#1944b0; --brand-light:#eaf0ff; --text-main:#172033; --text-sub:#526077; --border:#e2e7ef; --bg-section:#f5f7fb; background:#fff; }
.landing-home .container,.landing-home .navbar__inner { max-width:1248px; }
.landing-home section { padding:88px 0; scroll-margin-top:88px; }
.landing-home a:focus-visible,.landing-home button:focus-visible,.landing-home summary:focus-visible { outline:3px solid var(--brand); outline-offset:5px; }
.landing-home .btn { min-height:48px; border-radius:10px; box-shadow:none; }
.landing-home .btn--primary { background:var(--brand); color:#fff; }
.landing-home .btn--primary:hover { background:var(--brand-dark); transform:translateY(-2px); }
.landing-home .section-label { padding:0; background:none; border-radius:0; color:var(--brand); font-size:13px; letter-spacing:.08em; }
.landing-home .section-title { font-size:clamp(26px,3vw,38px); letter-spacing:-.04em; line-height:1.35; margin:12px 0 0; }
.home-skip-link { position:fixed; top:8px; left:16px; padding:12px 20px; background:#fff; color:#172033; z-index:200; transform:translateY(-160%); border:2px solid #2458db; border-radius:8px; }
.home-skip-link:focus { transform:translateY(0); }
.home-returning { display:none; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; padding:12px 24px; background:var(--brand-light); font-size:14px; }
.home-returning a { font-weight:600; color:var(--brand); }
.home-returning button { border:0; background:transparent; cursor:pointer; font-size:24px; min-width:44px; min-height:44px; color:var(--text-sub); }
.landing-home .home-hero { padding:76px 0 56px; background:radial-gradient(ellipse at 85% 20%,#eaf0ff 0%,transparent 55%),#fafbfe; border-bottom:1px solid var(--border); }
.home-hero__layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; }
.home-hero__copy { min-width:0; }
.home-eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--brand); font-size:13px; font-weight:600; letter-spacing:.06em; }
.home-eyebrow>span { width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px var(--brand-light); }
.home-hero h1 { font-size:clamp(36px,4.1vw,57px); line-height:1.28; letter-spacing:-.055em; margin:22px 0; font-weight:750; }
.home-hero h1 em { color:var(--brand); font-style:normal; }
.home-hero__description { max-width:480px; font-size:16px; line-height:1.95; color:var(--text-sub); }
.home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.home-btn-secondary { background:#fff; border:1px solid var(--border); color:var(--text-main); }
.home-btn-secondary:hover { border-color:var(--brand); color:var(--brand); }
.home-hero__note { font-size:13px; color:var(--text-sub); margin-top:16px; }
.home-hero__note strong { color:var(--text-main); font-weight:600; }
.home-hero__models { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:36px; padding-top:22px; border-top:1px solid var(--border); font-size:12px; color:var(--text-sub); }
.home-hero__models>span { flex-basis:100%; }
.home-hero__models b { font-size:13px; font-weight:600; color:#3d4b62; }
.home-showcase { min-width:0; background:#fff; border:1px solid #dce3ef; border-radius:18px; padding:16px; box-shadow:0 24px 70px -35px #6479a1; transform:rotate(1.5deg); }
.home-showcase__toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:2px 4px 16px; font-size:11px; color:var(--text-sub); }
.home-showcase__toolbar>span:first-child { display:flex; gap:8px; align-items:center; font-size:13px; font-weight:600; color:var(--text-main); }
.home-showcase__toolbar i { width:8px; height:8px; background:#4b7a67; border-radius:50%; }
.home-showcase__grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.home-showcase__art { display:block; position:relative; aspect-ratio:1.08; border-radius:9px; overflow:hidden; background:#eef1f7; }
.home-showcase__art img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.home-showcase__art:hover img { transform:scale(1.04); }
.home-showcase__art>span { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; gap:8px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.8)); padding:32px 12px 10px; font-size:11px; }
.home-showcase__grid[data-count="1"] { grid-template-columns:1fr; }
.home-showcase__grid[data-count="1"] .home-showcase__art { aspect-ratio:1.25; }
.home-showcase__grid[data-count="3"] .home-showcase__art:first-child { grid-row:span 2; aspect-ratio:auto; }
.home-showcase__caption { padding:16px 4px 2px; font-size:12px; color:var(--text-sub); }
.home-showcase__caption>span { color:var(--brand); margin-right:6px; }
.home-showcase__empty { min-height:330px; display:flex; flex-direction:column; justify-content:center; text-align:center; gap:20px; border-radius:10px; background:linear-gradient(140deg,#edf2ff,#f8fafc); }
.home-showcase__empty>span { font-size:64px; color:var(--brand); }
.home-showcase__empty h2 { font-size:24px; }
.home-showcase__empty p { color:var(--text-sub); font-size:14px; line-height:1.8; }
.home-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:36px; }
.home-section-heading>p { max-width:340px; color:var(--text-sub); font-size:14px; line-height:1.8; }
.landing-home .gallery-showcase { background:#fff; }
.landing-home .gallery-showcase__header { text-align:left; margin-bottom:32px; }
.landing-home .gallery-showcase__header .section-subtitle { margin:16px 0 0; font-size:15px; }
.landing-home .gallery-showcase__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.landing-home .gallery-card { display:block; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:#fff; box-shadow:none; }
.landing-home .gallery-card__img-wrap { position:relative; aspect-ratio:4/3; overflow:hidden; }
.landing-home .gallery-card__img-wrap img { width:100%; height:100%; object-fit:cover; }
.landing-home .gallery-card__info { padding:14px 16px; }
.landing-home .gallery-card__prompt { font-size:13px; color:var(--text-main); line-height:1.6; height:3.2em; overflow:hidden; }
.landing-home .gallery-card__meta { display:flex; justify-content:space-between; gap:10px; margin-top:12px; color:var(--text-sub); font-size:11px; }
.landing-home .gallery-card__model { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.landing-home .gallery-showcase__cta { text-align:center; margin-top:28px; }
.empty-gallery { text-align:center; color:var(--text-sub); }
.empty-gallery p { margin:20px 0; }
.home-workflow { background:#f5f7fb; border-block:1px solid var(--border); }
.home-workflow__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-workflow__card { padding:28px; border:1px solid var(--border); border-radius:14px; background:#fff; display:flex; flex-direction:column; }
.home-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; }
.home-step { font-size:11px; color:var(--brand); font-weight:600; letter-spacing:.04em; }
.home-card-top svg { width:26px; height:26px; color:var(--brand); }
.home-workflow__card h3 { font-size:20px; line-height:1.5; letter-spacing:-.03em; }
.home-workflow__card>p { color:var(--text-sub); font-size:14px; line-height:1.85; margin:12px 0 24px; }
.home-example { padding:20px; border:1px solid var(--border); background:#fafbfe; border-radius:9px; margin-top:auto; min-height:150px; }
.home-example>span { font-size:11px; color:var(--text-sub); }
.home-example>p { font-size:13px; line-height:1.7; margin:10px 0; }
.home-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:16px; }
.home-tags span { padding:4px 8px; border-radius:5px; color:#395a99; background:#eaf0ff; font-size:11px; }
.home-path { display:flex; align-items:center; justify-content:space-between; gap:4px; margin:20px 0; font-size:12px; }
.home-path b { font-weight:500; }
.home-asset { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; padding-top:14px; font-size:12px; }
.home-asset b { font-weight:500; }
.home-asset span { color:var(--text-sub); }
.home-workflow__footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:28px; font-size:13px; color:var(--text-sub); }
.home-workflow__footer a { color:var(--brand); font-weight:600; padding-block:10px; }
.home-models__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.home-models__grid article { border:1px solid var(--border); border-radius:12px; padding:24px; }
.home-model-mark { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; background:var(--brand-light); border-radius:10px; font-size:13px; font-weight:700; color:var(--brand); }
.home-models__grid h3 { font-size:16px; line-height:1.5; margin:20px 0 10px; }
.home-models__grid p { color:var(--text-sub); font-size:13px; line-height:1.8; }
.home-model-tag { display:block; margin-top:20px; font-size:11px; color:var(--brand); }
.landing-home .pricing { border-top:1px solid var(--border); background:#fafbfe; }
.landing-home .pricing__grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; }
.landing-home .price-card { background:#fff; border:1px solid var(--border); border-radius:14px; height:100%; display:flex; flex-direction:column; }
.landing-home .price-card--featured { transform:none; padding:36px 28px; border-color:var(--brand); box-shadow:0 12px 40px -24px #2458db; }
.landing-home .price-card .btn { margin-top:auto; }
.landing-home .pricing .section-subtitle { margin-top:16px; font-size:15px; }
.landing-home .faq { background:#fff; }
.landing-home .faq__list { max-width:820px; margin:auto; gap:0; }
.home-faq { border-bottom:1px solid var(--border); }
.home-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding:23px 4px; font-size:15px; font-weight:600; list-style:none; }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq summary::after { content:'+'; color:var(--brand); font-size:24px; font-weight:400; }
.home-faq[open] summary::after { content:'−'; }
.home-faq p { padding:0 32px 24px 4px; font-size:14px; line-height:1.9; color:var(--text-sub); }
.landing-home .home-final { padding:56px 0 72px; }
.home-final__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:48px; border:1px solid #dce5fa; border-radius:18px; background:#edf2ff; }
.home-final h2 { font-size:clamp(27px,3vw,38px); margin:14px 0; letter-spacing:-.04em; line-height:1.4; }
.home-final p { color:var(--text-sub); font-size:14px; }
.home-final .btn { flex-shrink:0; }
.landing-home .navbar__toggle { min-width:44px; min-height:44px; }
.landing-home .navbar__links a { display:inline-flex; align-items:center; min-height:44px; }
.landing-home .footer__desc,.landing-home .footer__links a,.landing-home .footer__bottom,.landing-home .footer__bottom-links a { color:#b7c2d2; }
@media(max-width:1024px) {
 .home-hero__layout { gap:32px; }
 .home-hero h1 { font-size:40px; }
 .home-workflow__card { padding:22px; }
 .home-example { padding:14px; }
 .home-models__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:768px) {
 .landing-home section { padding:56px 0; }
 .landing-home .home-hero { padding:40px 0; }
 .home-hero__layout { grid-template-columns:1fr; gap:36px; }
 .home-hero h1 { font-size:clamp(34px,7vw,48px); }
 .home-hero__description { max-width:100%; font-size:15px; }
 .home-hero__models { margin-top:24px; }
 .home-showcase { transform:none; max-width:560px; width:100%; justify-self:center; }
 .home-section-heading { display:block; margin-bottom:28px; }
 .home-section-heading>p { max-width:100%; margin-top:16px; }
 .home-workflow__grid { grid-template-columns:1fr; }
 .home-workflow__card { padding:24px; }
 .home-card-top { margin-bottom:18px; }
 .home-example { min-height:0; padding:18px; }
 .landing-home .gallery-showcase__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .home-final__inner { margin-inline:24px; width:auto; flex-direction:column; align-items:flex-start; padding:32px 24px; }
 .home-final .btn { width:100%; }
 .landing-home .home-final { padding:16px 0 48px; }
 .home-workflow__footer { align-items:flex-start; flex-direction:column; }
 .landing-home .navbar.mobile-open .navbar__links { background:#fff; }
}
@media(max-width:480px) {
 .landing-home .container { padding-inline:20px; }
 .home-actions { flex-direction:column; }
 .home-actions .btn { width:100%; }
 .home-hero__note { font-size:12px; }
 .home-hero__models { gap:10px 14px; }
 .home-showcase { padding:12px; }
 .home-models__grid { grid-template-columns:1fr; gap:12px; }
 .home-models__grid article { padding:22px; }
 .landing-home .gallery-card__info { padding:12px; }
 .landing-home .gallery-card__meta { flex-wrap:wrap; gap:4px; }
 .home-final__inner { margin-inline:20px; }
 .landing-home .navbar__inner { padding-inline:16px; gap:8px; }
 .landing-home .navbar__logo { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 html:has(.landing-home) { scroll-behavior:auto; }
 .landing-home *,.landing-home *::before,.landing-home *::after { animation:none!important; transition:none!important; }
}

/* Multi-media creation tools: conceptual diagrams, not simulated controls. */
.home-capabilities { background:#fff; }
.home-capabilities__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.home-capability { min-width:0; border:1px solid var(--border); border-radius:16px; padding:32px; display:flex; flex-direction:column; background:#fff; }
.home-capability h3 { font-size:24px; letter-spacing:-.04em; line-height:1.5; margin:16px 0 12px; }
.home-capability p { color:var(--text-sub); font-size:14px; line-height:1.9; max-width:480px; }
.home-capability a { display:inline-flex; align-items:center; gap:12px; align-self:flex-start; padding:12px 0; color:var(--brand); font-size:14px; font-weight:600; margin-top:auto; }
.home-capability a:hover { text-decoration:underline; text-underline-offset:5px; }
.home-capability--agent,.home-capability--commerce { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; background:linear-gradient(120deg,#f0f4ff,#fafbfe); }
.home-capability--agent a,.home-capability--commerce a { margin-top:20px; }
.home-agent-diagram { padding:24px; background:#fff; border:1px solid #dce5fa; border-radius:12px; box-shadow:0 12px 30px -24px #6479a1; }
.home-diagram-label { display:block; margin-bottom:16px; font-size:11px; color:var(--text-sub); }
.home-agent-message { padding:14px 16px; border-radius:10px 10px 0 10px; background:#edf2ff; font-size:13px; margin-left:20px; }
.home-agent-reply { display:flex; gap:12px; padding:22px 0; }
.home-agent-reply>span { color:var(--brand); font-size:22px; }
.home-agent-reply b { display:block; font-size:14px; font-weight:600; margin-bottom:6px; }
.home-agent-reply div>span { color:var(--text-sub); font-size:12px; }
.home-agent-outputs { display:flex; gap:8px; flex-wrap:wrap; }
.home-agent-outputs span { border:1px solid var(--border); border-radius:6px; padding:7px 12px; font-size:11px; color:var(--text-sub); }
.home-capability__visual { display:flex; align-items:center; justify-content:center; gap:14px; min-height:116px; border-radius:10px; margin:24px 0 12px; padding:20px; background:#f5f7fb; font-size:12px; }
.home-capability__visual i { font-style:normal; color:#637ba4; }
.home-visual-image>span,.home-visual-image>strong { padding:10px 12px; background:#fff; border:1px solid var(--border); border-radius:6px; font-weight:500; }
.home-visual-image>strong { background:#eaf0ff; color:var(--brand); border-color:#d6e1ff; }
.home-visual-video { background:#eef2f9; justify-content:flex-start; gap:24px; }
.home-play { display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex-shrink:0; border-radius:50%; background:#fff; color:var(--brand); font-size:24px; }
.home-visual-video>div { flex:1; }
.home-visual-video strong { font-weight:500; }
.home-timeline { display:flex; gap:5px; margin-top:12px; }
.home-timeline i { height:18px; flex:1; background:#c5d4f3; border-radius:3px; }
.home-timeline i:nth-child(even) { background:#91afe8; }
.home-visual-story { justify-content:space-between; }
.home-visual-story div { display:flex; flex-direction:column; align-items:center; gap:8px; }
.home-visual-story div span { color:var(--brand); font-size:11px; }
.home-visual-story b { font-weight:500; }
.home-visual-canvas { background-color:#f5f7fb; background-image:radial-gradient(#d3dbe9 1px,transparent 1px); background-size:12px 12px; gap:0; }
.home-visual-canvas>span { padding:12px; border:1px solid #c8d7ee; border-radius:7px; background:#fff; text-align:center; }
.home-visual-canvas>i { height:2px; width:30px; background:#91afe8; }
.landing-home .navbar__links { gap:24px; }
@media(max-width:1024px) { .home-capability { padding:26px; } .home-capability--agent,.home-capability--commerce { gap:24px; } .home-capability__visual { gap:8px; padding:16px 12px; } }
@media(max-width:768px) { .home-capabilities__grid { grid-template-columns:1fr; } .home-capability--agent,.home-capability--commerce { grid-template-columns:1fr; } .home-capability h3 { font-size:22px; } .home-agent-diagram { padding:20px; } .home-capability__visual { margin-top:20px; } }
@media(max-width:380px) { .home-capability { padding:20px; } .home-visual-image>span,.home-visual-image>strong { padding:8px; } .home-capability__visual { gap:6px; font-size:11px; } .home-visual-canvas>span { padding:10px 8px; } .home-visual-canvas>i { width:16px; } }

@media(max-width:768px) {
 .landing-home .navbar.mobile-open .navbar__links a { color:var(--text-main); border-color:var(--border); }
 .landing-home .navbar.mobile-open .navbar__links a:hover { color:var(--brand); background:var(--brand-light); }
 .landing-home .navbar__cta #nav-start-btn.is-returning { display:inline-flex; padding:8px 12px; font-size:12px; }
 .landing-home .qq-float__btn { width:44px; height:44px; }
 .landing-home .qq-float { bottom:max(20px,env(safe-area-inset-bottom)); }
}
.landing-home .footer__tagline { color:#b7c2d2; }

.landing-home .gallery-card:focus-visible .gallery-card__overlay { opacity:1; }
