/*
  Gesta marketing site — pricing.html page styles.
  Shared by every language copy of this page; edit here, not in the page.
*/

  /* hero */
  .hero{padding:84px 0 20px;position:relative}
  .hero::before{content:"";position:absolute;inset:-60px -400px 0;
    background:radial-gradient(52% 46% at 40% 0%, hsl(0 0% 100% / .05), transparent 70%);pointer-events:none}
  h1.head{font-size:clamp(38px,5.6vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.02;margin:24px 0 0;max-width:20ch}
  h1.head .dim{color:var(--faint)}
  .sub{color:var(--muted);font-size:clamp(16px,2vw,18px);max-width:58ch;margin:24px 0 0}
  .sub b{color:var(--fg);font-weight:500}

  /* three plan cards */
  /* Cards share one set of row tracks — name, price, description, features,
     button — so the rows line up across cards no matter how long any one
     card's copy runs. Without this, a three-line description in one card
     pushes its feature list below the others'. */
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px;
         grid-template-rows:auto auto auto 1fr auto}
  @media(max-width:900px){.plans{grid-template-columns:1fr;max-width:460px;grid-template-rows:none}}
  .plan{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:28px 26px 26px;
        display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:0}
  /* Browsers without subgrid fall back to the previous flex column. */
  @supports not (grid-template-rows:subgrid){
    .plan{display:flex;flex-direction:column;grid-row:auto}
    .plan .who{min-height:66px}
  }
  @media(max-width:900px){.plan{grid-row:auto}}
  .plan.feature{background:var(--panel-2);border-color:hsl(0 0% 100% / .18)}
  .plan .pname{font-size:19px;font-weight:600;letter-spacing:-.01em}
  .plan .ptag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);
    border:1px solid var(--border-2);border-radius:5px;padding:3px 8px;margin-left:10px;vertical-align:2px}
  .plan .price{display:flex;align-items:flex-end;gap:8px;margin-top:20px}
  .plan .price .n{font-size:42px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
  .plan .price .u{color:var(--muted);font-size:13.5px;padding-bottom:4px;line-height:1.35}
  .plan .who{color:var(--muted);font-size:14.5px;margin:16px 0 0}
  .plan .plist{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--border-2)}
  .plan .plist li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--border-2);font-size:14px;color:var(--fg)}
  .plan .plist li::before{content:"";position:absolute;left:2px;top:18px;width:8px;height:2px;background:var(--faint)}
  .plan .plist li .q{display:block;color:var(--faint);font-size:12px;margin-top:3px}
  .plan .pcta{margin-top:auto;padding-top:24px}
  .btn.full{width:100%;justify-content:center}

  /* the seat note under the cards */
  .seatnote{margin-top:26px;border:1px solid var(--border);border-radius:14px;background:var(--panel);
    padding:20px 24px;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
  .seatnote .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
  .seatnote .v{font-size:16.5px;color:var(--fg);max-width:70ch}
  .seatnote .v b{border-bottom:1px solid var(--fg);font-weight:400}

  /* everything-included band */
  .band{margin-top:64px;padding-top:56px;border-top:1px solid var(--border-2)}
  .mods{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel)}
  @media(max-width:860px){.mods{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.mods{grid-template-columns:1fr}}
  .mod{padding:24px 22px 26px}
  .mod+.mod{border-left:1px solid var(--border-2)}
  @media(max-width:860px){
    .mod:nth-child(3){border-left:none}
    .mod:nth-child(n+3){border-top:1px solid var(--border-2)}
  }
  @media(max-width:520px){
    .mod+.mod{border-left:none;border-top:1px solid var(--border-2)}
  }
  .mod .fn{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
  .mod h3{font-size:16.5px;font-weight:600;margin:14px 0 0;letter-spacing:-.01em}
  .mod p{color:var(--muted);font-size:13.5px;margin:8px 0 0}

  /* faq */
  .faq{margin-top:64px;padding-top:56px;border-top:1px solid var(--border-2)}
  .qs{margin-top:30px;border-top:1px solid var(--border-2)}
  .qa{border-bottom:1px solid var(--border-2);padding:22px 0}
  .qa .q{font-size:16.5px;font-weight:500;color:var(--fg)}
  .qa .a{color:var(--muted);font-size:15px;margin:10px 0 0;max-width:74ch}
  .qa .a b{color:var(--fg);font-weight:500}

  /* closing cta */
  .close{margin-top:72px;padding:60px 0 88px;border-top:1px solid var(--border)}
  .close h2{font-size:clamp(28px,4.2vw,46px);font-weight:700;letter-spacing:-.035em;line-height:1.04;margin:0;max-width:20ch}
  .close p{color:var(--muted);font-size:16px;margin:18px 0 0;max-width:52ch}
