@import url("./theme.css?v=soft-cool-1");
/* Shared typography, component and interaction tokens; surface colors are in theme.css. */
:root{--primary-button-height:48px;--primary-button-font-size:16px;--primary-button-padding:12px 22px;--font-body:'Be Vietnam Pro',sans-serif;--icon-stroke:1.75;--icon-size:16px;--icon-size-sm:14px;--icon-size-lg:20px;--font-metric:'Abel',sans-serif;--eyebrow-bg:rgba(255,255,255,.055);--eyebrow-border:rgba(255,255,255,.3);--eyebrow-text:rgba(255,255,255,.85);--text:#fff;--text-secondary:rgba(255,255,255,.6);--text-muted:rgba(255,255,255,.5);--text-faint:rgba(255,255,255,.2);--line:rgba(255,255,255,.2);--line-subtle:rgba(255,255,255,.12);--primary:#fff;--on-primary:#191919;--border-width:.5px;--radius:6px;--text-xs:10px;--text-sm:12px;--body-copy-size:15px;--body-copy-weight:400;--body-copy-line-height:1.65;--body-copy-color:var(--text-secondary);--caption-size:var(--text-sm);--caption-weight:700;--caption-line-height:1.5;--caption-tracking:.06em;--caption-color:#a9a9a9;--caption-bg:#525252;--caption-padding:2px 4px;--caption-radius:0px;--text-base:13px;--text-md:14px;--text-lg:20px;--text-xl:32px;--container:1280px;--feature-row-width:1040px;--feature-copy-width:460px;--feature-heading-gap:40px;--feature-heading-gap-small:32px;--feature-column-gap:clamp(32px,5vw,64px);--feature-illustration-width:440px;--feature-stack-copy-width:600px;--panel-bright:#303030;--panel-dark:#101010;--illustration-fill:#222;--illustration-stroke:#ffffff55;--illustration-bar:#fff3;--motion-duration:8s;--site-header-height:66px;--hero-nav-guard-depth:130px;--counter-duration:1600ms;--link-underline-duration:320ms;--link-underline-thickness:var(--border-width);--link-underline-offset:2px;--glow-rgb:255,255,255;--glow-spill-strength:.65;--ease:cubic-bezier(.2,.7,.2,1)}
html[data-theme=light]{color-scheme:light;--glow-rgb:138.72,151.391538,177.48;--glow-spill-strength:.25;--eyebrow-bg:rgba(0,0,0,.04);--eyebrow-border:rgba(0,0,0,.25);--eyebrow-text:rgba(0,0,0,.8);--text:#141414;--text-secondary:rgba(0,0,0,.6);--text-muted:rgba(0,0,0,.5);--text-faint:rgba(0,0,0,.2);--line:rgba(0,0,0,.2);--line-subtle:rgba(0,0,0,.12);--primary:#191919;--on-primary:#fff;--panel-bright:#d9d9d9;--panel-dark:#fafafa;--illustration-fill:#e9e9e9;--illustration-stroke:#0005;--illustration-bar:#0003}html[data-theme=dark]{color-scheme:dark}
*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;overflow-x:clip;font:400 var(--text-base)/1.55 var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--text);outline-offset:5px}::selection{background:var(--selection-bg,var(--text));color:var(--bg)}.container{width:min(var(--container),calc(100% - 80px));margin-inline:auto}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.icon{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:var(--primary);color:var(--on-primary);padding:12px}.skip-link:focus{top:12px}
/* Shared hero/header framework. Animation engines live only in the background slot.
 * Top: transparent header; a continuous hero-owned gradient protects navigation.
 * Scrolled: the independent header surface, backdrop blur and 0.5px rule fade in. */
.site-header{position:fixed;inset:0 0 auto;height:var(--site-header-height);z-index:100;isolation:isolate;background:transparent}
.site-header:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:var(--border-width) solid var(--line);opacity:1;pointer-events:none;transition:opacity .3s var(--ease)}
.site-header.hero-integrated:not(.scrolled):before{opacity:0}
.hero-frame{position:relative;isolation:isolate;overflow:hidden;background:var(--hero-bg)}
.hero-frame__background{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.hero-frame__background>:is(canvas,video,img,svg,iframe){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border:0}
.hero-frame__nav-guard{position:absolute;inset:0 0 auto;height:calc(var(--site-header-height) + var(--hero-nav-guard-depth));z-index:2;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--hero-bg) 90%,transparent) 0%,color-mix(in srgb,var(--hero-bg) 78%,transparent) 30%,color-mix(in srgb,var(--hero-bg) 44%,transparent) 58%,color-mix(in srgb,var(--hero-bg) 12%,transparent) 82%,transparent 100%)}
.hero-frame__content{position:relative;z-index:3}
@media(max-width:540px){:root{--site-header-height:60px}}
/* Responsive illustration/copy rows: generous text measure on desktop,
 * illustration-first stacking at tablet/mobile widths. Typography never shrinks to fit. */
