/* tokens.css */
:root{
  color-scheme: dark;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --color-bg: #071424;
  --color-bg-deep: #030912;
  --color-bg-ink: #02060b;
  --color-surface: rgb(11 27 46 / 74%);
  --color-surface-solid: #0b1b2e;
  --color-surface-raised: #10243d;
  --color-surface-soft: rgb(13 31 52 / 68%);
  --color-surface-black: rgb(3 9 18 / 92%);
  --color-text: #f5f9ff;
  --color-text-muted: #d7e2ee;
  --color-text-soft: #a8b7c9;
  --color-copper: #b24a1c;
  --color-copper-deep: #7b2f18;
  --color-copper-strong: #cc5a2a;
  --color-copper-bright: #f27b35;
  --color-copper-pale: #ffb67d;
  --color-blue: #7db8ff;
  --color-blue-soft: #a7d2ff;
  --color-border: rgb(255 167 85 / 30%);
  --color-border-soft: rgb(167 210 255 / 16%);
  --color-border-strong: rgb(255 167 85 / 48%);
  --color-success: #80c99a;
  --shadow-soft: 0 14px 34px rgb(0 0 0 / 28%);
  --shadow-raised: 0 24px 62px rgb(0 0 0 / 44%);
  --shadow-copper: 0 16px 38px rgb(198 77 30 / 28%);
  --shadow-copper-soft: 0 0 0 1px rgb(255 167 85 / 10%), 0 16px 38px rgb(97 34 17 / 24%);
  --radius-xs: 7px;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 26px;
  --radius-xl: 34px;
  --radius-pill: 999px;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6rem;
  --content-max: 1280px;
  --reading-max: 760px;
  --home-header-height: 65px;
  --product-header-height: 149px;
  --header-height: var(--home-header-height);
  --motion-fast: 180ms;
  --motion-medium: 430ms;
  --motion-slow: 760ms;
  --ease-standard: cubic-bezier(.2, .8, .2, 1);
  /* Semantic aliases: these reference the approved current tokens; no new palette values. */
  --font-display: var(--font-sans);
  --font-heading: var(--font-sans);
  --font-ui: var(--font-sans);
  --font-weight-display: 850;
  --font-weight-heading: 850;
  --font-weight-card-title: 850;
  --font-weight-ui: 850;
  --color-heading: var(--color-text);
  --color-heading-accent: var(--color-copper-pale);
  --color-interactive-accent: var(--color-copper-bright);
  --color-interactive-border: var(--color-border-strong);
  --surface-accent-soft: color-mix(in srgb, var(--color-copper) 14%, transparent);
  --surface-accent-hover: color-mix(in srgb, var(--color-copper-strong) 16%, var(--color-surface-solid));
  --focus-ring-color: var(--color-copper-bright);
  --focus-ring-width: 2px;
  --focus-ring-offset: 3px;
  --interactive-lift: -2px;
  --interactive-lift-strong: -4px;
  --media-hover-scale: 1.026;
  --surface-label: linear-gradient(
    180deg,
    color-mix(in srgb, var(--color-copper) 18%, var(--color-surface-raised)),
    color-mix(in srgb, var(--color-copper-deep) 16%, var(--color-surface-solid))
  );
  --surface-label-hover: linear-gradient(
    180deg,
    color-mix(in srgb, var(--color-copper-strong) 24%, var(--color-surface-raised)),
    color-mix(in srgb, var(--color-copper) 20%, var(--color-surface-solid))
  );
  --surface-chip: linear-gradient(
    180deg,
    color-mix(in srgb, var(--color-copper) 10%, var(--color-surface-raised)),
    color-mix(in srgb, var(--color-bg-deep) 42%, var(--color-surface-solid))
  );
  --shadow-interactive-strong: var(--shadow-raised), 0 0 38px color-mix(in srgb, var(--color-copper-strong) 22%, transparent);
}

