.landing {
    --background: #05070a;
    --surface: #0b1016;
    --surface-raised: #111923;
    --text: #f7f9fb;
    --muted: #aebac7;
    --accent: #ff4438;
    --accent-strong: #ff655c;
    --sky: #8fc8ee;
    --green: #4fd084;
    --border: rgba(194, 214, 232, .16);
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-standard: cubic-bezier(.2, 0, 0, 1);
    --motion-press: 100ms;
    --motion-state: 160ms;
    --motion-panel: 220ms;
    --motion-entrance: 360ms;
    --page-gutter: clamp(24px, 4vw, 56px);
    color-scheme: dark;
    background: radial-gradient(circle at 75% 8%, rgba(47,123,180,.14), transparent 26rem), var(--background);
}
.landing main { overflow: clip; }
.landing section[id] { scroll-margin-top: 88px; }
.landing .container { width: min(calc(100% - var(--page-gutter) - var(--page-gutter)), 1240px); }
.landing .site-header { border-color: var(--border); background: rgba(5,7,10,.82); }
.landing .nav { width: min(calc(100% - var(--page-gutter) - var(--page-gutter)), 1240px); min-height: 72px; }
.landing .brand { letter-spacing: -.02em; }
.landing .brand::before { display: none; }
.landing .brand-logo { display: block; border-radius: 8px; }
.landing .nav-links a:not(.button) { position: relative; padding-block: 10px; color: var(--muted); font-size: .92rem; font-weight: 650; }
.landing .nav-links a:not(.button)::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 2px; border-radius: 2px; transform: scaleX(0); transform-origin: right; background: var(--accent); content: ""; transition: transform var(--motion-state) var(--ease-standard); }
.landing .nav-links a:not(.button):hover,.landing .nav-links a:not(.button).is-active { color: var(--text); }
.landing .nav-links a:not(.button):hover::after,.landing .nav-links a:not(.button).is-active::after { transform: scaleX(1); transform-origin: left; }
.landing .skip-link { background: var(--text); color: var(--background); }
.landing .button { border-color: rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.07); transition: transform var(--motion-press) var(--ease-standard), background var(--motion-state) var(--ease-standard), border-color var(--motion-state) var(--ease-standard); }
.landing .button:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.38); }
.landing .button:active { transform: scale(.98); }
.landing .button.primary { border-color: var(--accent); background: var(--accent); color: #08090b; }
.landing .button.primary:hover { background: var(--accent-strong); }
.landing .button-disabled,.landing .button-disabled:hover,.landing .button-disabled:active { transform: none; cursor: default; }

.landing .hero { position: relative; min-height: min(900px, calc(100svh - 72px)); display: block; padding: 0; isolation: isolate; }
.hero-sky { position: absolute; z-index: -2; top: 8%; right: -12%; width: min(70vw,900px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(82,163,218,.23), rgba(28,77,116,.07) 45%, transparent 70%); filter: blur(4px); }
.hero-grid { min-height: inherit; display: grid; grid-template-columns: minmax(0,.94fr) minmax(410px,.72fr); align-items: center; gap: clamp(42px,8vw,110px); padding-block: 70px 90px; }
.hero-copy-block { position: relative; z-index: 2; }
.landing .eyebrow { color: var(--accent); font-size: .74rem; letter-spacing: .14em; }
.landing h1 { max-width: 780px; margin: 16px 0 24px; font-size: clamp(3.7rem,7.4vw,7.6rem); line-height: .92; letter-spacing: -.072em; text-wrap: balance; }
.landing .hero-copy { max-width: 670px; color: var(--muted); font-size: clamp(1.06rem,1.7vw,1.32rem); line-height: 1.65; }
.release-note { margin: 17px 0 0; color: #7f8d9b; font-size: .78rem; }
.hero-visual { position: relative; min-height: 680px; display: grid; place-items: center; }
.phone-frame { position: relative; overflow: hidden; border: 1px solid rgba(223,235,246,.26); border-radius: 38px; background: #eef4fa; box-shadow: 0 38px 100px rgba(0,0,0,.5), 0 0 0 8px #111820; }
.phone-frame::after { position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); content: ""; pointer-events: none; }
.phone-frame img { width: 100%; height: auto; display: block; }
.hero-phone { z-index: 2; width: min(100%,380px); max-height: 670px; }
.hero-phone img { transform: translateY(-1px); }
.route-line { position: absolute; width: 330px; height: 330px; border: 1px solid rgba(143,200,238,.22); border-radius: 50%; }
.route-line::before,.route-line::after { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--sky); content: ""; box-shadow: 0 0 0 5px rgba(143,200,238,.1); }
.route-line::before { top: 27px; left: 67px; }.route-line::after { right: 20px; bottom: 89px; }
.route-line-one { top: 80px; right: -45px; }.route-line-two { bottom: 60px; left: -60px; width: 230px; height: 230px; border-style: dashed; }
.hero-status { position: absolute; z-index: 3; right: -26px; bottom: 58px; width: 250px; }
.glass-card { padding: 15px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(10,15,21,.8); box-shadow: 0 18px 50px rgba(0,0,0,.35); backdrop-filter: blur(18px); }
.glass-card strong,.glass-card small { display: block; }.glass-card small { margin-top: 2px; color: var(--muted); }
.status-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 6px rgba(79,208,132,.12); }