.feature-row,.feature-row.reversed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:var(--feature-column-gap);width:100%;max-width:var(--feature-row-width);margin:42px auto 0;min-height:300px}
.feature-row+.feature-row{margin-top:52px}
.feature-copy{width:100%;max-width:var(--feature-copy-width);min-width:0;justify-self:center;overflow-wrap:break-word}
.feature-copy h3{font-size:20px;line-height:1.5;letter-spacing:-.45px;margin-bottom:var(--feature-heading-gap)}
.feature-copy .caption{margin-bottom:8px}
.feature-row .illustration{width:100%;max-width:var(--feature-illustration-width);min-width:0;margin-inline:auto;justify-self:center}
@media(max-width:820px){
 .feature-row,.feature-row.reversed{display:flex;flex-direction:column;gap:20px;min-height:0;margin-top:36px}
 .feature-row+.feature-row{margin-top:64px}
 .feature-row .illustration{order:0;max-width:420px}
 .feature-row .feature-copy{order:1;max-width:var(--feature-stack-copy-width);padding:0}
 .feature-copy h3{font-size:20px;margin-bottom:var(--feature-heading-gap-small)}
}
@media(max-width:640px){
 .feature-row,.feature-row.reversed{gap:18px}
 .feature-row .illustration{max-width:340px}
 .feature-row .feature-copy{max-width:100%}
}
/* Body Copy: hero descriptions and explanatory feature paragraphs share one scale. */
.body-copy{font-family:var(--font-body);font-size:var(--body-copy-size);font-weight:var(--body-copy-weight);line-height:var(--body-copy-line-height);letter-spacing:normal;color:var(--body-copy-color)}
/* Caption: compact gray labels with bold light-gray text in both themes.
 * Keep component spacing outside this shared typography class. */
