/* iOS and Android mobile application development landing page */
.appLanding {
    --sys-navy:#10101d;
    --sys-navy-2:#18172b;
    --sys-accent:#ff795f;
    --sys-blue:#7a72ff;
    --app-coral:#ff795f;
    --app-coral-deep:#e5553b;
    --app-yellow:#ffd66e;
    --app-lilac:#aaa5ff;
    --app-violet:#746cff;
    --app-soft:#f4f3f8;
    --app-line:#dddbe6;
    --app-anchor-h:6.4rem;
}
.appLanding [id^="app"] { scroll-margin-top:17rem; }
.appLanding .systemLanding__eyebrow { font-family:Poppins, "Pretendard Variable", Pretendard, sans-serif; letter-spacing:.08em; }
.appLanding .systemLanding__button--primary { background:var(--app-coral); color:#17101a !important; }
.appLanding .systemLanding__button--primary:hover { background:#ff9a86; }
.appLanding .systemLanding__button--dark:hover { background:#24223d; }
.appLanding :focus-visible { outline:2px solid var(--app-violet); outline-offset:3px; }

/* HERO */
.appLanding__hero {
    background:
        radial-gradient(circle at 76% 26%, rgba(122,114,255,.30), transparent 27%),
        radial-gradient(circle at 34% 84%, rgba(255,121,95,.11), transparent 32%),
        linear-gradient(135deg, #0e0e19 0%, #151329 58%, #221a37 100%);
}
.appLanding__hero::before { border-color:rgba(255,121,95,.27); box-shadow:0 0 0 9rem rgba(255,121,95,.025), 0 0 0 18rem rgba(122,114,255,.018); }
.appLanding__hero .systemLanding__heroLayout { grid-template-columns:minmax(0, 1fr) minmax(520px, .78fr); gap:6rem; }
.appLanding__hero h1 strong { color:var(--app-coral); }
.appLanding__hero h1 strong::after { background:rgba(255,121,95,.16); }
.appLanding__hero .systemLanding__eyebrow { color:#ff9a86; }

.appLanding__keywords { display:flex; flex-wrap:wrap; gap:1.2rem 0; margin:4.2rem 0 0; padding-top:2.8rem; border-top:1px solid rgba(255,255,255,.12); color:#b9b7cb; font-size:1.45rem; }
.appLanding__keywords li { position:relative; display:flex; align-items:center; gap:.9rem; padding-right:2.2rem; margin-right:2.2rem; }
.appLanding__keywords li:not(:last-child)::after { content:""; position:absolute; right:0; top:50%; width:1px; height:1.2rem; background:rgba(255,255,255,.2); transform:translateY(-50%); }
.appLanding__keywords li:last-child { padding-right:0; margin-right:0; }
.appLanding__keywords li::before { content:""; flex:0 0 1.8rem; height:1.8rem; border-radius:50%; background:rgba(255,121,95,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.4L12 5.4' fill='none' stroke='%23ff795f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 1.3rem no-repeat; }

.appLanding__heroVisual { position:relative; display:grid; grid-template-columns:22rem 5rem minmax(0, 1fr); align-items:center; min-height:54rem; }
.appLanding__heroVisual::before { content:""; position:absolute; inset:4% -4% 4% 8%; border-radius:50%; background:radial-gradient(circle, rgba(122,114,255,.22), rgba(122,114,255,.04) 48%, transparent 68%); pointer-events:none; }
.appLanding__heroPhone { position:relative; z-index:2; }
.appLanding__phone { position:relative; overflow:hidden; width:22rem; height:46rem; padding:.8rem; border:1px solid rgba(255,255,255,.32); border-radius:3.2rem; background:#080912; box-shadow:0 4rem 7rem rgba(0,0,0,.38); transform:rotate(-3deg); }
.appLanding__phoneTop { position:absolute; left:50%; top:1.3rem; z-index:5; width:7rem; height:1.8rem; border-radius:1rem; background:#080912; transform:translateX(-50%); }
.appLanding__phoneTop i { position:absolute; right:1rem; top:.6rem; width:.45rem; height:.45rem; border-radius:50%; background:#32354a; }
.appLanding__phoneScreen { position:relative; height:100%; overflow:hidden; padding:4.4rem 1.5rem 1.2rem; border-radius:2.5rem; background:#f7f6fb; color:#171827; }
.appLanding__hello small { color:#9997aa; font-family:Poppins, sans-serif; font-size:.75rem; letter-spacing:.12em; }
.appLanding__hello strong { display:block; margin:.7rem 0 1.8rem; font-size:1.6rem; line-height:1.38; }
.appLanding__pointCard { position:relative; display:flex; flex-direction:column; min-height:10.5rem; padding:1.5rem; border-radius:1.4rem; background:linear-gradient(145deg, var(--app-coral), #ff9f75); box-shadow:0 1.4rem 2.8rem rgba(255,121,95,.22); }
.appLanding__pointCard small { color:rgba(24,17,27,.6); font-family:Poppins, sans-serif; font-size:.75rem; letter-spacing:.1em; }
.appLanding__pointCard b { margin-top:auto; font-family:Poppins, sans-serif; font-size:2rem; letter-spacing:-.02em; }
.appLanding__pointCard i { position:absolute; right:1.4rem; top:1.4rem; width:2.6rem; height:1.8rem; border-radius:.4rem; background:rgba(255,255,255,.5); }
.appLanding__statusList { display:grid; gap:.7rem; margin-top:1.3rem; }
.appLanding__statusList li { display:flex; align-items:center; gap:.9rem; padding:.95rem 1rem; border-radius:.8rem; background:#fff; box-shadow:0 .5rem 1.5rem rgba(25,23,47,.06); }
.appLanding__statusList i { flex:0 0 1.8rem; height:1.8rem; border-radius:.5rem; background:#e9e7ff; }
.appLanding__statusList b { flex:1; font-size:1.05rem; }
.appLanding__statusList em { padding:.3rem .6rem; border-radius:1rem; background:#f0eefa; color:#6f68d8; font-family:Poppins, sans-serif; font-size:.65rem; font-style:normal; font-weight:700; }
.appLanding__statusList li:last-child em { background:rgba(255,121,95,.14); color:var(--app-coral-deep); }
.appLanding__tabbar { position:absolute; left:1.5rem; right:1.5rem; bottom:1.5rem; display:flex; justify-content:space-around; padding:1.1rem; border-radius:1.2rem; background:#fff; box-shadow:0 .7rem 2rem rgba(20,19,42,.12); }
.appLanding__tabbar i { width:1.2rem; height:1.2rem; border:1px solid #aaa8bb; border-radius:.35rem; }
.appLanding__tabbar i:first-child { border-color:var(--app-coral); background:var(--app-coral); }
.appLanding__platform { position:absolute; z-index:6; padding:.8rem 1.4rem; border:1px solid rgba(255,255,255,.22); border-radius:3rem; background:rgba(20,19,42,.82); color:#d8d6e4; font-family:Poppins, sans-serif; font-size:1rem; font-weight:700; letter-spacing:.06em; backdrop-filter:blur(10px); }
.appLanding__platform--ios { left:-2.4rem; top:14%; }
.appLanding__platform--android { left:-1.2rem; bottom:16%; }

/* Animated connectors between app, admin and devices. */
.appLanding__link { position:relative; z-index:1; }
.appLanding__link--h { height:2px; margin:0 -.4rem; background:repeating-linear-gradient(90deg, var(--app-coral) 0 .6rem, transparent .6rem 1.2rem); background-size:1.2rem 2px; animation:appLinkFlowX 1.1s linear infinite; }
.appLanding__link--h::before, .appLanding__link--h::after { content:""; position:absolute; top:50%; width:.8rem; height:.8rem; border-radius:50%; background:var(--app-coral); box-shadow:0 0 0 .4rem rgba(255,121,95,.18); transform:translateY(-50%); }
.appLanding__link--h::before { left:-.2rem; }
.appLanding__link--h::after { right:-.2rem; }
.appLanding__link--h span { position:absolute; left:50%; top:-3.2rem; padding:.4rem .7rem; border:1px solid rgba(255,255,255,.18); border-radius:.4rem; background:#1a1830; color:#c7c4dc; font-family:Poppins, sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.1em; transform:translateX(-50%); }
.appLanding__link--v { width:2px; height:4.2rem; margin:0 auto; background:repeating-linear-gradient(180deg, var(--app-lilac) 0 .6rem, transparent .6rem 1.2rem); background-size:2px 1.2rem; animation:appLinkFlowY 1.1s linear infinite; }
@keyframes appLinkFlowX { to { background-position:1.2rem 0; } }
@keyframes appLinkFlowY { to { background-position:0 1.2rem; } }

.appLanding__heroOps { position:relative; z-index:2; min-width:0; }
.appLanding__admin { overflow:hidden; border:1px solid rgba(255,255,255,.17); border-radius:1.4rem; background:rgba(18,17,36,.82); box-shadow:0 3rem 6rem rgba(0,0,0,.3); backdrop-filter:blur(16px); }
.appLanding__adminTop { height:4.2rem; display:flex; align-items:center; justify-content:space-between; padding:0 1.5rem; border-bottom:1px solid rgba(255,255,255,.09); color:#8a87a3; font-family:Poppins, sans-serif; font-size:.85rem; letter-spacing:.12em; }
.appLanding__admin .systemLanding__windowDots i:first-child { background:var(--app-coral); }
.appLanding__sync { display:flex; align-items:center; gap:.6rem; color:#c4c1d8; letter-spacing:.06em; }
.appLanding__sync i { width:.6rem; height:.6rem; border-radius:50%; background:#6fe39a; box-shadow:0 0 0 .4rem rgba(111,227,154,.14); animation:appPulse 1.8s ease-in-out infinite; }
@keyframes appPulse { 50% { box-shadow:0 0 0 .7rem rgba(111,227,154,0); } }
.appLanding__adminBody { display:grid; grid-template-columns:4.4rem 1fr; min-height:24rem; }
.appLanding__adminNav { display:flex; flex-direction:column; align-items:center; gap:1.5rem; padding:2rem 0; border-right:1px solid rgba(255,255,255,.07); }
.appLanding__adminNav i { width:1.5rem; height:1.5rem; border:1px solid #4a4763; border-radius:.4rem; }
.appLanding__adminNav i.is-active { border-color:var(--app-lilac); background:var(--app-lilac); }
.appLanding__adminMain { min-width:0; padding:2rem; }
.appLanding__adminMain > b { display:block; color:#fff; font-size:1.5rem; }
.appLanding__adminStats { display:grid; grid-template-columns:repeat(3, 1fr); gap:.8rem; margin-top:1.6rem; }
.appLanding__adminStats span { display:flex; flex-direction:column; gap:1rem; padding:1.1rem; border:1px solid rgba(255,255,255,.08); border-radius:.8rem; background:rgba(255,255,255,.035); }
.appLanding__adminStats small { color:#8f8ca8; font-size:1rem; }
.appLanding__adminStats i { height:.5rem; border-radius:1rem; background:linear-gradient(90deg, var(--app-violet), var(--app-lilac)); }
.appLanding__adminStats span:nth-child(2) i { background:linear-gradient(90deg, var(--app-coral-deep), var(--app-coral)); }
.appLanding__adminRows { display:grid; gap:.6rem; margin-top:1.4rem; }
.appLanding__adminRows li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; border-radius:.6rem; background:rgba(255,255,255,.03); }
.appLanding__adminRows i { flex:1; max-width:60%; height:.5rem; border-radius:1rem; background:#3a3853; }
.appLanding__adminRows em { padding:.25rem .7rem; border-radius:1rem; background:rgba(170,165,255,.14); color:#c3bfff; font-size:.9rem; font-style:normal; }
.appLanding__adminRows em.is-new { background:rgba(255,121,95,.18); color:#ffab9a; }
.appLanding__devices { position:relative; display:flex; justify-content:center; gap:1rem; padding-top:1.6rem; }
.appLanding__devices::before { content:""; position:absolute; left:16%; right:16%; top:0; border-top:2px dashed rgba(170,165,255,.55); }
.appLanding__devices span { position:relative; min-width:8.4rem; padding:1rem 1.4rem; border:1px solid rgba(255,255,255,.2); border-radius:.8rem; background:rgba(26,24,48,.9); color:#e2e0ee; font-size:1.25rem; font-weight:700; text-align:center; }
.appLanding__devices span::before { content:""; position:absolute; left:50%; top:-1.7rem; width:2px; height:1.6rem; background:rgba(170,165,255,.55); }

/* SECTION ANCHOR BAR */
.appLanding__anchorWrap { position:relative; z-index:20; height:var(--app-anchor-h); background:#fff; }
.appLanding__anchorBar { position:relative; left:0; right:0; z-index:90; height:var(--app-anchor-h); border-bottom:1px solid var(--app-line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.appLanding__anchorBar.is-fixed { position:fixed; background:#fff; border-top:1px solid var(--app-line); box-shadow:0 1rem 3rem rgba(20,19,42,.06); transition:top .5s ease; }
.appLanding__anchorInner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.appLanding__anchorList { position:relative; height:100%; display:flex; gap:4rem; overflow-x:auto; scrollbar-width:none; }
.appLanding__anchorList::-webkit-scrollbar { display:none; }
.appLanding__anchorList li { flex:0 0 auto; height:100%; }
.appLanding__anchorList a { position:relative; height:100%; display:flex; align-items:center; color:#6d6a7c !important; font-size:1.55rem; font-weight:600; white-space:nowrap; transition:color .2s ease; }
.appLanding__anchorList a::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--app-coral); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.appLanding__anchorList a:hover { color:#17151f !important; }
.appLanding__anchorList a.is-active { color:#17151f !important; }
.appLanding__anchorList a.is-active::after { transform:scaleX(1); }
.appLanding__anchorCta { flex:0 0 auto; display:inline-flex; align-items:center; gap:1.2rem; height:4.2rem; padding:0 2rem; border-radius:.6rem; background:var(--app-coral); color:#17101a !important; font-size:1.4rem; font-weight:700; opacity:0; visibility:hidden; transform:translateY(.6rem); transition:opacity .25s ease, transform .25s ease, visibility .25s; }
.appLanding__anchorCta.is-visible { opacity:1; visibility:visible; transform:none; }
.appLanding__anchorCta:hover { background:#ff9a86; }
/* While the bar is docked, the site header turns solid and its quick icons move below the bar. */
.headerWrap.appLandingHeader--docked { background:#fff; }
.headerWrap.appLandingHeader--docked .quickMenu { margin-top:6.4rem; }
.headerWrap.appLandingHeader--hidden { transform:translateY(-100%); }

/* CASES */
.appLanding__cases { background:#fff; }
.appLanding__featured { display:grid; grid-template-columns:7fr 5fr; overflow:hidden; border-radius:1.4rem; background:linear-gradient(135deg, #171629, #241c3c); color:#fff; }
.appLanding__featuredVisual { position:relative; min-height:46rem; overflow:hidden; background:radial-gradient(circle at 40% 45%, rgba(122,114,255,.32), transparent 55%), radial-gradient(circle at 80% 85%, rgba(255,121,95,.18), transparent 40%); }
@media (min-width:1081px) {
    .appLanding__featuredVisual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
}
.appLanding__featuredCopy { display:flex; flex-direction:column; justify-content:flex-end; padding:5rem 4.8rem 4.8rem; border-left:1px solid rgba(255,255,255,.08); }
.appLanding__caseClient { display:block; color:#76738a; font-size:1.35rem; font-weight:600; }
.appLanding__featuredCopy .appLanding__caseClient { color:#a7a4bd; }
.appLanding__featuredCopy h3 { margin:1.2rem 0 1.8rem; font-size:clamp(3rem, 2.8vw, 4rem); font-weight:700; line-height:1.25; letter-spacing:-.05em; }
.appLanding__featuredCopy p { margin:0; color:#aeacc2; font-size:1.55rem; line-height:1.75; }
.appLanding__featuredCopy ul { display:grid; gap:1.1rem; margin-top:3rem; padding-top:2.6rem; border-top:1px solid rgba(255,255,255,.12); }
.appLanding__featuredCopy li { display:flex; align-items:center; gap:1rem; color:#dcdae8; font-size:1.4rem; }
.appLanding__featuredCopy li::before { content:""; width:.6rem; height:.6rem; border-radius:50%; background:var(--app-coral); }

/* Mini device primitives used by the case illustrations. */
.appLanding__mPhone, .appLanding__mTablet, .appLanding__mBrowser, .appLanding__mPanel { position:absolute; overflow:hidden; }
.appLanding__mPhone { display:flex; flex-direction:column; gap:.8rem; padding:2.2rem 1.1rem 1.2rem; border:.5rem solid #25263b; border-radius:2.2rem; background:#f4f2fa; box-shadow:0 2rem 4rem rgba(0,0,0,.28); }
.appLanding__mTablet { display:grid; grid-template-columns:1fr 34%; gap:1rem; padding:1.6rem; border:.7rem solid #25263b; border-radius:1.8rem; background:#f4f2fa; box-shadow:0 2rem 4rem rgba(0,0,0,.3); }
.appLanding__mBrowser { padding:0 1.6rem 1.6rem; border:1px solid rgba(255,255,255,.16); border-radius:1rem; background:rgba(255,255,255,.06); }
.appLanding__mPanel { display:flex; flex-direction:column; gap:1.1rem; padding:1.6rem; border:1px solid var(--app-line); border-radius:1rem; background:#fff; box-shadow:0 1.5rem 3rem rgba(32,28,70,.08); }
.appLanding__mPhone small, .appLanding__mTablet small, .appLanding__mBrowser small, .appLanding__mPanel small { color:#8f8ca3; font-family:Poppins, sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.12em; }
.appLanding__mPhone small, .appLanding__mTablet small { position:absolute; left:50%; bottom:.8rem; transform:translateX(-50%); }
.appLanding__mBrowser small { position:absolute; right:1.6rem; bottom:1.4rem; color:#9894b6; }
.appLanding__mBar { display:flex; gap:.5rem; height:3rem; align-items:center; }
.appLanding__mBar i { width:.6rem; height:.6rem; border-radius:50%; background:#4a4763; }
.appLanding__mLines { display:grid; gap:.7rem; }
.appLanding__mLines i { height:1rem; border-radius:.4rem; background:#e2dff0; }
.appLanding__mLines i:nth-child(2n) { width:72%; }
.appLanding__mBrowser .appLanding__mLines i { height:2.6rem; border-radius:.6rem; background:rgba(255,255,255,.07); }
.appLanding__mCard { height:5.4rem; border-radius:1rem; background:linear-gradient(145deg, var(--app-coral), #ff9f75); }
.appLanding__mButton { margin-top:auto; height:2.4rem; border-radius:.6rem; background:var(--app-violet); }
.appLanding__mGrid { display:grid; grid-template-columns:repeat(3, 1fr); grid-auto-rows:1fr; gap:.8rem; }
.appLanding__mGrid i { border-radius:.7rem; background:#e4e1f3; }
.appLanding__mGrid i:nth-child(2) { background:rgba(255,121,95,.35); }
.appLanding__mGrid i:nth-child(4) { background:rgba(122,114,255,.3); }
.appLanding__mSide { display:flex; flex-direction:column; gap:.7rem; padding:1rem; border-radius:.8rem; background:#fff; }
.appLanding__mSide i { height:.9rem; border-radius:.4rem; background:#e2dff0; }
.appLanding__mSide b { margin-top:auto; height:2.6rem; border-radius:.6rem; background:var(--app-coral); }

.appLanding__featuredVisual .appLanding__mBrowser { left:8%; top:9%; width:58%; height:50%; }
.appLanding__featuredVisual .appLanding__mTablet { left:17%; bottom:6%; width:56%; height:52%; padding-bottom:2.8rem; transform:rotate(-2deg); }
.appLanding__featuredVisual .appLanding__mPhone { right:9%; top:14%; width:17rem; height:34rem; transform:rotate(5deg); }
.appLanding__featuredVisual .appLanding__mPhone .appLanding__mCard { height:8rem; }

.appLanding__caseList { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.6rem; margin-top:1.6rem; }
.appLanding__caseCard { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--app-line); border-radius:1.2rem; background:#fff; }
.appLanding__caseVisual { position:relative; aspect-ratio:16 / 10; overflow:hidden; background:var(--app-soft); }
.appLanding__caseVisual .appLanding__mPhone { left:12%; top:12%; width:28%; height:auto; aspect-ratio:9 / 17; padding:1.8rem .9rem .9rem; border-width:.4rem; border-radius:1.6rem; box-shadow:0 1.6rem 3rem rgba(32,28,70,.18); }
.appLanding__caseVisual .appLanding__mPanel { right:8%; top:22%; width:48%; bottom:-1.2rem; }
.appLanding__caseVisual .appLanding__mCard { height:3.6rem; }
.appLanding__caseVisual--request { background:linear-gradient(150deg, #f6f4fd, #ece9fb); }
.appLanding__caseVisual--parking { background:linear-gradient(150deg, #fff4ef, #fde6de); }
.appLanding__caseVisual--field { background:linear-gradient(150deg, #f2f7ef, #e3efdc); }
.appLanding__mRoute { position:relative; display:flex; justify-content:space-between; padding:1rem .4rem; }
.appLanding__mRoute::before { content:""; position:absolute; left:.8rem; right:.8rem; top:50%; border-top:2px dashed #cfcbe4; }
.appLanding__mRoute i { position:relative; width:1.4rem; height:1.4rem; border:2px solid var(--app-violet); border-radius:50%; background:#fff; }
.appLanding__mRoute i:first-child, .appLanding__mRoute i:nth-child(2) { background:var(--app-violet); }
.appLanding__mSlots { display:grid; grid-template-columns:repeat(4, 1fr); gap:.6rem; }
.appLanding__mSlots i { aspect-ratio:3 / 4; border:1px dashed #d8cfcb; border-radius:.4rem; }
.appLanding__mSlots i.is-on { border:0; background:linear-gradient(160deg, var(--app-coral), #ffa58e); }
.appLanding__mCamera { flex:1; border:2px dashed #b8c9ae; border-radius:.8rem; background:radial-gradient(circle at center, #fff 0 22%, transparent 23%); }
.appLanding__caseVisual--field .appLanding__mButton { background:#5f9b4c; }
.appLanding__mFiles { display:grid; gap:.7rem; }
.appLanding__mFiles i { position:relative; height:2.4rem; padding-left:3rem; border-radius:.6rem; background:#f3f6f1; }
.appLanding__mFiles i::before { content:""; position:absolute; left:.8rem; top:.6rem; width:1.2rem; height:1.2rem; border-radius:.3rem; background:#8bbf78; }
.appLanding__mFiles i::after { content:""; position:absolute; left:3rem; right:30%; top:1rem; height:.45rem; border-radius:1rem; background:#d6e3cf; }

.appLanding__caseBody { display:flex; flex:1; flex-direction:column; padding:2.8rem 3rem 3rem; }
.appLanding__caseBody h3 { margin:.8rem 0 1.2rem; color:#16151f; font-size:2.3rem; line-height:1.35; letter-spacing:-.045em; }
.appLanding__caseBody p { margin:0; color:#666176; font-size:1.4rem; line-height:1.7; }
.appLanding__caseBody ul { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:auto; padding-top:2.4rem; }
.appLanding__caseBody li { padding:.6rem 1rem; border-radius:2rem; background:var(--app-soft); color:#5e596f; font-size:1.15rem; }
.appLanding__caseBody li::before { content:"#"; margin-right:.2rem; color:var(--app-violet); }

.appLanding__moreCases { display:grid; grid-template-columns:auto 1fr; gap:2.4rem; align-items:center; margin-top:4.8rem; padding-top:3.2rem; border-top:1px solid var(--app-line); }
.appLanding__moreCases > p { margin:0; color:#4f4b5f; font-size:1.5rem; font-weight:700; }
.appLanding__moreCases ul { display:flex; flex-wrap:wrap; gap:1rem; }
.appLanding__moreCases li > a, .appLanding__moreCases li > span { display:inline-flex; align-items:center; gap:.4rem; padding:1.1rem 1.6rem; border:1px solid var(--app-line); border-radius:3rem; background:#fff; color:#6d6a7c; font-size:1.35rem; }
.appLanding__moreCases b { color:#1c1a27; font-weight:700; }
.appLanding__moreCases li > a { transition:border-color .2s ease, background .2s ease; }
.appLanding__moreCases li > a:hover { border-color:var(--app-violet); background:#f6f5ff; }
.appLanding__moreCases li > a span { margin-left:.4rem; color:var(--app-violet); }
.appLanding__cases .systemLanding__centerAction { margin-top:5.6rem; }

/* PHILOSOPHY + STRUCTURE */
.appLanding__philosophy { background:linear-gradient(160deg, #10101d, #19172d); color:#fff; }
.appLanding__philosophy .systemLanding__eyebrow { color:#ff9a86; }
.appLanding__philosophy .systemLanding__sectionIntro > p:last-child { color:#a3a1b8; }
.appLanding__structure { padding:4.4rem 4.8rem 5rem; border:1px solid rgba(255,255,255,.12); border-radius:1.6rem; background:rgba(255,255,255,.025); }
.appLanding__structureTitle { display:flex; align-items:center; gap:1.2rem; margin:0 0 4rem; color:#fff; font-size:1.7rem; font-weight:800; }
.appLanding__structureTitle::before { content:""; width:1rem; height:1rem; border-radius:.3rem; background:var(--app-coral); }
.appLanding__structureMap { display:grid; grid-template-columns:1fr 9rem 1fr 9rem 1fr; grid-template-areas:"app e1 server e2 admin" ". . down . ." ". . external . ."; align-items:center; }
.appLanding__node--app { grid-area:app; }
.appLanding__node--server { grid-area:server; }
.appLanding__node--admin { grid-area:admin; }
.appLanding__node--external { grid-area:external; }
.appLanding__edge--left { grid-area:e1; }
.appLanding__edge--right { grid-area:e2; }
.appLanding__edge--down { grid-area:down; }
.appLanding__node { min-height:13rem; display:flex; flex-direction:column; justify-content:center; padding:2.4rem 2.6rem; border:1px solid rgba(255,255,255,.14); border-radius:1.1rem; background:#16152a; transition:border-color .25s ease, background .25s ease, opacity .25s ease, box-shadow .25s ease; }
.appLanding__node small { color:#77748e; font-family:Poppins, sans-serif; font-size:.95rem; font-weight:700; letter-spacing:.12em; }
.appLanding__node strong { margin-top:1rem; color:#fff; font-size:2rem; line-height:1.35; }
.appLanding__node span { margin-top:.6rem; color:#9c99b2; font-size:1.3rem; }
.appLanding__node.is-core { border-color:rgba(255,121,95,.45); background:linear-gradient(145deg, rgba(255,121,95,.14), rgba(122,114,255,.1)); }
.appLanding__node.is-core small { color:var(--app-coral); }
.appLanding__edge { position:relative; display:block; }
.appLanding__edge--left, .appLanding__edge--right { height:2px; margin:0 1.4rem; background:repeating-linear-gradient(90deg, #5d5a78 0 .6rem, transparent .6rem 1.1rem); }
.appLanding__edge--left::before, .appLanding__edge--left::after, .appLanding__edge--right::before, .appLanding__edge--right::after { content:""; position:absolute; top:50%; width:.8rem; height:.8rem; border-top:2px solid #8e8aab; border-right:2px solid #8e8aab; }
.appLanding__edge--left::before, .appLanding__edge--right::before { left:0; transform:translateY(-50%) rotate(-135deg); }
.appLanding__edge--left::after, .appLanding__edge--right::after { right:0; transform:translateY(-50%) rotate(45deg); }
.appLanding__edge--down { justify-self:center; width:2px; height:6rem; margin:1.2rem 0; background:repeating-linear-gradient(180deg, #5d5a78 0 .6rem, transparent .6rem 1.1rem); }
.appLanding__edge--down::before, .appLanding__edge--down::after { content:""; position:absolute; left:50%; width:.8rem; height:.8rem; border-top:2px solid #8e8aab; border-left:2px solid #8e8aab; }
.appLanding__edge--down::before { top:0; transform:translateX(-50%) rotate(45deg); }
.appLanding__edge--down::after { bottom:0; transform:translateX(-50%) rotate(-135deg); }
.appLanding__structureMap.is-focused .appLanding__node { opacity:.4; }
.appLanding__structureMap.is-focused .appLanding__node.is-active { opacity:1; border-color:var(--app-coral); box-shadow:0 0 0 .4rem rgba(255,121,95,.12), 0 1.6rem 4rem rgba(255,121,95,.12); }

.appLanding__typeGrid { display:grid; grid-template-columns:repeat(2, 1fr); gap:1.6rem; margin-top:1.6rem; }
.appLanding__typeCard { display:grid; grid-template-columns:5.4rem 1fr; gap:2.4rem; align-items:start; padding:3.4rem; border:1px solid rgba(255,255,255,.12); border-radius:1.2rem; background:rgba(255,255,255,.025); outline:none; transition:border-color .25s ease, background .25s ease; }
.appLanding__typeCard:hover, .appLanding__typeCard:focus-visible { border-color:rgba(255,121,95,.55); background:rgba(255,121,95,.06); }
.appLanding__typeCard h3 { margin:.4rem 0 1.2rem; color:#fff; font-size:2.2rem; }
.appLanding__typeCard p { margin:0; color:#a3a1b8; font-size:1.45rem; line-height:1.75; }

/* Line icons drawn in CSS to match the system landing icon language. */
.appLanding__typeIcon { position:relative; width:5.4rem; height:5.4rem; border:1px solid #5f5a78; border-radius:1.4rem; }
.appLanding__typeIcon::before, .appLanding__typeIcon::after { content:""; position:absolute; border:1px solid var(--app-coral); }
.appLanding__typeIcon--customer::before { left:1.8rem; top:1.1rem; width:1.8rem; height:3.1rem; border-radius:.45rem; }
.appLanding__typeIcon--customer::after { left:2.45rem; top:3.55rem; width:.5rem; height:0; border-width:1px 0 0; }
.appLanding__typeIcon--field::before { left:1.5rem; top:1.2rem; width:2.4rem; height:3rem; border-radius:.3rem; }
.appLanding__typeIcon--field::after { left:2.1rem; top:2.3rem; width:1.1rem; height:.6rem; border-width:0 0 1px 1px; transform:rotate(-45deg); }
.appLanding__typeIcon--live::before { left:1.2rem; top:1.2rem; width:3rem; height:3rem; border-color:transparent var(--app-coral) transparent var(--app-coral); border-radius:50%; }
.appLanding__typeIcon--live::after { left:2.25rem; top:2.25rem; width:.9rem; height:.9rem; border-radius:50%; background:var(--app-coral); }
.appLanding__typeIcon--platform::before { left:1rem; top:1.3rem; width:2.8rem; height:2rem; border-radius:.3rem; }
.appLanding__typeIcon--platform::after { left:3.1rem; top:2.3rem; width:1.3rem; height:2rem; border-radius:.3rem; background:#10101d; }

/* PROCESS TIMELINE */
.appLanding__process { background:#fff; }
.appLanding__timeline { position:relative; padding-top:6.4rem; }
.appLanding__timelineTrack { position:absolute; left:0; right:0; top:10.4rem; height:2px; background:var(--app-line); }
.appLanding__timelineTrack::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--app-violet), var(--app-coral)); transform:scaleX(0); transform-origin:left; transition:transform 1.4s cubic-bezier(.65, 0, .35, 1); }
.appLanding__timeline.is-inview .appLanding__timelineTrack::after { transform:scaleX(1); }
.appLanding__timelineLoop { position:absolute; left:.8rem; right:calc(25% - .8rem); top:1.2rem; height:4.2rem; border:2px dashed #d3cfe2; border-bottom:0; border-radius:1.8rem 1.8rem 0 0; opacity:0; transition:opacity .6s ease 1.3s; }
.appLanding__timelineLoop::before { content:""; position:absolute; left:-.6rem; bottom:-.2rem; width:1rem; height:1rem; border-right:2px solid var(--app-violet); border-bottom:2px solid var(--app-violet); transform:rotate(45deg); }
.appLanding__timelineLoop span { position:absolute; left:50%; top:-1.2rem; padding:0 1.4rem; background:#fff; color:#8e8aa3; font-family:Poppins, sans-serif; font-size:1rem; font-weight:700; letter-spacing:.14em; white-space:nowrap; transform:translateX(-50%); }
.appLanding__timeline.is-inview .appLanding__timelineLoop { opacity:1; }
.appLanding__timelineList { position:relative; display:grid; grid-template-columns:repeat(4, 1fr); }
.appLanding__timelineList li { position:relative; padding-right:3.6rem; }
.appLanding__timelineNo { display:block; line-height:1.6rem; color:var(--app-violet); font-family:Poppins, sans-serif; font-size:1.3rem; font-weight:700; }
.appLanding__timelineList li > i { position:relative; z-index:1; display:block; width:1.8rem; height:1.8rem; margin:1.6rem 0 3.2rem; border:2px solid #cfcbe0; border-radius:50%; background:#fff; transition:border-color .3s ease, background .3s ease, box-shadow .3s ease; }
.appLanding__timeline.is-inview li > i { border-color:var(--app-violet); background:var(--app-violet); box-shadow:0 0 0 .5rem rgba(116,108,255,.14); }
.appLanding__timeline.is-inview li:nth-child(2) > i { transition-delay:.35s; }
.appLanding__timeline.is-inview li:nth-child(3) > i { transition-delay:.7s; }
.appLanding__timeline.is-inview li:nth-child(4) > i { transition-delay:1.05s; border-color:var(--app-coral); background:var(--app-coral); box-shadow:0 0 0 .5rem rgba(255,121,95,.16); }
.appLanding__timelineList h3 { margin:0 0 1.4rem; color:#16151f; font-size:2.2rem; letter-spacing:-.045em; }
.appLanding__timelineList p { margin:0; color:#666176; font-size:1.45rem; line-height:1.75; }
.appLanding__caption { display:flex; align-items:flex-start; gap:.8rem; margin:5.6rem 0 0; color:#7a7885; font-size:1.3rem; line-height:1.6; }
.appLanding__caption span { flex:0 0 1.7rem; height:1.7rem; display:grid; place-items:center; margin-top:.05rem; border:1px solid #a9a6b6; border-radius:50%; color:#7a7885; font-family:Georgia, serif; font-size:1.05rem; font-style:italic; font-weight:700; }

/* CONSULT */
.appLanding__consult { background:var(--app-soft); }
.appLanding__consultGrid { display:grid; grid-template-columns:repeat(2, 1fr); gap:1.6rem; }
.appLanding__consultCard { padding:4.4rem 4.4rem 4.8rem; border-radius:1.4rem; }
.appLanding__consultCard h3 { margin:0 0 3.2rem; font-size:2.6rem; line-height:1.35; letter-spacing:-.05em; }
.appLanding__consultCard--plan { border:1px solid var(--app-line); background:#fff; }
.appLanding__consultCard--plan ul { display:grid; gap:1.2rem; }
.appLanding__consultCard--plan li { display:flex; align-items:flex-start; gap:1.4rem; padding:1.8rem 2rem; border-radius:.9rem; background:var(--app-soft); color:#2a2836; font-size:1.5rem; line-height:1.6; }
.appLanding__consultCard--plan li::before { content:""; flex:0 0 2.2rem; height:2.2rem; margin-top:.05rem; border:1.5px solid var(--app-coral); border-radius:.5rem; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.4L12 5.4' fill='none' stroke='%23e5553b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 1.5rem no-repeat; }
.appLanding__consultCard--brief { background:#151429; color:#fff; }
.appLanding__consultCard--brief ol { counter-reset:appBrief; border-top:1px solid rgba(255,255,255,.12); }
.appLanding__consultCard--brief li { counter-increment:appBrief; display:flex; align-items:center; gap:2rem; padding:2.1rem 0; border-bottom:1px solid rgba(255,255,255,.1); color:#dedcea; font-size:1.5rem; line-height:1.6; }
.appLanding__consultCard--brief li::before { content:counter(appBrief); flex:0 0 3.4rem; height:3.4rem; display:grid; place-items:center; border-radius:50%; background:rgba(255,121,95,.14); color:var(--app-coral); font-family:Poppins, sans-serif; font-size:1.3rem; font-weight:700; }
.appLanding__consult .systemLanding__centerAction { margin-top:4.8rem; }

/* FAQ */
.appLanding__faq { background:#fff; }
.appLanding__faqInner { max-width:86rem; }
.appLanding__faq h2 { margin:0 0 5rem; font-size:clamp(4rem, 4vw, 5.6rem); font-weight:700; letter-spacing:-.06em; }
.appLanding__faqList { border-top:2px solid #16151f; }
.appLanding__faqItem { border-bottom:1px solid var(--app-line); }
.appLanding__faqItem h3 { margin:0; }
.appLanding__faqItem button { width:100%; display:flex; align-items:center; gap:2rem; padding:2.8rem .4rem; border:0; background:none; color:#16151f; font:inherit; font-size:1.75rem; font-weight:700; letter-spacing:-.035em; text-align:left; cursor:pointer; }
.appLanding__faqQ { flex:0 0 auto; color:var(--app-violet); font-family:Poppins, sans-serif; font-size:1.7rem; font-weight:700; }
.appLanding__faqText { flex:1; line-height:1.5; }
.appLanding__faqIcon { position:relative; flex:0 0 3.4rem; height:3.4rem; border:1px solid #cfcbe0; border-radius:50%; transition:background .2s ease, border-color .2s ease; }
.appLanding__faqIcon::before, .appLanding__faqIcon::after { content:""; position:absolute; left:50%; top:50%; width:1.2rem; height:1.5px; background:#16151f; transform:translate(-50%, -50%); transition:transform .25s ease; }
.appLanding__faqIcon::after { transform:translate(-50%, -50%) rotate(90deg); }
.appLanding__faqItem.is-open .appLanding__faqIcon { border-color:#16151f; background:#16151f; }
.appLanding__faqItem.is-open .appLanding__faqIcon::before, .appLanding__faqItem.is-open .appLanding__faqIcon::after { background:#fff; }
.appLanding__faqItem.is-open .appLanding__faqIcon::after { transform:translate(-50%, -50%) rotate(0deg); }
.appLanding__faqItem button:hover .appLanding__faqText { color:#3f3a8f; }
.appLanding__faqAnswer p { margin:0; padding:0 7rem 3rem 4.2rem; color:#666176; font-size:1.5rem; line-height:1.8; }

/* FINAL CTA BAND */
.appLanding__finalBand { position:relative; overflow:hidden; padding:11rem 0; background:var(--app-coral); color:#17101a; text-align:center; }
.appLanding__finalBand::before, .appLanding__finalBand::after { content:""; position:absolute; border:1px solid rgba(23,16,26,.14); border-radius:50%; }
.appLanding__finalBand::before { left:-14rem; bottom:-24rem; width:44rem; height:44rem; }
.appLanding__finalBand::after { right:-10rem; top:-20rem; width:40rem; height:40rem; box-shadow:0 0 0 7rem rgba(255,255,255,.06); }
.appLanding__finalInner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.appLanding__finalBand h2 { margin:0 0 4.4rem; font-size:clamp(4rem, 4.2vw, 6.2rem); font-weight:700; line-height:1.18; letter-spacing:-.065em; }
.appLanding__finalBand .systemLanding__button--dark { background:#10101d; }
.appLanding__finalContact { margin:2.4rem 0 0; color:rgba(23,16,26,.7); font-family:Poppins, sans-serif; font-size:1.25rem; letter-spacing:.03em; }


@media (max-width:1080px) {
    .appLanding__hero .systemLanding__heroLayout { grid-template-columns:minmax(0, 1fr); }
    .appLanding__heroVisual { width:min(100%, 66rem); margin-left:2.4rem; }
    .appLanding__anchorList { gap:3rem; }
    .appLanding__featured { grid-template-columns:1fr; }
    .appLanding__featuredVisual { min-height:40rem; }
    .appLanding__featuredCopy { border-left:0; border-top:1px solid rgba(255,255,255,.08); }
    .appLanding__caseList { grid-template-columns:repeat(2, 1fr); }
    .appLanding__caseList > :last-child { grid-column:1 / -1; }
    .appLanding__caseList > :last-child .appLanding__caseVisual { aspect-ratio:21 / 9; }
    .appLanding__structure { padding:3.6rem; }
    .appLanding__structureMap { grid-template-columns:1fr 5rem 1fr 5rem 1fr; }
    .appLanding__node { padding:2rem; }
    .appLanding__node strong { font-size:1.7rem; }
    .appLanding__edge--left, .appLanding__edge--right { margin:0 .8rem; }
    .appLanding__typeCard { grid-template-columns:1fr; gap:2.4rem; }
    .appLanding__timelineList li { padding-right:2.4rem; }
    .appLanding__timelineList h3 { font-size:1.9rem; }
}

@media (max-width:767px) {
    .appLanding { --app-anchor-h:5.2rem; width:100vw; max-width:100vw; overflow-x:clip; }
    .appLanding .systemLanding__container { width:calc(100vw - 40px); max-width:calc(100vw - 40px); min-width:0; }
    .appLanding [id^="app"] { scroll-margin-top:12rem; }
    .appLanding__hero h1 { font-size:4.2rem; }
    .appLanding__hero .systemLanding__heroLayout { gap:4.8rem; }
    .appLanding__keywords { flex-direction:column; gap:1.2rem; margin-top:3.2rem; padding-top:2.4rem; font-size:1.4rem; }
    .appLanding__keywords li { margin-right:0; padding-right:0; }
    .appLanding__keywords li::after { display:none; }

    .appLanding__heroVisual { width:100%; margin-left:0; min-height:0; grid-template-columns:13.6rem 2.4rem minmax(0, 1fr); }
    .appLanding__heroVisual::before { inset:0; }
    .appLanding__phone { width:13.6rem; height:28.6rem; padding:.5rem; border-radius:2.2rem; }
    .appLanding__phoneTop { top:.9rem; width:4.6rem; height:1.2rem; }
    .appLanding__phoneScreen { padding:2.8rem .9rem .8rem; border-radius:1.8rem; }
    .appLanding__hello small { font-size:.6rem; }
    .appLanding__hello strong { margin:.4rem 0 1rem; font-size:1.1rem; }
    .appLanding__pointCard { min-height:6.6rem; padding:.9rem; border-radius:.9rem; }
    .appLanding__pointCard small { font-size:.55rem; }
    .appLanding__pointCard b { font-size:1.3rem; }
    .appLanding__pointCard i { right:.9rem; top:.9rem; width:1.6rem; height:1.1rem; }
    .appLanding__statusList { gap:.45rem; margin-top:.8rem; }
    .appLanding__statusList li { gap:.5rem; padding:.55rem .6rem; border-radius:.5rem; }
    .appLanding__statusList i { flex-basis:1.1rem; height:1.1rem; }
    .appLanding__statusList b { font-size:.8rem; }
    .appLanding__statusList em { display:none; }
    .appLanding__tabbar { left:.9rem; right:.9rem; bottom:.9rem; padding:.7rem; border-radius:.8rem; }
    .appLanding__tabbar i { width:.8rem; height:.8rem; }
    .appLanding__platform { padding:.5rem .9rem; font-size:.8rem; }
    .appLanding__platform--ios { left:-.8rem; }
    .appLanding__platform--android { left:-.4rem; }
    .appLanding__link--h span { display:none; }
    .appLanding__adminTop { height:3rem; padding:0 1rem; font-size:.65rem; }
    .appLanding__adminTop > span:nth-child(2) { display:none; }
    .appLanding__adminBody { grid-template-columns:1fr; min-height:0; }
    .appLanding__adminNav { display:none; }
    .appLanding__adminMain { padding:1.2rem; }
    .appLanding__adminMain > b { font-size:1.15rem; }
    .appLanding__adminStats { grid-template-columns:1fr; gap:.5rem; margin-top:1rem; }
    .appLanding__adminStats span { flex-direction:row; align-items:center; gap:.8rem; padding:.6rem .8rem; }
    .appLanding__adminStats small { flex:0 0 auto; font-size:.85rem; }
    .appLanding__adminStats i { flex:1; }
    .appLanding__adminRows { margin-top:.8rem; }
    .appLanding__adminRows li { padding:.6rem .8rem; }
    .appLanding__adminRows li:nth-child(n+3) { display:none; }
    .appLanding__adminRows em { font-size:.75rem; }
    .appLanding__link--v { height:2.4rem; }
    .appLanding__devices { gap:.5rem; padding-top:1.2rem; }
    .appLanding__devices::before { left:14%; right:14%; }
    .appLanding__devices span { min-width:0; flex:1; padding:.7rem .4rem; font-size:1rem; }
    .appLanding__devices span::before { top:-1.3rem; height:1.2rem; }

    .appLanding__anchorInner { gap:1rem; }
    .appLanding__anchorList { gap:2.6rem; width:100%; }
    .appLanding__anchorList a { font-size:1.4rem; }
    .appLanding__anchorCta { display:none; }
    .headerWrap.appLandingHeader--docked .quickMenu { margin-top:5.2rem; }

    .appLanding__featured { border-radius:1.2rem; }
    .appLanding__featuredVisual { min-height:27rem; }
    .appLanding__featuredVisual .appLanding__mBrowser { left:6%; width:66%; height:46%; }
    .appLanding__featuredVisual .appLanding__mTablet { left:6%; width:66%; height:52%; gap:.6rem; padding:1rem 1rem 2.2rem; border-width:.5rem; border-radius:1.2rem; }
    .appLanding__featuredVisual .appLanding__mPhone { right:5%; top:16%; width:10.4rem; height:21rem; padding:1.6rem .8rem .8rem; border-width:.4rem; border-radius:1.6rem; }
    .appLanding__featuredVisual .appLanding__mPhone .appLanding__mCard { height:4.6rem; }
    .appLanding__mGrid { gap:.5rem; }
    .appLanding__mSide { padding:.6rem; gap:.5rem; }
    .appLanding__featuredCopy { padding:3.2rem 2.6rem 3.4rem; }
    .appLanding__featuredCopy h3 { font-size:2.8rem; }
    .appLanding__featuredCopy p { font-size:1.45rem; }

    /* Swipeable case cards: 85% width with the next card peeking. */
    .appLanding__caseList { display:flex; gap:1.2rem; margin:1.2rem -20px 0; padding:0 20px .4rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 20px; scrollbar-width:none; }
    .appLanding__caseList::-webkit-scrollbar { display:none; }
    .appLanding__caseCard { flex:0 0 85%; scroll-snap-align:start; }
    .appLanding__caseList > :last-child .appLanding__caseVisual { aspect-ratio:16 / 10; }
    .appLanding__caseBody { padding:2.4rem 2.2rem 2.6rem; }
    .appLanding__caseBody h3 { font-size:2.1rem; }
    .appLanding__caseVisual .appLanding__mPanel { padding:1.1rem; gap:.8rem; }
    .appLanding__moreCases { grid-template-columns:1fr; gap:1.4rem; margin-top:3.6rem; padding-top:2.6rem; }
    .appLanding__moreCases li > a, .appLanding__moreCases li > span { padding:.9rem 1.3rem; font-size:1.25rem; }
    .appLanding__cases .systemLanding__centerAction { margin-top:4rem; }

    .appLanding__structure { padding:2.6rem 2rem 3rem; }
    .appLanding__structureTitle { margin-bottom:2.6rem; font-size:1.55rem; }
    .appLanding__structureMap { grid-template-columns:1fr; grid-template-areas:"app" "e1" "server" "e2" "admin" "down" "external"; justify-items:stretch; }
    .appLanding__node { min-height:0; padding:1.8rem 2rem; }
    .appLanding__node strong { margin-top:.6rem; font-size:1.7rem; }
    .appLanding__edge--left, .appLanding__edge--right, .appLanding__edge--down { justify-self:center; width:2px; height:3.6rem; margin:.8rem 0; background:repeating-linear-gradient(180deg, #5d5a78 0 .6rem, transparent .6rem 1.1rem); }
    .appLanding__edge--left::before, .appLanding__edge--right::before { left:50%; top:0; transform:translateX(-50%) rotate(-45deg); }
    .appLanding__edge--left::after, .appLanding__edge--right::after { left:50%; right:auto; top:auto; bottom:0; transform:translateX(-50%) rotate(135deg); }
    .appLanding__typeGrid { grid-template-columns:1fr; gap:1.2rem; margin-top:1.2rem; }
    .appLanding__typeCard { grid-template-columns:5.4rem 1fr; gap:1.8rem; padding:2.6rem 2.2rem; }
    .appLanding__typeCard h3 { margin-top:.2rem; font-size:1.95rem; }
    .appLanding__typeCard p { font-size:1.4rem; }

    /* Vertical timeline with a left rail. */
    .appLanding__timeline { padding-top:0; }
    .appLanding__timelineLoop { display:none; }
    .appLanding__timelineTrack { left:.8rem; right:auto; top:.6rem; bottom:.6rem; width:2px; height:auto; }
    .appLanding__timelineTrack::after { transform:scaleY(0); transform-origin:top; }
    .appLanding__timeline.is-inview .appLanding__timelineTrack::after { transform:scaleY(1); }
    .appLanding__timelineList { grid-template-columns:1fr; gap:3.6rem; }
    .appLanding__timelineList li { padding:0 0 0 4.4rem; }
    .appLanding__timelineList li > i { position:absolute; left:0; top:.1rem; margin:0; }
    .appLanding__timelineNo { margin-bottom:.8rem; }
    .appLanding__timelineList h3 { margin-bottom:1rem; font-size:2rem; }
    .appLanding__timelineList p { font-size:1.4rem; }
    .appLanding__caption { margin-top:4rem; font-size:1.2rem; }

    .appLanding__consultGrid { grid-template-columns:1fr; gap:1.2rem; }
    .appLanding__consultCard { padding:3rem 2.2rem 3.2rem; }
    .appLanding__consultCard h3 { margin-bottom:2.4rem; font-size:2.2rem; }
    .appLanding__consultCard--plan li { padding:1.5rem 1.6rem; font-size:1.4rem; }
    .appLanding__consultCard--brief li { gap:1.4rem; padding:1.7rem 0; font-size:1.4rem; }
    .appLanding__consult .systemLanding__centerAction { margin-top:3.2rem; }

    .appLanding__faq h2 { margin-bottom:3.2rem; font-size:3.5rem; }
    .appLanding__faqItem button { gap:1.2rem; padding:2.2rem 0; font-size:1.5rem; }
    .appLanding__faqQ { font-size:1.5rem; }
    .appLanding__faqIcon { flex-basis:2.8rem; height:2.8rem; }
    .appLanding__faqAnswer p { padding:0 0 2.4rem 2.6rem; font-size:1.4rem; }

    .appLanding__finalBand { padding:8rem 0 9rem; }
    .appLanding__finalBand h2 { margin-bottom:3.2rem; font-size:3.4rem; }
    .appLanding__finalBand .systemLanding__button { width:100%; }

}

@media (prefers-reduced-motion:reduce) {
    .appLanding__link--h, .appLanding__link--v, .appLanding__sync i { animation:none; }
    .appLanding__timelineTrack::after { transform:none !important; }
    .appLanding__timelineLoop { opacity:1; }
}

.appLanding__caseVisual > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