/* base.css */
*, *::before, *::after{ box-sizing: border-box; }
html{ min-width: 320px; scroll-behavior: smooth; scroll-padding-top: calc(var(--runtime-header-height, var(--header-height)) + 1rem); }
body{
  margin: 0;
  min-height: 100vh;
  overflow-wrap: break-word;
  background:
    linear-gradient(rgb(6 16 30 / 22%), rgb(6 16 30 / 28%)),
    url("/assets/runtime/media/theme-dark-bg.252db47a0fdc.webp") center top / cover fixed no-repeat,
    linear-gradient(180deg, #081629 0%, #10233e 52%, #071424 100%);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.56;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body::before{ content: ""; position: fixed; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 0, rgb(2 7 13 / 12%) 55%, rgb(2 7 13 / 44%) 100%); }
main{ overflow: visible; }
img, picture, video, svg{ display: block; max-width: 100%; }
a{ color: inherit; }
button, input, select, textarea{ font: inherit; font-family: var(--font-ui); }
button{ color: inherit; }
h1, h2, h3, p{ margin-top: 0; }
h1, h2, h3{ font-family: var(--font-heading); font-weight: var(--font-weight-heading); line-height: 1.08; text-wrap: balance; }
h1{ font-size: clamp(2.2rem, 3vw, 2.55rem); letter-spacing: -.04em; font-weight: var(--font-weight-display); }
h2{ font-size: clamp(1.65rem, 2.25vw, 2.3rem); letter-spacing: -.025em; }
h3{ font-size: clamp(1.08rem, 1.4vw, 1.34rem); letter-spacing: -.012em; }
p{ color: var(--color-text-muted); }
strong{ color: var(--color-text); }
::selection{ background: rgb(178 74 28 / 48%); color: #fff; }
:focus-visible{ outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); }
summary:focus-visible{ outline-offset: -2px; }
.skip-link{ position: fixed; z-index: 1200; top: .75rem; left: .75rem; transform: translateY(-160%); padding: .7rem 1rem; border-radius: var(--radius-sm); background: var(--color-copper-strong); color: #fff; font-weight: 800; text-decoration: none; }
.skip-link:focus{ transform: translateY(0); }
.section[id], .home-hero[id], .client-hero[id]{ scroll-margin-top: calc(var(--runtime-header-height, var(--header-height)) + 1rem); }
@media (max-width: 680px) {
  body{ background-attachment: scroll; background-position: center top; }
  h2{ font-size: clamp(1.55rem, 7.5vw, 2rem); }
}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (prefers-reduced-motion: reduce) { html{ scroll-behavior: auto; } }

/* layout.css */
.container{ width: min(calc(100% - 28px), var(--content-max)); margin-inline: auto; }
.section{ position: relative; padding-block: 34px; }
.site-header{ z-index: 999; top: 0; border-bottom: 1px solid rgb(167 210 255 / 16%); color: var(--color-text); transition: background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard); }
.site-header.is-scrolled{ box-shadow: 0 10px 34px rgb(0 0 0 / 28%); }
.site-header--home{ position: sticky; min-height: 108px; background: rgb(6 16 30 / 92%); backdrop-filter: blur(16px); box-shadow: 0 8px 32px rgb(0 0 0 / 16%); }
.site-header--home.is-scrolled{ background: rgb(6 16 30 / 98%); border-bottom-color: rgb(255 167 85 / 24%); box-shadow: 0 12px 38px rgb(0 0 0 / 36%); }
.home-header__shell{ min-height: 108px; display: grid; grid-template-rows: auto auto; gap: 8px; padding-block: 10px 11px; }
.home-header__identity-row, .product-header__identity-row{ min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px; }
.home-header__navigation-row{ min-width: 0; border-top: 1px solid rgb(167 210 255 / 11%); padding-top: 8px; }
.primary-nav, .language-nav, .product-nav{ display: flex; align-items: center; }
.primary-nav--home{ justify-content: flex-start; gap: 5px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.primary-nav--home::-webkit-scrollbar, .product-nav--rail::-webkit-scrollbar{ display: none; }
.language-nav{ gap: 4px; }
.language-nav--pill, .language-nav--rail{ justify-content: flex-end; padding: 5px; border: 1px solid rgb(167 210 255 / 16%); border-radius: 18px; background: rgb(4 12 22 / 58%); }
.product-header{ --header-height: 136px; position: fixed; width: 100%; min-height: var(--header-height); background: linear-gradient(rgb(4 12 22 / 97%), rgb(4 12 22 / 91%)); box-shadow: 0 10px 32px rgb(0 0 0 / 22%); backdrop-filter: blur(16px); }
.product-header + main{ padding-top: var(--header-height); }
.product-header__shell{ min-height: var(--header-height); display: grid; grid-template-rows: auto auto; gap: 8px; padding-block: 10px 11px; }
.product-header__action-row{ min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; border-top: 1px solid rgb(167 210 255 / 11%); padding-top: 8px; }
.product-header__top-actions{ display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.product-nav--rail{ min-width: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.footer__grid{ display: grid; gap: 32px; }
@media (min-width: 860px){ .footer__grid{ grid-template-columns: minmax(300px,1.65fr) repeat(3,minmax(145px,.72fr)); } }
@media (min-width: 681px) and (max-width: 1180px){
 .product-header{ position: sticky; min-height: 0; height: auto; }
 .product-header + main{ padding-top: 0; }
 .product-header__shell{ min-height: 0; padding-block: 10px 12px; }
 .product-header__action-row{ grid-template-columns: 1fr; }
 .product-header__top-actions{ justify-content: flex-start; flex-wrap: wrap; grid-row: 1; }
 .product-nav--rail{ grid-row: 2; width: 100%; }
}
@media (max-width: 680px){
 .section{ padding-block: 13px; }
 .site-header--home{ min-height: 0; }
 .home-header__shell{ min-height: 0; grid-template-rows: auto auto auto; gap: 8px; padding-block: 10px 12px; }
 .home-header__identity-row, .product-header__identity-row{ grid-template-columns: 1fr; gap: 8px; }
 .site-header--home .brand__mark{ width: 38px; height: 38px; }
 .site-header--home .brand__text strong{ font-size: .92rem; }
 .language-nav--pill, .language-nav--rail{ width: 100%; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
 .language-nav--pill a, .language-nav--rail a{ min-width: 40px; min-height: 40px; }
 .home-header__navigation-row{ padding-top: 8px; }
 .primary-nav--home{ flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; overscroll-behavior-inline: contain; padding-bottom: 3px; }
 .primary-nav--home a{ flex: 0 0 auto; min-height: 40px; }
 .product-header{ position: sticky; min-height: 0; height: auto; }
 .product-header + main{ padding-top: 0; }
 .product-header__shell{ min-height: 0; padding-block: 10px 12px; gap: 9px; }
 .product-header__action-row{ grid-template-columns: 1fr; gap: 9px; padding-top: 9px; }
 .product-header__top-actions{ width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; grid-row: 1; }
 .product-header__top-actions .button--secondary:first-child{ grid-column: 1/-1; }
 .product-header__top-actions .button{ width: 100%; min-width: 0; min-height: 44px; padding-inline: 11px; border-radius: 14px; }
 .product-nav--rail{ grid-row: 2; width: 100%; min-height: 0; padding: 7px; border: 1px solid rgb(167 210 255 / 17%); border-radius: 17px; background: rgb(5 15 27 / 74%); }
 .product-nav--rail a, .language-nav--rail a{ min-height: 40px; border-radius: 11px; flex: 0 0 auto; }
}
@media (max-height:560px) and (orientation:landscape){
 .site-header--home .brand__mark, .product-brand img{ width: 36px; height: 36px; }
 .home-header__shell, .product-header__shell{ padding-block: 6px 7px; gap: 6px; }
 .product-header__action-row{ grid-template-columns:minmax(0,1fr) auto; }
 .product-header__top-actions{ width:auto; display:flex; grid-row:auto; }
 .product-nav--rail{ grid-row:auto; }
 .home-hero, .client-hero{ padding-top:clamp(40px,8vh,72px); padding-bottom:clamp(34px,8vh,64px); }
}
@media (prefers-reduced-motion:reduce){ .site-header{ transition:none; } }
/* components.css */
.brand{ display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.brand__mark{ width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 7px 18px rgb(0 0 0 / 42%)); }
.brand__text{ display: grid; line-height: 1; }
.brand__text strong{ color: #fff; letter-spacing: .02em; font-size: 1rem; font-weight: 850; }
.product-brand{ display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; min-width: 0; }
.product-brand img{ width: 52px; height: 52px; object-fit: contain; filter: drop-shadow(0 6px 15px rgb(0 0 0 / 42%)); }
.product-brand span{ display: grid; line-height: 1.04; min-width: 0; }
.product-brand strong{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 1.02rem; letter-spacing: .015em; font-weight: 850; }
.product-brand small{ margin-top: 5px; color: var(--color-text-soft); font-size: .73rem; font-weight: 720; letter-spacing: .025em; }
.primary-nav a, .language-nav a, .product-nav a{
  min-height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 10px;
  border: 1px solid transparent; border-radius: 11px; color: var(--color-text-muted); font-size: .79rem;
  font-weight: 780; line-height: 1.1; text-decoration: none; white-space: nowrap;
}
.primary-nav a:hover, .language-nav a:hover, .product-nav a:hover, .primary-nav a[aria-current], .language-nav a[aria-current], .product-nav a[aria-current]{
  border-color: rgb(255 167 85 / 28%); background: rgb(178 74 28 / 11%); color: #fff;
}
.primary-nav .nav-outline{ border-color: rgb(167 210 255 / 18%); background: rgb(8 22 39 / 60%); color: var(--color-text); }


.primary-nav .nav-outline--client, .primary-nav .nav-outline--client.nav-outline--client:hover, .primary-nav .nav-outline--client.nav-outline--client[aria-current], .button--back-home.button--back-home, .button--back-home.button--back-home:hover, .button--back-home.button--back-home:focus-visible{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgb(255 148 74 / 55%);
  background-color: rgb(15 19 25);
  background-image:
    repeating-linear-gradient(38deg, transparent 0px 9px, rgb(255 140 60 / 70%) 9px 10.4px, transparent 10.4px 29px),
    repeating-linear-gradient(-44deg, transparent 0px 11px, rgb(255 110 45 / 60%) 11px 12.4px, transparent 12.4px 33px),
    repeating-linear-gradient(81deg, transparent 0px 14px, rgb(255 196 110 / 55%) 14px 15.2px, transparent 15.2px 39px),
    repeating-linear-gradient(-9deg, transparent 0px 17px, rgb(255 90 35 / 45%) 17px 18.2px, transparent 18.2px 45px);
  animation: fx-lava-shimmer 4.5s ease-in-out infinite, fx-nav-ember 2.6s ease-in-out infinite;
}
/* Hover brightening previously used filter:brightness() on the whole
   button — that forces the browser to flatten the entire element
   (cracks, dark text-plate, and text together) into an offscreen buffer
   before compositing, which was darkening/muddying the text instead of
   just brightening the cracks. Replaced with a direct swap to
   higher-alpha crack colors, which only touches the background-image —
   it cannot affect the plate or the text layers above it. */
.primary-nav .nav-outline--client:hover, .primary-nav .nav-outline--client[aria-current], .button--back-home:hover, .button--back-home:focus-visible{
  background-image:
    repeating-linear-gradient(38deg, transparent 0px 9px, rgb(255 160 80 / 92%) 9px 10.4px, transparent 10.4px 29px),
    repeating-linear-gradient(-44deg, transparent 0px 11px, rgb(255 130 60 / 85%) 11px 12.4px, transparent 12.4px 33px),
    repeating-linear-gradient(81deg, transparent 0px 14px, rgb(255 210 140 / 80%) 14px 15.2px, transparent 15.2px 39px),
    repeating-linear-gradient(-9deg, transparent 0px 17px, rgb(255 110 55 / 70%) 17px 18.2px, transparent 18.2px 45px);
}
@keyframes fx-lava-shimmer {
  0%, 100%{ background-position: 0% 0%, 0% 0%, 0% 0%, 0% 0%; }
  50%{ background-position: 4% 3%, -3% 4%, 3% -3%, -4% 2%; }
}
/* Dark plate behind the label only — fixed, always the same regardless
   of hover state, so text contrast is never a moving target. Deliberately
   NOT touched by the hover rule above (no property here changes on
   hover) so it can't be the thing that reads as "getting darker". */
.primary-nav .nav-outline--client::before, .button--back-home::before{
  content: "";
  position: absolute;
  z-index: 0;
  left: 8%;
  right: 8%;
  top: 24%;
  bottom: 24%;
  border-radius: 6px;
  background: rgb(6 4 3 / 42%);
  pointer-events: none;
}
/* Solid color, not the animated gradient-clip used on headings — at this
   small button size, a moving low-contrast gradient made legibility too
   unpredictable across rest/hover states. --color-copper-pale is the same
   token the site already uses for --color-heading-accent, so it's still
   squarely in the established palette, just applied as a flat, reliable
   fill instead of a shifting one. */
.primary-nav .nav-outline--client span, .button--back-home span{
  position: relative;
  z-index: 1;
  color: var(--color-copper-pale);
}
/* text-shadow here is inherited by the span (it doesn't set its own), so
   the dark contact shadow that keeps the label legible and the warm
   pulse both come from this one animated value. Hover gets a distinctly
   bigger, brighter glow on top — separate rule below. */
@keyframes fx-nav-ember{
  0%, 100%{ box-shadow: 0 0 0 1px rgb(255 148 74 / 24%), 0 0 10px rgb(242 123 53 / 28%), 0 0 2px rgb(255 196 92 / 20%); text-shadow: 0 1px 2px rgb(0 0 0 / 70%), 0 0 5px rgb(255 170 90 / 45%); }
  38%{ box-shadow: 0 0 0 1px rgb(255 178 110 / 46%), 0 0 22px rgb(255 138 61 / 60%), 0 0 6px rgb(255 205 130 / 48%); text-shadow: 0 1px 2px rgb(0 0 0 / 70%), 0 0 9px rgb(255 190 120 / 75%); }
  64%{ box-shadow: 0 0 0 1px rgb(255 148 74 / 32%), 0 0 15px rgb(242 123 53 / 38%), 0 0 3px rgb(255 196 92 / 26%); text-shadow: 0 1px 2px rgb(0 0 0 / 70%), 0 0 6px rgb(255 170 90 / 55%); }
  82%{ box-shadow: 0 0 0 1px rgb(255 168 91 / 38%), 0 0 18px rgb(255 138 61 / 48%), 0 0 4px rgb(255 196 92 / 32%); text-shadow: 0 1px 2px rgb(0 0 0 / 70%), 0 0 8px rgb(255 180 100 / 65%); }
}
/* Hover/active: the label itself brightens from copper-pale to warm
   white plus a much stronger glow — this is the "shine more, read
   easily" state. Scoped to the span only, so it can never affect the
   plate or crack layers. Solid color (no background-clip), same reason
   as the rest state above — reliable over flashy. */
.primary-nav .nav-outline--client:hover span, .primary-nav .nav-outline--client[aria-current] span, .button--back-home:hover span, .button--back-home:focus-visible span{
  color: #fff6ec;
  text-shadow: 0 1px 2px rgb(0 0 0 / 80%), 0 0 6px rgb(0 0 0 / 60%), 0 0 12px rgb(255 220 175 / 95%), 0 0 26px rgb(255 170 100 / 75%);
}
.primary-nav .nav-buy, .button--buy{
  gap: 8px;
  border-color: rgb(255 167 85 / 46%);
  background: linear-gradient(180deg, rgb(70 39 33 / 94%), rgb(10 25 40 / 96%));
  color: var(--color-heading-accent);
  box-shadow: var(--shadow-copper-soft), inset 0 1px 0 rgb(255 255 255 / 7%);
}
.primary-nav .nav-buy::before, .button--buy::before{
  content: "";
  flex: 0 0 auto;
  width: 1.08em;
  height: 1.08em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.2 10.3a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 1.9-1.4L20 7H6.2M10 20h.01M17 20h.01' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.2 10.3a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 1.9-1.4L20 7H6.2M10 20h.01M17 20h.01' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 0 5px rgb(242 123 53 / 26%));
  transform-origin: 50% 72%;
}
.primary-nav .nav-patreon{ border-color: rgb(255 167 85 / 34%); background: linear-gradient(180deg, #c75d32, #9f3d1d); color: #fff; box-shadow: 0 8px 21px rgb(89 30 23 / 25%); }
.primary-nav .nav-cta{ border-color: rgb(255 167 85 / 48%); background: linear-gradient(180deg, #cc5a2a, #b24a1c); color: #fff; box-shadow: 0 9px 24px rgb(99 34 25 / 28%); }
.primary-nav .nav-buy, .primary-nav .nav-cta, .primary-nav .nav-patreon, .primary-nav .nav-outline{ min-height: 44px; padding: 8px 14px; font-size: .87rem; }

.language-nav a{ min-height: 31px; padding-inline: 8px; font-size: .72rem; }
.language-nav a[aria-current]{ border-color: rgb(255 167 85 / 42%); color: #ffd0aa; }

/* Phase 11.2.3: shared responsive action reflow. */
.button{position: relative; isolation: isolate; overflow: hidden;
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 22px;
  border: 1px solid transparent; border-radius: 14px; font-family: var(--font-ui); font-size: .95rem;
  font-weight: var(--font-weight-ui); line-height: 1.2; letter-spacing: -.01em; text-align: center; text-decoration: none;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%);
max-width: 100%; white-space: normal; overflow-wrap: anywhere;}
.button--primary{
  border-color: var(--color-interactive-border);
  background: linear-gradient(180deg, var(--color-copper-bright), var(--color-copper));
  color: #fff;
  box-shadow: var(--shadow-copper);
}
.button--secondary{
  border-color: var(--color-border-soft);
  background: linear-gradient(180deg, var(--color-surface-raised), var(--color-surface-solid));
  color: var(--color-text);
}
.button--dfg{
  border-color: var(--color-interactive-border);
  background: linear-gradient(180deg, var(--surface-accent-soft), var(--color-surface-solid));
  color: var(--color-heading-accent);
  box-shadow: var(--shadow-copper-soft);
}
html[lang="pt-BR"] .button--dfg{
  border-color: color-mix(in srgb, var(--color-copper-pale) 62%, var(--color-interactive-border));
  background: linear-gradient(180deg, var(--color-copper-strong), var(--color-copper-deep));
  color: #fff;
  box-shadow: var(--shadow-copper), inset 0 1px 0 rgb(255 255 255 / 17%);
}
.button[aria-disabled="true"], .button:disabled{
  cursor: not-allowed;
  opacity: .56;
  transform: none;
  filter: none;
}
.button--primary:visited{ color: #fff; }
.button--secondary:visited{ color: var(--color-text); }
.button--dfg:visited{ color: var(--color-heading-accent); }
.button--buy:visited{ color: var(--color-heading-accent); }
html[lang="pt-BR"] .button--dfg:visited{ color: #fff; }
.button--compact, .button--small{ min-height: 39px; padding-inline: 17px; font-size: .84rem; }
.action-group{ min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.eyebrow, .section-label, .offer-card__tag, .plan-card-clean__label{
  display: inline-flex; align-items: center; gap: 7px; width: fit-content; min-height: 28px;
  margin-bottom: 13px; padding: 5px 10px; border: 1px solid var(--color-interactive-border);
  border-radius: var(--radius-xs); background: var(--surface-label); color: var(--color-heading-accent);
  font-family: var(--font-ui); font-size: .72rem; font-weight: var(--font-weight-ui); line-height: 1;
  letter-spacing: .11em; text-transform: uppercase;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-text) 6%, transparent), 0 8px 20px color-mix(in srgb, var(--color-bg-ink) 36%, transparent);
}
.eyebrow::before, .section-label::before{
  content: ""; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%;
  background: var(--color-interactive-accent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--color-copper-bright) 54%, transparent);
}
.eyebrow--small{ min-height: 25px; padding: 4px 8px; font-size: .66rem; }
.card, .legal-card{
  position: relative; overflow: hidden; border: 1px solid rgb(167 210 255 / 16%); border-radius: 24px;
  background: linear-gradient(180deg, rgb(11 27 46 / 74%), rgb(8 18 32 / 94%));
  box-shadow: 0 16px 38px rgb(0 0 0 / 24%), inset 0 1px 0 rgb(255 255 255 / 3%);
}
.card::before, .legal-card::before{
  content: ""; position: absolute; top: 0; right: 0; left: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgb(242 123 53 / 48%), transparent); opacity: .72;
}
.card__body, .legal-card{ padding: clamp(18px, 2vw, 24px); }
.hero-title{
  font-family: var(--font-display);
  font-weight: var(--font-weight-display);
  color: var(--color-heading);
}
.section-heading{
  max-width: 1100px; margin-bottom: 14px;
  font-family: var(--font-heading); font-size: clamp(1.75rem, 2.25vw, 2.3rem);
  font-weight: var(--font-weight-heading); line-height: 1.045; letter-spacing: -.032em;
  color: var(--color-heading-accent);
  text-shadow: 0 0 20px color-mix(in srgb, var(--color-copper-bright) 16%, transparent);
}
.card-title, .card h3, .legal-card h2, .legal-card h3, .plugin-group__title, .mini-list__title{
  margin-bottom: 10px;
  font-family: var(--font-heading); font-weight: var(--font-weight-card-title); line-height: 1.08;
  color: var(--color-heading-accent);
  text-shadow: 0 0 14px color-mix(in srgb, var(--color-copper-bright) 10%, transparent);
}

.card p:last-child, .legal-card p:last-child{ margin-bottom: 0; }
.text-link{
  width: fit-content; display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--color-interactive-border) 86%, transparent);
  border-radius: var(--radius-pill); background: var(--surface-label); color: var(--color-copper-bright);
  font-family: var(--font-ui); font-size: .86rem; font-weight: 850; line-height: 1.15; text-decoration: none;
  box-shadow: var(--shadow-copper-soft);
}
.text-link::after{ content: "→"; margin-left: 1px; }
.text-link:visited{ color: var(--color-copper-bright); }
.chip-list{ display: flex; flex-wrap: wrap; gap: 7px; }
.chip, .badge, .plugin-meta span{
  display: inline-flex; align-items: center; min-height: 31px; padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--color-interactive-border) 68%, transparent);
  border-radius: var(--radius-pill); background: var(--surface-chip); color: var(--color-heading-accent);
  font-family: var(--font-ui); font-size: .72rem; font-weight: var(--font-weight-ui); line-height: 1.15;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-text) 4%, transparent);
}
.section-intro{ max-width: 900px; font-size: 1rem; }
.media-frame, .client-media{
  position: relative; isolation: isolate; margin: 0; overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-interactive-border) 72%, transparent); border-radius: 24px;
  background: var(--color-bg-ink); box-shadow: 0 24px 62px rgb(0 0 0 / 38%), 0 0 0 1px rgb(0 0 0 / 36%);
}
.media-frame a, .client-media a{
  position: relative; display: block; overflow: hidden; border-radius: inherit;
}
.media-frame a::after, .client-media a::after{
  content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; opacity: 0;
  background: linear-gradient(145deg, transparent 42%, color-mix(in srgb, var(--color-copper) 24%, transparent));
  transition: opacity var(--motion-fast) var(--ease-standard);
}

.media-frame img, .client-media img{ width: 100%; height: auto; object-fit: cover; }
.media-frame__zoom, .client-media__zoom{
  position: absolute; z-index: 2; right: 10px; bottom: 10px; min-height: 29px; display: inline-flex; align-items: center; padding: 4px 9px;
  border: 1px solid var(--color-interactive-border); border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-surface-black) 84%, var(--color-copper) 16%);
  color: var(--color-heading-accent); font-size: .67rem; font-weight: var(--font-weight-ui);
  box-shadow: 0 8px 18px rgb(0 0 0 / 35%);
}

