/* /fonts.css */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-0.woff2?v=e2291e842cf5af167122a22881a740c7f2dda7716f1e8cd76680264f4a859470) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/sora-1.woff2?v=811e11966d29f3a01fcb19b087b61ac067d380665a55aebb7fcdf2cda95e4a93) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* /tokens.css */
/* Quect PaaS v1. Isolado do DESIGN_SYSTEM.md legado. */
:root {
  --q-bg: #101112;
  --q-surface: #17191B;
  --q-surface-raised: #212427;
  --q-text: #EFF3F8;
  --q-muted: #ABB2BA;
  --q-accent: #B6EF7A;
  --q-accent-hover: #CDF7A5;
  --q-on-accent: #101112;
  --q-info: #63CED6;
  --q-warning: #F4BC6A;
  --q-danger: #FF8F9B;
  --q-focus: #63CED6;
  --q-font: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --q-font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
  --q-font-code: ui-monospace, SFMono-Regular, Consolas, monospace;
  --q-display: clamp(2.75rem, 6vw, 6.5rem);
  --q-title: clamp(1.75rem, 3vw, 3rem);
  --q-subtitle: 1.25rem;
  --q-body: 1rem;
  --q-small: .875rem;
  --q-control-radius: 8px;
  --q-panel-radius: 16px;
  --q-feedback: 140ms;
  --q-enter: 260ms;
  --q-space-1: 4px; --q-space-2: 8px; --q-space-3: 12px;
  --q-space-4: 16px; --q-space-6: 24px; --q-space-8: 32px;
  --q-space-12: 48px; --q-space-16: 64px; --q-space-24: 96px;
  /* Layout (WP-52): uma medida de recuo, de altura de ação e de cartão para o painel e o /ops. */
  --q-inset: 20px; --q-inset-sm: 16px;
  --q-card-pad: 20px; --q-card-pad-sm: 16px; --q-card-radius: 12px;
  --q-action-height: 44px; --q-action-gap: 12px;
}
:focus-visible { outline: 3px solid var(--q-focus); outline-offset: 4px; }
::selection { background: var(--q-accent); color: var(--q-on-accent); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* /landing-visuals.css */
/* Point-cloud illustrations share the product palette. No external renderer. */
#hosting-particles{display:block;width:100%;height:300px;contain:strict}
#hosting-globe{display:block;width:100%;height:auto;aspect-ratio:450/400;max-height:440px}
[data-motion-toggle]{font:inherit;font-size:14px;color:var(--q-muted);background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:8px 0;cursor:pointer}
[data-motion-toggle]:hover{color:var(--q-text)}
[data-motion-toggle]:focus-visible{outline:2px solid var(--q-accent);outline-offset:5px}
@media(max-width:600px){#hosting-particles{height:230px}}

/* Reusable interactive globe. Native vertical scrolling remains available on touch. */
.region-globe-canvas{display:block;max-width:100%;min-width:0;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.region-globe-canvas.is-dragging{cursor:grabbing!important}
.region-globe-canvas:focus{outline:none}
.region-globe-canvas:focus-visible:not([data-pointer-focus]){outline:3px solid var(--q-focus,#79cfd7);outline-offset:4px}
.globe-controls,.region-globe-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;max-width:100%;min-width:0;margin-top:16px}
.globe-controls button,.region-globe-controls button{font:inherit;font-size:14px;min-width:44px;min-height:44px;padding:10px 14px;max-width:100%;border:0;border-radius:4px;color:var(--q-text,#eff3f8);background:var(--q-surface-raised,#212427);cursor:pointer;touch-action:manipulation;transition:background-color 140ms,color 140ms}
.globe-controls button:hover,.region-globe-controls button:hover{background:var(--q-surface,#17191b);color:var(--q-accent,#b6ef7a)}
.globe-controls button:disabled,.region-globe-controls button:disabled{opacity:.45;cursor:default}
.globe-controls button:focus-visible,.region-globe-controls button:focus-visible{outline:3px solid var(--q-focus,#79cfd7);outline-offset:3px}
.globe-controls button[aria-pressed=true],.region-globe-controls button[aria-pressed=true]{background:var(--q-bg,#101112)}
[data-region-globe] #globe-help{font-size:14px;color:var(--q-muted,#abb2ba);line-height:1.5;margin-top:16px;max-width:52ch;text-align:center}
@media(max-width:420px){.globe-controls,.region-globe-controls{display:grid;grid-template-columns:44px 44px minmax(0,1fr);width:100%;gap:8px}.globe-controls button[data-globe-action=pause],.region-globe-controls button[data-globe-action=pause]{grid-column:1/-1}.globe-controls button,.region-globe-controls button{padding-inline:10px}}

/* Compact region search: the city stays visible; the catalog opens only on request. */
.region-picker{position:relative;z-index:2;min-width:0}
.region-picker-label{display:block;font-weight:550;margin-bottom:12px}
.region-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0;min-height:68px;padding:12px 16px;margin:0 0 16px;text-align:left;font:inherit;color:var(--q-text);background:var(--q-surface-raised);border:1px solid transparent;border-radius:6px;cursor:pointer}
.region-picker-trigger>span:first-child{min-width:0}
.region-picker-trigger strong,.region-picker-trigger small{display:block;overflow-wrap:anywhere}
.region-picker-trigger strong{font-size:17px;font-weight:550;line-height:1.4}
.region-picker-trigger small{font-size:14px;color:var(--q-muted)}
.region-picker-chevron{font-size:24px;line-height:1;flex:none;transition:transform 150ms}
.region-picker-trigger[aria-expanded=true] .region-picker-chevron{transform:rotate(180deg)}
.region-picker-trigger:disabled{cursor:default;color:var(--q-muted)}
.region-picker-trigger:focus-visible,.region-picker-popup input:focus-visible{outline:2px solid var(--q-focus);outline-offset:3px}
.region-picker-popup{position:absolute;left:16px;right:16px;z-index:30;box-sizing:border-box;padding:16px;background:var(--q-surface-raised);border:1px solid #555c60;border-radius:8px;box-shadow:0 12px 32px rgb(0 0 0 / .28)}
.region-picker-popup[hidden],.region-search-empty[hidden]{display:none}
.region-picker-popup>label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}
.region-picker-popup input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #555c60;border-radius:4px;background:var(--q-bg);color:var(--q-text);font:inherit;font-size:16px}
.region-picker-popup input::placeholder{color:var(--q-muted)}
.region-picker-popup .region-search-count{font-size:12px;color:var(--q-muted);margin:12px 0 8px}
.region-options{max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-width:0}
.region-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px;border-radius:4px;cursor:pointer}
.region-option.is-active,.region-option:hover{background:var(--q-bg)}
.region-option[aria-selected=true]{box-shadow:inset 2px 0 var(--q-accent)}
.region-option strong,.region-option small{display:block;overflow-wrap:anywhere}
.region-option strong{font-size:15px;font-weight:500;line-height:1.35}
.region-option small{font-size:13px;color:var(--q-muted);margin-top:3px}
.region-option-status{max-width:105px;text-align:right;font-size:12px;line-height:1.4;color:var(--q-muted)}
.region-option-status.is-available{color:var(--q-accent)}
.region-picker-popup .region-search-empty{font-size:14px;color:var(--q-muted);padding:12px 0;margin:0}
@media(max-width:420px){.region-picker-popup{left:8px;right:8px;padding:12px}.region-option{gap:8px;padding:12px 8px}.region-option-status{max-width:88px}}
@media(prefers-reduced-motion:reduce){.region-picker-chevron{transition:none}}

/* /i18n.css */
.language-picker{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-size:13px;max-width:100%;margin:0}.language-picker select{font:inherit;color:inherit;background:var(--bg,#101112);border:1px solid #555b5e;border-radius:7px;padding:8px;min-height:40px;width:auto;max-width:100%}.language-picker select:focus-visible{outline:2px solid #b6ef7a;outline-offset:3px}.language-picker .language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.auth-form>.language-picker{margin-bottom:20px;align-self:flex-end}.nav{flex-wrap:wrap}.nav>.language-picker{margin-left:12px}.sidebar>.language-picker{align-self:flex-start}@media(max-width:600px){.nav>.language-picker{margin-left:auto;order:1}.nav>nav{order:2;width:100%;justify-content:space-between}.sidebar>.language-picker{align-self:flex-end;margin-top:-4px}.auth-form>.language-picker{align-self:flex-start}.nav{gap:12px}}

/* /brand.css */
/* The outlined wordmark shares one optical size across landing and workspace. */
.brand > .quect-wordmark,
.wordmark > .quect-wordmark {
  display: block;
  flex: none;
  width: auto;
  height: 25px;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

/* The longer public domain keeps its 25px optical height on narrow screens. */
@media (max-width:380px) {
  .sidebar .wordmark > .quect-wordmark { height:25px; }
  .sidebar .language-picker { width:92px; right:77px; }
}

/* /landing-v2.css */
/* Landing v2 (24/10/2026). Tokens come from tokens.css; lime is the only accent.
   Layers: header 20, dock 30. Radii: 8 (controls) and 16 (panels). */
:root{--lp-line:#ffffff14;--lp-line-2:#ffffff26;--lp-ink-2:#c9cfd6;--lp-ease:cubic-bezier(.23,1,.32,1);--lp-ease-drawer:cubic-bezier(.32,.72,0,1);--lp-header:68px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--lp-header) + 16px)}
body{margin:0;background:var(--q-bg);color:var(--q-text);font:17px/1.6 var(--q-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
button,input,select{font:inherit}
button,summary{cursor:pointer}
a,button,summary{touch-action:manipulation}
p,figure{margin:0}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wrap{width:calc(100% - 64px);max-width:1280px;margin-inline:auto}
.skip{position:fixed;top:-100px;left:16px;padding:12px 20px;background:var(--q-accent);color:var(--q-on-accent);z-index:40;border-radius:var(--q-control-radius)}
.skip:focus{top:12px}
.lp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lp-muted{color:var(--q-muted)}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--q-text);text-decoration:underline;text-decoration-color:var(--lp-line-2);text-underline-offset:6px;transition:text-decoration-color var(--q-feedback) ease,color var(--q-feedback) ease}
.text-link:hover{color:var(--q-text);text-decoration-color:var(--q-accent)}

/* Header */
.lp-top-sentinel{position:absolute;top:0;height:1px;width:1px}
.lp-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--q-bg) 85%,transparent);border-bottom:1px solid transparent;transition:border-color var(--q-enter) ease}
@supports (backdrop-filter:blur(1px)){.lp-header{background:color-mix(in srgb,var(--q-bg) 72%,transparent);backdrop-filter:blur(14px) saturate(140%)}}
.lp-header.is-scrolled{border-bottom-color:var(--lp-line)}
.lp-nav{min-height:var(--lp-header);display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.brand>.quect-wordmark{width:calc(25px * 5052 / 994);height:25px;aspect-ratio:5052/994}
.lp-links{display:flex;gap:28px;margin-inline:auto}
.lp-links a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--lp-ink-2);text-decoration:none;transition:color var(--q-feedback) ease}
.lp-links a:hover{color:var(--q-text)}
.lp-nav-end{display:flex;align-items:center;gap:12px;margin-left:auto}
.lp-signin{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:14px;color:var(--lp-ink-2);text-decoration:none;white-space:nowrap;transition:color var(--q-feedback) ease}
.lp-signin:hover{color:var(--q-text)}
.lp-nav .language-picker select{min-height:40px;background:var(--q-bg);border-color:#3a3e42;border-radius:var(--q-control-radius);font-size:14px}

/* Buttons: one primary style, one ghost, one compact size. */
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 10px 0 22px;border:0;border-radius:var(--q-control-radius);background:var(--q-accent);color:var(--q-on-accent);font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color var(--q-feedback) ease,transform var(--q-feedback) var(--lp-ease)}
.lp-btn:not(:has(.lp-btn-icon)){padding:0 22px}
.lp-btn:hover{background:var(--q-accent-hover);color:var(--q-on-accent)}
.lp-btn:active{transform:scale(.97)}
.lp-btn-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:color-mix(in srgb,var(--q-bg) 10%,transparent);transition:transform var(--q-enter) var(--lp-ease)}
@media (hover:hover) and (pointer:fine){.lp-btn:hover .lp-btn-icon{transform:translateX(3px)}}
.lp-btn-sm{min-height:44px;padding:0 16px;font-size:14px}
.lp-btn-ghost{background:transparent;color:var(--q-text);box-shadow:inset 0 0 0 1px var(--lp-line-2)}
.lp-btn-ghost:hover{background:#ffffff0a;color:var(--q-text);box-shadow:inset 0 0 0 1px var(--q-accent)}
.lp-cta-note{font-size:15px;line-height:1.55;color:var(--lp-ink-2);max-width:46ch}

/* Hero */
.lp-hero{padding-top:56px}
.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.82fr);gap:56px;align-items:center}
.lp-free-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:999px;background:color-mix(in srgb,var(--q-accent) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--q-accent) 35%,transparent);color:var(--q-accent);font-weight:600;font-size:16px;line-height:1.3;margin-bottom:28px}
.lp-free-pill-mark{flex:none}
.lp-hero h1{font:600 clamp(40px,4.4vw,62px)/1.06 var(--q-font-display);letter-spacing:-.045em;margin:0 0 24px}
.lp-h1-accent{display:block;color:var(--q-accent)}
.lp-lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--lp-ink-2);max-width:42ch;margin-bottom:32px}
.lp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-bottom:18px}

/* The ticket is a double-bezel panel: shell plus inset core. */
.lp-ticket{padding:6px;border-radius:var(--q-panel-radius);background:#ffffff05;box-shadow:inset 0 0 0 1px var(--lp-line)}
.lp-ticket-core{border-radius:11px;background:linear-gradient(180deg,color-mix(in srgb,var(--q-surface-raised) 55%,var(--q-surface)),var(--q-surface));box-shadow:inset 0 1px 0 #ffffff12;padding:28px 28px 24px}
.lp-ticket-title{font:600 15px/1.3 var(--q-font);letter-spacing:.01em;color:var(--q-muted);margin:0 0 18px}
.lp-ticket-list{margin:0;display:grid}
.lp-ticket-list>div{display:grid;gap:2px;padding:14px 0;border-top:1px solid var(--lp-line)}
.lp-ticket-list dt{font-size:14px;color:var(--q-muted)}
.lp-ticket-list dd{margin:0;font:600 19px/1.35 var(--q-font-display);letter-spacing:-.02em}
.lp-ticket-list dd.is-accent{color:var(--q-accent);font-size:24px}
.lp-ticket-foot{font-size:14px;color:var(--q-muted);border-top:1px solid var(--lp-line);padding-top:16px}

.server-scene{margin-top:48px}
.server-scene canvas{display:block;width:100%}

/* Sections */
.lp-section{padding-block:112px}
.lp-band{background:var(--q-surface);border-block:1px solid var(--lp-line)}
.lp-h2{font:600 clamp(32px,3.6vw,52px)/1.08 var(--q-font-display);letter-spacing:-.045em;margin:0 0 20px;max-width:22ch}
.lp-section h3{font:600 21px/1.3 var(--q-font-display);letter-spacing:-.02em;margin:0 0 10px}

/* Status labels: shape and text carry the meaning, color only reinforces it. */
.lp-status{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.3;white-space:nowrap}
.lp-status::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;box-sizing:border-box}
.lp-status[data-status=live]{background:color-mix(in srgb,var(--q-accent) 12%,transparent);color:var(--q-accent)}
.lp-status[data-status=live]::before{background:var(--q-accent)}
.lp-status[data-status=testing]{background:#ffffff0d;color:var(--q-text);box-shadow:inset 0 0 0 1px var(--lp-line-2)}
.lp-status[data-status=testing]::before{border:2px solid var(--q-text);background:linear-gradient(90deg,var(--q-text) 50%,transparent 50%)}
.lp-status[data-status=soon]{color:var(--q-muted);box-shadow:inset 0 0 0 1px var(--lp-line-2)}
.lp-status[data-status=soon]::before{border:2px dashed var(--q-muted)}

/* How it works */
.lp-how .lp-h2{margin-bottom:56px}
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative}
.lp-step{position:relative;padding:28px 32px 0 0;border-top:1px solid var(--lp-line-2)}
.lp-step::before{content:"";position:absolute;top:-1px;left:0;height:2px;width:56px;background:var(--q-accent)}
.lp-step-n{display:block;font:600 52px/1 var(--q-font-display);letter-spacing:-.05em;color:var(--q-accent);margin-bottom:22px;font-variant-numeric:tabular-nums}
.lp-step p{color:var(--lp-ink-2);max-width:36ch}
.lp-step .lp-step-url{margin-top:18px;display:inline-block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 12px;border-radius:var(--q-control-radius);background:var(--q-surface);box-shadow:inset 0 0 0 1px var(--lp-line);font:500 14px/1.4 var(--q-font-code);color:var(--q-text);overflow-wrap:anywhere}
.lp-step-url span{color:var(--q-muted)}
.lp-how-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:64px;align-items:stretch}
.lp-proof{font:500 clamp(19px,1.7vw,23px)/1.45 var(--q-font-display);letter-spacing:-.02em;max-width:34ch;align-self:center}
.lp-companion{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;border-radius:var(--q-panel-radius);background:var(--q-surface);box-shadow:inset 0 0 0 1px var(--lp-line)}
.lp-companion img{width:56px;height:56px;object-fit:contain;flex:none}
.lp-companion p{color:var(--lp-ink-2);font-size:16px}
.lp-companion .lp-companion-title{color:var(--q-text);font-weight:600;margin-bottom:4px}
.lp-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:56px}

/* Offer */
.lp-offer-head{max-width:760px}
.lp-offer-head .lp-status{margin-bottom:22px}
.lp-offer-head p{color:var(--lp-ink-2);font-size:19px;max-width:56ch}
.lp-facts{margin:56px 0 0;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px}
.lp-fact{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:10px;padding:28px;border-radius:var(--q-panel-radius);background:var(--q-bg);box-shadow:inset 0 0 0 1px var(--lp-line);min-width:0}
.lp-fact dd{margin:0;font:600 clamp(26px,2.6vw,38px)/1.1 var(--q-font-display);letter-spacing:-.045em;overflow-wrap:anywhere}
.lp-fact dt{color:var(--q-muted);font-size:15px;line-height:1.5}
.lp-fact.is-primary{background:var(--q-accent);box-shadow:none}
.lp-fact.is-primary dd{color:var(--q-on-accent);font-size:clamp(40px,4.6vw,64px)}
.lp-fact.is-primary dt{color:color-mix(in srgb,var(--q-bg) 80%,transparent);font-weight:500}
.lp-offer-notes{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:56px;padding-top:40px;border-top:1px solid var(--lp-line)}
.lp-offer-notes p{color:var(--lp-ink-2);max-width:52ch}

/* Features summary (WP-80). Markup is generated by ops/features-build.mjs from ops/features/features.json. */
.lp-features{padding-block:96px 104px}
.lp-feat-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;margin-bottom:56px}
.lp-feat-copy .lp-h2{margin-bottom:16px}
.lp-feat-copy p{color:var(--lp-ink-2);font-size:18px;max-width:52ch}
.lp-feat-counts{list-style:none;margin:0;padding:0;display:flex}
.lp-feat-counts li+li{border-left:1px solid var(--lp-line)}
.lp-feat-counts a{display:grid;gap:4px;min-width:112px;min-height:44px;padding:4px 28px;text-decoration:none;border-radius:var(--q-control-radius);transition:transform var(--q-feedback) ease}
.lp-feat-counts li:first-child a{padding-left:0}
.lp-feat-counts strong{font:600 clamp(40px,4.4vw,60px)/1 var(--q-font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;transition:color var(--q-feedback) ease}
.lp-feat-counts a[data-status=live] strong{color:var(--q-accent)}
.lp-feat-counts span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--q-muted);text-decoration:underline;text-decoration-color:var(--lp-line-2);text-underline-offset:5px;transition:text-decoration-color var(--q-feedback) ease}
.lp-feat-counts a:hover span{text-decoration-color:var(--q-accent)}
.lp-feat-counts span::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;box-sizing:border-box}
.lp-feat-counts a[data-status=live] span::before{background:var(--q-accent)}
.lp-feat-counts a[data-status=testing] span::before{border:2px solid var(--q-text);background:linear-gradient(90deg,var(--q-text) 50%,transparent 50%)}
.lp-feat-counts a[data-status=soon] span::before{border:2px dashed var(--q-muted)}
@media (hover:hover) and (pointer:fine){.lp-feat-counts a:hover strong,.lp-feat-counts a:hover span{color:var(--q-text)}}
.lp-feat-counts a:active{transform:scale(.97)}
.lp-feat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 32px}
.lp-cat{border-top:1px solid var(--lp-line-2);padding-top:18px;min-width:0}
.lp-cat summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;list-style:none;min-height:44px}
.lp-cat summary::-webkit-details-marker{display:none}
.lp-cat h3{font:600 18px/1.3 var(--q-font-display);letter-spacing:-.02em;margin:0}
.lp-cat-count{flex:none;font-size:13px;color:var(--q-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.lp-cat-count b{color:var(--q-accent);font-weight:600}
.lp-cat-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}
.lp-cat-list li{position:relative;padding-left:20px;font-size:15px;line-height:1.45;color:var(--q-text)}
.lp-cat-list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;box-sizing:border-box}
.lp-cat-list li[data-status=live]::before{background:var(--q-accent)}
.lp-cat-list li[data-status=testing]::before{border:2px solid var(--q-text);background:linear-gradient(90deg,var(--q-text) 50%,transparent 50%)}
.lp-cat-list li[data-status=soon]{color:var(--lp-ink-2)}
.lp-cat-list li[data-status=soon]::before{border:2px dashed var(--q-muted)}
.lp-tag{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;font-size:12px;line-height:1.5;color:var(--q-muted);box-shadow:inset 0 0 0 1px var(--lp-line-2);white-space:nowrap;vertical-align:1px}
.lp-feat-foot{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:56px;padding-top:28px;border-top:1px solid var(--lp-line)}
.lp-feat-foot.is-bare{justify-content:flex-start}
.lp-news{min-width:0}
.lp-news h3{font:600 14px/1.3 var(--q-font);letter-spacing:.01em;color:var(--q-muted);margin:0 0 10px}
.lp-news ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 36px}
.lp-news li{font-size:15px;color:var(--q-text);max-width:34ch}
.lp-news time{color:var(--q-muted);font-variant-numeric:tabular-nums;margin-right:8px}
@media (min-width:761px){.lp-cat summary{pointer-events:none}}