.caption{display:inline-block;width:fit-content;max-width:100%;padding:var(--caption-padding);border-radius:var(--caption-radius);background:var(--caption-bg);font-family:var(--font-body);font-size:var(--caption-size);font-weight:var(--caption-weight);line-height:var(--caption-line-height);letter-spacing:var(--caption-tracking);color:var(--caption-color)}
/* Hero eyebrow: clearly readable, subordinate to the main title; keep the shared 0.5px stroke. */
.eyebrow{display:inline-block;border:var(--border-width) solid var(--eyebrow-border);border-radius:8px;padding:5px 12px;background:var(--eyebrow-bg);color:var(--eyebrow-text);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.025em}
.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 12px;border:var(--border-width) solid var(--line);border-radius:4px;font-size:var(--text-base);line-height:1.3;white-space:nowrap;transition:background .25s,color .25s}.button-secondary:hover{background:var(--hover)}.button-secondary .icon{width:13px;height:13px}.button-primary{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--primary-button-height);border-radius:8px;background:var(--primary);color:var(--on-primary);padding:var(--primary-button-padding);font-size:var(--primary-button-font-size);line-height:1.3;white-space:nowrap}.button-primary>span:first-child,.button-arrow{position:relative;z-index:2}.button-primary:after{content:'';position:absolute;inset:0;z-index:1;background:var(--primary);border-radius:inherit}.button-arrow{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.button-arrow .arrow-rest,.button-arrow .arrow-hover{transform-origin:center;transition:opacity .28s var(--ease),transform .35s var(--ease)}.button-arrow .arrow-rest{opacity:1;transform:translateX(0)}.button-arrow .arrow-hover{opacity:0;transform:translateX(-3px)}.button-primary:is(:hover,:focus-visible,.pointer-over) .arrow-rest{opacity:0;transform:translateX(3px)}.button-primary:is(:hover,:focus-visible,.pointer-over) .arrow-hover{opacity:1;transform:translateX(0)}/* Primary buttons use simple icon feedback, without glow or breathing. */
.button-halo,.button-primary .button-beam{display:none}
.button-primary{box-shadow:none;animation:none}

/* Pointer border lighting: choose an explicit variant for each component.
 * --menu: compact 56px local highlight, no bloom or surface wash.
 * --card: 260px highlight + 6px edge bloom + an interior wash: dark 5%, light 12%.
 * The base border stays 1px in both variants; light mode uses HSL(220.385, 20%, 62%), approximately #8B97B1. */
.border-light{--edge-radius:120px;--edge-proximity:80;--edge-brightness:.8;position:relative;border:var(--border-width) solid var(--line-subtle)}
.border-light--menu{--edge-radius:56px;--edge-proximity:24;--edge-brightness:.85}
.border-light--card{--edge-radius:260px;--edge-proximity:140;--edge-brightness:1;--surface-radius:300px;--surface-alpha:.05;--spill-blur:6px;isolation:isolate;overflow:visible}
.border-light:after,.edge-bloom:before{content:'';position:absolute;inset:-.5px;border-radius:inherit;padding:var(--border-width);background:radial-gradient(var(--edge-radius) circle at var(--mx,-300px) var(--my,-300px),rgba(var(--glow-rgb),var(--edge-brightness)) 0%,rgba(var(--glow-rgb),0) 75%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none}
.border-light:after{opacity:var(--edge-opacity,0);transition:opacity .25s;z-index:2}
.border-light--card:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(var(--surface-radius) circle at var(--mx,-300px) var(--my,-300px),rgba(var(--glow-rgb),var(--surface-alpha)) 0%,rgba(var(--glow-rgb),0) 75%);opacity:var(--surface-opacity,0);transition:opacity .3s;pointer-events:none;z-index:0}
.border-light--card>.edge-bloom{position:absolute;inset:-.5px;border-radius:inherit;opacity:calc(var(--edge-opacity,0)*var(--glow-spill-strength));filter:blur(var(--spill-blur));pointer-events:none;z-index:0;transition:opacity .25s}
.edge-bloom:before{padding:2px}
/* Light surfaces need their own contrast budget; retain the shared blue-gray hue. */
html[data-theme=light] .border-light--card{--surface-alpha:.12;--glow-spill-strength:.65;--spill-blur:8px}
html[data-theme=light] .border-light--card>.edge-bloom:before{padding:4px}

.border-light--card>:not(.edge-bloom){position:relative;z-index:1}
/* Text-only external link: underline the label, keep the external-arrow icon clear. */
.external-text-link{display:inline-flex;align-items:center;gap:2px;width:fit-content;max-width:100%;align-self:flex-start;color:var(--text-muted);text-decoration:none;transition:color .2s}
.external-text-link:hover,.external-text-link:focus-visible{color:var(--text)}
.external-text-link__label{position:relative;display:inline-block}
.external-text-link__label:after{content:'';position:absolute;left:0;right:0;bottom:calc(-1*var(--link-underline-offset));height:var(--link-underline-thickness);background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform var(--link-underline-duration) ease-in-out;pointer-events:none}
.external-text-link:is(:hover,:focus-visible) .external-text-link__label:after{transform:scaleX(1)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.text-link{color:var(--text-muted);font-size:12px;transition:color .2s}.text-link:hover{color:var(--text)}
@media(max-width:760px){.container{width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){html{overflow-x:clip;scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Comparison chart entrance: shared bar/value timeline, staggered by row. */
:root{--chart-enter-duration:900ms;--chart-row-stagger:140ms;--chart-enter-threshold:.25}

/* Shared responsive navigation. Reuse the same links and actions at every size. */
:root{--nav-mobile-duration:260ms;--nav-mobile-padding:20px;--nav-mobile-row-height:48px;--nav-mobile-blur:20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.navigation-panel,.navigation-panel__inner{display:contents}
.mobile-nav-toggle{display:none}
@media(max-width:760px){
 :root{--site-header-height:60px}
 .site-header.nav-open:before{opacity:1}
 .site-header .nav-inner{padding-inline:var(--nav-mobile-padding);gap:16px}
 .site-header .logo img{width:140px}
 .mobile-nav-toggle{position:relative;display:grid;place-items:center;width:44px;height:44px;margin-right:-10px;border-radius:var(--radius);color:var(--text-secondary);transition:color .2s,background .2s}
 .mobile-nav-toggle:hover,.mobile-nav-toggle[aria-expanded=true]{color:var(--text);background:var(--hover)}
 .mobile-nav-toggle .icon{position:absolute;width:20px;height:20px;transition:opacity .2s,transform var(--nav-mobile-duration) var(--ease)}
 .mobile-nav-close-icon{opacity:0;transform:rotate(-45deg) scale(.8)}
 .nav-open .mobile-nav-open-icon{opacity:0;transform:rotate(45deg) scale(.8)}
 .nav-open .mobile-nav-close-icon{opacity:1;transform:rotate(0) scale(1)}
 .navigation-panel{display:grid;grid-template-rows:0fr;position:absolute;top:100%;left:0;right:0;opacity:0;visibility:hidden;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(var(--nav-mobile-blur));-webkit-backdrop-filter:blur(var(--nav-mobile-blur));border-bottom:var(--border-width) solid var(--line);transition:grid-template-rows var(--nav-mobile-duration) var(--ease),opacity var(--nav-mobile-duration) var(--ease),visibility var(--nav-mobile-duration)}
 .nav-open .navigation-panel{grid-template-rows:1fr;opacity:1;visibility:visible}
 .navigation-panel__inner{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - var(--site-header-height) - 16px);overflow-y:auto;overscroll-behavior:contain;padding-inline:var(--nav-mobile-padding)}
 .site-header .main-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:8px 0 0}
 .site-header .nav-item{display:flex;justify-content:space-between;min-height:var(--nav-mobile-row-height);padding:12px 0;font-size:14px;width:100%;color:var(--text-secondary)}
 .site-header .nav-item:is(:hover,.active),.site-header .nav-dropdown.open .nav-item{color:var(--text)}
 .site-header .nav-dropdown{border-top:var(--border-width) solid var(--line-subtle)}
 .site-header .dropdown{position:relative;top:auto;left:auto;min-width:0;margin:0 0 10px;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;background:var(--menu-bg)}
 .site-header .nav-dropdown.open .dropdown{display:block}
 .site-header .dropdown a{display:flex;align-items:center;min-height:44px;font-size:13px;padding:10px 12px}
 .site-header .nav-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:var(--border-width) solid var(--line-subtle);margin-top:8px;padding:16px 0 20px}
 .site-header .nav-actions .button-secondary{display:inline-flex;min-height:40px;padding:8px 12px;font-size:13px}
}

/* Hero composition tokens are consumed by both layout and the 3D camera.
 * Coordinates are normalized screen positions; renderers may be replaced. */
:root{--hero-height-scale:1.333333;--hero-focus-x:.765;--hero-focus-y:.5;--hero-camera-fov:64;--hero-title-size:48px;--hero-title-weight:600;--hero-title-tracking:.015em;--hero-mobile-title-size:clamp(36px,9.2vw,42px);--hero-mobile-content-top:52px;--hero-mobile-title-gap:16px;--hero-mobile-description-gap:20px;--hero-mobile-action-gap:28px;--hero-mobile-art-space:clamp(160px,20svh,190px);--language-menu-gap:8px;--language-menu-min-width:130px}
@media(max-width:760px){
 .hero.hero-frame{--hero-focus-x:.64;--hero-focus-y:.77;--hero-camera-fov:78;height:auto;min-height:0;max-height:none;align-items:flex-start;padding-top:calc(var(--site-header-height) + var(--hero-mobile-content-top));padding-bottom:var(--hero-mobile-art-space)}
 .hero-frame .hero-content{padding-top:0;padding-left:0}
 .hero-frame .eyebrow{max-width:100%;font-size:11px;line-height:1.5;letter-spacing:.02em;padding:6px 10px}
 .hero.hero-frame h1{max-width:420px;font-size:var(--hero-mobile-title-size);line-height:1.2;letter-spacing:var(--hero-title-tracking);margin:var(--hero-mobile-title-gap) 0 var(--hero-mobile-description-gap);text-wrap:balance}
 .hero-frame .hero-description{width:100%;max-width:38ch;margin-bottom:var(--hero-mobile-action-gap)}
 .hero-frame .button-primary{min-height:var(--primary-button-height);padding:var(--primary-button-padding)}
 .hero-frame .hero-shade{opacity:1;background:linear-gradient(to bottom,color-mix(in srgb,var(--hero-bg) 85%,transparent) 0%,color-mix(in srgb,var(--hero-bg) 72%,transparent) 38%,color-mix(in srgb,var(--hero-bg) 12%,transparent) 72%,var(--hero-bg) 100%)}
}
/* Footer language popover owns its anchor; never inherit nav dropdown offsets. */
.language-picker .language-menu{top:auto;right:auto;bottom:calc(100% + var(--language-menu-gap));left:0;min-width:var(--language-menu-min-width);width:max-content;max-width:calc(100vw - 40px);z-index:20}
.language-picker .language-menu button{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;text-align:left}
.language-picker .language-menu .choice-check{position:static;transform:none;width:14px;height:14px;flex:none}
/* Footer preference controls share the same outer size and alignment. */
:root{--preference-control-height:40px;--preference-control-radius:4px;--preference-segment-width:32px;--preference-control-inset:3px}
.preferences .language-trigger{height:var(--preference-control-height);min-height:var(--preference-control-height);border-radius:var(--preference-control-radius)}
.preferences .theme-picker{height:var(--preference-control-height);padding:var(--preference-control-inset);border-radius:var(--preference-control-radius);align-items:stretch}
.preferences .theme-picker button{width:var(--preference-segment-width);height:100%;padding:0;display:grid;place-items:center}

/* Evaluation ranking composition. */
:root{--evaluation-gap:26px;--evaluation-card-padding:32px;--evaluation-rank-size:64px;--evaluation-score-size:30px;--evaluation-icon-size:52px}

html[data-theme=light]{}

/* Major homepage section headings share one scale and centered alignment. */
:root{--section-title-size:32px;--section-title-weight:500;--section-title-line-height:1.4;--section-title-tracking:-.02em}
.section-heading .section-title{max-width:1000px;margin:0 auto;text-align:center;font-size:var(--section-title-size);font-weight:var(--section-title-weight);line-height:var(--section-title-line-height);letter-spacing:var(--section-title-tracking);text-wrap:balance}
.section-title>span{display:block}
@media(max-width:760px){.section-heading .section-title{font-size:26px;line-height:1.4}}

/* Monthly pricing: shared surfaces, fine lines and density. */
:root{--pricing-gap:24px;--pricing-card-padding:28px;--pricing-card-radius:var(--panel-radius);--pricing-row-height:52px;--pricing-value-size:52px}

/* Bottom of a hero dissolves independently of its replaceable animation engine. */
:root{--hero-bottom-blend-height:calc(clamp(180px,22vw,300px) * var(--hero-height-scale));--hero-bottom-blend-blur:18px}
.hero-frame:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:var(--hero-bottom-blend-height);z-index:2;pointer-events:none;backdrop-filter:blur(var(--hero-bottom-blend-blur));-webkit-backdrop-filter:blur(var(--hero-bottom-blend-blur));background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--hero-bg) 18%,transparent) 28%,color-mix(in srgb,var(--hero-bg) 66%,transparent) 65%,var(--bg) 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.25) 30%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.25) 30%,#000 100%)}
@media(max-width:760px){:root{--hero-bottom-blend-height:150px;--hero-bottom-blend-blur:16px}}