.proof-strip { border-block: 1px solid var(--border); background: rgba(255,255,255,.025); }
.proof-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.proof-grid > div { min-height: 132px; padding: 28px; display: grid; align-content: center; border-right: 1px solid var(--border); }
.proof-grid > div:last-child { border-right: 0; }.proof-grid strong { display: block; margin-bottom: 5px; font-size: 1rem; }.proof-grid span { color: var(--muted); font-size: .9rem; }
.landing .section { position: relative; padding-block: clamp(92px,11vw,150px); }
.landing .section-heading { max-width: 810px; margin-bottom: clamp(50px,7vw,82px); }
.landing .section h2,.landing .cta h2 { margin: 10px 0 20px; font-size: clamp(2.6rem,5.8vw,5.6rem); line-height: .98; letter-spacing: -.058em; text-wrap: balance; }
.landing .section-heading p:not(.eyebrow),.landing .feature-copy > p:not(.eyebrow):not(.connectivity-note) { color: var(--muted); font-size: clamp(1rem,1.5vw,1.16rem); line-height: 1.7; }
.feature-pair { display: grid; grid-template-columns: minmax(0,.9fr) minmax(400px,1.1fr); align-items: center; gap: clamp(48px,9vw,130px); margin-top: clamp(80px,12vw,160px); }
.feature-pair:first-of-type { margin-top: 0; }.feature-pair-reverse .feature-copy { order: 2; }.feature-pair-reverse > :last-child { order: 1; }
.feature-copy h3 { margin: 13px 0 18px; font-size: clamp(2rem,4vw,3.8rem); line-height: 1; letter-spacing: -.045em; }
.step-number { color: var(--accent); font-size: .78rem; font-weight: 800; letter-spacing: .14em; }
.check-list { margin: 28px 0 0; padding: 0; display: grid; gap: 12px; list-style: none; }
.check-list li { position: relative; padding-left: 28px; color: #d8e0e7; }.check-list li::before { position: absolute; left: 0; color: var(--green); content: "✓"; font-weight: 800; }
.screenshot-cluster { position: relative; min-height: 720px; }.screenshot-cluster .phone-frame { position: absolute; width: min(62%,340px); }
.screenshot-front { z-index: 2; top: 0; left: 8%; }.screenshot-back { right: 5%; bottom: 0; transform: rotate(2deg); filter: saturate(.85) brightness(.88); }
.checklist-phone,.tools-phone { width: min(100%,390px); max-height: 760px; justify-self: center; }

.knowledge-section { overflow: hidden; border-block: 1px solid var(--border); background: linear-gradient(145deg,#0a1118,#070a0e 65%); }
.knowledge-orbit { position: absolute; top: 10%; right: -150px; width: 520px; height: 520px; border: 1px solid rgba(255,68,56,.18); border-radius: 50%; box-shadow: inset 0 0 100px rgba(255,68,56,.04); }
.knowledge-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.72fr); gap: clamp(50px,9vw,120px); align-items: center; }
.knowledge-grid .section-heading { margin: 0; }.lineage-card { padding: 24px; border: 1px solid var(--border); border-radius: 22px; background: rgba(255,255,255,.03); }
.lineage-node { padding: 17px; border: 1px solid var(--border); border-radius: 13px; background: #0c1219; }.lineage-node.active { border-color: rgba(255,68,56,.55); background: rgba(255,68,56,.07); }
.lineage-node span,.lineage-node strong,.lineage-node small { display: block; }.lineage-node span { color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lineage-node strong { margin-top: 6px; }.lineage-node small { margin-top: 4px; color: var(--muted); }.lineage-arrow { padding: 8px 20px; color: #647484; }
.safety-note { margin-top: 70px; padding: 20px 24px; display: grid; grid-template-columns: 190px 1fr; gap: 20px; border-left: 3px solid var(--accent); background: rgba(255,68,56,.06); }.safety-note p { margin: 0; color: var(--muted); }

.tools-section { background: radial-gradient(circle at 20% 50%,rgba(79,208,132,.06),transparent 30rem); }.tools-section .feature-pair { margin-block: 0; margin-inline: auto; }
.tools-screenshot-cluster { position: relative; min-height: 720px; width: min(100%,560px); justify-self: center; }
.tools-screenshot-cluster .tools-phone { position: absolute; width: min(68%,330px); }
.tools-phone-main { z-index: 2; top: 0; left: 0; }
.tools-phone-manager { right: 0; bottom: 0; filter: saturate(.9) brightness(.92); }
.capability-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.capability-grid article { min-height: 132px; padding: 18px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.025); transition: border-color var(--motion-state) var(--ease-standard), background var(--motion-state) var(--ease-standard); }
.capability-grid article:hover { border-color: rgba(143,200,238,.35); background: rgba(143,200,238,.05); }.capability-grid strong,.capability-grid span { display: block; }.capability-grid span { margin-top: 7px; color: var(--muted); font-size: .88rem; }
.connectivity-note { margin-top: 22px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; color: var(--muted); font-size: .88rem; }.connectivity-note > span { margin-right: 8px; color: var(--sky); }.connectivity-note strong { color: var(--text); }

.gallery-section { border-block: 1px solid var(--border); background: #080c11; }
.gallery { display: grid; grid-template-columns: minmax(320px,.72fr) minmax(320px,1fr); gap: clamp(36px,7vw,90px); align-items: center; }
.gallery-stage { position: relative; width: min(100%,331px); justify-self: center; overflow: hidden; border: 1px solid rgba(223,235,246,.22); border-radius: 36px; background: #edf3f9; box-shadow: 0 32px 80px rgba(0,0,0,.42); }
.gallery-stage img { width: 100%; height: auto; display: block; transition: opacity var(--motion-panel) var(--ease-standard); }.gallery-stage img.is-changing { opacity: .12; }
.gallery-enlarge { position: absolute; z-index: 2; right: 12px; bottom: 12px; min-height: 44px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(7,11,15,.78); color: #fff; cursor: pointer; backdrop-filter: blur(12px); }
.gallery-controls { display: grid; gap: 8px; }.gallery-controls button { position: relative; min-height: 82px; padding: 16px 48px 16px 18px; border: 1px solid var(--border); border-radius: 14px; background: transparent; color: var(--text); text-align: left; cursor: pointer; transition: background var(--motion-state) var(--ease-standard), border-color var(--motion-state) var(--ease-standard); }
.gallery-controls button::after { position: absolute; top: 50%; right: 18px; transform: translateY(-50%); color: var(--muted); content: "↗"; }.gallery-controls button:hover { border-color: rgba(255,255,255,.33); background: rgba(255,255,255,.035); }.gallery-controls button[aria-selected="true"] { border-color: var(--accent); background: rgba(255,68,56,.07); }
.gallery-controls strong,.gallery-controls span { display: block; }.gallery-controls span { margin-top: 3px; color: var(--muted); font-size: .84rem; }
.screenshot-dialog { width: fit-content; max-width: min(92vw,520px); max-height: 92svh; padding: 0; overflow: visible; border: 0; border-radius: 28px; background: transparent; box-shadow: 0 40px 120px rgba(0,0,0,.65); }
.screenshot-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(6px); }.screenshot-dialog img { width: auto; max-width: min(92vw,520px); height: auto; max-height: 92svh; display: block; border: 1px solid rgba(255,255,255,.25); border-radius: 28px; background: #eef4fa; object-fit: contain; }
.dialog-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(5,7,10,.84); color: #fff; font-size: 1.6rem; cursor: pointer; }

.device-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.device-grid article { min-height: 250px; padding: 26px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--border); border-radius: 18px; background: linear-gradient(150deg,rgba(143,200,238,.08),transparent 55%),var(--surface); }
.device-grid article > span { margin-bottom: auto; color: var(--sky); font-size: .75rem; font-weight: 800; }.device-grid h3 { margin: 38px 0 8px; font-size: 1.55rem; }.device-grid p { margin: 0; color: var(--muted); }
.platform-note { max-width: 760px; margin: 26px 0 0; color: #82909d; font-size: .84rem; }
.faq-grid { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(420px,1fr); gap: clamp(50px,10vw,140px); align-items: start; }.faq-grid .section-heading { position: sticky; top: 120px; margin: 0; }.faq-list { border-top: 1px solid var(--border); }.faq-list details { border-bottom: 1px solid var(--border); }
.faq-list summary { min-height: 78px; padding: 20px 42px 20px 0; display: flex; align-items: center; position: relative; cursor: pointer; font-size: 1.06rem; font-weight: 700; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { position: absolute; right: 6px; color: var(--accent); content: "+"; font-size: 1.45rem; transition: transform var(--motion-panel) var(--ease-standard); }.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list details > div { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--motion-panel) var(--ease-standard); }.faq-list details[open] > div { grid-template-rows: 1fr; }.faq-list details > div > p { min-height: 0; margin: 0; overflow: hidden; color: var(--muted); }.faq-list details[open] > div > p { padding: 0 50px 24px 0; }
.landing .cta { margin-block: 0 120px; padding: clamp(32px,7vw,74px); display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; border-color: rgba(255,68,56,.32); background: radial-gradient(circle at 90% 20%,rgba(255,68,56,.2),transparent 26rem),var(--surface); }.landing .cta h2 { max-width: 830px; }.landing .cta p:not(.eyebrow) { max-width: 690px; color: var(--muted); font-size: 1.08rem; }
.landing footer { border-color: var(--border); }.landing .footer-inner { min-height: 112px; }.footer-brand::before { display: none !important; }

.motion-ready [data-reveal] { opacity: 0; transform: translateY(20px); }.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; transition: opacity var(--motion-entrance) var(--ease-out), transform var(--motion-entrance) var(--ease-out); }
.parallax-layer { --parallax-y: 0px; translate: 0 var(--parallax-y); }

@media (min-width: 961px) and (max-height: 800px) {
    .landing .hero { min-height: 700px; }
    .hero-grid { padding-block: 44px 56px; }
    .landing h1 { font-size: clamp(3.7rem,6.4vw,5.8rem); }
    .hero-visual { min-height: 590px; }
    .hero-phone { width: min(100%,340px); max-height: 590px; }
}

@media (max-width: 960px) {
    .landing .nav-links a:not(.button) { display: none; }
    .hero-grid { grid-template-columns: 1fr; padding-top: 86px; }.hero-copy-block { max-width: 780px; }.hero-visual { min-height: 650px; }
    .feature-pair,.knowledge-grid,.faq-grid { grid-template-columns: 1fr; }.feature-pair-reverse .feature-copy,.feature-pair-reverse > :last-child { order: initial; }.feature-copy { max-width: 760px; }
    .screenshot-cluster { width: min(100%,640px); justify-self: center; }.tools-screenshot-cluster { width: min(100%,620px); }.knowledge-grid .section-heading { margin-bottom: 20px; }.lineage-card { width: min(100%,640px); }.faq-grid .section-heading { position: static; }
    .gallery { grid-template-columns: minmax(280px,.75fr) 1fr; }.landing .cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
    .landing { --page-gutter: 14px; }.landing h1 { font-size: clamp(3rem,15vw,4.5rem); line-height: .94; }.landing .hero { min-height: auto; }.hero-grid { gap: 36px; padding-block: 54px 72px; }.hero-visual { min-height: 520px; }.hero-phone { width: min(78vw,300px); max-height: 520px; }.hero-status { right: 0; bottom: 18px; width: 225px; }
    .proof-grid,.device-grid { grid-template-columns: 1fr; }.proof-grid > div { min-height: 105px; padding-inline: 8px; border-right: 0; border-bottom: 1px solid var(--border); }.proof-grid > div:last-child { border-bottom: 0; }
    .landing .section { padding-block: 76px; }.landing .section-heading { margin-bottom: 42px; }.landing .section h2,.landing .cta h2 { font-size: clamp(2.45rem,12vw,3.8rem); }.feature-pair { grid-template-columns: 1fr; margin-top: 92px; gap: 42px; }.screenshot-cluster { min-height: 540px; }.screenshot-cluster .phone-frame { width: 65%; border-radius: 28px; }.checklist-phone,.tools-phone { width: min(78vw,320px); }.tools-screenshot-cluster { min-height: 590px; width: min(100%,420px); }.tools-screenshot-cluster .tools-phone { width: min(68vw,280px); border-radius: 28px; }
    .capability-grid { grid-template-columns: 1fr; }.safety-note { grid-template-columns: 1fr; margin-top: 48px; }.gallery { grid-template-columns: 1fr; gap: 32px; }.gallery-stage { width: min(70vw,271px); }.gallery-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }.gallery-controls button { min-height: 82px; padding: 14px 32px 14px 14px; }.gallery-controls button::after { right: 12px; }
    .faq-grid { grid-template-columns: 1fr; }.landing .footer-inner { align-items: flex-start; flex-direction: column; padding-block: 28px; }
}
@media (max-width: 430px) {
    .nav-account { padding-inline: 13px; }.hero-actions { display: grid; }.hero-actions .button { width: 100%; }.hero-status { display: none; }.screenshot-cluster { min-height: 500px; }
    .landing .cta { margin-bottom: 72px; }
}
@media (max-width: 350px) {
    .gallery-controls { display: flex; margin-inline: -14px; padding-inline: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .gallery-controls::-webkit-scrollbar { display: none; }
    .gallery-controls button { min-width: 178px; scroll-snap-align: start; }
}
@media (hover: none), (pointer: coarse), (max-width: 820px) {
    .parallax-layer { --parallax-y: 0px !important; translate: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .landing *,.landing *::before,.landing *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    .motion-ready [data-reveal] { opacity: 1; transform: none; }.parallax-layer { --parallax-y: 0px !important; translate: none; }
}