/* AI section */
.lp-ai{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.lp-ai-copy .lp-status{margin-bottom:22px}
.lp-ai-copy p{color:var(--lp-ink-2);max-width:54ch}
.lp-ai-copy p+p{margin-top:16px}
.lp-ai-flow{list-style:none;margin:0;padding:8px;border-radius:var(--q-panel-radius);box-shadow:inset 0 0 0 1px var(--lp-line);border:1px dashed transparent;display:grid;gap:6px}
.lp-ai-flow li{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:11px;background:var(--q-surface);font-weight:500;color:var(--lp-ink-2)}
.lp-ai-flow li:last-child{color:var(--q-text)}
.lp-ai-n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px var(--lp-line-2);font:600 14px/1 var(--q-font-display);color:var(--q-muted)}

/* Comparison */
.lp-compare-head{max-width:760px;margin-bottom:40px}
.lp-compare-head p{color:var(--lp-ink-2);font-size:18px}
.lp-compare-wrap{border-radius:var(--q-panel-radius);box-shadow:inset 0 0 0 1px var(--lp-line);overflow:hidden}
.lp-compare{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.lp-compare th,.lp-compare td{padding:18px 22px;text-align:left;vertical-align:top}
.lp-compare thead th{font:600 16px/1.3 var(--q-font-display);letter-spacing:-.01em;color:var(--q-muted);border-bottom:1px solid var(--lp-line)}
.lp-compare tbody th{font-weight:500;color:var(--q-muted);width:24%}
.lp-compare tbody tr+tr>*{border-top:1px solid var(--lp-line)}
.lp-compare .is-quect{background:color-mix(in srgb,var(--q-accent) 5%,transparent);color:var(--q-text);font-weight:600}
.lp-compare thead .is-quect{color:var(--q-accent)}
.lp-compare-note{font-size:14px;margin-top:18px;max-width:70ch}

/* Trust */
.lp-trust{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.lp-trust-head p{color:var(--lp-ink-2);font-size:18px;max-width:40ch}
.lp-trust-grid{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:36px 40px}
.lp-trust-grid>div{padding-top:20px;border-top:1px solid var(--lp-line-2)}
.lp-trust-grid dt{font:600 18px/1.3 var(--q-font-display);letter-spacing:-.015em;margin-bottom:8px}
.lp-trust-grid dd{margin:0;color:var(--lp-ink-2);font-size:16px}
.lp-trust-grid a{color:var(--q-accent);text-underline-offset:4px}

/* Regions (reuses the region picker and globe modules) */
.regions-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.regions-copy>p{color:var(--lp-ink-2);max-width:48ch}
.region-picker{padding:24px;background:var(--q-surface);margin-top:28px;border-radius:var(--q-panel-radius);box-shadow:inset 0 0 0 1px var(--lp-line)}
.region-picker #region-description{font-size:15px;color:var(--lp-ink-2)}
.region-picker #region-status{color:var(--q-accent);font-size:14px;margin-top:12px}
.globe-scene{min-width:0;display:flex;flex-direction:column;align-items:center}
.globe-scene canvas{max-width:100%;width:450px}

/* FAQ */
.lp-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.lp-faq-head{position:sticky;top:calc(var(--lp-header) + 32px)}
.lp-faq-head .lp-btn{margin:12px 0 14px}
.faq-list details{border-bottom:1px solid var(--lp-line)}
.faq-list details:first-child{border-top:1px solid var(--lp-line)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font:600 19px/1.4 var(--q-font-display);letter-spacing:-.015em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:12px;height:12px;margin-top:7px;border-right:2px solid var(--q-muted);border-bottom:2px solid var(--q-muted);transform:rotate(45deg);transition:transform var(--q-enter) var(--lp-ease)}
.faq-list details[open] summary::after{transform:translateY(4px) rotate(-135deg)}
.faq-list summary:hover::after{border-color:var(--q-accent)}
.faq-list summary:focus-visible{outline:3px solid var(--q-focus);outline-offset:4px;border-radius:4px}
.faq-list details p{color:var(--lp-ink-2);padding:0 0 24px;max-width:62ch}

/* Usage rules: same grid as the trust band, on the page background. */
.lp-rules{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start;scroll-margin-top:var(--lp-header)}
.lp-rules-head p{color:var(--lp-ink-2);font-size:18px;max-width:40ch}
.lp-rules .lp-trust-grid{grid-template-columns:1fr;gap:28px}

/* Final call to action: one sentence, one button, straight to the account signup. */
.lp-final{scroll-margin-top:var(--lp-header);border-top:1px solid var(--lp-line);background:radial-gradient(ellipse at 8% 30%,color-mix(in srgb,var(--q-accent) 7%,transparent),transparent 58%),var(--q-surface)}
.lp-final-inner{padding-block:120px 104px}
.lp-final-eyebrow{display:inline-flex;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--q-accent) 12%,transparent);color:var(--q-accent);font-size:15px;font-weight:600;margin-bottom:24px}
.lp-final-title{font:600 clamp(40px,5.4vw,76px)/1.04 var(--q-font-display);letter-spacing:-.04em;margin:0 0 22px;max-width:16ch}
.lp-final-lead{font-size:clamp(18px,1.6vw,21px);color:var(--lp-ink-2);max-width:44ch}
.lp-final .lp-cta-row{margin-top:40px}
.lp-final-login{margin-top:14px;font-size:15px}

