/* Homepage: short copy, real app screens, and a single plan comparison. */
.home { background:#10151d; }
.home .wrap { max-width:1180px; }
.home .header { height:96px; gap:24px; }
.home .header nav { gap:26px; }
.home .header-actions { gap:16px; }
.home .nav-button { background:var(--mint); color:#102421; border:0; font-weight:650; }
.home .nav-button:hover { background:#a2f2df; }
.home .brand { font-size:23px; }
.skip-link { position:absolute; top:8px; left:12px; padding:12px 20px; background:var(--mint); color:#102421; z-index:10; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.home .hero { grid-template-columns:.92fr 1.08fr; min-height:630px; gap:45px; padding:42px 0 58px; }
.home h1 { font-size:clamp(52px,5.4vw,76px); font-weight:600; letter-spacing:-3.6px; margin:20px 0 24px; line-height:1.07; }
.home .lead { font-size:18px; line-height:1.7; max-width:350px; margin:0; }
.home .actions { gap:22px; margin-top:30px; flex-wrap:wrap; }
.home .button { font-size:14px; min-height:48px; padding:13px 20px; border-radius:9px; }
.home .text-link { font-size:13px; }
.home .fine { font-size:11px; margin-top:20px; color:#a7b3bc; }
.app-gallery { margin:0; min-width:0; }
.phones { height:510px; position:relative; isolation:isolate; }
.phones::before { content:''; position:absolute; inset:10% -5% 0; z-index:-1; background:radial-gradient(ellipse,#32645855,transparent 68%); }
.phone { position:absolute; height:auto; border:1px solid #40524f; border-radius:22px; box-shadow:0 24px 42px #0006; background:#10151d; }
.phone-main { width:39%; left:30.5%; top:0; z-index:2; }
.phone-left { width:34%; left:1%; top:52px; transform:rotate(-6deg); }
.phone-right { width:34%; right:1%; top:52px; transform:rotate(6deg); }
.app-gallery figcaption { text-align:center; color:#9eafb6; font-size:10px; margin-top:4px; letter-spacing:.2px; }
.benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:30px 0 34px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.benefits article { display:flex; align-items:flex-start; gap:14px; }
.benefit-icon { width:22px; height:22px; margin-top:4px; color:var(--mint); flex-shrink:0; }
.benefit-icon svg { display:block; width:100%; height:100%; }
.benefits h2 { font-size:16px; font-weight:550; line-height:1.4; letter-spacing:-.3px; margin:0 0 9px; }
.benefits p { font-size:13px; line-height:1.6; color:var(--muted); margin:0; max-width:285px; }
.pro-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; padding:82px 0; }
.pro-intro h2 { font-size:40px; font-weight:500; letter-spacing:-1.6px; line-height:1.16; margin:17px 0 22px; }
.pro-intro>p:not(.eyebrow) { font-size:15px; line-height:1.75; color:var(--muted); max-width:330px; }
.pro-intro .purchase-note { color:var(--text)!important; font-size:13px!important; margin-top:24px; }
.pro-intro .text-link { color:var(--mint); display:inline-block; margin-top:8px; }
.home .plan-comparison { margin:0; border-radius:14px; }
.home .plan-comparison table { font-size:13px; }
.home .plan-comparison .feature-col { width:62%; }
.home .plan-comparison th,.home .plan-comparison td { padding:13px 18px; }
.home .plan-comparison thead th { font-size:14px; vertical-align:middle; }
.home .plan-comparison tbody tr:last-child th,.home .plan-comparison tbody tr:last-child td { border-bottom:0; }
.home .plan-comparison .pro-column { background:#1b302c; }
.home .comparison-icon { width:23px; height:23px; background:transparent; }
.home .comparison-icon svg { width:21px; height:21px; }
.home .comparison-notes { padding:12px 18px; border-top:1px solid var(--line); }
.home .comparison-notes p { font-size:11px; line-height:1.6; margin:4px 0; }
.home .platform-section { padding:60px 0; background:#141e27; border-top:1px solid #233039; border-bottom:1px solid #233039; }
.compact-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.home .section-heading h2,.home .support h2 { font-size:36px; margin:12px 0 0; letter-spacing:-1.3px; }
.compact-heading>p { margin:0; font-size:13px!important; }
.home .platforms { margin-top:32px; gap:18px; }
.home .platforms article { padding:24px; border-radius:12px; background:#111a22; }
.platform-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; margin-bottom:20px; }
.platform-symbol { display:inline-flex; }
.platform-symbol svg { height:25px; width:25px; }
.release-badge { font-size:10px; letter-spacing:.2px; border:1px solid #3c4a54; color:#bdc9cf; padding:4px 9px; border-radius:20px; }
.release-badge.available { color:var(--mint); border-color:#35584d; background:#1b302c; }
.home .platforms h3 { font-size:20px; }
.home .platforms p { font-size:13px; line-height:1.7; margin:12px 0 24px; }
.home .availability { font-size:12px; padding:13px 0; color:#8ea2ad; }
.home .platforms .install-link { font-size:11px; margin-top:12px; }
.platform-footnote { color:#98aab5; font-size:11px; margin:22px 0 0; }
.home .support { padding:72px 0; gap:80px; grid-template-columns:.8fr 1.2fr; }
.home .support>div>p { font-size:14px; }
.home .support .support-email { font-size:16px; overflow-wrap:anywhere; margin-top:8px; }
.home .support .privacy-note { font-size:12px; margin-top:35px; max-width:260px; }
.home .support .privacy-note+.text-link { font-size:12px; margin-top:0; }
.home .faq details { padding:16px 0; }
.home .faq details:first-child { padding-top:0; }
.home .faq summary { font-size:14px; line-height:1.6; padding-right:30px; }
.home .faq details p { font-size:13px; line-height:1.8; max-width:510px; }
.home footer { justify-content:space-between; gap:24px; padding:26px 0; }
.home footer .brand { font-size:20px; }
.home footer>div { display:flex; flex-wrap:wrap; gap:24px; font-size:12px; }
.home .eyebrow { font-size:10px; letter-spacing:1.8px; }
html[lang="pt-PT"] .home h1 { font-size:clamp(45px,4.5vw,63px); letter-spacing:-2.5px; }
html[lang="pt-PT"] .home .pro-intro h2 { font-size:37px; }
@media(min-width:1450px) { .home .hero { min-height:640px; } }
@media(max-width:1100px) {
  .home .header-actions .nav-button { display:none; }
  .home .hero { gap:25px; min-height:560px; }
  .phones { height:450px; }
  .home .pro-section { gap:38px; }
  .home .support { gap:38px; }
  .home .plan-comparison th,.home .plan-comparison td { padding:12px; }
}
@media(max-width:850px) {
  .home .hero { grid-template-columns:1fr; text-align:center; padding:34px 0 32px; gap:36px; }
  .home .hero .eyebrow { justify-content:center; }
  .home h1 { font-size:64px; }
  .home .lead { max-width:440px; margin:auto; }
  .home .actions { justify-content:center; }
  .app-gallery { width:100%; max-width:540px; margin:auto; }
  .phones { height:480px; }
  .benefits { gap:24px; }
  .benefits article { display:block; }
  .benefit-icon { display:block; margin:0 0 14px; }
  .pro-section { grid-template-columns:1fr; padding:54px 0; }
  .pro-intro>p:not(.eyebrow) { max-width:460px; }
  .pro-intro h2 br { display:none; }
  .pro-intro h2 { font-size:36px; }
  .home .platforms { gap:12px; }
  .home .platforms article { padding:18px; }
  .platform-heading { flex-wrap:wrap; }
  .home .platforms h3 { font-size:18px; }
  .home .support { gap:32px; }
}
@media(max-width:600px) {
  .home .wrap { width:calc(100% - 40px); }
  .home .header { height:auto; min-height:112px; padding:18px 0; gap:16px; }
  .home .header .brand { font-size:21px; }
  .home .brand img { width:32px; height:32px; }
  .home .header nav { gap:28px; padding-top:0; font-size:12px; }
  .home .language-switch a { padding:6px 8px; font-size:11px; }
  .home .hero { padding:24px 0 30px; gap:26px; }
  .home h1 { font-size:54px; letter-spacing:-2.6px; margin:18px 0; }
  html[lang="pt-PT"] .home h1 { font-size:44px; }
  .home .lead { font-size:16px; max-width:310px; }
  .home .actions { gap:19px; margin-top:24px; }
  .home .actions .text-link { font-size:12px; }
  .home .fine { font-size:10px; margin-top:18px; }
  .phones { height:auto; aspect-ratio:1.04; max-width:400px; margin:auto; }
  .phone { border-radius:14px; }
  .phone-main { width:42%; left:29%; }
  .phone-left,.phone-right { top:35px; }
  .phone-left { left:2%; }.phone-right { right:2%; }
  .app-gallery figcaption { font-size:9px; }
  .benefits { grid-template-columns:1fr; gap:23px; padding:26px 0; }
  .benefits article { display:flex; gap:17px; }
  .benefit-icon { margin-top:4px; }
  .benefits h2 { font-size:15px; margin-bottom:5px; }
  .benefits p { font-size:12px; max-width:100%; }
  .home .pro-section { padding:44px 0; gap:24px; }
  .home .pro-intro h2,html[lang="pt-PT"] .home .pro-intro h2 { font-size:32px; margin-bottom:16px; }
  .pro-intro>p:not(.eyebrow) { font-size:14px; }
  .pro-intro .purchase-note { margin-top:14px; }
  .home .plan-comparison table { font-size:12px; }
  .home .plan-comparison th,.home .plan-comparison td { padding:11px 9px; }
  .home .plan-comparison .feature-col { width:58%; }
  .home .plan-comparison thead th { font-size:12px; padding:11px 5px; white-space:nowrap; overflow-wrap:normal; }
  .home .comparison-notes { padding:11px; }
  .home .comparison-notes p { font-size:10px; }
  .home .platform-section { padding:42px 0; }
  .compact-heading { display:block; }
  .home .section-heading h2,.home .support h2 { font-size:30px; }
  .compact-heading>p { margin:15px 0 0; }
  .home .platforms { grid-template-columns:1fr; margin-top:25px; gap:14px; }
  .home .platforms article { padding:22px; }
  .platform-heading { margin-bottom:12px; }
  .home .platforms h3 { font-size:21px; }
  .home .platforms p { margin:10px 0 14px; }
  .home .availability { padding:6px 0; }
  .home .support { grid-template-columns:1fr; padding:44px 0; gap:30px; }
  .home .support .privacy-note { margin-top:24px; max-width:100%; }
  .home footer { flex-direction:column; align-items:flex-start; gap:22px; padding:25px 0; }
  .home footer>div { gap:20px; font-size:11px; }
}
