/* Delta identity layer. The captured section layout remains in template.css. */
:root {
  --delta-dark: #0b0f16;
  --delta-blue: #2164ae;
  --delta-tint: #f0f4f9;
  --delta-accent: #37bfff;
}
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; color: #364357; }
a, button, input, textarea { font-family: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #37bfff; outline-offset: 5px;
}
.skip-link { position: absolute; left: 12px; top: -80px; z-index: 100; background: #fff; padding: 12px; }
.skip-link:focus { top: 10px; }
/* A dark game-inspired masthead with the same restrained blue as the recorded UI. */
.delta-header { background: #0b0f16; color: #fff; position: relative; z-index: 20; border-bottom: 1px solid #253043; }
.delta-nav { max-width: 1200px; margin: auto; min-height: 80px; padding: 15px 25px; box-sizing: border-box; display: flex; align-items: center; gap: 24px; }
.delta-brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; white-space: nowrap; }
.delta-brand:hover { color: #fff; }
.delta-brand img { border: 1px solid #38495c; border-radius: 10px; display: block; object-fit: cover; box-shadow: 0 0 0 4px #ffffff05; }
.delta-brand span { font-weight: 700; letter-spacing: .4px; font-size: 20px; }
.delta-brand b { font-weight: 700; color: #a4b1c4; }
.delta-brand small { font-size: 11px; margin-left: 9px; padding: 4px 7px; background: #173047; border: 1px solid #24577b; color: #65d4ff; border-radius: 4px; vertical-align: middle; }
.desktop-links { display: flex; gap: 28px; margin-left: auto; }
.desktop-links a { font-size: 13px; font-weight: 700; color: #bdc8d9; text-decoration: none; text-transform: uppercase; letter-spacing: .4px; padding: 10px 0; }
.desktop-links a:hover { color: #58d1ff; }
.nav-actions { display: none; }
.nav-toggle { border: 1px solid #344158; border-radius: 6px; background: #172031; color: #eef5ff; padding: 10px 12px; align-items: center; gap: 9px; font-size: 13px; display: flex; }
.delta-header nav[hidden] { display: none; }
#mobile-menu { background: #111a27; padding: 10px 25px 20px; border-top: 1px solid #253043; }
#mobile-menu a { display: block; color: #d2ddeb; padding: 12px 0; text-decoration: none; }
.delta-footer { background: #0b0f16; color: #9eadc1; padding: 32px 24px; text-align: center; font-size: 14px; border-top: 1px solid #253043; }
.delta-footer nav { display: flex; gap: 22px; flex-wrap: wrap; justify-content: center; }
.delta-footer a { color: #b7c5d8; text-decoration: none; }
.delta-footer a:hover { color: #65d4ff; }
.delta-footer p { margin: 20px 0 0; font-size: 13px; }
/* Keep the reference split hero; change the atmosphere and brand treatments. */
.gb-container-b40b5542 {
  background-color: #101722;
  background-image: radial-gradient(ellipse at 80% 45%, #1266ad25, transparent 50%), linear-gradient(#9ac9ff04 1px, transparent 1px), linear-gradient(90deg, #9ac9ff04 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
  border-bottom: 1px solid #253043;
}
.gb-container-b40b5542 h1 { color: #f3f7ff; font-weight: 700; letter-spacing: -1.3px; }
.gb-container-b40b5542 p { color: #bfcbdb; }
.hero-eyebrow { color: #58cfff!important; font-size: 12px!important; font-weight: 700; letter-spacing: 2px; margin-bottom: 20px!important; }
.gb-container-b40b5542 img { border-radius: 12px; border: 1px solid #27374d; box-shadow: 0 24px 70px #0004; }
.delta-mark { color: #58cfff!important; display: inline-flex; border: 1px solid #36516a; background: #10283b; border-radius: 10px; width: 44px; height: 44px; align-items: center; justify-content: center; font-size: 26px; text-decoration: none; }
.gb-container-c03ba735, .gb-container-f3a69007 { background-color: #f0f4f9; }
.site-main h2, .site-main h3, .site-main h4, .site-main h5 { color: #183b66; }
.gb-headline-fbe69204, .gb-headline-1e35ac1b, .gb-headline-863952d1 { background: #dce9f8!important; color: #265687!important; border-radius: 6px!important; letter-spacing: .6px; }
.gb-headline-96641c81, .gb-headline-b06ea5e0, .gb-headline-bc425b4b, .gb-headline-68286f31, .gb-container-505cad48 h3 { background: #edf3fb!important; color: #234c7b; border-left: 3px solid #398cda; }
#how-it-works .gb-grid-wrapper .gb-headline, #how-it-works .gb-grid-wrapper .gb-headline-text, #how-it-works .gb-grid-wrapper .gb-icon { color: #fff!important; }
#how-it-works .gb-grid-wrapper .gb-headline { background: #233c5b; border: 1px solid #3e5b7c; border-radius: 6px; }
.gb-container-14cd6d94 img { border-radius: 24px; width: 274px; height: 274px; border: 1px solid #ced9e7; box-shadow: 12px 12px 0 #dce6f2; }
#features > .gb-grid-wrapper h3 { font-size: 23px; margin-top: 24px; margin-bottom: 12px; }
#features > .gb-grid-wrapper p { font-size: 16px; line-height: 1.75; color: #46546a; }
#features > .gb-grid-wrapper > .gb-grid-column > .gb-container { border: 1px solid #e0e7f0; border-radius: 12px; padding: 30px 24px; height: 100%; background: #fff; box-shadow: 0 8px 22px #182e4f06; }
#features > .gb-grid-wrapper { align-items: stretch; margin-bottom: 32px; }
#features .wp-block-image img { width: 150px!important; }
.workspace-notes { max-width: 950px; margin: 30px auto 0; text-align: left; padding: 26px 28px; background: #f5f8fc; border-radius: 10px; }
.workspace-notes h3 { font-size: 22px; margin-bottom: 12px; }
.workspace-notes p { font-size: 17px; line-height: 1.8; margin: 0; }
/* Direct frame pixels stay inline; all six screenshots are visible. */
.gallery-intro { max-width: 750px; padding: 0 24px; margin: -10px auto 32px; text-align: center; color: #627186; font-size: 16px; }
.screenshot-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; max-width: 1200px; margin: auto; padding: 0 30px; box-sizing: border-box; }
.screenshot-card { margin: 0; background: #111926; border: 1px solid #29374c; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 25px #152b4b10; }
.screenshot-card img { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: contain; background: #111926; }
/* The original download-banner slot, now matched to the dark masthead. */
#download { background: #101a29; border-block: 1px solid #263c57; }
#download .wp-block-cover__image-background { background-image: radial-gradient(ellipse at 50% 0%, #1e5e9a60, transparent 70%)!important; }
#download .wp-block-cover__background { background: #101a29!important; opacity: .65; }
#download .wp-block-group__inner-container > p:first-child { color: #eff7ff!important; font-size: 32px!important; line-height: 1.25!important; letter-spacing: -.5px!important; }
#download .wp-block-cover__inner-container button { border: 1px solid #405675; border-radius: 9px; background: #24374e; color: #a9bed6; font-size: 17px; font-weight: 700; letter-spacing: .3px; padding: 22px 34px; }
.download-note { max-width: 750px; font-size: 15px; line-height: 1.75; color: #b9c9dd!important; text-align: center; margin: 25px auto 0!important; }
/* Expanded copy stays within the reference installation section. */
#installation { max-width: 1200px; padding: 70px 40px; box-sizing: border-box; margin: auto; }
#installation > h2 { max-width: 900px; margin: 0 auto 22px; line-height: 1.3; }
#installation > p { text-align: center; max-width: 850px; margin: 0 auto 35px; }
#installation > h3 { font-size: 25px; margin-top: 42px; margin-bottom: 20px; }
.install-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.method-card { background: #f2f6fc; border: 1px solid #dbe5f2; padding: 26px; border-radius: 10px; }
.method-card h3 { font-size: 22px; line-height: 1.4; margin-bottom: 15px; }
.method-card p { margin: 0; font-size: 17px; line-height: 1.8; }
.table-wrap { overflow-x: auto; border: 1px solid #d8e3ef; border-radius: 10px; }
.requirements-table { width: 100%; border-collapse: collapse; border: 0; font-size: 16px; margin: 0; }
.requirements-table caption { text-align: left; background: #e8f0fa; padding: 15px 20px; font-weight: 700; color: #284f7d; }
.requirements-table th, .requirements-table td { padding: 15px 20px; border: 0; border-bottom: 1px solid #e1e9f3; text-align: left; vertical-align: top; }
.requirements-table thead th { background: #173554; color: white; }
.requirements-table tbody th { width: 24%; background: #f6f9fc; color: #294666; }
.requirements-table tr:last-child th, .requirements-table tr:last-child td { border-bottom: 0; }
.installation-steps { margin: 0; padding-left: 27px; }
.installation-steps li { padding-left: 8px; margin-bottom: 20px; line-height: 1.85; }
.installation-steps li::marker { color: #2776bf; font-weight: 700; }
.troubleshooting { display: grid; gap: 0; border: 1px solid #dce5ef; border-radius: 10px; padding: 5px 26px; }
.troubleshooting > div { padding: 23px 0; border-bottom: 1px solid #e0e8f2; }
.troubleshooting > div:last-child { border-bottom: 0; }
.troubleshooting h4 { margin-bottom: 10px; font-size: 20px; }
.troubleshooting p { margin: 0; line-height: 1.8; }
.utility-page { max-width: 860px; padding: 80px 30px 100px; min-height: 55vh; margin: auto; }
.utility-page h1 { font-size: 42px; color: #183b66; margin: 22px 0 32px; }
.utility-page p { font-size: 17px; line-height: 1.8; }
.section-label { display: inline-block; padding: 8px 18px; background: #e7f0fb; color: #265687; border-radius: 6px; font-size: 13px; font-weight: 700; }
.contact-form { max-width: 620px; display: grid; gap: 20px; margin-top: 35px; }
.contact-form label { display: grid; gap: 8px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #bdc9d8; border-radius: 8px; background: white; padding: 12px; font-size: 17px; }
.contact-form button, .utility-button { border: 0; border-radius: 8px; padding: 15px 25px; background: #245d99; color: #fff; display: inline-block; text-decoration: none; }
.contact-form button:disabled { opacity: .65; }
.contact-form p { font-size: 14px; margin: 0; }
@media (max-width: 1024px) {
  .desktop-links { display: none; }
  .nav-actions { display: block; margin-left: auto; }
}
@media (max-width: 767px) {
  .screenshot-gallery { grid-template-columns: 1fr; padding: 0 24px; gap: 20px; }
  .install-methods { grid-template-columns: 1fr; }
  #installation { padding: 55px 24px; }
  #installation > h3 { font-size: 23px; }
  .requirements-table th, .requirements-table td { padding: 13px 14px; }
  .requirements-table tbody th { width: 30%; }
  .workspace-notes { padding: 23px; }
}
@media (max-width: 600px) {
  .delta-brand span { font-size: 15px; }
  .delta-brand img { width: 34px; height: 34px; }
  .delta-brand { gap: 9px; }
  .delta-brand small { margin-left: 5px; padding: 3px 5px; font-size: 10px; }
  .delta-nav { gap: 12px; padding: 15px 18px; min-height: 74px; }
  .nav-toggle { padding: 8px 10px; font-size: 11px; }
  .gb-container-bbb0e597 { padding-left: 24px; padding-right: 24px; }
  .gb-container-8fe93fb3 h1 { font-size: 36px; }
  .utility-page h1 { font-size: 34px; }
  #download .wp-block-cover__inner-container button { font-size: 14px; padding: 20px 22px; }
  #download .wp-block-group__inner-container > p:first-child { font-size: 27px!important; }
  .hero-eyebrow { font-size: 10px!important; letter-spacing: 1.4px; }
  .method-card { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Preserve component geometry after correcting the heading hierarchy. */
.gb-headline-fbe69204, .gb-headline-1e35ac1b {
  display: table; width: auto; font-size: 13px; line-height: 1.5; font-weight: 700;
  text-transform: uppercase; padding: 10px 20px; margin: 0 auto 24px;
}
#features > h2 { font-size: 32px; line-height: 1.3; text-align: center; margin: 0 0 22px; }
#how-it-works .gb-container-f8cdfb46 > h2 { font-size: 30px; line-height: 1.35; }
#how-it-works .gb-grid-wrapper .gb-headline {
  display: flex; align-items: center; gap: 10px; padding: 12px 16px;
  font-size: 15px; line-height: 1.4; font-weight: 700; margin: 0;
}
#how-it-works .gb-grid-wrapper .gb-icon svg,
#features > .wp-block-columns .gb-icon svg { width: 18px; height: 18px; }
#features > .wp-block-columns p.gb-headline {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px;
  font-size: 16px; line-height: 1.5; font-weight: 700; margin-bottom: 16px;
}
@media (max-width: 600px) { #features > h2 { font-size: 28px; } }

/* App-only images share a 2:1 screen ratio; show the whole screen. */
.screenshot-card img { aspect-ratio: 2 / 1; object-fit: contain; }
/* User-supplied article, using the established colors and content width. */
.provided-section { max-width: 1200px; margin: 0 auto; padding: 64px 40px; box-sizing: border-box; font-size: 17px; line-height: 1.85; }
.provided-section > h2 { font-size: 32px; line-height: 1.35; text-align: center; max-width: 950px; margin: 0 auto 28px; color: #183b66; }
.provided-section > h3 { font-size: 23px; line-height: 1.4; margin: 32px 0 15px; }
.provided-section > p { margin-bottom: 22px; }
.provided-section > p:last-child { margin-bottom: 0; }
.provided-section ol { padding-left: 28px; margin: 20px 0; }
.provided-section li { padding-left: 7px; margin-bottom: 12px; }
.provided-section li::marker { color: #2776bf; font-weight: 700; }
.app-information { padding-top: 30px; padding-bottom: 0; }
.app-information > p { text-align: center; }
#features > .gb-grid-wrapper { row-gap: 30px; }
#features > .gb-grid-wrapper p:last-child { margin-bottom: 0; }
#installation .method-card ol { padding-left: 23px; margin: 20px 0; }
#installation .method-card li { font-size: 16px; line-height: 1.8; margin-bottom: 12px; }
#installation .method-card p { margin-bottom: 18px; }
#installation .method-card p:last-child { margin-bottom: 0; }
#delta-key, #problems-and-fixes { background: #f3f7fc; border: 1px solid #e1e9f3; border-radius: 12px; margin-top: 15px; margin-bottom: 15px; }
#ios-vs-android .table-wrap { margin: 28px 0; }
.provided-section#final-words { max-width: 1000px; }
#home h1 { text-wrap: balance; }
@media(max-width: 767px) {
  .provided-section { padding: 48px 24px; }
  .provided-section > h2 { font-size: 28px; }
  .app-information { padding-top: 28px; padding-bottom: 0; }
  #delta-key, #problems-and-fixes { border-radius: 0; border-left: 0; border-right: 0; }
  #ios-vs-android .requirements-table { min-width: 580px; }
}
/* Swipeable screenshot carousel: two screens on desktop, one on mobile. */
.screenshot-carousel { max-width: 1200px; padding: 0 30px; box-sizing: border-box; margin: auto; }
.screenshot-carousel .screenshot-gallery {
  display: flex; gap: 24px; overflow-x: auto; max-width: none; margin: 0;
  padding: 0 0 12px; scroll-snap-type: x mandatory; scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.screenshot-carousel .screenshot-gallery::-webkit-scrollbar { display: none; }
.screenshot-carousel .screenshot-card { flex: 0 0 calc((100% - 24px) / 2); min-width: 0; scroll-snap-align: start; }
.carousel-controls { display: flex; justify-content: center; align-items: center; gap: 14px; padding-top: 18px; }
.carousel-controls button { border: 1px solid #cad7e8; background: #f0f5fc; color: #244e7d; border-radius: 8px; min-width: 40px; min-height: 40px; padding: 7px 12px; line-height: 1; }
.carousel-controls button:hover { background: #dceafb; }
.carousel-dots { display: flex; align-items: center; gap: 7px; }
.carousel-dots button { min-width: 9px; width: 9px; min-height: 9px; height: 9px; border: 0; border-radius: 50%; padding: 0; background: #bdccdf; }
.carousel-dots button[aria-current="true"] { background: #277ec8; box-shadow: 0 0 0 3px #e1eefb; }
@media(max-width: 767px) {
  .screenshot-carousel { padding: 0 24px; }
  .screenshot-carousel .screenshot-card { flex-basis: 100%; }
  .carousel-controls { gap: 11px; }
}
/* Tutorial figures remain inline next to the matching instruction. */
.step-visual { display: block; max-width: 840px; margin: 24px auto 30px; padding: 0; }
.step-visual img { display: block; width: 100%; height: auto; box-sizing: border-box; border: 1px solid #ccd9e9; border-radius: 10px; background: #121722; box-shadow: 0 5px 18px #122a4810; }
.method-card .step-visual { margin: 22px 0; max-width: none; }
.step-visual--key-verification { max-width: 550px; }
#installation .method-card li:has(.step-visual) { margin-bottom: 24px; }
@media(max-width: 767px) { .step-visual { margin: 22px 0 28px; } }
/* Focused hero: product name, two install controls and the app editor. */
#home .gb-container-bbb0e597 { align-items: center; min-height: 570px; padding: 70px 40px; box-sizing: border-box; gap: 50px; }
#home .gb-container-8fe93fb3 { flex: 1; width: auto; min-width: 0; }
#home h1 { font-size: 50px; line-height: 1.15; letter-spacing: -1.4px; margin: 0; }
#home .gb-container-1a040876 { flex: 1; width: auto; display: flex; align-items: center; justify-content: center; }
#home .gb-container-1a040876 figure { width: 100%; max-width: 460px; margin: 0; }
#home .gb-container-1a040876 img { width: 100%!important; height: auto; max-width: 460px; border-color: #2e4968; box-shadow: 0 18px 55px #0005, 0 0 50px #177fc010; }
.hero-actions { display: flex; flex-direction: column; gap: 14px; width: 100%; max-width: 360px; margin-top: 34px; }
.hero-action { display: flex; justify-content: center; align-items: center; box-sizing: border-box; min-height: 58px; width: 100%; padding: 16px 23px; border-radius: 9px; font-size: 16px; line-height: 1.4; font-weight: 700; text-align: center; text-decoration: none; }
.hero-action--primary { color: #fff; background: linear-gradient(135deg,#159de8,#2768df); border: 1px solid #59baff; box-shadow: 0 6px 22px #078ff022; }
.hero-action--secondary { color: #e0edff; background: #132238; border: 1px solid #3d5a7e; }
.hero-action:disabled { opacity: 1; cursor: not-allowed; }
.hero-action--primary:hover { color: #fff; }
.hero-action--secondary:hover { color: #e0edff; }
@media(max-width:1024px) {
  #home .gb-container-bbb0e597 { min-height: auto; padding: 50px 30px 60px; gap: 36px; }
  #home .gb-container-8fe93fb3 { width: 100%; flex: none; text-align: center; }
  #home .gb-container-1a040876 { width: 100%; flex: none; }
  .hero-actions { margin-left: auto; margin-right: auto; }
}
@media(max-width:600px) {
  #home .gb-container-bbb0e597 { padding: 38px 24px 48px; gap: 30px; }
  #home h1 { font-size: 36px; }
  #home .gb-container-1a040876 figure { max-width: 330px; }
  .hero-actions { max-width: 330px; margin-top: 25px; }
  .hero-action { font-size: 15px; min-height: 55px; }
}
@media(max-width:1024px) {
  #home .gb-container-bbb0e597 { padding: 42px 30px; gap: 28px; }
  #home .gb-container-1a040876 figure { max-width: 300px; }
  #home h1 { font-size: 44px; }
  .hero-actions { margin-top: 26px; gap: 12px; }
  .hero-action { min-height: 54px; }
}
@media(max-width:600px) {
  #home .gb-container-bbb0e597 { padding: 32px 24px 36px; gap: 24px; }
  #home .gb-container-1a040876 figure { max-width: 280px; }
  #home h1 { font-size: 36px; }
}

#home .hero-tagline { color: #b9c9df; font-size: 18px; line-height: 1.65; margin: 18px 0 0; max-width: 430px; }
@media(max-width:1024px) { #home .hero-tagline { margin-left: auto; margin-right: auto; } }
@media(max-width:600px) { #home .hero-tagline { font-size: 16px; margin-top: 14px; } }
/* Locally hosted Font Awesome Sharp and Sharp Duotone SVGs. */
.ui-icon { display: inline-block; width: 1em; height: 1em; vertical-align: middle; flex-shrink: 0; }
#features .wp-block-image img.feature-icon { width: 96px!important; height: 96px; object-fit: contain; }
.nav-toggle .ui-icon { filter: brightness(0) invert(1); }
.carousel-controls .ui-icon { width: 18px; height: 18px; }
.hero-action .ui-icon { width: 19px; height: 19px; margin-right: 10px; filter: brightness(0) invert(1); }
.contact-form button { justify-self: start; background: #2164ae; color: white; border: 0; border-radius: 8px; padding: 14px 24px; font-size: 16px; font-weight: 700; }
.contact-form button:hover { background: #184d89; }
.contact-status { padding: 15px 18px; border-radius: 8px; background: #e6f4ed; color: #205d42; }
.contact-status[hidden] { display: none; }

/* Keep the text and install controls above the image on narrow screens. */
@media(max-width:767px) {
  #home .gb-container-bbb0e597 { flex-direction: column; }
}
/* Discord uses the same section-based landing architecture as the homepage. */
:is(.discord-landing,.ipa-landing,.key-landing) .landing-shell { max-width:1200px; margin:auto; padding:0 40px; box-sizing:border-box; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-section { padding:70px 0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-tint { background:#f0f4f9; }
:is(.discord-landing,.ipa-landing,.key-landing) h2 { color:#183b66; font-size:32px; line-height:1.3; max-width:930px; margin:0 auto 25px; text-align:center; text-wrap:balance; }
:is(.discord-landing,.ipa-landing,.key-landing) h3 { color:#234c7b; font-size:23px; line-height:1.4; margin:0 0 15px; }
:is(.discord-landing,.ipa-landing,.key-landing) p,:is(.discord-landing,.ipa-landing,.key-landing) li { font-size:17px; line-height:1.8; }
:is(.discord-landing,.ipa-landing,.key-landing) p { margin:0 0 18px; }
:is(.discord-landing,.ipa-landing,.key-landing) li { margin-bottom:13px; padding-left:6px; }
:is(.discord-landing,.ipa-landing,.key-landing) li::marker { color:#2776bf; font-weight:700; }
:is(.discord-landing,.ipa-landing,.key-landing) ul,:is(.discord-landing,.ipa-landing,.key-landing) ol { padding-left:26px; margin:0 0 22px; }
:is(.discord-landing,.ipa-landing,.key-landing) a { overflow-wrap:anywhere; }
:is(.discord-landing,.ipa-landing,.key-landing) .section-label { display:table; margin:0 auto 25px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero { padding:65px 0; border-bottom:1px solid #253043; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:55px; min-height:450px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero h1 { color:#f3f7ff; font-size:43px; line-height:1.17; letter-spacing:-1.2px; margin:0 0 24px; text-wrap:balance; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero p { color:#bfcbdb; font-size:17px; }
:is(.discord-landing,.ipa-landing,.key-landing) :is(.discord-cta,.ipa-cta) { max-width:350px; margin:28px 0 18px; background:linear-gradient(135deg,#159de8,#2768df); }
:is(.discord-landing,.ipa-landing,.key-landing) :is(.discord-cta,.ipa-cta) .ui-icon { filter:brightness(0) invert(1); }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-invite-url { font-size:13px; line-height:1.8; margin:0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-invite-url strong { display:block; color:#b3c5de; font-size:12px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-invite-url a { color:#83d7ff; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-visual { margin:30px auto 0; max-width:1103px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-visual img { display:block; width:100%; height:auto; border:1px solid #293b54; border-radius:12px; box-shadow:0 12px 32px #152b4b14; box-sizing:border-box; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero .landing-visual { margin:0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-image { min-width:0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-image img { box-shadow:0 20px 60px #0005; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:center; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro h2 { text-align:left; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro .section-label { margin-left:0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-side { padding:30px; border:1px solid #dce5f1; background:#f7f9fc; border-radius:12px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-side>img { display:block; width:150px; height:150px; border-radius:20px; margin:0 auto 28px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-side p { font-size:16px; }
:is(.discord-landing,.ipa-landing,.key-landing) .table-wrap { margin-top:25px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-screens { text-align:center; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-screens .landing-shell { margin-bottom:32px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-steps-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin:30px 0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-steps-grid .landing-visual { margin:0; max-width:500px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:26px; margin-top:35px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature { grid-column:span 2; padding:30px 26px; border:1px solid #e0e7f0; border-radius:12px; box-shadow:0 8px 22px #182e4f06; background:white; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature:nth-child(n+4) { grid-column:span 3; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature>img { display:block; width:72px; height:72px; object-fit:contain; margin:0 auto 25px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature h3 { text-align:center; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature p { font-size:16px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature p:last-child { margin-bottom:0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-fix-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-fix { padding:28px; border:1px solid #dce5f1; border-left:3px solid #398cda; background:#f6f9fd; border-radius:10px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-fix p:last-child { margin-bottom:0; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-faq .landing-shell { max-width:1000px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-faq h3 { background:#edf3fb; border-left:3px solid #398cda; border-radius:5px; padding:17px 22px; font-size:21px; margin:26px 0 16px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-final { background:#101a29; color:#b9c9dd; border-top:1px solid #263c57; text-align:center; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-final .landing-shell { max-width:1000px; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-final h2 { color:#eff7ff; }
:is(.discord-landing,.ipa-landing,.key-landing) .landing-final :is(.discord-cta,.ipa-cta) { margin:28px auto 0; }
@media(max-width:1024px) {
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-grid { gap:30px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero h1 { font-size:36px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-grid { gap:30px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-feature-grid { grid-template-columns:1fr 1fr; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-feature,:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature:nth-child(n+4) { grid-column:span 1; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-feature:last-child { grid-column:1/-1; }
}
@media(max-width:767px) {
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-shell { padding:0 24px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-section { padding:45px 0; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero { padding:35px 0 42px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-grid,:is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-grid,:is(.discord-landing,.ipa-landing,.key-landing) .landing-steps-grid { grid-template-columns:1fr; gap:28px; min-height:0; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero h1 { font-size:32px; letter-spacing:-.7px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-copy { text-align:center; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero p { font-size:16px; }
 :is(.discord-landing,.ipa-landing,.key-landing) :is(.discord-cta,.ipa-cta) { margin-left:auto; margin-right:auto; font-size:15px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-hero-image { max-width:420px; margin:auto; width:100%; }
 :is(.discord-landing,.ipa-landing,.key-landing) h2 { font-size:27px; }
 :is(.discord-landing,.ipa-landing,.key-landing) h3 { font-size:22px; }
 :is(.discord-landing,.ipa-landing,.key-landing) p,:is(.discord-landing,.ipa-landing,.key-landing) li { font-size:16px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-intro h2 { text-align:center; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-intro .section-label { margin-left:auto; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-intro-side { padding:25px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-feature-grid,:is(.discord-landing,.ipa-landing,.key-landing) .landing-fix-grid { grid-template-columns:1fr; gap:20px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-feature,:is(.discord-landing,.ipa-landing,.key-landing) .landing-feature:nth-child(n+4) { grid-column:auto; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-feature { padding:28px 24px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .requirements-table { font-size:14px; }
 :is(.discord-landing,.ipa-landing,.key-landing) .requirements-table th,:is(.discord-landing,.ipa-landing,.key-landing) .requirements-table td { padding:13px 12px; overflow-wrap:anywhere; }
 :is(.discord-landing,.ipa-landing,.key-landing) .requirements-table tbody th { width:35%; }
 :is(.discord-landing,.ipa-landing,.key-landing) .landing-faq h3 { font-size:19px; padding:15px 18px; }
}

.ipa-landing .landing-hero-image { max-width:420px; margin:auto; }
.ipa-landing .ipa-package-note { font-size:13px; color:#b3c5de; }
.ipa-landing .landing-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ipa-landing .landing-feature,.ipa-landing .landing-feature:nth-child(n+4),.ipa-landing .landing-feature:last-child { grid-column:auto; }
.ipa-method-list { margin-top:35px; display:grid; gap:30px; }
.ipa-method { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; padding:32px; border:1px solid #dce5f1; border-radius:12px; background:#f4f7fc; align-items:center; }
.ipa-method .landing-visual { margin:0 auto; }
.ipa-method .landing-visual--altstore { max-width:280px; }
.ipa-landing .landing-fix:last-child { grid-column:1/-1; }
#download .download-live { display:inline-block; border:1px solid #59baff; border-radius:9px; background:linear-gradient(135deg,#159de8,#2768df); color:white; padding:22px 34px; font-size:17px; font-weight:700; text-decoration:none; }
@media(max-width:1024px) { .ipa-landing .landing-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .ipa-landing .landing-feature-grid,.ipa-method { grid-template-columns:1fr; } .ipa-method { padding:25px 20px; gap:25px; } .ipa-landing .landing-hero-image { max-width:280px; } }

.key-landing .landing-hero-image { width:240px; margin:auto; }
.key-landing .landing-hero .landing-visual { max-width:240px; }
.key-process-summary { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:30px; color:#abd8fb; font-size:14px; font-weight:700; }
.key-process-summary span { background:#15283e; border:1px solid #2e4968; border-radius:6px; padding:9px 13px; }
.key-step-list { display:grid; gap:28px; margin-top:35px; }
.key-step-pair { display:grid; grid-template-columns:1.3fr 1fr; gap:45px; align-items:center; border:1px solid #dce5f1; border-radius:12px; background:#f4f7fc; padding:34px; }
.key-step-pair h3:not(:first-child) { margin-top:32px; }
.key-step-pair .landing-visual { margin:0 auto; }
.key-step-pair .landing-visual--receive { max-width:200px; }
.key-platform-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:30px; }
.key-platform-grid .landing-feature { grid-column:auto; }
.key-landing .screenshot-card img { aspect-ratio:1.5; }
@media(max-width:767px) {
 .key-landing .landing-hero-image,.key-landing .landing-hero .landing-visual { width:220px; max-width:220px; }
 .key-process-summary { justify-content:center; gap:8px; }
 .key-process-summary span { padding:8px 9px; font-size:13px; }
 .key-step-pair,.key-platform-grid { grid-template-columns:1fr; gap:25px; }
 .key-step-pair { padding:25px 20px; }
}

.key-process-summary .ui-icon { border:0; border-radius:0; box-shadow:none; }

.nav-toggle:hover,.nav-toggle:focus { background:#1e3652; color:#eef5ff; border-color:#45678e; }

/* Conclusions grow with their text and remain full-width above the footer. */
:is(.discord-landing,.ipa-landing,.key-landing) > #final-words { width:100%; max-width:none; height:auto; max-height:none; overflow:visible; box-sizing:border-box; margin:0; }
:is(.discord-landing,.ipa-landing,.key-landing) > #final-words .landing-shell { width:100%; height:auto; max-height:none; overflow:visible; box-sizing:border-box; }
.provided-section#final-words { height:auto; max-height:none; overflow:visible; }

.ipa-landing .ipa-direct { max-width:350px; margin:0 0 18px; }
@media(max-width:767px) { .ipa-landing .ipa-direct { margin-left:auto; margin-right:auto; } }

#home a.hero-action--primary,#home a.hero-action--primary:visited { color:#fff; }
#home a.hero-action--secondary,#home a.hero-action--secondary:visited { color:#e0edff; }

#download .download-actions { display:flex; flex-direction:column; gap:14px; width:100%; max-width:370px; margin:0 auto; }
#download .download-actions .download-live { width:100%; box-sizing:border-box; text-align:center; }
#download .download-actions .download-ipa { background:#132238; border-color:#3d5a7e; color:#e0edff; }