/* Footer */
.lp-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:48px;border-top:1px solid var(--lp-line)}
.lp-footer-copy{display:grid;gap:6px;font-size:14px;color:var(--q-muted);margin-right:auto}
.lp-footer-copy a{color:var(--lp-ink-2);text-underline-offset:4px}
.lp-footer-copy span{color:var(--q-text)}

/* Mobile dock: hidden off-screen until the hero CTA scrolls away. */
.lp-dock{display:none}

/* Motion: entrances use transform/opacity only, ease-out, and never run under reduced motion. */
@media (prefers-reduced-motion:no-preference){
 .lp-hero-copy>*:not(h1),.lp-ticket{animation:lp-rise 620ms var(--lp-ease) both}
 .lp-hero-copy>.lp-free-pill{animation-delay:40ms}
 .lp-hero-copy>.lp-lead{animation-delay:110ms}
 .lp-hero-copy>.lp-actions{animation-delay:170ms}
 .lp-hero-copy>.lp-cta-note{animation-delay:220ms}
 .lp-ticket{animation-delay:260ms}
}
/* Scroll reveal only where order carries meaning (the 3 steps, the 3 status columns, the beta facts, the AI flow).
   Scroll-driven, no JS gating: before entering the viewport the element keeps its normal visible style, so crawlers,
   screenshots and browsers without animation-timeline always see the content. */