.media-frame__zoom::before, .client-media__zoom::before{ content: attr(data-label); }
.faq-list-clean, .faq-list{ display: grid; gap: 11px; margin-top: 22px; }
.faq-list-clean details, .faq-list details, .plugin-group{
  overflow: hidden; border: 1px solid var(--color-border-soft); border-radius: 14px;
  background: linear-gradient(180deg, var(--color-surface-raised), var(--color-surface-solid));
  box-shadow: 0 12px 28px rgb(0 0 0 / 20%);
}
.faq-list-clean summary, .faq-list summary, .plugin-group summary{
  position: relative; padding: 15px 48px 15px 18px; color: var(--color-text);
  font-family: var(--font-heading); font-weight: var(--font-weight-card-title); cursor: pointer; list-style: none;
}
.faq-list-clean summary::-webkit-details-marker, .faq-list summary::-webkit-details-marker, .plugin-group summary::-webkit-details-marker{ display: none; }
.faq-list-clean summary::after, .faq-list summary::after{ content: "+"; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); color: var(--color-copper-bright); font-size: 1.28rem; }
.faq-list-clean details[open] summary::after, .faq-list details[open] summary::after{ content: "−"; }
.faq-answer, .faq-list details > p{ margin: 0; padding: 0 18px 16px; }
.faq-answer p:last-child{ margin-bottom: 0; }
.lightbox{ position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: clamp(1rem, 3vw, 2rem); background: rgb(0 0 0 / 90%); backdrop-filter: blur(8px); }
.lightbox[hidden]{ display: none; }
.lightbox img{ max-width: min(96vw, 1600px); max-height: 88vh; object-fit: contain; border: 1px solid rgb(255 167 85 / 30%); border-radius: 14px; box-shadow: 0 28px 95px rgb(0 0 0 / 62%); cursor: zoom-in; touch-action: none; }
.lightbox img.lightbox--zoomed{ cursor: grab; box-shadow: 0 38px 120px rgb(0 0 0 / 78%); }
.lightbox img.lightbox--zoomed:active, .lightbox img.lightbox__image--dragging{ cursor: grabbing; }
.lightbox__zoom-hint{ position: fixed; top: 1rem; left: 50%; translate: -50% 0; padding: 5px 14px; border-radius: var(--radius-pill); background: rgb(5 13 22 / 88%); color: var(--color-text-soft); font-size: .78rem; font-weight: 700; pointer-events: none; opacity: 0; transition: opacity 160ms var(--ease-standard); }
.lightbox__zoom-hint.visible{ opacity: 1; }
.lightbox__close{ position: fixed; top: 1rem; right: 1rem; width: 46px; height: 46px; border: 1px solid rgb(255 255 255 / 26%); border-radius: 50%; background: rgb(5 13 22 / 94%); color: #fff; font-size: 1.8rem; cursor: pointer; }
.lightbox__image{
  transform: translate3d(var(--lb-x, 0px), var(--lb-y, 0px), 0) scale(var(--lb-scale, 1));
  transform-origin: center center;
  transition: opacity 200ms var(--ease-standard);
}
/* Discrete actions (click/buttons/keyboard) opt into an eased transform
   transition; continuous input (wheel/drag/pinch) stays untransitioned so
   it never lags behind the pointer. */
.lightbox__image--eased{ transition: transform 220ms var(--ease-standard), opacity 200ms var(--ease-standard); }
.lightbox__image--loading{ opacity: .35; }
.lightbox__controls{ position: fixed; z-index: 1201; bottom: 1rem; left: 50%; translate: -50% 0; display: flex; gap: 8px; }
.lightbox__control{ width: 46px; height: 46px; border: 1px solid rgb(255 255 255 / 26%); border-radius: 50%; background: rgb(5 13 22 / 94%); color: #fff; font-size: 1.3rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.lightbox__control:hover{ background: rgb(20 34 52 / 96%); border-color: rgb(242 123 53 / 40%); }
.lightbox__control:disabled{ opacity: .4; cursor: not-allowed; }
.lightbox__prev, .lightbox__next{ position: fixed; z-index: 1201; top: 50%; translate: 0 -50%; width: 50px; height: 50px; border: 1px solid rgb(255 255 255 / 26%); border-radius: 50%; background: rgb(5 13 22 / 94%); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.lightbox__prev:hover, .lightbox__next:hover{ background: rgb(20 34 52 / 96%); border-color: rgb(242 123 53 / 40%); }
.lightbox__prev{ left: 1rem; }
.lightbox__next{ right: 1rem; }
.lightbox__prev[hidden], .lightbox__next[hidden]{ display: none; }
@media (max-width: 640px){
  .lightbox__prev, .lightbox__next{ width: 42px; height: 42px; font-size: 1.3rem; }
  .lightbox__prev{ left: .4rem; }
  .lightbox__next{ right: .4rem; }
}
body.has-lightbox{ overflow: hidden; }





.site-footer{
  position: relative; overflow: hidden; padding-block: 34px;
  border-top: 1px solid color-mix(in srgb, var(--color-interactive-border) 64%, transparent);
  background: linear-gradient(var(--color-surface-black), var(--color-bg-deep));
}
.footer__brand > strong{
  display: block; margin-bottom: 9px;
  font-family: var(--font-heading); font-size: 1.2rem; font-weight: var(--font-weight-heading);
  line-height: 1.08; letter-spacing: -.015em;
  text-shadow: 0 0 16px color-mix(in srgb, var(--color-copper-bright) 14%, transparent);
  background: linear-gradient(112deg, var(--color-copper-pale) 0%, var(--color-copper-bright) 30%, var(--color-copper-strong) 55%, var(--color-copper-bright) 80%, var(--color-copper-pale) 100%);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: footer-gradient-shift 9s cubic-bezier(.45,0,.55,1) infinite alternate;
}
.footer__brand p{ max-width: 430px; margin-bottom: 0; color: var(--color-text-muted); font-size: .91rem; line-height: 1.56; }
.footer__column{ display: grid; align-content: start; gap: 10px; }
.footer__column h2{
  width: fit-content; min-height: 26px; display: inline-flex; align-items: center;
  margin: 0 0 4px; padding: 4px 8px; border: 1px solid var(--color-interactive-border);
  border-radius: var(--radius-xs); background: var(--surface-label); color: var(--color-heading-accent);
  font-family: var(--font-ui); font-size: .68rem; font-weight: var(--font-weight-ui);
  line-height: 1; letter-spacing: .12em; text-transform: uppercase;
}
.footer__column a{ width: fit-content; color: var(--color-text-muted); font-size: .88rem; font-weight: 720; text-decoration: none; }
.footer__product-list{ display: grid; gap: 7px; }
.footer-product-link{
  width: 100%; display: grid; gap: 3px; padding: 9px 10px;
  border: 1px solid var(--color-border-soft); border-radius: 12px;
  background: color-mix(in srgb, var(--color-surface) 86%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-text) 3%, transparent);
}
.footer-product-link strong{
  font-family: var(--font-heading);
  font-size: .86rem; font-weight: var(--font-weight-card-title); line-height: 1.12;
  background: linear-gradient(112deg, var(--color-copper-pale) 0%, var(--color-copper-bright) 35%, var(--color-copper-strong) 55%, var(--color-copper-bright) 75%, var(--color-copper-pale) 100%);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: footer-gradient-shift 8s cubic-bezier(.45,0,.55,1) infinite alternate;
}
.footer-product-link small{ color: var(--color-text-soft); font-size: .69rem; font-weight: 650; line-height: 1.35; }
@keyframes footer-gradient-shift {
  0%{ background-position: 0% 50%; }
  100%{ background-position: 100% 50%; }
}
/* Same treatment on the copyright line — lives here (not effects.css)
   because legal/download pages only load app.css, and this must animate
   on every page, not just the marketing pages that load the fx layer. */
.footer__bottom p:last-child strong, .footer__bottom p:last-child span{
  background: linear-gradient(112deg, var(--color-copper-pale) 0%, var(--color-copper-bright) 30%, var(--color-copper-strong) 55%, var(--color-copper-bright) 80%, var(--color-copper-pale) 100%);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: footer-gradient-shift 10s cubic-bezier(.45,0,.55,1) infinite alternate;
}
.site-footer .footer-link--dfg{
  padding: 5px 8px; border: 1px solid var(--color-interactive-border); border-radius: var(--radius-xs);
  background: var(--surface-accent-soft); color: var(--color-heading-accent);
}
.footer__languages{ display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.footer__languages a{ min-height: 30px; display: inline-flex; align-items: center; padding: 4px 9px; border: 1px solid var(--color-border-soft); border-radius: var(--radius-pill); font-size: .71rem; }
.footer__languages a[aria-current]{ border-color: var(--color-interactive-border); color: var(--color-heading-accent); }
.footer__bottom{ margin-top:28px; padding-top:16px; border-top:1px solid color-mix(in srgb,var(--color-interactive-border) 34%,transparent); display:grid; justify-items:center; gap:9px; text-align:center; }
.footer__bottom p{ margin:0; }
.footer__bottom > p:not(.footer__independence){ width:fit-content; padding:7px 13px; border:1px solid var(--color-border-soft); border-radius:var(--radius-pill); background:var(--color-surface-soft); color:var(--color-text-soft); font-size:.75rem; }
.footer__bottom span{ color:var(--color-interactive-accent); font-weight:var(--font-weight-ui); }
.footer__independence{ max-width:82ch; color:var(--color-text-soft); font-size:.76rem; line-height:1.5; }
.footer__independence a{ color:var(--color-heading-accent); font-weight:850; }
@media (max-width: 700px) {
  .product-brand strong{ font-size: .94rem; }
  .product-brand small{ display: block; white-space: normal; line-height: 1.25; }
  .action-group{ align-items: stretch; flex-direction: column; }
  .action-group .button{ width: 100%; }
}
@media (hover: hover) and (pointer: fine) {
  .button, .primary-nav a, .language-nav a, .product-nav a, .text-link, .card, .legal-card, .media-frame, .client-media, .footer__column a, .faq-list-clean details, .faq-list details, .plugin-group, .faq-list-clean summary, .faq-list summary, .plugin-group summary{
    transition:
      transform var(--motion-fast) var(--ease-standard),
      border-color var(--motion-fast) var(--ease-standard),
      background-color var(--motion-fast) var(--ease-standard),
      color var(--motion-fast) var(--ease-standard),
      box-shadow var(--motion-medium) var(--ease-standard),
      filter var(--motion-fast) var(--ease-standard);
  }
  .button:hover{
    translate: 0 var(--interactive-lift-strong);
    border-color: var(--color-interactive-border);
    box-shadow: var(--shadow-interactive-strong);
    filter: brightness(1.08) saturate(1.04);
  }
  .button--secondary:hover{
    background: var(--surface-accent-hover);
    color: var(--color-heading-accent);
  }
  .button--dfg:hover{
    background: var(--surface-label-hover);
    color: var(--color-heading-accent);
    box-shadow: var(--shadow-interactive-strong);
  }
  html[lang="pt-BR"] .button--dfg:hover, html[lang="pt-BR"] .button--dfg:focus-visible{
    background: linear-gradient(180deg, var(--color-copper-bright), var(--color-copper));
    color: #fff;
    box-shadow: var(--shadow-interactive-strong), inset 0 1px 0 rgb(255 255 255 / 20%);
  }
  .button--primary:hover{ color: #fff; }
  .button:active{ translate: 0 0; scale: .985; filter: none; }
  .primary-nav .nav-buy:hover, .primary-nav .nav-buy:focus-visible, .button--buy:hover, .button--buy:focus-visible{
    background: linear-gradient(180deg, rgb(90 49 38 / 96%), rgb(15 33 52 / 96%));
    color: var(--color-heading-accent); box-shadow: var(--shadow-interactive-strong);
  }
  .text-link:hover, .text-link:focus-visible{
    transform: translateY(var(--interactive-lift-strong)); border-color: var(--color-interactive-border);
    background: var(--surface-label-hover); color: var(--color-heading-accent); box-shadow: var(--shadow-interactive-strong);
  }
  .text-link:active{ translate: 0 0; scale: .985; }
  .card:hover, .legal-card:hover{
    translate: 0 var(--interactive-lift-strong);
    border-color: var(--color-interactive-border);
    box-shadow: var(--shadow-interactive-strong);
  }
  .media-frame:hover, .client-media:hover, .media-frame:focus-within, .client-media:focus-within{
    translate: 0 var(--interactive-lift-strong);
    border-color: var(--color-interactive-border);
    box-shadow: var(--shadow-interactive-strong);
  }
  .media-frame img, .client-media img{
    transition: transform var(--motion-medium) var(--ease-standard), filter var(--motion-fast) var(--ease-standard);
  }
  .media-frame:hover img, .client-media:hover img, .media-frame:focus-within img, .client-media:focus-within img{
    transform: scale(var(--media-hover-scale));
    filter: saturate(1.08) contrast(1.04) brightness(1.03);
  }
  .media-frame:hover a::after, .client-media:hover a::after, .media-frame:focus-within a::after, .client-media:focus-within a::after{ opacity: 1; }
  .media-frame:hover .media-frame__zoom, .client-media:hover .client-media__zoom, .media-frame:focus-within .media-frame__zoom, .client-media:focus-within .client-media__zoom{
    background: var(--surface-label-hover); color: var(--color-heading-accent); box-shadow: var(--shadow-copper-soft);
  }
  .faq-list-clean details:hover, .faq-list details:hover, .plugin-group:hover, .faq-list-clean details[open], .faq-list details[open], .plugin-group[open]{
    border-color: var(--color-interactive-border); box-shadow: var(--shadow-copper-soft);
  }
  .faq-list-clean summary:hover, .faq-list summary:hover, .plugin-group summary:hover, .faq-list-clean details[open] summary, .faq-list details[open] summary, .plugin-group[open] summary{
    background: var(--surface-accent-soft); color: var(--color-heading-accent);
  }
  .footer__column > a:hover{ color: var(--color-heading-accent); transform: translateX(3px); }
  .footer-product-link:hover{ transform: translateY(-2px); border-color: var(--color-interactive-border); background: var(--surface-accent-hover); box-shadow: var(--shadow-copper-soft); }
}


/* Hero labels use the compact outlined pill from the approved composition. */
.home-hero .eyebrow, .client-hero .eyebrow{
  min-height: 28px;
  margin-bottom: 12px;
  padding: 5px 11px;
  border: 1px solid rgb(255 167 85 / 38%);
  border-radius: var(--radius-pill);
  background: linear-gradient(180deg, rgb(62 39 34 / 72%), rgb(10 22 37 / 80%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%);
  letter-spacing: .055em;
}
.home-hero .eyebrow::before, .client-hero .eyebrow::before{ display: none; }





@media (max-width: 980px) {
  .client-access .action-group, .final-cta-clean .action-group, .access-card .action-group{ justify-content: flex-start; }
}
@media (max-width: 680px) {
  .section-heading{ font-size: clamp(1.62rem, 7.4vw, 2.05rem); line-height: 1.06; }
  .section-label, .eyebrow, .offer-card__tag, .plan-card-clean__label{ max-width: 100%; line-height: 1.2; }
  .footer-product-link{ padding: 10px 11px; }


  .action-group{ width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .action-group .button{ width: 100%; min-width: 0; min-height: 44px; padding: 10px 16px; }
  .card__body, .client-access, .access-card .card__body{ min-width: 0; }
}
/* Shared content grids and FAQ shell have one canonical owner. */
.faq-shell{ max-width: 1000px; }
.compare-grid, .search-grid{ display: grid; gap: 16px; }
@media (min-width: 940px) {
  .compare-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .search-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 650px) and (max-width: 939px) {
  .compare-grid, .search-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}



/* Independent third-party notice: shared, content-driven and outside hero motion. */
.third-party-notice{ border-block:1px solid rgb(167 210 255 / 12%); background:linear-gradient(90deg,rgb(7 18 32 / 96%),rgb(19 21 31 / 96%)); }
.third-party-notice__inner{ display:grid; grid-template-columns:max-content minmax(0,1fr) max-content; align-items:center; gap:18px; padding-block:14px; }
.third-party-notice__badge{ display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:7px 11px; border:1px solid var(--color-interactive-border); border-radius:var(--radius-pill); background:var(--surface-accent-soft); color:var(--color-copper-pale); font-size:.78rem; font-weight:900; letter-spacing:.04em; line-height:1.25; text-transform:uppercase; }
.third-party-notice__text{ margin:0; color:#d6e2ef; font-size:.9rem; line-height:1.5; }
.third-party-notice__link{ color:var(--color-heading-accent); font-size:.86rem; font-weight:900; white-space:nowrap; }
@media (max-width:760px){ .third-party-notice__inner{ grid-template-columns:1fr; gap:8px; padding-block:15px; } .third-party-notice__badge{ width:fit-content; max-width:100%; white-space:normal; text-align:left; } .third-party-notice__link{ white-space:normal; } }
/* home.css */
.home-hero{ position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(54px, 7.2vw, 104px); border-bottom: 1px solid rgb(255 255 255 / 5%); }
.home-hero__backdrop{ position: absolute; z-index: -4; inset: 0; background: linear-gradient(90deg, rgb(3 10 19 / 82%) 0%, rgb(5 14 24 / 42%) 50%, rgb(3 10 19 / 70%) 100%), url("/assets/runtime/media/rs-cross-blue-bg.252db47a0fdc.webp") center / cover no-repeat; }
.home-hero::before{ content: ""; position: absolute; z-index: -3; inset: -8%; background: radial-gradient(circle at 18% 20%, rgb(125 184 255 / 8%), transparent 34%), radial-gradient(circle at 79% 24%, rgb(178 74 28 / 12%), transparent 34%); pointer-events: none; }
.home-hero::after{ content: ""; position: absolute; z-index: -2; right: -8rem; bottom: -10rem; width: min(52vw, 650px); aspect-ratio: 1; background: url("/assets/runtime/media/bbt-ahk-watermark-800.0dd1e1d3df29.png") center / contain no-repeat; opacity: .03; pointer-events: none; }
.home-hero__grid{ display: grid; grid-template-columns: minmax(0, 567px) 600px; gap: min(7vw, 100px); align-items: center; }
.home-hero__copy{ min-width: 0; }
.home-hero__copy .eyebrow{ display: block; width: fit-content; }
.home-hero h1{ max-width: 720px; text-transform: capitalize; margin: 15px 0 28px; color: #f5f9ff; font-size: 37.44px; font-weight: var(--font-weight-display); line-height: 1.18; letter-spacing: -.04em; text-shadow: 0 6px 24px rgb(0 0 0 / 55%); }
.home-hero__lede{ max-width: 720px; margin-bottom: 0; color: #d8e3ef; font-size: 1rem; line-height: 1.56; }
.home-hero__actions{ margin-block: 22px 18px; }
.home-hero__actions .button--primary{ min-height: 44px; padding-inline: 28px; }
.chip-list--hero{ max-width: 720px; }
.home-hero__media{ display: grid; gap: 12px; min-width: 0; width: 600px; justify-self: end; align-content: center; }
.home-hero__media > .media-frame--hero{ width: 500px; justify-self: start; }
.home-hero__media-pair{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: 600px; }
.media-frame--hero{ border-color: rgb(255 167 85 / 38%); box-shadow: 0 24px 62px rgb(0 0 0 / 42%), 0 0 36px rgb(178 74 28 / 11%); }
.media-frame--hero img, .media-frame--mini img{ aspect-ratio: 1672 / 941; }
.home-panel{ border-bottom: 1px solid rgb(167 210 255 / 8%); background: transparent; }
.home-panel::before{ content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgb(125 184 255 / 4.3%), transparent); }
.home-panel--soft{ background: linear-gradient(rgb(255 255 255 / 2%), transparent); }
.home-panel--accent{ background: linear-gradient(rgb(125 184 255 / 4.3%), transparent); }
.home-panel--featured{ background: radial-gradient(circle at 50% 0%, rgb(178 74 28 / 10%), transparent 46%); }
.offer-grid, .plans-grid-clean, .search-grid-clean{ display: grid; gap: 16px; margin-top: 24px; }
.offer-card{ min-height: 100%; }
.offer-card__tag, .plan-card-clean__label{ color: var(--color-copper-bright); }
.offer-card h3, .plan-card-clean h3, .search-card-clean h3{ margin-bottom: 10px; }
.offer-card p, .plan-card-clean p, .search-card-clean p{ font-size: .92rem; }
.offer-card .text-link{ gap:10px; padding:7px 8px 7px 13px; }
.offer-card .text-link::after{
  content:""; flex:0 0 28px; width:28px; height:28px; margin-left:3px; border:1px solid rgb(255 196 137 / 54%); border-radius:999px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h12m-5-5 5 5-5 5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px 15px no-repeat,linear-gradient(180deg,var(--color-copper-bright),var(--color-copper));
  box-shadow:0 5px 14px rgb(178 74 28 / 28%),inset 0 1px 0 rgb(255 255 255 / 20%); transform:translateX(0);
  transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),filter var(--motion-fast) var(--ease-standard);
}
.feature-grid{ display: grid; gap: 48px; align-items: center; }
.feature-grid__copy p{ max-width: var(--reading-max); }
.feature-grid__media{ min-width: 0; }
.plan-card-clean--featured{ border-color: rgb(255 167 85 / 46%); background: linear-gradient(180deg, rgb(42 27 27 / 88%), rgb(9 17 27 / 94%)); box-shadow: var(--shadow-copper); }
.plan-card-clean--patreon{ border-color: rgb(155 95 195 / 28%); }
.plan-card-clean__note{ margin: 11px 0 0; color: var(--color-text-soft); font-size: .79rem; }
.final-cta-section{ position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(90deg, rgb(4 11 18 / 86%), rgb(16 20 29 / 82%)); }
.final-cta-section::before{ content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 12% 40%, rgb(178 74 28 / 12%), transparent 36%), url("/assets/runtime/media/section-bg.11fc71c94b97.webp") center / cover no-repeat; opacity: .42; }
.final-cta-clean{ display: grid; gap: 40px; align-items: center; }
.final-cta-clean p{ max-width: var(--reading-max); }
.faq-clean{ max-width: 1000px; }
.search-section{ background: linear-gradient(180deg, rgb(3 9 15 / 68%), rgb(2 7 12 / 84%)); }
.search-details{ }
.search-details[open] .search-summary{ margin-bottom: 16px; }
.search-summary{ display: block; cursor: pointer; list-style: none; }
.search-summary::-webkit-details-marker{ display: none; }
.search-summary::after{ content: " +"; font-size: 1.2rem; color: var(--color-copper-bright); margin-left: 6px; vertical-align: middle; }
.search-details[open] .search-summary::after{ content: " -"; }
.search-summary .section-label{ display: block; }
.search-summary .section-heading{ display: inline; }

@media (min-width: 681px) and (max-width: 1230px) {
  .home-hero__grid{ grid-template-columns: minmax(0, 1fr); }
  .home-hero__media{ justify-self: center; }
}
@media (min-width: 650px) and (max-width: 939px) {
  .offer-grid, .plans-grid-clean, .search-grid-clean{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plans-grid-clean article:last-child{ grid-column: 1 / -1; }
}



/* Baseline-derived Home geometry; min-heights remain content-safe. */
@media (min-width: 940px){
  .offer-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .feature-grid{ grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); }
  .feature-grid--reverse .feature-grid__copy{ order: 2; }
  .feature-grid--reverse .feature-grid__media{ order: 1; }
  .plans-grid-clean{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .search-grid-clean{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .final-cta-clean{ grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); }


  .home-hero{ padding-top: 90px; padding-bottom: 97px; }
  .home-hero__grid{ grid-template-columns: minmax(0, 567px) minmax(0, 498px); gap: clamp(40px, 5vw, 100px); }
  .home-hero__media{ width: 100%; max-width: 500px; transform: translateY(43px); gap: 44px; }
  .home-hero__media > .media-frame--hero{ width: 100%; max-width: 500px; }
  .home-hero__media-pair{ width: 100%; max-width: 498px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: min(4vw, 88px); }
  .feature-grid, .final-cta-clean{ width: min(100%, 1144px); margin-inline: auto; }
  .feature-grid__media .media-frame{ width: min(100%, 548px); margin-inline: auto; }










}



/* Phase 11.2 polish: hero chips and commercial cards share the approved current bronze tokens. */
.chip-list--hero .chip{
  min-height: 32px; padding-inline: 11px; border-color: var(--color-interactive-border);
  background: var(--surface-label); color: var(--color-heading-accent);
  box-shadow: var(--shadow-copper-soft);
}
.offer-card .card-title, .plan-card-clean .card-title, .search-card-clean .card-title{
  color: var(--color-heading-accent);
}

@media (max-width: 680px) {
  
  .home-hero__grid{ grid-template-columns: 1fr; gap: 34px; }
  .home-hero h1{ max-width: 100%; margin-top: 14px; margin-bottom: 20px; font-size: clamp(2.25rem, 12vw, 3.35rem); line-height: 1.16; }
  
  
  .home-hero__media > .media-frame--hero{ width: 282px; justify-self: center; }
  


  .home-hero{padding-block: 44px;
padding-top: 54px; padding-bottom: 90px;}
  .home-hero__media-pair{width: 282px; grid-template-columns: 1fr; justify-self: center;
display: none;}
  .home-hero__media{width: 100%; max-width: 362px; justify-self: center;
gap: 0;}
  .home-hero__lede{ font-size: .9rem; line-height: 1.48; }
  .feature-grid__media .media-frame, .final-cta-clean .media-frame{ width: 254px; margin-inline: auto; }






  .offer-card .text-link{ width: 100%; justify-content: center; text-align: center; }
  .plan-card-clean .action-group, .final-cta-clean .action-group{ width: 100%; }
  .final-cta-clean{ gap: 24px; }
}


@media (hover:hover) and (pointer:fine){
  .offer-card .text-link:hover::after, .offer-card .text-link:focus-visible::after{ transform:translateX(3px); border-color:rgb(255 214 174 / 78%); box-shadow:0 7px 20px rgb(178 74 28 / 38%),inset 0 1px 0 rgb(255 255 255 / 24%); filter:brightness(1.06); }
}
.compare-card p, .search-card p{ margin-bottom: 0; font-size: .9rem; }

/* Local two-column states for the post-decommission product grids. */
@media (min-width: 650px){
  .offer-grid--two, .plans-grid-clean--two, .compare-grid--two{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plans-grid-clean--two article:last-child{ grid-column: auto; }
}

/* client.css */
.client-hero{ position: relative; isolation: isolate; overflow: hidden; padding-block: 80.64px 54px; border-bottom: 1px solid rgb(255 255 255 / 5%); }
.client-hero__backdrop{ position: absolute; z-index: -4; inset: 0; background: linear-gradient(90deg, rgb(3 10 19 / 83%), rgb(5 14 24 / 43%) 56%, rgb(3 10 19 / 72%)), url("/assets/runtime/media/rs-cross-blue-bg.252db47a0fdc.webp") center / cover no-repeat; }
.client-hero::before{ content: ""; position: absolute; z-index: -3; inset: -8%; background: radial-gradient(circle at 15% 24%, rgb(125 184 255 / 7%), transparent 35%), radial-gradient(circle at 78% 26%, rgb(178 74 28 / 12%), transparent 34%); }
.client-hero::after{ content: ""; position: absolute; z-index: -2; right: -8rem; bottom: -10rem; width: min(52vw, 650px); aspect-ratio: 1; background: url("/assets/runtime/media/bbt-ahk-watermark-800.0dd1e1d3df29.png") center / contain no-repeat; opacity: .028; }
.client-hero__grid{ width: min(calc(100% - 286px), 1154px); margin-inline: auto; display: grid; grid-template-columns: 640px 430px; gap: 30px; align-items: center; }
.client-hero h1{ max-width: 900px; text-transform: capitalize; margin: 18px 0 22px; font-size: 36.72px; font-weight: var(--font-weight-display); line-height: 1.055; letter-spacing: -.041em; color: #f5f9ff; text-shadow: 0 7px 24px rgb(0 0 0 / 50%); }
.client-hero__lede{ max-width: 640px; margin-bottom: 0; font-size: 1rem; line-height: 1.56; }
.client-hero__actions{ margin-top: 22px; }
.client-hero__actions .button--primary{ min-height: 58px; padding-inline: 28px; }
.client-hero__media{ display: grid; gap: 60px; min-width: 0; width: 430px; justify-self: end; }
.client-media--hero{ width: 338px; justify-self: center; border-color: rgb(255 167 85 / 40%); box-shadow: 0 24px 62px rgb(0 0 0 / 42%), 0 0 42px rgb(178 74 28 / 10%); }
.client-media img{ aspect-ratio: 1672 / 941; }
.client-support-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; width: 430px; }
.client-mini-grid{ width: min(calc(100% - 320px), 1124px); margin: 34px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.client-mini{ display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 62px; padding: 10px 12px; border: 1px solid rgb(167 210 255 / 16%); border-radius: 14px; background: rgb(8 22 39 / 72%); box-shadow: 0 9px 22px rgb(0 0 0 / 18%); }
.client-mini__icon{
  flex: 0 0 auto; min-width: 46px; min-height: 46px; display: grid; place-items: center; align-self: center;
  padding: 7px 10px; border: 1px solid rgb(255 167 85 / 36%); border-radius: 16px;
  color: var(--color-heading-accent); background: linear-gradient(180deg, rgb(61 38 34 / 82%), rgb(10 23 38 / 92%));
  font-family: var(--font-heading); font-size: 1.12rem; font-weight: 900; line-height: .95; text-align: center;
  box-shadow: var(--shadow-copper-soft);
}
.client-mini__icon--price{ min-width: 58px; padding-inline: 10px; border-radius: var(--radius-pill); }
.client-mini div{ display: grid; min-width: 0; }
.client-mini strong{
  color: var(--color-heading-accent); font-family: var(--font-heading);
  font-size: .86rem; font-weight: var(--font-weight-card-title); line-height: 1.08;
}
.client-mini small{ color: var(--color-text-soft); font-size: .72rem; line-height: 1.3; }
.client-section{ border-bottom: 1px solid rgb(167 210 255 / 8%); background: transparent; }
.client-section--soft{ background: linear-gradient(rgb(255 255 255 / 2%), transparent); }
.client-section--featured{ background: radial-gradient(circle at 28% 10%, rgb(178 74 28 / 10%), transparent 42%); }
.client-section--access{ background: linear-gradient(90deg, rgb(28 20 25 / 74%), rgb(5 13 22 / 78%)); }
.client-feature-grid{ display: grid; gap: 12px; margin-top: 22px; }
.client-feature-card{ min-width: 0; min-height: 100%; display: grid; align-content: start; gap: 9px; padding: 16px; border: 1px solid rgb(167 210 255 / 16%); border-radius: 14px; background: linear-gradient(180deg, rgb(11 27 46 / 72%), rgb(7 16 27 / 90%)); box-shadow: 0 12px 30px rgb(0 0 0 / 18%); }
.client-feature-card > strong{
  width: fit-content; max-width: 100%; display: inline-flex; align-items: center; justify-content: center;
  padding: 6px 11px; border: 1px solid rgb(255 167 85 / 34%); border-radius: 16px;
  background: linear-gradient(180deg, rgb(61 38 34 / 78%), rgb(10 23 38 / 90%)); box-shadow: var(--shadow-copper-soft);
  color: var(--color-heading-accent); font-family: var(--font-heading);
  font-size: 1.12rem; font-weight: var(--font-weight-card-title); line-height: 1.08; letter-spacing: -.01em;
}
.client-feature-card > span{ color: var(--color-text-muted); font-size: .86rem; }
.client-price-badge{ border-radius: var(--radius-pill); padding-inline: 12px; }
.client-feature-layout{ display: grid; gap: 48px; align-items: center; }
.client-copy p{ max-width: var(--reading-max); }
.client-proof-grid{ display: grid; gap: 16px; margin-top: 20px; }
.client-proof-card p, .compare-card p, .search-card p, .plugin-card p{ margin-bottom: 0; font-size: .9rem; }
.plugin-catalog{ display: grid; gap: 12px; margin-top: 22px; }
.plugin-group summary{ display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 11px; }
.plugin-group summary span{
  min-height: 25px; display: inline-flex; align-items: center; padding: 3px 8px;
  border: 1px solid var(--color-interactive-border); border-radius: var(--radius-pill);
  background: var(--surface-accent-soft); color: var(--color-heading-accent);
  font-size: .72rem; font-weight: var(--font-weight-ui);
}
.plugin-group summary b{ color: var(--color-copper-bright); font-size: 1.35rem; transition: transform var(--motion-fast) var(--ease-standard); }
.plugin-group[open] summary b{ transform: rotate(45deg); }
.plugin-grid{ display: grid; gap: 14px; padding: 0 16px 16px; }
.plugin-card{ box-shadow: 0 10px 24px rgb(0 0 0 / 18%); }
.plugin-meta{ display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.client-access{ display: grid; gap: 24px; align-items: center; padding: 24px; border: 1px solid rgb(255 167 85 / 34%); border-radius: 26px; background: linear-gradient(120deg, rgb(47 27 27 / 70%), rgb(8 18 29 / 84%)); box-shadow: var(--shadow-copper); }
.client-access > div:first-child{ min-width: 0; }
.client-access .section-heading{ max-width: 24ch; }
.client-access p{ max-width: 68ch; margin-bottom: 0; }
.client-access .action-group{ min-width: 0; justify-content: flex-end; }


@media (max-width: 1180px) {
  .client-access{ grid-template-columns: minmax(0, 1fr); }
  .client-access .section-heading{ max-width: 28ch; }
  .client-access .action-group{ justify-content: flex-start; }
}

@media (min-width: 681px) and (max-width: 1180px) {
  .client-hero__grid{ width: min(calc(100% - 56px), 920px); grid-template-columns: 1fr; }
  .client-hero__media{ justify-self: center; }
  .client-mini-grid{ width: min(calc(100% - 56px), 920px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 650px) and (max-width: 939px) { .client-feature-grid, .client-proof-grid, .plugin-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }



/* Baseline-derived Client geometry; each contract belongs to this page module. */
@media (min-width: 940px){
  .client-feature-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  
  .client-feature-layout--reverse .client-copy{ order: 2; }
  .client-feature-layout--reverse > div:last-child{ order: 1; }
  .client-proof-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .client-proof-grid--dense{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .plugin-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  
  
  .client-access{ grid-template-columns: minmax(360px, 1fr) minmax(300px, auto); }


  .client-hero{ padding-top: 94px; padding-bottom: 53px; }
  .client-hero__media{ transform: translateY(69px); }
  .client-mini-grid{ margin-top: 80px; }
  .client-mini{ min-height: 84px; padding: 13px 16px; }
  .client-feature-layout, .client-proof-grid{ width: min(100%, 1124px); margin-inline: auto; }
  .client-feature-layout{grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
gap: 0;}
  .client-feature-layout .client-media{ width: 100%; max-width: none; }
  .client-feature-layout .client-copy{ padding-inline: 48px; }
  .page--client #full-access{ min-height: 0; padding-bottom: 56px; }








}

@media (max-width: 680px) {
  .client-access{ gap: 20px; padding: 20px; }
  .client-access .section-heading{ max-width: 100%; font-size: clamp(1.85rem, 9vw, 2.35rem); }
  .client-access p{ max-width: 100%; font-size: .96rem; line-height: 1.58; }


  
  
  .client-hero h1{ max-width: 100%; font-size: 27.69px; line-height: 1.08; }
  
  
  
  
  


  .client-hero{padding-block: 46px 32px;
padding-top: 108px; padding-bottom: 95px;}
  .client-hero__grid{ width: min(calc(100% - 64px), 326px); grid-template-columns: 1fr; gap: 30px; }
  .client-hero__actions .button{ width: 100%; min-height: 58px; }
  .client-hero__media{ width: 100%; gap: 60px; justify-self: center; margin-top: 0; transform: translateY(36px); }
  .client-media--hero{ width: 246px; }
  .client-support-grid{ width: min(358px, calc(100vw - 30px)); grid-template-columns: 1fr; gap: 27px; justify-self: center; }
  .client-support-grid .client-media{ width: 100%; }
  .client-mini-grid{ width: min(calc(100% - 28px), 362px); grid-template-columns: 1fr; margin-top: 68px; gap: 14px; }
  .client-mini{ min-height: 84px; padding: 13px 16px; }
  .client-feature-layout, .client-proof-grid{ width: min(100%, 1124px); margin-inline: auto; }
  .client-feature-layout{ gap: 0; }
  .client-feature-layout .client-media{ width: 100%; max-width: none; }
  .client-feature-layout .client-copy{ padding-inline: 48px; }
  .page--client #full-access{ min-height: 0; padding-bottom: 32px; }







}


.plugin-group__title{ color: var(--color-heading-accent); }
.plugin-group[open]{ border-color: var(--color-interactive-border); box-shadow: var(--shadow-copper-soft); }
.plugin-card .card-title, .client-proof-card .card-title, .compare-card .card-title, .search-card .card-title{
  color: var(--color-heading-accent);
}

@media (hover: hover) and (pointer: fine) {
  .client-mini, .client-feature-card{
    transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard),
      background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-medium) var(--ease-standard);
  }
  .client-mini:hover, .client-feature-card:hover{
    translate: 0 var(--interactive-lift-strong); border-color: var(--color-interactive-border);
    background: var(--surface-accent-hover); box-shadow: var(--shadow-interactive-strong);
  }
  .client-mini:hover .client-mini__icon{ border-color: var(--color-interactive-border); background: var(--surface-label-hover); }
}
.page--client .compare-grid, .page--client .search-grid{ margin-top: 20px; }

/* legal.css */
.page--legal{ --header-height:112px; }
.site-header--legal{ position:sticky; z-index:999; top:0; min-height:var(--header-height); border-bottom:1px solid rgb(167 210 255 / 16%); background:rgb(5 14 26 / 97%); box-shadow:0 8px 32px rgb(0 0 0 / 18%); backdrop-filter:blur(16px); }
.legal-header__inner{ min-height:var(--header-height); display:grid; grid-template-rows:auto auto; gap:8px; padding-block:10px 11px; }
.legal-header__identity-row, .legal-header__navigation-row{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; }
.legal-header__navigation-row{ border-top:1px solid rgb(167 210 255 / 11%); padding-top:8px; }
.legal-brand{ display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.legal-brand img{ width:44px; height:44px; object-fit:contain; filter:drop-shadow(0 7px 18px rgb(0 0 0 / 42%)); }
.legal-brand strong{ font-size:1rem; font-weight:900; letter-spacing:-.02em; }
.legal-primary-nav, .legal-language-nav{ display:flex; align-items:center; min-width:0; }
.legal-primary-nav{ justify-content:flex-start; gap:5px; overflow-x:auto; scrollbar-width:none; }
.legal-primary-nav::-webkit-scrollbar{ display:none; }
.legal-primary-nav a, .legal-language-nav a{ min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border:1px solid transparent; border-radius:999px; color:var(--color-text-muted); font-size:.79rem; font-weight:800; line-height:1.1; text-decoration:none; white-space:nowrap; }
.legal-primary-nav a:hover, .legal-primary-nav a:focus-visible, .legal-primary-nav a[aria-current], .legal-language-nav a:hover, .legal-language-nav a:focus-visible, .legal-language-nav a[aria-current]{ border-color:rgb(255 167 85 / 42%); background:rgb(178 74 28 / 11%); color:#fff; }
.legal-primary-nav .legal-product-link{ border-color:rgb(255 167 85 / 34%); background:rgb(32 22 27 / 78%); color:#fff; }
.legal-language-nav{ justify-content:flex-end; gap:4px; padding:5px; border:1px solid rgb(167 210 255 / 16%); border-radius:18px; background:rgb(4 12 22 / 58%); }
.legal-language-nav a[aria-current]{ color:var(--color-copper-pale); }
.button--legal-access{ min-height:44px; padding-inline:24px; border-radius:14px; }
.legal-page{ position:relative; isolation:isolate; }
.legal-hero{ position:relative; padding-block:clamp(48px,6.4vw,92px) clamp(28px,4vw,44px); }
.legal-hero__backdrop{ position:absolute; z-index:-2; inset:0; background:linear-gradient(rgb(2 7 12 / 52%),rgb(2 7 12 / 42%)),url('/assets/runtime/media/rs-cross-blue-bg.252db47a0fdc.webp') center/cover no-repeat; }
.legal-shell{ width:min(calc(100% - 32px),1120px); max-width:1120px; padding:clamp(28px,4.4vw,52px); border:1px solid rgb(255 167 85 / 28%); border-radius:24px; background:linear-gradient(180deg,rgb(8 22 40 / 82%),rgb(6 16 30 / 95%)); box-shadow:0 22px 58px rgb(0 0 0 / 32%),inset 0 1px 0 rgb(255 255 255 / 4.5%); }
.legal-kicker{ display:inline-flex; width:fit-content; margin-bottom:12px; padding:6px 11px; border:1px solid rgb(255 167 85 / 38%); border-radius:999px; background:rgb(7 18 32 / 72%); color:var(--color-copper-pale); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.legal-shell h1{ max-width:100%; margin:0 0 12px; font-size:clamp(2.45rem,5.15vw,4.85rem); line-height:1.035; letter-spacing:-.055em; color:var(--color-heading-accent); background:linear-gradient(180deg,var(--color-copper-pale) 0%,var(--color-copper-bright) 52%,var(--color-copper-strong) 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; text-shadow:0 0 22px color-mix(in srgb,var(--color-copper-bright) 14%,transparent); }
.legal-updated{ margin:0 0 14px; color:var(--color-text-soft); font-weight:800; }
.legal-lede{ max-width:980px; color:var(--color-text-muted); font-size:clamp(1.05rem,1.35vw,1.25rem); line-height:1.55; }
.legal-lede p:last-child{ margin-bottom:0; }
.legal-layout{ display:grid; grid-template-columns:minmax(0,1fr); align-items:start; justify-content:center; gap:clamp(20px,2.8vw,32px); max-width:1120px; padding-block:clamp(52px,7vw,88px); }
.legal-sections{ display:grid; gap:18px; min-width:0; }
.legal-card{ padding:clamp(20px,2.6vw,32px); border:1px solid rgb(167 210 255 / 18%); border-radius:24px; background:linear-gradient(180deg,rgb(8 22 40 / 82%),rgb(5 15 28 / 94%)); box-shadow:0 18px 42px rgb(0 0 0 / 24%),inset 0 1px 0 rgb(255 255 255 / 4.5%); scroll-margin-top:calc(var(--header-height) + 18px); }
.legal-card--summary{ position:static; border-color:rgb(255 167 85 / 44%); max-height:none; overflow:visible; }
.legal-card--summary > p{ max-width:none; }
.legal-card h2{ max-width:none; margin-bottom:10px; color:var(--color-heading-accent); font-size:clamp(1.3rem,2vw,1.8rem); text-shadow:0 0 14px color-mix(in srgb,var(--color-copper-bright) 10%,transparent); }
.legal-card p, .legal-card li{ max-width:78ch; color:var(--color-text-muted); line-height:1.64; }
.legal-card ul{ padding-left:1.2rem; }
.legal-card a{ color:var(--color-heading-accent); font-weight:850; }
.legal-toc{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; }
.legal-toc a{ min-height:36px; display:flex; align-items:center; padding:7px 11px; border:1px solid rgb(255 167 85 / 34%); border-radius:12px; background:rgb(7 18 32 / 72%); color:#eaf2ff; font-size:.79rem; font-weight:800; line-height:1.25; text-decoration:none; }
.legal-back-link{ display:inline-flex; margin-top:14px; font-size:.78rem; }
.legal-prose p:last-of-type{ margin-bottom:0; }
@media (max-width:980px){ .page--legal{ --header-height:auto; } .legal-layout{ max-width:860px; } .legal-toc{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){ .legal-header__identity-row, .legal-header__navigation-row{ grid-template-columns:1fr; gap:8px; } .legal-language-nav{ width:100%; justify-content:flex-start; overflow-x:auto; } .legal-language-nav a{ min-width:40px; min-height:40px; } .legal-header__navigation-row{ padding-top:8px; } .legal-primary-nav{ width:100%; } .button--legal-access{ width:100%; } .legal-hero{ padding-block:34px 24px; } .legal-shell{ width:min(calc(100% - 24px),720px); padding:26px 20px; } .legal-shell h1{ font-size:clamp(2.15rem,10.5vw,3.35rem); } .legal-layout{ padding-block:26px 52px; } .legal-card{ padding:20px; } .legal-toc{ grid-template-columns:1fr; } }
@media (hover:hover) and (pointer:fine){ .legal-toc a, .legal-primary-nav a, .legal-language-nav a{ transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard); } .legal-toc a:hover, .legal-toc a:focus-visible{ transform:translateY(-1px); border-color:var(--color-interactive-border); background:var(--surface-accent-soft); color:var(--color-copper-pale); } }
/* download.css */
/* Private download pages: clean implementation of the approved V120.25 contract. */
.page--download{
  --header-height: 77px;
  min-height: 100vh;
  background: radial-gradient(circle at 18% -12%, rgb(178 74 28 / 25%), transparent 34%), radial-gradient(circle at 88% 6%, rgb(123 190 255 / 12%), transparent 34%), radial-gradient(circle at 50% 112%, rgb(178 74 28 / 10%), transparent 38%), linear-gradient(180deg, #071424 0%, #0b1b2e 54%, #071424 100%);
}
.page--download main{ overflow: visible; }
.download-container{ width: min(calc(100% - clamp(28px, 5vw, 80px)), 1160px); margin-inline: auto; }
.download-topbar{ position:sticky; z-index:999; top:0; min-height:108px; border-bottom:1px solid rgb(167 210 255 / 16%); background:rgb(6 16 30 / 94%); box-shadow:0 10px 36px rgb(0 0 0 / 22%); backdrop-filter:blur(16px); }
.download-topbar__inner{ min-height:108px; display:grid; grid-template-rows:auto auto; gap:8px; padding-block:10px 11px; }
.download-header__identity-row{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; }
.download-header__navigation-row{ border-top:1px solid rgb(167 210 255 / 11%); padding-top:8px; }
.download-language-nav{ display:flex; align-items:center; justify-content:flex-end; gap:4px; padding:5px; border:1px solid rgb(167 210 255 / 16%); border-radius:18px; background:rgb(4 12 22 / 58%); overflow-x:auto; }
.download-language-nav a{ min-height:34px; display:inline-flex; align-items:center; padding:6px 10px; border:1px solid transparent; border-radius:999px; color:var(--color-text-muted); font-size:.79rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.download-language-nav a[aria-current]{ border-color:rgb(255 167 85 / 42%); color:var(--color-copper-pale); }
.download-brand{ display: inline-flex; align-items: center; gap: 12px; color: #fff; font-weight: 900; letter-spacing: -.03em; text-decoration: none; }
.download-brand img{ width: 42px; height: 42px; object-fit: contain; border-radius: 12px; filter: drop-shadow(0 7px 18px rgb(0 0 0 / 42%)); }
.download-brand span{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.download-nav{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.download-nav a{ min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 11px; border: 1px solid rgb(167 210 255 / 18%); border-radius: 999px; color: #d9e6f5; font-size: .82rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.download-nav a:hover, .download-nav a:focus-visible, .download-nav a[aria-current]{ border-color: rgb(255 167 85 / 56%); background: rgb(178 74 28 / 12%); color: #fff; }
.download-nav a[aria-current]{ color: var(--color-copper-pale); }
.download-main{ padding-block: 34px 46px; }
.download-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 24px;
  align-items: stretch;
  padding: 26px;
  border: 1px solid rgb(255 167 85 / 34%);
  border-radius: 22px;
  background: linear-gradient(135deg, rgb(6 19 35 / 90%), rgb(12 28 50 / 70%));
  box-shadow: 0 24px 60px rgb(0 0 0 / 28%);
}

.download-hero__copy, .download-side-card{min-width: 0;
padding: clamp(24px, 3.5vw, 42px);
  border: 1px solid rgb(167 210 255 / 16%);
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgb(178 74 28 / 10%), transparent 40%), linear-gradient(180deg, rgb(11 27 46 / 82%), rgb(8 18 32 / 95%));
  box-shadow: 0 24px 70px rgb(0 0 0 / 29%), inset 0 1px 0 rgb(255 255 255 / 4.5%);}
.download-hero__copy{ border-color: rgb(255 167 85 / 29%); }
.download-eyebrow{ display: inline-flex; width: fit-content; align-items: center; margin: 0; padding: 7px 11px; border: 1px solid rgb(255 167 85 / 44%); border-radius: 999px; background: rgb(178 74 28 / 14%); color: var(--color-copper-pale); font-size: .82rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.download-hero h1{ max-width: 15ch; margin: 14px 0; font-size: clamp(2.25rem, 5vw, 4.2rem); line-height: .94; letter-spacing: -.055em; color: var(--color-heading-accent); background: linear-gradient(180deg, var(--color-copper-pale) 0%, var(--color-copper-bright) 52%, var(--color-copper-strong) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 0 20px color-mix(in srgb, var(--color-copper-bright) 13%, transparent); }
.download-lede{ max-width: 72ch; margin-bottom: 12px; color: #f5f9ff; font-size: clamp(1.08rem, 1.55vw, 1.28rem); font-weight: 800; line-height: 1.55; }
.download-intro, .download-readme-note{ max-width: 72ch; color: #d9e6f5; line-height: 1.62; }
.download-readme-note{ margin: 14px 0 0; padding-left: 14px; border-left: 3px solid rgb(255 167 85 / 72%); color: var(--color-text-muted); }
.release-badges{ display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 20px; }
.release-badges span{ display: inline-flex; align-items: center; min-height: 38px; padding: 8px 11px; border: 1px solid rgb(255 167 85 / 42%); border-radius: 999px; background: var(--surface-accent-soft); color: var(--color-copper-pale); font-size: .9rem; }
.download-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 20px 0 14px; }
.download-btn{ min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 13px 20px; border: 1px solid var(--color-border-soft); border-radius: 999px; color: #fff; font-family: var(--font-ui); font-weight: var(--font-weight-ui); text-align: center; text-decoration: none; }
.download-btn--primary{ border-color: var(--color-interactive-border); background: linear-gradient(180deg, var(--color-copper-strong) 0%, var(--color-copper) 100%); box-shadow: 0 16px 42px rgb(178 74 28 / 26%), inset 0 1px 0 rgb(255 255 255 / 18%); }
.download-btn--secondary{ background: rgb(7 18 32 / 72%); color: #f5f9ff; }
.download-btn--dfg{ border-color: var(--color-interactive-border); background: linear-gradient(180deg, rgb(66 36 30 / 92%), rgb(13 18 31 / 90%)); color: var(--color-copper-pale); }
html[lang="pt-BR"] .download-btn--dfg{ border-color: color-mix(in srgb, var(--color-copper-pale) 62%, var(--color-interactive-border)); background: linear-gradient(180deg, var(--color-copper-strong), var(--color-copper-deep)); color: #fff; box-shadow: var(--shadow-copper), inset 0 1px 0 rgb(255 255 255 / 17%); }
.download-note{ margin: 0; color: var(--color-copper-pale); font-weight: 800; line-height: 1.45; }
.download-side-card{ display: grid; align-content: center; text-align: center; }
.download-side-card h2{ margin: 0 0 14px; color: var(--color-heading-accent); font-size: clamp(1.55rem, 3vw, 2.4rem); letter-spacing: -.05em; }
.download-checklist{ display: grid; gap: 10px; margin: 0; padding-left: 1.35rem; text-align: left; }
.download-checklist li{ padding-left: 4px; color: var(--color-text-muted); line-height: 1.55; }
.download-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.download-card{ padding: clamp(20px, 3vw, 30px); border: 1px solid rgb(255 167 85 / 38%); border-radius: 22px; background: linear-gradient(180deg, rgb(8 22 40 / 82%), rgb(5 15 28 / 92%)); box-shadow: 0 18px 42px rgb(0 0 0 / 24%), inset 0 1px 0 rgb(255 255 255 / 4.5%); }
.download-card h2{ margin: 0 0 12px; color: var(--color-heading-accent); font-size: clamp(1.35rem, 2.1vw, 2.05rem); letter-spacing: -.045em; }
.download-card p{ margin: 0; color: #d9e6f5; line-height: 1.62; }
@media (hover: hover) and (pointer: fine) {
  .download-btn, .download-card, .download-side-card, .download-nav a{ transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard); }
  .download-btn:hover, .download-btn:focus-visible, .download-card:hover, .download-side-card:hover{ transform: translateY(var(--interactive-lift)); }
  .download-btn:hover, .download-btn:focus-visible{ border-color: var(--color-interactive-border); box-shadow: var(--shadow-copper); }
  .download-btn--secondary:hover, .download-btn--secondary:focus-visible, .download-btn--dfg:hover, .download-btn--dfg:focus-visible{ background: var(--surface-accent-hover); color: var(--color-heading-accent); }
  html[lang="pt-BR"] .download-btn--dfg:hover, html[lang="pt-BR"] .download-btn--dfg:focus-visible{ background: linear-gradient(180deg, var(--color-copper-bright), var(--color-copper)); color: #fff; box-shadow: var(--shadow-interactive-strong); }
  .download-card:hover, .download-side-card:hover{ border-color: var(--color-interactive-border); box-shadow: 0 28px 70px rgb(0 0 0 / 34%); }
}
@media (max-width: 980px) {
  .download-hero{ grid-template-columns: 1fr; }
  .download-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .page--download{ --header-height: auto; }
  .download-topbar{ position:static; min-height:0; }
  .download-topbar__inner{ min-height:0; padding-block:10px 12px; }
  .download-header__identity-row{ grid-template-columns:1fr; gap:8px; }
  .download-language-nav{ width:100%; justify-content:flex-start; }
  .download-language-nav a{ min-width:40px; min-height:40px; }
  .download-nav{ width:100%; overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
  .download-main{ padding-block: 20px 40px; }
  .download-hero{ padding: 18px; }
  .download-grid{ grid-template-columns: 1fr; }
  .download-hero h1{ max-width: 12ch; font-size: clamp(2rem, 13vw, 3.15rem); }
  .download-actions{ display: grid; grid-template-columns: 1fr; }
  .download-btn{ width: 100%; }
  .release-badges span{ width: 100%; }
}


.download-integrity-note{ margin:14px 0 0; padding:13px 15px; border:1px solid var(--color-border-soft); border-radius:14px; background:rgb(6 17 30 / 72%); color:var(--color-text-muted); font-size:.88rem; line-height:1.55; }
/* ambient.css */
/* Progressive enhancement: content is visible without JavaScript. */
[data-reveal], [data-hero-motion], [data-stagger] > *{ backface-visibility: hidden; }
.home-hero::before, .client-hero::before{ transform-origin: center; animation: ambient-hero-glow 17s ease-in-out infinite alternate; }
.home-hero::after, .client-hero::after{ animation: ambient-watermark 24s ease-in-out infinite alternate; }

@keyframes ambient-hero-glow { from{ transform: translate3d(-1%, -.6%, 0) scale(1); opacity: .86; } to{ transform: translate3d(1%, .6%, 0) scale(1.025); opacity: 1; } }
@keyframes ambient-watermark { from{ transform: translate3d(-4px, 2px, 0) rotate(-.25deg); } to{ transform: translate3d(5px, -3px, 0) rotate(.25deg); } }
@keyframes footer-breathe { from{ transform: scale(1); opacity: .86; } to{ transform: scale(1.018); opacity: 1; } }
.plugin-group[open] .plugin-grid, .faq-list-clean details[open] .faq-answer, .faq-list details[open] > p{ transform-origin: top; }
@media (prefers-reduced-motion: reduce) {
  .home-hero::before, .client-hero::before, .home-hero::after, .client-hero::after{ animation: none; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header, .primary-nav a, .language-nav a, .product-nav a, .button, .card, .legal-card, .download-card, .media-frame, .client-media, .chip, .badge, .plugin-meta span, .footer__column a, .footer-product-link, .client-mini, .client-feature-card, .metric-card, .mini-list article, .plugin-group summary b{
    transition: none;
  }
  .primary-nav .nav-outline--client, .primary-nav .nav-outline--client span, .button--back-home, .button--back-home span{ animation: none; }
}

/* Home navigation balance after retired-product decommission.
   Scope: position/accommodation only. No text, order, color, effect or link change. */
@media (min-width: 681px) {
  .site-header--home .primary-nav--home::before,
  .site-header--home .primary-nav--home::after {
    content: "";
    flex: 1 1 0;
    min-width: 0;
    pointer-events: none;
  }
}

/* The row already contains 44px conversion buttons, so raising the
   plain mobile links from 40px to 44px does not increase row height. */
@media (max-width: 680px) {
  .site-header--home .primary-nav--home > a {
    min-height: 44px;
  }
}