/* Plan accents rise softly from the base; all theme colors are centralized. */
:root{--pricing-pro-tint:color-mix(in srgb,#fff 14%,var(--pricing-card-bg));--pricing-pro-border:#999;--pricing-pro-glow:255,255,255;--pricing-enterprise-tint:#223f6b;--pricing-enterprise-border:#6289c9;--pricing-enterprise-glow:119,157,255}
html[data-theme=light]{--pricing-pro-tint:#fff;--pricing-pro-border:#c8c8c8;--pricing-pro-glow:138.72,151.391538,177.48;--pricing-enterprise-tint:#dbe9ff;--pricing-enterprise-border:#8eafe1;--pricing-enterprise-glow:54,101,195}

:root{}
html[data-theme=light]{}

/* Readable plan accents for titles and quota values in both themes. */
:root{--pricing-pro-accent:#fff;--pricing-enterprise-accent:#91b6ff}
html[data-theme=light]{--pricing-pro-accent:#242424;--pricing-enterprise-accent:#305fa8}

/* Enterprise CTA: blue at rest in both themes. */
:root{--pricing-enterprise-button-bg:#3269c8;--pricing-enterprise-button-hover:#407bdc;--pricing-enterprise-button-text:#fff}
html[data-theme=light]{--pricing-enterprise-button-bg:#2f64bf;--pricing-enterprise-button-hover:#2554a7}


/* Shared elevation: keep the 0.5px border, separate surfaces with soft exterior shadows. */
:root{
 --panel-shadow:0 2px 6px rgba(0,0,0,.26),0 14px 32px rgba(0,0,0,.36);
 --menu-shadow:0 3px 8px rgba(0,0,0,.28),0 12px 30px rgba(0,0,0,.42);
}
html[data-theme=light]{
 --panel-shadow:0 2px 5px rgba(20,28,40,.07),0 12px 30px rgba(20,28,40,.10);
 --menu-shadow:0 3px 8px rgba(20,28,40,.08),0 12px 28px rgba(20,28,40,.14);
}
.border-light{box-shadow:var(--panel-shadow)}
.border-light.border-light--card{box-shadow:var(--panel-shadow)}
.border-light.border-light--menu{box-shadow:var(--menu-shadow)}
/* Inline mobile submenus belong to the expanded navigation surface. */
@media(max-width:760px){.site-header .dropdown.border-light--menu{box-shadow:none}}

/* Shared text-only outbound-link icon; underline belongs to the label alone. */
.external-text-link>svg.icon{width:14px;height:14px;flex:none;vertical-align:middle}
.footer-links a.external-text-link{display:flex;width:fit-content}
.contact-consent a.external-text-link{display:inline-flex;vertical-align:baseline}

/* caption2: the rounded, subtly filled label used by the homepage hero. */
:root{
 --caption2-size:12px;--caption2-weight:600;--caption2-line-height:1.4;
 --caption2-tracking:.025em;--caption2-radius:8px;--caption2-padding:5px 12px;
 --caption2-bg:rgba(255,255,255,.055);--caption2-border:rgba(255,255,255,.3);--caption2-color:rgba(255,255,255,.85);
}
html[data-theme=light]{--caption2-bg:rgba(0,0,0,.04);--caption2-border:rgba(0,0,0,.25);--caption2-color:rgba(0,0,0,.8)}
.caption2{position:static;display:inline-block;width:fit-content;max-width:100%;border:var(--border-width) solid var(--caption2-border);border-radius:var(--caption2-radius);padding:var(--caption2-padding);background:var(--caption2-bg);color:var(--caption2-color);font-family:var(--font-body);font-size:var(--caption2-size);font-weight:var(--caption2-weight);line-height:var(--caption2-line-height);letter-spacing:var(--caption2-tracking);vertical-align:middle}
.feature-copy .caption2{margin-bottom:8px}
.evaluation-main .category-head>.caption2{display:table;margin-inline:auto}
@media(max-width:760px){.hero-frame .caption2{font-size:11px;line-height:1.5;letter-spacing:.02em;padding:6px 10px}}

/* Keep hover/selected theme segments visually separate without changing height. */
:root{--preference-segment-gap:4px}
.theme-picker,.preferences .theme-picker{gap:var(--preference-segment-gap)}

/* Text selection: shared theme tokens, documented in design-standards.html. */
html[data-theme=dark]{--selection-bg:#D4D8E2}
html[data-theme=light]{--selection-bg:#546588}

/* Third Button: cool-blue tinted action, sharing the primary hit-area dimensions. */
.button-third{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--primary-button-height);padding:var(--primary-button-padding);border:1px solid rgb(169 204 255 / 45%);border-radius:8px;background:rgb(169 204 255 / 12%);color:#a9ccff;font-size:var(--primary-button-font-size);line-height:1.3;white-space:nowrap;transition:background .25s ease,border-color .25s ease}
.button-third:is(:hover,:focus-visible){background:rgb(169 204 255 / 23%);border-color:rgb(169 204 255 / 70%)}
.button-third .icon{width:20px;height:20px}
html[data-theme=light] .button-third{color:#335e96;background:rgb(169 204 255 / 22%);border-color:rgb(78 122 181 / 45%)}
html[data-theme=light] .button-third:is(:hover,:focus-visible){background:rgb(169 204 255 / 40%)}
@media(prefers-reduced-motion:reduce){.button-third{transition:none}}

/* Shared navbar: spacious menus, with unavailable destinations kept in place. */
.site-header .nav-dropdown .dropdown{min-width:238px;padding:15px;border-radius:16px;left:-16px}
.site-header .nav-dropdown .dropdown :is(a,button){display:flex;align-items:center;min-height:44px;padding:10px 14px;font-size:16px;line-height:1.5;border-radius:9px}
.site-header .nav-dropdown .dropdown :is(a,button)+:is(a,button){margin-top:8px}
.site-header [aria-disabled="true"]{cursor:default}
@media(max-width:760px){
 .site-header .nav-dropdown .dropdown{left:auto;min-width:0;padding:12px;border-radius:12px}
 .site-header .nav-dropdown .dropdown :is(a,button){min-height:46px;font-size:14px;padding:12px 14px}
}

/* Desktop menu switching animates the panel bounds without stretching its contents. */
@media(min-width:761px){
 .site-header .nav-dropdown .dropdown{transition:none;overflow:visible}
}

/* Navigation glass: tint and backdrop blur stay separate from text opacity. */
.site-header{--nav-bg:rgb(13 13 13 / 30%);--nav-menu-glass:rgb(33 33 33 / 60%)}
html[data-theme=light] .site-header{--nav-bg:rgb(247 248 250 / 30%);--nav-menu-glass:rgb(251 252 253 / 60%)}
.site-header .nav-dropdown .dropdown{background:var(--nav-menu-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
@media(max-width:760px){
 .site-header .navigation-panel{background:var(--nav-menu-glass)}
 /* The expanded mobile panel supplies the glass for its inline submenus. */
 .site-header .nav-dropdown .dropdown{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .site-header:before{background:var(--surface-page)}
 .site-header .nav-dropdown .dropdown,.site-header .navigation-panel{background:var(--menu-bg)}
}

.site-header .nav-dropdown .dropdown.border-light--menu{--edge-radius:150px;--edge-proximity:56;--edge-brightness:.8}

/* A single outer box aligns glass, inset base stroke and highlight corners.
 * Removing the physical border keeps pseudo-elements on the same coordinate origin. */
.site-header .nav-dropdown .dropdown.border-light--menu{--border-width:1px;border:0;box-shadow:var(--menu-shadow),inset 0 0 0 1px var(--line-subtle)}
.site-header .nav-dropdown .dropdown.border-light:after{inset:0;padding:1px;border-radius:inherit;background:radial-gradient(var(--edge-radius) circle at var(--mx,-300px) var(--my,-300px),rgba(var(--glow-rgb),var(--edge-brightness)) 0%,rgba(var(--glow-rgb),.4) 32%,rgba(var(--glow-rgb),.12) 58%,rgba(var(--glow-rgb),0) 85%)}
@media(max-width:760px){.site-header .nav-dropdown .dropdown.border-light--menu{box-shadow:inset 0 0 0 1px var(--line-subtle)}}

/* Interior light sits above the glass, beneath menu labels and hover fills. */
.site-header .nav-dropdown .dropdown.border-light--menu{--surface-radius:240px;--surface-alpha:.09}
html[data-theme=light] .site-header .nav-dropdown .dropdown.border-light--menu{--surface-alpha:.12}
.site-header .nav-dropdown .dropdown.border-light--menu:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(var(--surface-radius) circle at var(--mx,-300px) var(--my,-300px),rgba(var(--glow-rgb),var(--surface-alpha)) 0%,rgba(var(--glow-rgb),0) 75%);opacity:var(--edge-opacity,0);transition:opacity .3s;pointer-events:none;z-index:0}

/* Navigation labels keep full theme contrast in every interaction state. */
.site-header .main-nav .nav-item,
.site-header .nav-dropdown .dropdown :is(a,button),
.site-header .nav-actions .button-secondary{color:var(--text);font-weight:500}

/* Theme switching is temporarily unavailable on public pages. */
.site-footer .theme-picker{display:none}

/* Clip menu contents independently so the border halo can extend outside. */
.site-header .nav-menu-content{position:relative;z-index:1;height:100%;overflow:hidden;border-radius:9px}
.site-header .nav-dropdown .dropdown.border-light--menu>.edge-bloom{position:absolute;inset:0;border-radius:inherit;opacity:calc(var(--edge-opacity,0)*.55);filter:blur(8px);pointer-events:none;z-index:0;transition:opacity .25s}
.site-header .nav-dropdown .dropdown.border-light--menu>.edge-bloom:before{inset:0;padding:3px}
@media(prefers-reduced-motion:reduce){.site-header .nav-dropdown .dropdown.border-light--menu>.edge-bloom{transition:none}}

/* Footer columns end at the same container edge as the language control. */
@media(min-width:541px){
 .site-footer .footer-links{grid-template-columns:repeat(3,minmax(0,1fr)) max-content}
}

/* Unified dropdown geometry and lighting, including language menus and demos. */

:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu){--menu-radius:26px;--menu-inset:12px;--menu-item-radius:calc(var(--menu-radius) - var(--menu-inset));--edge-radius:190px;--edge-proximity:72;--edge-brightness:1;--surface-radius:260px;--surface-alpha:.13;--border-width:1px;padding:var(--menu-inset);border:0;border-radius:var(--menu-radius);background:rgb(33 33 33 / 60%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--menu-shadow),inset 0 0 0 1px var(--line-subtle);overflow:visible}
html[data-theme=light] :is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu){--surface-alpha:.16;background:rgb(251 252 253 / 60%)}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu) :is(a,button){position:relative;z-index:1;display:flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:var(--menu-item-radius);font-size:16px;font-weight:500;line-height:1.5;color:var(--text)}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu) :is(a,button)+:is(a,button){margin-top:8px}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu) .nav-menu-content{border-radius:var(--menu-item-radius)}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu):before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(var(--surface-radius) circle at var(--mx,-300px) var(--my,-300px),rgba(var(--glow-rgb),var(--surface-alpha)),rgba(var(--glow-rgb),0) 80%);opacity:var(--edge-opacity,0);transition:opacity .3s;pointer-events:none;z-index:0}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu):after{inset:0;padding:1px;border-radius:inherit;background:radial-gradient(var(--edge-radius) circle at var(--mx,-300px) var(--my,-300px),rgba(var(--glow-rgb),1),rgba(var(--glow-rgb),.6) 32%,rgba(var(--glow-rgb),.2) 60%,rgba(var(--glow-rgb),0) 90%)}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu)>.edge-bloom{position:absolute;inset:0;border-radius:inherit;opacity:calc(var(--edge-opacity,0)*.75);filter:blur(10px);pointer-events:none;z-index:0;transition:opacity .25s}
:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu)>.edge-bloom:before{inset:0;padding:4px}
.language-picker .language-menu{left:auto;right:0}
@supports (corner-shape:superellipse(1.3)){
 :is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu),:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu):before,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu):after,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu)>.edge-bloom,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu)>.edge-bloom:before,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu) .nav-menu-content,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu) :is(a,button){corner-shape:superellipse(1.3)}
}
@media(max-width:760px){
 :is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu) :is(a,button){font-size:14px;min-height:46px}
 .site-header .nav-dropdown .dropdown.border-light--menu{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--line-subtle)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu){background:var(--menu-bg)}}