@supports (animation-timeline:view()){
 @media (prefers-reduced-motion:no-preference){
  .reveal{animation:lp-reveal linear forwards;animation-timeline:view();animation-range:entry 0% entry 55%}
  .reveal:nth-child(2){animation-range:entry 8% entry 63%}
  .reveal:nth-child(3){animation-range:entry 16% entry 71%}
 }
}
@keyframes lp-reveal{from{opacity:0;transform:translateY(22px);animation-timing-function:cubic-bezier(.23,1,.32,1)}to{opacity:1;transform:none}}
@keyframes lp-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Layout fallbacks */
@media (max-width:1180px){.lp-links{gap:20px}.lp-links a{font-size:14px}}
@media (max-width:1060px){
 .lp-links{display:none}
 .lp-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .lp-hero h1{max-width:18ch}
 .lp-ticket{max-width:560px}
 .lp-feat-head{grid-template-columns:minmax(0,1fr);gap:32px}
 .lp-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lp-ai,.lp-trust,.lp-rules,.lp-faq,.regions-layout{grid-template-columns:minmax(0,1fr);gap:40px}
 .lp-faq-head{position:static}
 .lp-section{padding-block:88px}
}
@media (max-width:760px){
 .wrap{width:calc(100% - 32px)}
 body{font-size:16px}
 .lp-header{position:relative;background:var(--q-bg);backdrop-filter:none}
 .lp-nav{min-height:64px;gap:12px}
 .lp-nav-end .lp-btn,.lp-signin{display:none}
 .lp-hero{padding-top:28px}
 .lp-free-pill{font-size:15px;margin-bottom:22px}
 .lp-hero h1{font-size:clamp(36px,10.4vw,52px);margin-bottom:18px}
 .lp-lead{margin-bottom:26px}
 .lp-actions{flex-direction:column;align-items:stretch;gap:6px}
 .lp-actions .lp-btn{width:100%}
 .lp-actions .text-link{justify-content:center}
 .lp-ticket-core{padding:22px 20px 18px}
 .server-scene{margin-top:28px}
 .lp-section{padding-block:72px}
 .lp-how .lp-h2{margin-bottom:32px}
 .lp-steps{grid-template-columns:minmax(0,1fr);gap:36px}
 .lp-step{padding-right:0}
 .lp-step-n{font-size:40px;margin-bottom:14px}
 .lp-how-foot{grid-template-columns:minmax(0,1fr);margin-top:44px}
 .lp-cta-row{flex-direction:column;align-items:stretch;margin-top:40px}
 .lp-cta-row .lp-btn{width:100%}
 .lp-facts{grid-template-columns:minmax(0,1fr);margin-top:36px}
 .lp-fact{padding:22px}
 .lp-offer-notes{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px;padding-top:32px}
 .lp-features{padding-block:64px 72px}
 .lp-feat-head{margin-bottom:28px;gap:28px}
 .lp-feat-copy p{font-size:16px}
 .lp-feat-counts{display:flex;justify-content:space-between}
 .lp-feat-counts a{min-width:0;padding:4px 12px}
 .lp-feat-counts li:first-child a{padding-left:0}
 .lp-feat-counts li:last-child a{padding-right:0}
 .lp-feat-counts strong{font-size:36px}
 .lp-feat-grid{grid-template-columns:minmax(0,1fr);gap:0;border-bottom:1px solid var(--lp-line-2)}
 .lp-cat{padding-top:0}
 .lp-cat summary{min-height:58px;align-items:center;padding-block:6px}
 .lp-cat summary::after{content:"";flex:none;width:9px;height:9px;margin:-4px 4px 0 14px;border-right:2px solid var(--q-muted);border-bottom:2px solid var(--q-muted);transform:rotate(45deg);transition:transform var(--q-feedback) ease}
 .lp-cat[open] summary::after{transform:rotate(-135deg);margin-top:4px}
 .lp-cat-count{margin-left:auto}
 .lp-cat-list{margin:2px 0 0;padding-bottom:20px}
 /* The accordion opens with the chevron, where the browser can animate the details content (Chromium today; elsewhere it opens instantly).
    Only after the first frame (.is-ready), so the phone collapse at load never plays, and never under reduced motion. */
 @media (prefers-reduced-motion:no-preference){
  @supports selector(::details-content){
   .lp-cat{interpolate-size:allow-keywords}
   .lp-cat::details-content{block-size:0;overflow:hidden;opacity:0}
   .lp-cat[open]::details-content{block-size:auto;opacity:1}
   .lp-cat.is-ready::details-content{transition:block-size var(--q-enter) var(--lp-ease),opacity var(--q-feedback) ease,content-visibility var(--q-enter) allow-discrete}
  }
 }
 .lp-feat-foot{flex-direction:column;align-items:stretch;gap:24px;margin-top:28px;padding-top:0;border-top:0}
 .lp-feat-foot .lp-btn{width:100%}
 .lp-news ol{flex-direction:column;gap:10px}
 .lp-trust-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 /* Comparison becomes one block per question. */
 .lp-compare,.lp-compare tbody,.lp-compare tr,.lp-compare th,.lp-compare td{display:block}
 .lp-compare thead{display:none}
 .lp-compare tbody tr{padding:18px 18px 8px}
 .lp-compare tbody tr+tr>*{border-top:0}
 .lp-compare tbody tr+tr{border-top:1px solid var(--lp-line)}
 .lp-compare th,.lp-compare td{padding:0}
 .lp-compare tbody th{width:auto;color:var(--q-text);font:600 17px/1.35 var(--q-font-display);margin-bottom:10px}
 .lp-compare td{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding:8px 0;font-size:15px}
 .lp-compare td::before{content:attr(data-label);color:var(--q-muted);font-weight:400}
 .lp-compare td.is-quect{background:transparent;color:var(--q-accent)}
 .lp-footer{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:120px}
 .lp-faq-head .lp-btn{width:100%}
 .lp-final-inner{padding-block:80px 72px}
 .lp-final .lp-cta-row{margin-top:32px}
 /* Dock */
 .lp-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--q-bg) 94%,transparent);border-top:1px solid var(--lp-line-2);transform:translateY(110%);transition:transform 200ms var(--lp-ease-drawer)}
 .lp-dock.is-shown{transform:none;transition-duration:300ms}
 .lp-dock-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .lp-dock-text{font-size:14px;font-weight:600;color:var(--q-accent);line-height:1.3}
 .lp-dock .lp-btn{min-height:46px;flex:none}
}
@media (max-width:380px){
 .wrap{width:calc(100% - 24px)}
 .lp-dock-text{display:none}
 .lp-dock .lp-btn{width:100%}
 .lp-compare td{grid-template-columns:minmax(0,1fr)}
 .lp-feat-counts a{padding-inline:8px}
 .lp-feat-counts span{font-size:13px;gap:6px}
 .lp-feat-counts span::before{display:none}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .lp-dock{transition:opacity 160ms linear;transform:none;opacity:0;visibility:hidden}
 .lp-dock.is-shown{opacity:1;visibility:visible}
}

/* Reserve the approved wordmark size before SVG decoding. */
body>header.nav .brand>.quect-wordmark{width:calc(25px * 5052 / 994);height:25px;aspect-ratio:5052 / 994}
