/* Homepage typography and layout. Keep the shared portal/error theme independent. */
.landing-page {
  --font-sans: 'Inter Variable', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.landing-page h1, .landing-page h2, .landing-page h3 {font-family: var(--font-sans); text-wrap: balance;}
.landing-page p {text-wrap: pretty;}
.landing-page .container {width:min(1200px,calc(100% - 80px));}
.landing-page .site-header {height:84px; border-bottom:1px solid #ffffff08;}
.landing-page .brand {font-size:23px;font-weight:550;letter-spacing:-.65px;gap:11px;}
.landing-page .brand-mark {width:33px;height:33px;border-radius:8px;font-weight:700;font-size:23px;box-shadow:0 3px 12px #5544e825;}
.landing-page .main-nav {font-size:13px;font-weight:450;gap:28px;}
.landing-page .main-nav>a:not(.button) {color:#bbb9c8;transition:color .18s;}
.landing-page .main-nav>a:hover:not(.button) {color:white;}
.landing-page .language-switch {padding-left:24px;font-size:12px;}
.landing-page .button {min-height:50px;padding:14px 23px;border-radius:9px;font-weight:550;letter-spacing:-.15px;border:1px solid #8172ff40;box-shadow:0 6px 18px #5544e81a;gap:22px;}
.landing-page .button-dark,.landing-page .button-lime {background:#6554ec;}
.landing-page .button-dark:hover,.landing-page .button-lime:hover {background:#7565f4;box-shadow:0 8px 24px #5544e82e;}
.landing-page .button-small {min-height:42px;padding:10px 17px;font-size:12px;box-shadow:none;}
.landing-page .hero {min-height:670px;padding:58px 0 76px;overflow:hidden;}
.landing-page .hero-grid {grid-template-columns:1.08fr 1fr;gap:64px;}
.landing-page .hero-copy {padding-block:12px;position:relative;z-index:1;}
.landing-page .hero-copy h1 {font-size:clamp(42px,4.65vw,68px);line-height:1.08;font-weight:650;letter-spacing:-2.8px;max-width:650px;}
.landing-page .hero-audience {font-size:clamp(23px,2.15vw,31px);font-weight:450;line-height:1.35;letter-spacing:-.9px;margin-top:19px;color:#bdb1ff;}
.landing-page .hero-description {font-size:17px;line-height:1.8;color:#b5b3c3;max-width:47ch;margin-top:25px;letter-spacing:-.15px;}
.landing-page .hero-actions {margin-top:31px;gap:27px;align-items:center;}
.landing-page .hero-actions .text-link {font-size:13px;font-weight:450;gap:12px;color:#d0cbdc;}
.landing-page .hero-caption {margin-top:27px;font-size:11px;gap:8px;color:#9692a7;}
.landing-page .tiny-shield {width:17px;height:19px;border-color:#6c608b;}
.landing-page .hero-illustration {position:relative;isolation:isolate;}
.landing-page .hero-illustration::before {content:'';position:absolute;inset:12% -4%;z-index:-1;background:radial-gradient(ellipse,#7754b814 0%,transparent 66%);}
.landing-page .hero-illustration img {max-width:485px;max-height:535px;}
.landing-page .eyebrow {font-size:10px;letter-spacing:1.45px;font-weight:550;color:#b1a3e5;}
.landing-page h2 {font-size:clamp(28px,2.7vw,39px);font-weight:580;line-height:1.2;letter-spacing:-1.25px;}
.landing-page h3 {font-weight:570;letter-spacing:-.8px;}
.landing-page .section-heading {align-items:flex-start;gap:60px;margin-bottom:32px;}
.landing-page .section-heading .eyebrow {margin-bottom:13px;}
.landing-page .section-heading>p {font-size:14px;line-height:1.8;max-width:365px;color:#aaa6ba;padding-top:24px;}
.landing-page .directions-section {padding:66px 0 74px;background:#1b1a1e;}
.landing-page .directions-grid {gap:24px;}
.landing-page .direction-card {padding:31px 33px;border:1px solid #ffffff0e;border-radius:17px;background:linear-gradient(145deg,#242229,#211f25);box-shadow:0 8px 30px #0000000a;}
.landing-page .direction-homes {background:linear-gradient(145deg,#292334,#24202d);}
.landing-page .direction-top {margin-bottom:26px;}
.landing-page .direction-top .eyebrow {font-size:9px;letter-spacing:1.15px;color:#aaa1bf;}
.landing-page .focus-icon {width:45px;height:45px;background:#3a2e534d;border-color:#8061ae3d;border-radius:12px;}
.landing-page .focus-icon svg {width:28px;height:28px;}
.landing-page .direction-card h3 {font-size:27px;line-height:1.3;max-width:420px;font-weight:570;letter-spacing:-.85px;}
.landing-page .direction-description {font-size:14px;line-height:1.8;color:#b3aec0;margin-top:17px;margin-bottom:28px;}
.landing-page .direction-category {border-top-color:#ffffff0d;padding-top:17px;font-size:11px;color:#bcb0d9;}
.landing-page .applications-section {padding:70px 0 78px;}
.landing-page .featured-app {border-radius:17px;border-color:#ffffff0d;background:#201f24;}
.landing-page .featured-app-copy {padding:33px 38px;}
.landing-page .featured-app-copy h3 {font-size:30px;font-weight:570;}
.landing-page .featured-app-copy>p {font-size:14px;line-height:1.8;}
.landing-page .featured-app-copy>.text-link {font-size:13px;font-weight:500;border-color:#ffffff12;}
.landing-page .app-art {background:#272033;border-color:#ffffff0a;}
.landing-page .app-icon {width:45px;height:45px;border-radius:12px;}
.landing-page .art-name {font-family:var(--font-sans);font-size:36px;font-weight:600;}
.landing-page .domain-tags span {font-size:10px;border-radius:5px;background:#ffffff04;border-color:#ffffff0c;}
.landing-page .status-pill {font-size:10px;background:#6e549a1a;border-color:#9c75d62b;}
.landing-page .platform-section {padding:70px 0 76px;background:#1b1a1e;}
.landing-page .steps-grid {gap:48px;margin-top:39px;}
.landing-page .step h3 {font-family:var(--font-sans);font-size:17px;font-weight:550;letter-spacing:-.4px;}
.landing-page .step p {font-size:14px;line-height:1.8;color:#aba6ba;}
.landing-page .step-number {width:31px;height:31px;margin-bottom:18px;font-size:10px;background:#6554ec0a;border-color:#8876b750;}
.landing-page .security-section {padding:72px 0;}
.landing-page .security-grid {gap:76px;grid-template-columns:.75fr 1.25fr;}
.landing-page .security-copy {font-size:14px;line-height:1.85;color:#aba6ba;}
.landing-page .security-tags {font-size:10px;gap:13px;color:#b8adca;}
.landing-page .cta-section {padding:44px 0;background:linear-gradient(100deg,#292236,#241f2d);border-color:#ffffff09;}
.landing-page .cta-inner h2 {font-size:30px;line-height:1.25;font-weight:570;letter-spacing:-.9px;}
.landing-page .cta-inner p {font-size:13px;color:#b9b1c7;margin-top:12px;}
.landing-page .footer-inner p {font-size:10px;}
.landing-page .site-footer {padding:28px 0;border-top-color:#ffffff09;}
.landing-page .footer-brand {font-size:20px;}
.landing-page .development-links {font-size:10px;padding-block:17px;gap:20px;}
@media(max-width:1100px){
  .landing-page .hero-grid {gap:30px;}
  .landing-page .hero {min-height:590px;}
  .landing-page .hero-copy h1 {font-size:52px;letter-spacing:-2px;}
  .landing-page .hero-description {font-size:16px;}
  .landing-page .hero-illustration img {max-height:470px;}
  .landing-page .direction-card {padding:28px;}
}
@media(max-width:1000px){
  .landing-page .menu-toggle {display:flex;margin-left:auto;background:none;border:1px solid #514960;width:40px;height:38px;border-radius:9px;flex-direction:column;gap:5px;justify-content:center;align-items:center;cursor:pointer;}
  .landing-page .menu-toggle span {height:1px;width:17px;}
  .landing-page .main-nav {display:none;position:absolute;top:83px;left:0;right:0;background:#202023;padding:25px 40px;border-bottom:1px solid #3d3946;box-shadow:0 15px 25px #0002;align-items:stretch;gap:22px;}
  .landing-page .main-nav.is-open {display:flex;flex-direction:column;}
  .landing-page .language-switch {border:0;padding:0;}
}
@media(max-width:900px){
  .landing-page .hero-grid {grid-template-columns:1fr 1fr;gap:20px;}
  .landing-page .hero-copy h1 {font-size:43px;letter-spacing:-1.7px;}
  .landing-page .hero-audience {font-size:23px;}
  .landing-page .hero-description {font-size:15px;}
  .landing-page .hero-actions {gap:17px;}
  .landing-page .hero-actions .text-link {font-size:12px;}
  .landing-page .section-heading {gap:30px;}
  .landing-page .section-heading>p {max-width:300px;}
  .landing-page .direction-card h3 {font-size:24px;}
}
@media(max-width:760px){
  .landing-page .container {width:calc(100% - 40px);}
  .landing-page .site-header {height:76px;}
  .landing-page .main-nav {top:75px;padding-inline:20px;}
  .landing-page .brand {font-size:21px;}
  .landing-page .brand-mark {width:30px;height:30px;font-size:21px;}
  .landing-page .hero {min-height:0;padding:45px 0 46px;}
  .landing-page .hero-grid {grid-template-columns:1fr;gap:27px;}
  .landing-page .hero-copy {padding:0;}
  .landing-page .hero-copy h1 {font-size:clamp(34px,8.6vw,48px);line-height:1.12;letter-spacing:-1.8px;}
  .landing-page .hero-audience {font-size:23px;line-height:1.4;letter-spacing:-.6px;margin-top:13px;}
  .landing-page .hero-description {font-size:15px;line-height:1.8;margin-top:21px;max-width:44ch;}
  .landing-page .hero-actions {gap:20px;margin-top:26px;}
  .landing-page .hero-actions .text-link {font-size:12px;}
  .landing-page .hero-caption {margin-top:20px;font-size:10px;}
  .landing-page .hero-illustration img {max-width:315px;max-height:355px;}
  .landing-page h2 {font-size:28px;letter-spacing:-1px;}
  .landing-page .section-heading {display:block;margin-bottom:27px;}
  .landing-page .section-heading>p {max-width:100%;padding:0;margin-top:16px;font-size:13px;line-height:1.8;}
  .landing-page .directions-section,.landing-page .applications-section,.landing-page .platform-section {padding:45px 0 50px;}
  .landing-page .directions-grid {gap:16px;}
  .landing-page .direction-card {padding:25px;border-radius:15px;}
  .landing-page .direction-card h3 {font-size:25px;letter-spacing:-.7px;}
  .landing-page .direction-description {font-size:13px;line-height:1.8;}
  .landing-page .direction-top {margin-bottom:23px;}
  .landing-page .featured-app {border-radius:15px;}
  .landing-page .featured-app-copy {padding:26px;}
  .landing-page .featured-app-copy h3 {font-size:27px;}
  .landing-page .featured-app-copy>p {font-size:13px;}
  .landing-page .steps-grid {gap:28px;margin-top:30px;}
  .landing-page .step-number {margin:0;}
  .landing-page .step p {font-size:13px;}
  .landing-page .security-section {padding:38px 0 48px;}
  .landing-page .security-grid {grid-template-columns:1fr;gap:26px;}
  .landing-page .security-copy {font-size:13px;line-height:1.8;}
  .landing-page .cta-section {padding:34px 0;}
  .landing-page .cta-inner {gap:24px;}
  .landing-page .cta-inner h2 {font-size:26px;}
  .landing-page .development-links {flex-wrap:wrap;gap:11px;}
}