@media(prefers-reduced-motion:reduce){:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu):before,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu):after,:is(.site-header .nav-dropdown .dropdown.border-light--menu,.border-light--menu)>.edge-bloom{transition:none}}

/* Shared rounded controls and luminous panels. */
:root{--control-radius:12px;--primary-radius:16px;--panel-radius:22px;--preference-control-radius:12px}
body .button-primary{border-radius:var(--primary-radius)}
body .button-secondary,body .preferences .language-trigger{border-radius:var(--control-radius)}
body .border-light--card{--radius:var(--panel-radius);--border-width:1px;border-width:1px;border-radius:var(--panel-radius)}
body .border-light:not(.border-light--menu){--border-width:1px;border-width:1px}
body .border-light--card:after{inset:-1px;padding:1px;border-radius:inherit}
body .border-light--card:before{border-radius:calc(var(--panel-radius) - 1px)}
body .border-light--card>.edge-bloom{inset:-1px;border-radius:inherit}
body .border-light--card>.edge-bloom:before{inset:0;border-radius:inherit}
@supports(corner-shape:superellipse(1.3)){
 body .button-primary,body .button-primary:after,body .button-secondary,
 body .border-light--card,body .border-light--card:before,body .border-light--card:after,
 body .border-light--card>.edge-bloom,body .border-light--card>.edge-bloom:before{corner-shape:superellipse(1.3)}
}

