
  /* ================= MOBILE ================= */
  .nav-burger{display:none;}
  @media (max-width: 860px){
    .nav-links{display:none !important;}
    .nav-wrap{width:auto !important;max-width:none !important;margin:0 16px !important;
      transition:opacity .16s ease, transform .35s cubic-bezier(.22,1,.36,1),
        background .35s ease, box-shadow .35s ease;}
    .nav-wrap.nav-hidden{opacity:0;pointer-events:none;}
    .nav-wrap > nav{width:100%;padding:8px 10px 8px 18px !important;gap:12px !important;
      justify-content:space-between;box-sizing:border-box;}
    .nav-wrap .nav-logo svg{height:16px;width:auto;}
    .nav-wrap .btn-dark.btn-sm{margin-left:auto;font-size:12.5px;padding:10px 15px;
      white-space:nowrap;flex-shrink:0;}
    .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;
      width:42px;height:42px;padding:0 11px;border:0;border-radius:50%;cursor:pointer;
      background:transparent;flex-shrink:0;}
    .nav-burger span{display:block;height:2px;width:100%;border-radius:2px;
      background:var(--ink);transform-origin:center;
      transition:transform .3s cubic-bezier(.22,1,.36,1);}
    .nav-wrap.on-dark .nav-burger span{background:#FFF6EE;}
    .nav-burger.on span:nth-child(1){transform:translateY(3.5px) rotate(45deg);}
    .nav-burger.on span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg);}

    .m-menu{position:fixed;top:14px;left:16px;right:16px;z-index:130;
      height:58px;border-radius:100px;background:#FFFFFF;overflow:hidden;
      display:flex;flex-direction:column;
      box-shadow:0 10px 28px -16px rgba(20,15,10,.2), 0 0 0 1px rgba(20,15,10,.05);
      transition:height .42s cubic-bezier(.22,1,.36,1),
        border-radius .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease;}
    .m-menu.on{height:calc(calc(var(--vh, 1vh) * 100) - 28px);border-radius:26px;
      box-shadow:0 40px 80px -40px rgba(20,15,10,.3), 0 0 0 1px rgba(20,15,10,.05);}
    .m-menu[hidden]{display:none;}
    .m-menu-head{flex-shrink:0;display:flex;align-items:center;gap:10px;height:58px;
      padding:8px 10px 8px 18px;box-sizing:border-box;}
    .m-logo{display:flex;align-items:center;}
    .m-logo[hidden]{display:none;}
    .m-logo svg{display:block;height:17px;width:auto;}
    .m-back{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;
      justify-content:center;border-radius:50%;cursor:pointer;color:var(--ink);
      background:rgba(20,15,10,.04);border:1px solid rgba(20,15,10,.08);}
    .m-back[hidden]{display:none;}
    .m-title{flex:1;font-size:17px;font-weight:500;color:var(--ink);letter-spacing:-.01em;}
    .m-title[hidden]{display:none;}
    .m-close{margin-left:auto;}
    .m-panes{flex:1;min-height:0;overflow-y:auto;padding:10px 18px 28px;
      opacity:0;transition:opacity .2s ease .14s;}
    .m-menu.on .m-panes{opacity:1;}
    .m-pane[hidden]{display:none;}
    .m-row{display:flex;align-items:center;gap:13px;width:100%;
      padding:16px 2px;border:0;background:none;cursor:pointer;text-align:left;
      color:var(--ink);font-size:21px;font-weight:400;font-family:inherit;
      letter-spacing:-.01em;text-decoration:none;}
    .m-row-more{justify-content:space-between;}
    .m-row-more svg{color:var(--muted);width:19px;height:19px;}
    .m-row-ico{width:36px;height:36px;flex-shrink:0;border-radius:11px;
      display:flex;align-items:center;justify-content:center;}
    .m-row-ico svg{width:19px;height:19px;}
    .m-row-sub{align-items:flex-start;padding:12px 2px;}
    .m-row-tx b{display:block;font-size:17px;font-weight:500;}
    .m-row-tx i{display:block;font-style:normal;font-size:13px;line-height:1.45;
      color:var(--muted);margin-top:3px;}
    .m-menu-cta{display:flex;align-items:center;justify-content:center;height:50px;
      margin-top:24px;border-radius:100px;text-decoration:none;font-size:16px;
      color:#FFFFFF;background:linear-gradient(94deg,#D64200 0%,#D64200 40%,#D73959 100%);
      box-shadow:0 14px 30px -14px rgba(232,70,10,.6);}
  }

  @media (max-width: 860px){
    /* one gutter everywhere: 16px */
    .mp-inner{padding:0 16px !important;}
    .mp-hero{grid-template-columns:1fr !important;gap:26px !important;
      padding:104px 0 36px !important;}
    .mp-h1{font-size:34px !important;line-height:1.08 !important;margin-top:16px !important;}
    .mp-sub{font-size:15px !important;line-height:1.55 !important;}
    .mp-badge{font-size:11.5px !important;}
    .mp-crumb{font-size:12px !important;}
    .mp-cta{flex-direction:column !important;align-items:stretch !important;gap:10px !important;}
    .mp-btn, .mp-link{width:100% !important;height:48px !important;box-sizing:border-box;
      display:inline-flex !important;align-items:center;justify-content:center;
      font-size:15px !important;padding:0 18px !important;}
    .mp-checks{flex-wrap:wrap !important;gap:8px 14px !important;}
    .mp-check{font-size:12px !important;}

    .ws-band{padding:44px 0 10px !important;}
    .ws-grid{grid-template-columns:1fr !important;gap:24px !important;}
    .ws-subs{grid-template-columns:1fr !important;gap:12px !important;}
    .ws-sub{padding:16px 16px 18px !important;}
    .ws-sub h4, .ws-sub b{font-size:15px !important;}
    .ws-sub p{font-size:13px !important;line-height:1.55 !important;}

    .mp-band{padding:40px 0 46px !important;}
    .mp-cards{grid-template-columns:1fr !important;gap:12px !important;
      margin-top:28px !important;}
    .mp-card{padding:20px 18px 22px !important;border-radius:18px !important;}
    .mp-card h3{font-size:17px !important;margin-top:14px !important;}
    .mp-card p{font-size:13.5px !important;line-height:1.55 !important;}

    .kq-section{padding:48px 0 30px !important;}
    .kq-q{font-size:26px !important;}
    .kq-pill{font-size:12px !important;}

    .mp-foot .close-bg{top:300px !important;}
    .mp-foot .ft-inner{padding:120px 16px 0 !important;}
    .ft-top{grid-template-columns:1fr 1fr !important;gap:26px 18px !important;}
    .ft-top > div:nth-child(1), .ft-news{grid-column:1 / -1;}
    .ft-col a,.ft-col .ft-linkbtn{font-size:13.5px !important;margin-top:9px !important;}
    .ft-legal{flex-direction:column;align-items:flex-start;gap:12px;
      padding:16px 16px 22px !important;}
    .ft-lang{margin-left:0 !important;}
  }

  /* ---- mobile type pass ---- */
  @media (max-width: 860px){
    .mp-hero{padding:96px 0 30px !important;gap:22px !important;}
    .mp-h1{font-size:28px !important;line-height:1.1 !important;margin-top:12px !important;}
    .mp-sub{font-size:14px !important;line-height:1.45 !important;margin-top:10px !important;}
    .mp-h2{font-size:22px !important;line-height:1.16 !important;margin-top:10px !important;}
    .ws-h3{font-size:19px !important;line-height:1.2 !important;margin-top:10px !important;}
    .ws-p, .ws-grid p{font-size:13.5px !important;line-height:1.5 !important;}
    .seo-top b{font-size:24px !important;line-height:1.1 !important;}
    .seo-top span, .seo-top i{font-size:12px !important;line-height:1.4 !important;}
    .mp-eyebrow, .ws-eyebrow{font-size:11px !important;}
    .mp-check{font-size:11.5px !important;line-height:1.3 !important;}
    .kq-q{font-size:22px !important;line-height:1.18 !important;margin-top:16px !important;}

    /* feature cards: two to a row */
    .mp-cards{grid-template-columns:1fr 1fr !important;gap:10px !important;margin-top:22px !important;}
    .mp-card{padding:14px 12px 15px !important;border-radius:15px !important;min-width:0;}
    .mp-cico{width:32px !important;height:32px !important;border-radius:10px !important;}
    .mp-cico svg{width:15px !important;height:15px !important;}
    .mp-card h3{font-size:13.5px !important;line-height:1.25 !important;margin-top:10px !important;}
    .mp-card p{font-size:11.5px !important;line-height:1.42 !important;margin-top:5px !important;}
    .ws-subs{grid-template-columns:1fr 1fr !important;gap:10px !important;}
    .ws-sub{padding:13px 12px 14px !important;border-radius:14px !important;min-width:0;}
    .ws-sub h4, .ws-sub b{font-size:13px !important;line-height:1.25 !important;}
    .ws-sub p, .ws-sub i{font-size:11.5px !important;line-height:1.42 !important;}

    .mp-foot .close-bg{top:574px !important;}
    .close-bg::after{top:-230px !important;height:460px !important;
      background:radial-gradient(85% 230px at 50% 230px,
        rgba(205,80,12,.42) 0%, rgba(205,80,12,.22) 45%, rgba(205,80,12,0) 88%) !important;}
  }

  /* ---- mobile frame pass ---- */
  @media (max-width: 860px){
    .mp-frame, .mp-hero .mp-frame{margin:0 !important;}
    .mp-frame::before, .mp-frame::after{display:none !important;}
    .mp-inner{padding-left:16px !important;padding-right:16px !important;}
  }

  /* ---- mobile menu: full page ---- */
  @media (max-width: 860px){
    .m-menu{transition:height .42s cubic-bezier(.22,1,.36,1), top .42s cubic-bezier(.22,1,.36,1),
      left .42s cubic-bezier(.22,1,.36,1), right .42s cubic-bezier(.22,1,.36,1),
      border-radius .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease !important;}
    .m-menu.on{top:0 !important;left:0 !important;right:0 !important;height:calc(var(--vh, 1vh) * 100) !important;
      height:100dvh !important;border-radius:0 !important;box-shadow:none !important;}
    /* the head keeps the nav bar's own inset so the logo and the X do not move */
    .m-menu.on .m-menu-head{margin:14px 16px 0;}
    .m-panes{display:flex;flex-direction:column;padding:34px 34px 30px !important;}
    .m-pane{display:flex;flex-direction:column;flex:1;}
    .m-pane[hidden]{display:none !important;}
    .m-row{font-size:34px !important;line-height:1.15 !important;padding:9px 0 !important;
      color:#1E1612 !important;letter-spacing:-.02em !important;}
    .m-row-more svg{width:24px !important;height:24px !important;color:#1E1612 !important;}
    .m-row-sub{padding:11px 0 !important;}
    .m-row-tx b{font-size:19px !important;color:#1E1612;}
    .m-row-tx i{font-size:13.5px !important;}
    .m-title{font-size:19px !important;color:#1E1612 !important;}
    .m-menu-cta{margin-top:auto !important;height:54px !important;font-size:17px !important;}
  }

  /* ---- FEATURE CELLS ----
     The feature cards are cells of one ruled grid rather than separate cards. Each
     cell draws its own bottom rule (--h) and right rule (--v) as backgrounds, so the
     rules fade toward the outside of the grid and are at full strength in the middle;
     a small four-point star sits on every inner crossing. The edge classes are set by
     script, because which cell is on an edge depends on how many columns fit. */
  .mp-cards, .ws-subs{gap:0 !important;--gl:#E1E3EF;--gs:#B4B9D4;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub){
    --h:linear-gradient(var(--gl),var(--gl));--v:linear-gradient(var(--gl),var(--gl));
    position:relative !important;background-color:transparent !important;border:0 !important;
    border-radius:0 !important;box-shadow:none !important;transform:none !important;
    overflow:visible !important;isolation:auto !important;padding:28px 26px 30px !important;
    background-image:var(--h), var(--v) !important;background-repeat:no-repeat !important;
    background-size:100% 1px, 1px 100% !important;
    background-position:left bottom, right top !important;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub):hover{background-color:transparent !important;transform:none !important;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub)::before{display:none !important;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-l{--h:linear-gradient(90deg,transparent,var(--gl));}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-r{--h:linear-gradient(90deg,var(--gl),transparent);--v:none;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-l.g-r{--h:linear-gradient(90deg,transparent,var(--gl) 50%,transparent);}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-t:not(.g-r){--v:linear-gradient(180deg,transparent,var(--gl));}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-b{--h:none;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-b:not(.g-r){--v:linear-gradient(180deg,var(--gl),transparent);}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-t.g-b:not(.g-r){--v:linear-gradient(180deg,transparent,var(--gl) 50%,transparent);}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub)::after{content:'' !important;display:none;position:absolute !important;
    inset:auto -11px -11px auto !important;width:22px !important;height:22px !important;z-index:3;
    opacity:1 !important;transform:none !important;border:0 !important;border-radius:0 !important;
    background:var(--gs) !important;
    -webkit-mask:radial-gradient(circle at 0 0, transparent 10.4px, #000 11px),
      radial-gradient(circle at 100% 0, transparent 10.4px, #000 11px),
      radial-gradient(circle at 0 100%, transparent 10.4px, #000 11px),
      radial-gradient(circle at 100% 100%, transparent 10.4px, #000 11px);
    -webkit-mask-composite:source-in;
    mask:radial-gradient(circle at 0 0, transparent 10.4px, #000 11px),
      radial-gradient(circle at 100% 0, transparent 10.4px, #000 11px),
      radial-gradient(circle at 0 100%, transparent 10.4px, #000 11px),
      radial-gradient(circle at 100% 100%, transparent 10.4px, #000 11px);
    mask-composite:intersect;}
  :is(.mp-cards .mp-card, .ws-subs .ws-sub).g-x::after{display:block !important;}
  @media (max-width: 860px){
    .mp-cards{margin-left:-16px !important;margin-right:-16px !important;}
    :is(.mp-cards .mp-card, .ws-subs .ws-sub){padding:18px 14px 20px 16px !important;}
  }

  @media (max-width: 860px){
    .kq-section > div:has(> a), .kq-section div:has(> a.btn-lg){display:flex !important;flex-direction:column !important;
      align-items:stretch !important;gap:10px !important;}
    .kq-section a.btn-lg{width:100% !important;box-sizing:border-box;justify-content:center;
      height:52px !important;display:inline-flex !important;align-items:center;margin:0 !important;}
  }

  /* ---- TABLET (641–860px) ----
     The tablet uses the phone layout, scaled up as a whole (the script sets `zoom` and
     these two variables). --tp is the extra inset, in layout pixels, that turns the
     phone's 16px gutter into a 48px one on screen; anything with its own full-width
     background is pulled back out by the same amount so colour still reaches the edges. */
  :root{--tp:0px;--z:1;}
  @media (min-width: 641px) and (max-width: 860px){
    /* the inset goes on the page's own root, not on body: the root clips its overflow,
       and only padding inside that box leaves room for the full-bleed sections */
    .page-root, .mp{padding-left:var(--tp) !important;padding-right:var(--tp) !important;box-sizing:border-box;}
    .fxi-section, .ai-section, .close-section, .fx-section, .mp-foot, .mp-band, .ws-band{
      margin-left:calc(var(--tp) * -1) !important;margin-right:calc(var(--tp) * -1) !important;
      padding-left:var(--tp) !important;padding-right:var(--tp) !important;}
    .p2-dark{margin-left:calc((16px + var(--tp)) * -1) !important;margin-right:calc((16px + var(--tp)) * -1) !important;
      padding-left:calc(16px + var(--tp)) !important;padding-right:calc(16px + var(--tp)) !important;}
    .nav-wrap{margin-left:calc(16px + var(--tp)) !important;margin-right:calc(16px + var(--tp)) !important;}
    .m-menu.on{height:calc(var(--vh, 1vh) * 100) !important;}
  }

  /* ---- 20.10.2026 design: last rules of the export's stylesheet ---- */
  /* compact header (desktop) */
  @media (min-width:861px){
    .nav-wrap > nav:first-child{padding:5px 5px 5px 20px !important;}
    .nav-wrap .btn-dark.btn-sm{padding:7px 14px;font-size:12.5px;}
  }

  /* every tick on a single line */
  .mp-checks{grid-template-columns:max-content max-content !important;max-width:none !important;}
  .mp-check > span{white-space:nowrap;}
  @media (max-width:860px){ .mp-checks{grid-template-columns:1fr !important;} }

