/* The product stays unchanged; the public site gets a restrained technical identity. */
:root {
  color-scheme: dark;
  --paper: #101214;
  --ink: #eff2f4;
  --muted: #a0a8af;
  --line: #2d3237;
  --white: #1a1e22;
  --lime: #79e4c9;
  --accent: #79e4c9;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

body { background: var(--paper); }
::selection { background: #79e4c9; color: #101614; }
.section { padding-block: 94px; }
.eyebrow, .brand-en, .plan-category, .step-number, .mini-brand,
.product-caption, .feature-row article > span, .footer-bottom > a {
  font-family: var(--mono);
  font-weight: 400;
}
.eyebrow { color: #85949e; }
.signal { background: var(--accent); box-shadow: none; border-radius: 1px; }
h2 { font-size: 36px; font-weight: 500; }
.section-heading { margin-bottom: 38px; }
.section-heading .eyebrow, .delivery-copy .eyebrow, .faq-section .eyebrow {
  color: #8a9aa4;
}
.section-heading > p { font-size: 13px; }
.button { border-radius: 4px; min-height: 48px; }
.button-dark { color: #101b18; background: var(--accent); }
.button-dark:hover { color: #101b18; background: #a3f2df; }
.button-outline { color: #e4e9ed; border-color: #3a434b; }
.button-outline:hover { background: #20272c; border-color: #66747e; }
.button:hover { transform: translateY(-1px); }
.button svg { transition: transform .2s; }
.button:hover svg { transform: translate(2px, -1px); }
.icon-button { border-color: #3c454d; color: #d9e2e7; background: #161b1f; }
.icon-button:hover { border-color: #7a8b94; background: #232c32; }
.skip-link { background: var(--accent); color: #101b18; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-color: var(--accent);
}

.site-header {
  height: 80px;
  background: #101214;
  border-bottom-color: #272c30;
}
.brand { font-weight: 600; }
.brand-symbol { transform: none; gap: 3px; }
.brand-symbol span { background: #dfe6ea; }
.brand-symbol span:last-child { background: var(--accent); transform: none; }
.brand-en { color: #7f8d96; }
.site-header nav { font-size: 12px; color: #aab4bc; }
.site-header nav a:hover { color: #f2f6f8; }
.site-header nav a::after { background: var(--accent); }
.desktop-contact { font-size: 12px; color: var(--accent); }

.hero { background: #101214; }
.hero-copy { padding-top: 48px; padding-bottom: 34px; }
.hero-copy > .eyebrow { color: #9fadb6; font-size: 10px; gap: 10px; }
.hero h1 { font-size: 64px; font-weight: 500; margin-top: 25px; }
.hero h1 > span { font-size: 46px; font-weight: 400; color: #b0bac1; margin-top: 13px; }
.hero-description { color: #8e9aa4; font-size: 14px; margin-top: 24px; }
.hero-actions { margin-top: 27px; gap: 12px; }
.hero-note { color: #92a19d; gap: 25px; margin-top: 23px; }
.hero-note svg { color: #74bca7; }
.hero-product {
  height: 270px;
  background: #1a1f23;
  border: 1px solid #343d44;
  border-bottom: 0;
}
.product-caption { background: #1a1f23; color: #9caeb8; font-size: 9px; padding-block: 12px; }
.workspace-open { color: #bac6cd; }
.workspace-open:hover { color: var(--accent); }
.hero-product > img { opacity: 1; margin-top: -155px; }
.hero-product-footer { background: #192120; color: #c7d8d1; border-top: 1px solid #394a43; }
.hero-product-footer small { color: #8a9e95; }
.hero-product-footer svg { color: var(--accent); }
.audience-band { background: #171b1e; border-color: #2b3338; padding-block: 24px; }
.audience-band > .container > span { color: #7e8c94; }
.audience-band > .container > div { color: #a8b3bb; font-size: 12px; }
.audience-band > .container > div span { color: #3d4a53; }

.product-tour { border-color: #313a41; min-height: 415px; }
.tour-tabs { padding-right: 26px; }
.tour-tabs > button { padding: 16px; border-radius: 3px; }
.tour-tabs > button[aria-selected=true] { background: #1b2b27; border-color: #33594d; }
.tour-tabs > button:hover { background: #20262b; }
.tour-tabs > button[aria-selected=true]:hover { background: #213a31; }
.tour-tabs > button[aria-selected=true] .role-icon { color: var(--accent); }
.tour-tabs small { color: #7f909a; font-size: 11px; }
.tour-tabs strong { font-weight: 500; }
.tour-tabs > button > svg { color: #79958d; }
.tour-panel { background: #171c20; border-color: #313a41; }
.tour-topline { border-color: #2b353d; }
.mini-brand { color: #b7c6ce; }
.mini-brand svg { color: var(--accent); }
.demo-label { color: #82919c; }
.tour-content-header h3 { font-weight: 500; font-size: 18px; }
.tour-content-header > span { background: #26352d; color: #a4c5ae; }
.tour-intro { color: #96a6b0; }
.tour-table th { background: #212a30; color: #93a7b3; }
.tour-table th, .tour-table td { border-color: #2c363e; }
.tour-table td { color: #c5d0d7; }
.tour-table td:last-child { color: #9fc5b1; }
.tour-code { background: #10171b; border-left-color: #619e89; color: #afd9ca; }
.tour-footer { color: #88aa9a; }
.mini-screen { background: #222c33; border-color: #3a4a54; }
.mini-screen > span { color: #c1d0d9; }
.sample-block { background: #3c5c60; }
.sample-line { background: #465660; }
.sample-button { background: #78b3a3; }
.test-line { border-color: #2c373e; color: #c9d4da; }
.test-line svg { color: var(--accent); }
.test-line span:last-child { color: #99b8a8; }
.test-line.pending svg, .test-line.pending span:last-child { color: #c5ae7d; }
.feature-row { padding-top: 29px; gap: 50px; }
.feature-row article > span { display: none; }
.feature-row h3 { font-weight: 500; font-size: 15px; margin-top: 0; }
.feature-row p { color: #8f9ca5; font-size: 12px; }

.workflow-section { background: #191d20; border-block: 1px solid #2b3339; }
.workflow-section .section-heading .eyebrow { color: #95b3a7; }
.workflow-section .section-heading > p { color: #9aa6ae; }
.step-number { color: #8cceba; border-color: #426456; width: 32px; height: 32px; }
.workflow-track article:not(:last-child)::after { background: #37453e; }
.workflow-track h3 { font-size: 17px; }
.workflow-track p { color: #9aa6ae; font-size: 12px; }
.gate { color: #9bd1be; }
.workflow-bottom { border-color: #37413e; }
.workflow-bottom > svg { color: #86cab2; }
.workflow-bottom p { color: #8d9f96; }
.workflow-bottom strong { color: #dae6df; }
.workflow-bottom > span { color: #819b8d; }

.delivery-section { gap: 95px; }
.delivery-copy > p:not(.eyebrow) { color: #9aa5ad; }
.inline-link { color: #c2d9cf; border-color: #446d5c; }
.boundary-note { color: #82938b; border-color: #2a3830; }
.file-scene { background: #171d20; border-color: #34424a; transform: none; }
.file-scene-heading { color: #c5d5dd; border-color: #34434c; }
.file-scene-heading > svg { color: #91c8b2; }
.file-scene-heading > span { color: #8299a5; }
.file-line { border-color: #2b3941; }
.file-line svg { color: #8aaca2; }
.file-line strong { color: #c7dde9; }
.file-line span { color: #8dabb8; }
.file-scene-footer { color: #7f9e8d; }
.file-scene-footer svg { color: #8ebca4; }

.solutions-section { background: #161a1d; border-color: #2c343a; }
.solution-list article { border-color: #344149; gap: 30px; padding-block: 26px; }
.solution-index { color: #8096a3; font-family: var(--mono); font-size: 24px; }
.solution-list h3 { font-size: 18px; font-weight: 500; }
.solution-list p { color: #9cabb4; }
.solution-tag { color: #94aab6; border-color: #3a4b55; border-radius: 2px; }
.solution-list article > svg { color: #91a89b; }

.pricing-meta { color: #91a69b; }
.pricing-meta > span:last-child { color: #8e9ba4; }
.price-plan { background: #191e22; border-color: #374149; padding-top: 30px; border-radius: 4px; }
.price-plan h3 { color: #e2e9ed; font-size: 24px; }
.plan-category { color: #8ca0aa; }
.plan-description { color: #9aaab3; }
.price strong { font-family: var(--mono); font-size: 38px; }
.price > span { color: #a4b5bf; }
.price-note { color: #91a1ab; }
.custom-price strong { font-family: var(--font); font-size: 31px; }
.price-plan li { color: #c7d2d9; }
.price-plan li svg { color: #8cbdab; }
.price-plan > small { color: #92a69c; }
.plan-divider { border-color: #34423d; }
.featured { background: #1c2723; border-color: #588e78; }
.featured .price strong { color: #9aebce; }
.recommended { background: #79e4c9; color: #11251b; border-radius: 2px; }
.recommended svg { color: #254e3c; }
.pricing-disclaimer { color: #96a69b; }

.faq-section { border-color: #2d3932; }
.faq-section h2 { font-size: 31px; }
.faq-section > div > p:not(.eyebrow) { color: #97a49c; }
.faq-list details, .faq-list details:first-child { border-color: #35413a; }
.faq-list summary { color: #cbd7cf; }
.faq-list summary svg { color: #91b29d; }
.faq-list details > p { color: #a0b0a6; }

.final-cta { background: #e8eeeb; color: #15231d; padding-block: 56px; }
.final-cta .eyebrow { color: #677b6f; }
.final-cta h2 { font-size: 43px; }
.final-cta p:not(.eyebrow) { color: #5c7165; }
.final-cta .button-dark { background: #182a21; color: #e6f5ec; }
.final-cta .button-dark:hover { background: #2e4a3b; }
.final-cta .cta-index { display: none; }
.final-cta .container > div > div { padding-right: 0; }
.footer-main > p { color: #8d9d94; }
.footer-main nav { color: #abbab0; }
.footer-bottom { border-color: #303e34; color: #91a396; }

dialog { background: #171d21; color: #edf3f6; border-color: #46555e; }
dialog::backdrop { background: #080b0ee0; backdrop-filter: blur(7px); }
.consult-dialog .eyebrow { color: #91b6a6; }
.dialog-description { color: #a3b3bc; }
.dialog-description strong { color: #a0d6bf; }
.consult-dialog input, .consult-dialog textarea, .consult-dialog select {
  background: #10171b;
  color: #e3edf3;
  border-color: #42545f;
}
.consult-dialog input::placeholder, .consult-dialog textarea::placeholder { color: #7e939f; }
.consult-dialog label { color: #b4c7d2; }
#form-status { color: #9cdbbf; }
#info-content p { color: #afc0ca; }
.workspace-dialog > p { color: #a9bcc7; }
.workspace-dialog img { border-color: #43535d; }

@media (min-width: 1600px) {
  .hero h1 { font-size: 68px; }
  .hero h1 > span { font-size: 48px; }
  .hero-product { height: 270px; }
}
@media (max-width: 1100px) {
  .hero h1 { font-size: 56px; }
  .hero h1 > span { font-size: 42px; }
  .hero-product { height: 245px; }
  .hero-product > img { margin-top: -130px; }
  .delivery-section { gap: 50px; }
  .section { padding-block: 78px; }
}
@media (max-width: 800px) {
  .site-header { height: 72px; }
  .site-header nav { background: #171d21; border-color: #3c4c55; box-shadow: none; }
  .section { padding-block: 64px; }
  h2 { font-size: 31px; }
  .hero-copy { padding-top: 40px; padding-bottom: 28px; }
  .hero h1 { font-size: 48px; }
  .hero h1 > span { font-size: 36px; }
  .hero-description { font-size: 13px; }
  .hero-product { height: 225px; }
  .tour-tabs { padding: 16px 0; }
  .tour-panel { min-height: 385px; }
  .feature-row { gap: 25px; }
  .workflow-track h3 { font-size: 17px; }
  .delivery-section { gap: 38px; }
  .final-cta h2 { font-size: 38px; }
  .final-cta .container > div { flex-direction: row; align-items: flex-end; }
}
@media (max-width: 540px) {
  .section { padding-block: 52px; }
  .section-heading { margin-bottom: 28px; gap: 20px; }
  h2 { font-size: 28px; }
  .hero-copy { padding-top: 35px; padding-bottom: 25px; }
  .hero-copy > .eyebrow { font-size: 8px; }
  .hero h1 { font-size: 40px; margin-top: 24px; }
  .hero h1 > span { font-size: 29px; margin-top: 15px; }
  .hero-description { font-size: 12px; max-width: 330px; margin-top: 22px; }
  .hero-actions .button { font-size: 12px; padding-inline: 17px; }
  .hero-note { gap: 12px; font-size: 9px; margin-top: 21px; }
  .hero-product { height: 176px; }
  .hero-product > img { margin-top: -20px; }
  .product-caption { font-size: 7px; padding-block: 10px; }
  .audience-band { padding-block: 20px; }
  .audience-band > .container > div { font-size: 10px; }
  .tour-tabs > button { padding: 10px 5px; }
  .tour-tabs strong { font-size: 11px; }
  .tour-panel { min-height: 397px; }
  .tour-content-header { flex-wrap: wrap; }
  .tour-content-header h3 { font-size: 16px; }
  .feature-row article { display: block; }
  .feature-row h3 { font-size: 15px; }
  .workflow-track h3 { font-size: 16px; }
  .workflow-track p { font-size: 11px; }
  .step-number { width: 29px; height: 29px; }
  .solution-list article { padding: 24px 0 24px 33px; }
  .solution-list h3 { font-size: 16px; }
  .solution-index { font-size: 20px; }
  .price-plan { padding: 29px 24px; }
  .price strong { font-size: 37px; }
  .custom-price strong { font-size: 30px; }
  .faq-section h2 { font-size: 28px; }
  .final-cta { padding-block: 42px; }
  .final-cta .container > div { flex-direction: column; align-items: flex-start; }
  .final-cta h2 { font-size: 34px; }
  .final-cta .button { min-height: 45px; }
}
@media (prefers-reduced-motion: reduce) {
  .button:hover, .button:hover svg { transform: none; }
}