/* Secondary controls: stable 1px outline with gentle hover illumination. */
body .button-secondary{border:1px solid var(--line);transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
body .button-secondary:is(:hover,:focus-visible){background:var(--hover);color:var(--text);border-color:rgb(255 255 255 / 65%);box-shadow:0 0 18px rgb(255 255 255 / 16%)}
html[data-theme=light] body .button-secondary:is(:hover,:focus-visible){border-color:rgb(20 20 20 / 60%);box-shadow:0 0 18px rgb(0 0 0 / 12%)}
@media(prefers-reduced-motion:reduce){body .button-secondary{transition:none}}

/* Blue documentation CTA: secondary interaction with its existing color palette. */
body .button-secondary.button-third{border-color:rgb(169 204 255 / 45%);background:rgb(169 204 255 / 12%);color:#a9ccff}
body .button-secondary.button-third:is(:hover,:focus-visible){background:rgb(169 204 255 / 23%);color:#a9ccff;border-color:rgb(169 204 255 / 70%);box-shadow:0 0 18px rgb(169 204 255 / 16%)}
html[data-theme=light] body .button-secondary.button-third{color:#335e96;background:rgb(169 204 255 / 22%);border-color:rgb(78 122 181 / 45%)}
html[data-theme=light] body .button-secondary.button-third:is(:hover,:focus-visible){color:#335e96;background:rgb(169 204 255 / 40%);border-color:rgb(78 122 181 / 70%);box-shadow:0 0 18px rgb(78 122 181 / 12%)}

/* Form and search focus uses the existing outline, never a second ring. */
:root{--field-hover-bg:color-mix(in srgb,var(--bg) 92%,var(--text));--field-focus-border:rgb(255 255 255 / 70%)}
html[data-theme=light]{--field-focus-border:rgb(20 20 20 / 65%)}
body .contact-field :is(input,select,textarea),body .blog-search{border-width:1px;transition:background-color .2s ease,border-color .2s ease}
body .contact-field :is(input,select,textarea):not(:disabled):hover,body .blog-search:hover{background-color:var(--field-hover-bg)}
body .contact-field :is(input,select,textarea):focus,body .blog-search:focus-within{outline:none;box-shadow:none;border-color:var(--field-focus-border);background-color:var(--field-hover-bg)}
body .blog-search input:focus{outline:none;box-shadow:none}
@media(prefers-reduced-motion:reduce){body .contact-field :is(input,select,textarea),body .blog-search{transition:none}}

/* Render brand vectors at their final size after the footer entrance. */
.site-header .logo img{width:auto;height:20px;display:block;filter:none;image-rendering:auto}
.site-footer .footer-logo img{width:auto;height:28px;display:block;filter:none;image-rendering:auto}
.site-footer .reveal.visible{transform:none}
@media(max-width:760px){.site-header .logo img{width:auto;height:17px}}

.site-footer .footer-legal{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:12px;row-gap:2px;margin-top:6px}
.site-footer .footer-legal small{margin:0;font-size:10px;line-height:1.6;color:var(--text-muted);white-space:nowrap}
.site-footer .footer-registration a:hover{color:var(--text)}

/* Keep the mobile language menu aligned with its trigger. */
@media(max-width:540px){.site-footer .language-picker .language-menu{left:0;right:auto}}
