:root {
    color-scheme: dark;
    --home-bg: #080d13;
    --home-text: #edf3f5;
    --home-muted: #899baa;
    --home-line: rgba(170, 202, 217, .12);
    --home-mint: #7bdfb4;
    --home-cyan: #7dcfff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body.titan-home { margin: 0; background: var(--home-bg); color: var(--home-text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.titan-home a { -webkit-tap-highlight-color: transparent; }
.titan-home a:focus-visible, .titan-home button:focus-visible { outline: 2px solid var(--home-cyan); outline-offset: 5px; }
.home-skip { position: fixed; top: -70px; left: 20px; z-index: 2000; padding: 10px 18px; border-radius: 8px; background: #c1f1e0; color: #0b211b; text-decoration: none; font-weight: 700; }
.home-skip:focus { top: 10px; }
.home-main { padding-top: 86px; overflow: clip; background: radial-gradient(ellipse 55% 34% at 50% 0, rgba(41, 92, 103, .10), transparent 90%); }
.home-wrap { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }

/* Artwork frames the copy. There are no screenshots or carousel assets on home. */
.home-hero { position: relative; isolation: isolate; min-height: 480px; display: grid; place-items: center; padding: 54px 24px 42px; }
.home-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; pointer-events: none; background: radial-gradient(ellipse 32% 80% at 16% 50%, rgba(27, 122, 181, .11), transparent 75%), radial-gradient(ellipse 32% 80% at 84% 50%, rgba(40, 161, 124, .09), transparent 75%); }
.home-orbit { position: absolute; z-index: -2; width: 660px; height: 660px; top: -155px; left: calc(50% - 330px); border: 1px solid rgba(145, 187, 203, .055); border-radius: 50%; pointer-events: none; }
.home-orbit::before, .home-orbit::after { content: ""; position: absolute; inset: 42px; border: 1px solid rgba(145, 187, 203, .045); border-radius: inherit; }
.home-orbit::after { inset: 100px; }
.home-art { position: absolute; top: -3px; width: 362px; height: 543px; object-fit: contain; pointer-events: none; user-select: none; z-index: -1; opacity: .94; mask-image: linear-gradient(#000 77%, transparent 100%); -webkit-mask-image: linear-gradient(#000 77%, transparent 100%); }
.home-art-left { right: calc(50% + 290px); }
.home-art-right { left: calc(50% + 290px); }
.home-hero-copy { width: min(660px, 100%); text-align: center; }
.home-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 23px; color: #a8bfc8; font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: 3px; text-transform: uppercase; }
.home-eyebrow::before, .home-eyebrow::after { content: ""; width: 24px; height: 1px; background: #50767c; }
.home-hero h1 { margin: 0; color: #f0f4f2; font-size: clamp(56px, 5.6vw, 82px); line-height: 1.03; font-weight: 800; letter-spacing: -4px; }
.home-hero h1 span { display: block; color: #94e6c6; background: linear-gradient(105deg, #c5efdf 10%, #7bd5c9 65%, #79bbdb); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.home-intro { max-width: 420px; margin: 23px auto 26px; color: #a0afba; font-size: 15px; line-height: 1.8; }
.home-intro strong { color: #d7e1e5; font-weight: 600; }
.home-hero-actions { display: flex; align-items: center; justify-content: center; gap: 20px; }
.home-discover { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 44px; padding: 11px 20px; color: #c8e9e0; border: 1px solid rgba(134, 216, 193, .3); border-radius: 7px; background: rgba(100, 185, 160, .08); text-decoration: none; font-size: 12px; font-weight: 650; transition: border-color .2s, background .2s; }
.home-discover:hover { background: rgba(100, 185, 160, .15); border-color: #70bda9; }
.home-video { display: inline-flex; align-items: center; gap: 8px; color: #96a6b1; font-size: 12px; text-decoration: none; }
.home-video:hover { color: #eaf5f5; }
.home-platform { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 23px 0 0; color: #667c8b; font-size: 10px; letter-spacing: .3px; }
.home-platform span { margin-inline: 5px; color: #425766; }

/* The products come before the license choices. */
.home-toolkit { position: relative; padding-top: 23px; border-top: 1px solid var(--home-line); }
.home-section-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; }
.home-section-head h2 { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 650; letter-spacing: -.6px; }
.home-section-head h2 span { color: #788e9d; font-weight: 400; }
.home-section-head > a { display: inline-flex; align-items: center; gap: 8px; color: #8fa8b7; font-size: 11px; text-decoration: none; }
.home-section-head > a:hover { color: #d6e7ec; }
.home-apps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.home-app { position: relative; display: flex; align-items: center; gap: 13px; min-height: 100px; padding: 19px 17px; border: 1px solid var(--home-line); border-radius: 12px; background: linear-gradient(135deg, rgba(23, 35, 44, .68), rgba(12, 20, 28, .5)); color: inherit; text-decoration: none; transition: border-color .2s, background .2s, transform .2s; }
.home-app:hover { border-color: var(--app-accent, #88bccc); background: #121f29; transform: translateY(-3px); }
.home-app-icon { flex: 0 0 35px; display: grid; place-items: center; width: 35px; height: 39px; border-radius: 9px; color: var(--app-accent, #88bccc); background: rgba(157, 196, 213, .05); border: 1px solid rgba(157, 196, 213, .08); font-size: 17px; }
.home-app-copy { min-width: 0; }
.home-app h3 { margin: 0 0 4px; font-size: 12px; font-weight: 650; line-height: 1.4; }
.home-app p { margin: 0; color: #7e94a3; font-size: 10px; line-height: 1.5; }
.home-app-arrow { position: absolute; right: 12px; top: 11px; color: #536c7b; font-size: 8px; }

.home-licenses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; padding-bottom: 36px; }
.home-license { --license-color: var(--home-mint); display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 22px; row-gap: 14px; position: relative; overflow: hidden; padding: 25px 28px 22px; border: 1px solid rgba(106, 186, 151, .2); border-radius: 14px; background: linear-gradient(110deg, rgba(31, 71, 57, .23), rgba(14, 23, 29, .8)); color: inherit; text-decoration: none; transition: border-color .2s, background .2s; }
.home-license-timed { --license-color: var(--home-cyan); border-color: rgba(97, 165, 205, .2); background: linear-gradient(110deg, rgba(25, 59, 81, .23), rgba(14, 23, 29, .8)); }
.home-license:hover { border-color: var(--license-color); }
.home-license-timed.is-closed { --license-color: #e8bb7c; border-color: rgba(232, 187, 124, .2); background: linear-gradient(110deg, rgba(86, 62, 29, .16), rgba(14, 23, 29, .8)); }
.home-license-timed.is-closed:hover { border-color: rgba(232, 187, 124, .2); }
.home-license-timed.is-closed .home-license-price > strong { color: var(--license-color); }
.home-license-label { display: flex; align-items: center; gap: 8px; margin: 0 0 9px; color: var(--license-color); font-size: 9px; letter-spacing: 1.8px; font-weight: 750; text-transform: uppercase; }
.home-license-label i { font-size: 12px; }
.home-license h2 { margin: 0; font-size: 23px; line-height: 1.25; font-weight: 650; letter-spacing: -.7px; }
.home-license-desc { margin: 8px 0 0; color: #8299a7; font-size: 11px; }
.home-license-price { align-self: center; text-align: right; white-space: nowrap; }
.home-license-price > small { display: block; margin-bottom: 1px; color: #8fa2ad; font-size: 10px; }
.home-license-price > strong { display: block; font-size: 30px; line-height: 1.3; font-weight: 750; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.home-license-price > strong.is-pending { font-size: 17px; letter-spacing: -.3px; }
.home-license-price > span { display: block; margin-top: 4px; color: #718794; font-size: 9px; }
.home-license-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 13px; border-top: 1px solid rgba(157, 196, 213, .09); }
.home-license-status { display: flex; align-items: center; gap: 6px; color: #859daa; font-size: 10px; }
.home-license-status::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--license-color); }
.home-license-go { display: flex; align-items: center; gap: 12px; color: var(--license-color); font-size: 11px; font-weight: 700; }

.home-footer { border-top: 1px solid var(--home-line); background: rgba(5, 9, 13, .35); }
.home-footer-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 20px; }
.home-footer-brand { display: flex; flex-direction: column; gap: 3px; }
.home-footer-brand strong { color: #aec1cb; font-size: 12px; font-weight: 650; }
.home-footer-brand small { color: #587080; font-size: 9px; }
.home-footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.home-footer-links a { color: #8299a7; text-decoration: none; font-size: 11px; }
.home-footer-links a:hover { color: #e1f0f1; }
.home-footer-links i { margin-right: 5px; }

@media (min-width: 1700px) {
    .home-hero { min-height: 520px; }
    .home-art { width: 395px; height: 592px; top: -16px; }
    .home-art-left { right: calc(50% + 310px); }
    .home-art-right { left: calc(50% + 310px); }
}
@media (max-width: 1180px) {
    .home-art { width: 310px; height: 465px; top: 28px; opacity: .8; }
    .home-art-left { right: calc(50% + 245px); }
    .home-art-right { left: calc(50% + 245px); }
    .home-hero-copy { width: min(530px, 100%); }
    .home-hero h1 { font-size: 67px; }
    .home-app { gap: 9px; padding-inline: 12px; }
    .home-app-icon { width: 30px; flex-basis: 30px; }
    .home-app h3 { font-size: 11px; }
    .home-license { padding-inline: 22px; column-gap: 14px; }
    .home-license h2 { font-size: 21px; }
}
@media (max-width: 960px) {
    html { scroll-padding-top: 160px; }
    .home-main { padding-top: 132px; }
    .home-wrap { width: calc(100% - 40px); }
    .home-hero { min-height: 440px; padding-top: 38px; padding-bottom: 35px; }
    .home-hero h1 { font-size: 60px; letter-spacing: -3px; }
    .home-hero-copy { width: min(490px, 100%); }
    .home-art { width: 270px; height: 405px; top: 30px; opacity: .5; }
    .home-art-left { right: calc(50% + 185px); }
    .home-art-right { left: calc(50% + 185px); }
    .home-apps { gap: 8px; }
    .home-app { flex-direction: column; align-items: flex-start; padding: 15px; gap: 11px; }
    .home-app h3 { font-size: 12px; }
    .home-license { padding: 20px; }
    .home-license h2 { font-size: 19px; }
    .home-license-price > strong { font-size: 26px; }
    .home-license-desc { font-size: 10px; }
    .home-license-status { max-width: 150px; }
}
@media (max-width: 680px) {
    .home-hero { min-height: 460px; padding: 48px 20px 38px; }
    .home-hero-copy { max-width: 410px; }
    .home-eyebrow { font-size: 8px; letter-spacing: 2px; margin-bottom: 21px; }
    .home-hero h1 { font-size: clamp(46px, 10vw, 60px); letter-spacing: -2.5px; }
    .home-intro { max-width: 280px; font-size: 13px; margin-block: 20px 22px; }
    .home-art { width: 240px; height: 360px; top: 48px; opacity: .24; }
    .home-art-left { right: calc(50% + 65px); }
    .home-art-right { left: calc(50% + 65px); }
    .home-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 42% 90% at center, rgba(8, 13, 19, .7), transparent 100%); pointer-events: none; }
    .home-hero-actions { gap: 15px; }
    .home-discover { min-height: 42px; font-size: 11px; padding-inline: 15px; gap: 10px; }
    .home-video { font-size: 11px; }
    .home-platform { font-size: 9px; }
    .home-section-head { margin-bottom: 16px; align-items: flex-start; }
    .home-section-head h2 { font-size: 19px; }
    .home-section-head h2 span { display: block; font-size: 12px; margin-top: 4px; letter-spacing: 0; }
    .home-section-head > a { max-width: 110px; font-size: 10px; text-align: right; }
    .home-apps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-app { flex-direction: row; align-items: center; gap: 10px; min-height: 82px; padding: 14px 12px; }
    .home-app:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .home-app h3 { font-size: 11px; }
    .home-app p { font-size: 9px; }
    .home-app-arrow { top: 8px; right: 8px; }
    .home-licenses { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; padding-bottom: 26px; }
    .home-license { padding: 20px; }
    .home-license h2 { font-size: 21px; }
    .home-license-price > strong { font-size: 28px; }
    .home-license-status { max-width: none; }
    .home-footer-inner { align-items: flex-start; flex-direction: column; gap: 15px; }
    .home-footer-links { gap: 17px; }
    .home-footer-links a { font-size: 10px; }
}
@media (max-width: 380px) {
    .home-wrap { width: calc(100% - 28px); }
    .home-hero { padding-inline: 14px; }
    .home-license { padding-inline: 16px; }
    .home-license h2 { font-size: 19px; }
    .home-license-price > strong { font-size: 25px; }
    .home-license-go { font-size: 10px; gap: 6px; }
    .home-app h3 { font-size: 10px; }
    .home-app { gap: 8px; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .home-app, .home-license, .home-discover { transition: none; }
    .home-app:hover { transform: none; }
}
