/* Original logo blue and neutral surfaces, shared with the Karvilo app. */
:root {
 --page:#f7f8fa;
 --card:#ffffff;
 --ink:#202833;
 --ink-deep:#14223c;
 --muted:#596575;
 --line:#dce2e9;
 --surface:#eef1f5;
 --tint:#eef0ff;
 --tint-soft:#f1f4fb;
 --blue:#5558fb;
 --blue-hover:#4548dc;
 --on-accent:#ffffff;
 --accent-light:#4548d5;
 --hero:#f7f8fa;
 --dark:#10151c;
 --positive:#17654e;
 --positive-soft:#eaf6ef;
 --caution:#875013;
 --caution-soft:#fff4e4;
}
:root[data-palette=graphite] {
 --page:#f7f7f7;
 --card:#ffffff;
 --ink:#262626;
 --ink-deep:#242424;
 --muted:#626262;
 --line:#dedede;
 --surface:#eeeeee;
 --tint:#ececec;
 --tint-soft:#f2f2f2;
 --blue:#454545;
 --blue-hover:#303030;
 --on-accent:#ffffff;
 --accent-light:#454545;
 --hero:#f7f7f7;
 --dark:#141414;
 --positive:#515151;
 --positive-soft:#f0f0f0;
 --caution:#515151;
 --caution-soft:#f0f0f0;
}
:root[data-theme=dark] {
 --page:#10151c;
 --card:#1a222d;
 --ink:#edf2f7;
 --ink-deep:#14223c;
 --muted:#b0bdcd;
 --line:#354252;
 --surface:#232d39;
 --tint:#263750;
 --tint-soft:#1e2834;
 --blue:#99b4ff;
 --blue-hover:#b6c9ff;
 --on-accent:#14223c;
 --accent-light:#b0c5ff;
 --hero:#10151c;
 --dark:#10151c;
 --positive:#80dbb7;
 --positive-soft:#193c34;
 --caution:#f4c77e;
 --caution-soft:#3b3022;
}
:root[data-theme=dark][data-palette=graphite] {
 --page:#141414;
 --card:#1e1e1e;
 --ink:#efefef;
 --ink-deep:#242424;
 --muted:#bcbcbc;
 --line:#3d3d3d;
 --surface:#282828;
 --tint:#333333;
 --tint-soft:#252525;
 --blue:#d1d1d1;
 --blue-hover:#eeeeee;
 --on-accent:#242424;
 --accent-light:#d9d9d9;
 --hero:#141414;
 --dark:#141414;
 --positive:#d8d8d8;
 --positive-soft:#292929;
 --caution:#d8d8d8;
 --caution-soft:#292929;
}
:root{--paper:var(--page);--shadow-soft:0 8px 28px -12px #10151c14;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11"}
:root[data-theme=dark]{--shadow-soft:0 8px 28px -12px #00000045}
:root[data-palette=graphite]{--shadow-soft:0 8px 28px -12px #00000014}
:root[data-theme=dark][data-palette=graphite]{--shadow-soft:0 8px 28px -12px #00000045}
html[data-theme] body{background:var(--page);color:var(--ink);font-family:inherit}
::selection{background:var(--tint);color:var(--ink)}
html[data-theme] :is(.site-header,.home-page .site-header,.package-page .site-header){background:color-mix(in srgb,var(--page) 94%,transparent);color:var(--ink);border-color:var(--line)}
html[data-theme] :is(.main-nav>a,.signin){color:var(--muted)}
html[data-theme] :is(.main-nav>a:hover,.signin:hover){color:var(--ink)}
html[data-theme] .brand-ai{color:var(--accent-light);border-color:var(--line);background:var(--tint-soft)}
html[data-theme] :is(.appearance-toggle,.menu-toggle){color:var(--ink);background:var(--card);border-color:var(--line)}
html[data-theme] .menu-toggle span{background:var(--ink)}
.appearance-toggle{width:auto;min-width:42px;min-height:42px;display:flex;gap:8px;padding:10px 12px;font-size:14px}
.appearance-toggle>svg{flex-shrink:0}
html[data-theme] .appearance-panel{background:var(--card);color:var(--ink);border-color:var(--line);width:310px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow-y:auto;box-shadow:var(--shadow-soft)}
.theme-options label:last-child{grid-column:1/-1}
html[data-theme] .appearance-options label:has(input:checked){background:var(--tint);border-color:var(--blue)}
html[data-theme] :is(.button.primary,.button.nav-button){background:var(--blue);color:var(--on-accent);border-color:var(--blue)}
html[data-theme] :is(.button.primary:hover,.button.nav-button:hover){background:var(--blue-hover);border-color:var(--blue-hover)}
html[data-theme] :is(.button.secondary,.button.ghost,.button.light-button){background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme] :is(.button.secondary:hover,.button.ghost:hover,.button.light-button:hover){background:var(--tint-soft);border-color:var(--blue)}
html[data-theme] :is(.launch-hero,.package-hero){background:var(--hero);color:var(--ink)}
.launch-hero{min-height:0;padding-top:0}
.launch-stage{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;padding-top:64px;padding-bottom:22px}
.launch-copy{min-width:0}
.launch-copy h1{font-size:clamp(58px,6.15vw,88px);max-width:720px}
html[data-theme] .launch-lead{color:var(--muted);max-width:530px}
.prism-stage{position:relative;margin:0;min-width:0;aspect-ratio:1.1;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--dark);box-shadow:var(--shadow-soft)}
.prism-stage .intelligence-art{display:block;position:static;inset:auto;width:100%;max-width:100%;height:100%;object-fit:contain;opacity:1;pointer-events:none}
:root[data-theme=dark] .prism-stage{background:transparent;border-color:transparent;box-shadow:none}
:root[data-theme=dark] .prism-stage .intelligence-art{mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
html[data-theme] .hero-footnote{color:var(--muted);flex-wrap:wrap;row-gap:7px}
html[data-theme] .hero-footnote span+span{border-color:var(--line)}
html[data-theme] .hero-package-rail{margin-top:44px;margin-bottom:0;padding-bottom:22px;border-color:var(--line)}
html[data-theme] .hero-package-rail>a+a{border-color:var(--line)}
html[data-theme] .hero-package-rail>a>span{color:var(--accent-light)}
html[data-theme] .hero-package-rail small{color:var(--muted)}
html[data-theme] .hero-package-rail>a:hover{background:var(--tint-soft)}
html[data-theme] .hero-package-rail>a:hover strong{color:var(--accent-light)}
html[data-theme] .hero-package-rail>a:hover small{color:var(--muted)}
html[data-theme] :is(.workspace-tabs,.interface-top,.capture-tabs,.package-comparison thead th,.package-comparison .comparison-category th){background:var(--surface);border-color:var(--line)}
html[data-theme] :is(.workspace-tabs button[aria-selected=true],.billing-switch button[aria-pressed=true]){background:var(--card);color:var(--accent-light)}
html[data-theme] .workspace-tabs button:hover{background:var(--tint-soft);color:var(--accent-light)}
html[data-theme] :is(.workspace-tabs button span,.interface-top>b){color:var(--muted)}
html[data-theme] :is(.interface-frame,.interface-frame figcaption,.screen-dialog,.screen-dialog-heading,.connected-card,.package-story,.price-card-v2,.capture-visual,.demo-disclaimer,.catalog-card,.module-link,.business-card,.plan-card,.contact-context){background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme] :is(.package-business,.price-card-v2#plan-business,.connected-card.large){background:var(--tint-soft);border-color:var(--line)}
html[data-theme] :is(.connected-band,.capture-demo,.balance-example,.business-workflow,.security-grid article,.security-contact,.contact-main,.pricing-fit,.pricing-box,.support-box){background:var(--surface);border-color:var(--line)}
html[data-theme] :is(.package-sticky-nav,.catalog-nav){background:color-mix(in srgb,var(--page) 95%,transparent);border-color:var(--line)}
html[data-theme] :is(.catalog-nav a,.business-jump a,.catalog-search input){background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme] .catalog-search input::placeholder{color:var(--muted);font-size:14px}
html[data-theme] :is(.catalog-card li,.plan-card li,.security-grid li,.module-category,.module-link>span,.fine-print,.contact-main>p:not(.eyebrow),.business-workflow li span,.business-workflow>.business-outcome,.contact-prep li span,.pricing-box p,.support-box p,.document>p){color:var(--muted)}
html[data-theme] :is(.scope-grid article,.business-workflow li,.contact-prep li,.contact-layout,.line-icon,.onboarding-steps>article){border-color:var(--line)}
html[data-theme] .package-comparison .included{color:var(--ink)}
html[data-theme] .capture-tabs b{background:var(--tint);color:var(--accent-light)}
html[data-theme] .capture-tabs button[aria-selected=true]{background:var(--tint);color:var(--accent-light)}
html[data-theme] .capture-tabs button[aria-selected=true] b{background:var(--blue);color:var(--on-accent)}
html[data-theme] .demo-match b{color:var(--positive)}
html[data-theme] :is(.demo-validation,.demo-status.posted){background:var(--positive-soft);color:var(--positive)}
html[data-theme] .demo-status{background:var(--caution-soft);color:var(--caution)}
html[data-theme] .billing-switch span{background:var(--tint);color:var(--accent-light)}
/* Paper documents keep their true printed appearance in either theme. */
html[data-theme] .paper-mini{--ink:#202833;--muted:#596575;--blue:#5558fb;--accent-light:#4548d5;--line:#dce2e9;color:var(--ink);color-scheme:light}
html[data-theme] .floating-chip{background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme] :is(.intelligence-section,.final-cta){background:var(--tint-soft);color:var(--ink);border-color:var(--line)}
html[data-theme] :is(.intelligence-copy>p:not(.overline),.quiet-list,.intelligence-copy>p.intelligence-note,.final-cta h2+p,.final-secondary){color:var(--muted)}
html[data-theme] :is(.quiet-list li,.final-secondary){border-color:var(--line)}
.quiet-list strong{font-weight:600;color:var(--ink)}
html[data-theme] .karv-example{background:var(--card);border-color:var(--line);box-shadow:var(--shadow-soft)}
html[data-theme] :is(.karv-example-header,.karv-example-note){border-color:var(--line)}
html[data-theme] .karv-example-header .karv-avatar{background:var(--tint);color:var(--accent-light)}
html[data-theme] :is(.karv-example-header small,.karv-example-header>span:last-child,.karv-example-note){color:var(--muted);border-color:var(--line)}
html[data-theme] .karv-prompts-v2 button{background:var(--surface);color:var(--muted);border-color:var(--line);font-size:14px;min-height:42px}
html[data-theme] :is(.karv-prompts-v2 button[aria-pressed=true],.karv-prompts-v2 button:hover){background:var(--tint);color:var(--accent-light);border-color:var(--blue)}
html[data-theme] .karv-question{background:var(--tint);color:var(--ink);border-color:var(--line);font-size:16px}
html[data-theme] .karv-answer{color:var(--muted);font-size:16px}
html[data-theme] :is(.karv-answer>p:first-child,.karv-answer strong){color:var(--ink)}
.karv-answer li{font-size:14px}
html[data-theme] .karv-answer li:before{color:var(--accent-light)}
.karv-example-note{font-size:12px}
html[data-theme] .site-footer{background:var(--page);color:var(--ink);border-top:1px solid var(--line)}
html[data-theme] :is(.footer-brand p,.footer-brand>a:last-child,.footer-column>a,.footer-bottom){color:var(--muted);border-color:var(--line)}
html[data-theme] :is(.footer-column>strong,.footer-column>a:hover){color:var(--ink)}
.footer-column>a{font-size:14px}
html[data-theme] :is(.back-to-packages,.package-intro,.package-hero-note>p,.package-start-price small,.package-start-price b>span){color:var(--muted)}
html[data-theme] :is(.package-hero-note,.package-start-price,.back-to-packages){border-color:var(--line)}
html[data-theme] .package-start-price b{color:var(--ink)}
.package-sticky-nav a,.catalog-nav a{font-size:14px}
html[data-theme] .skip-link{color:var(--page);background:var(--ink)}
html[data-theme] :is(.screen-close,.screen-caption){color:var(--ink)}
.site-header,.site-footer,.launch-hero,.package-hero,.intelligence-section,.final-cta,.appearance-panel{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
@media(min-width:851px) and (max-width:1150px){.appearance-toggle>span{display:none}.launch-stage{gap:25px}.launch-copy h1{font-size:clamp(55px,6.3vw,73px)}}
@media(max-width:850px){
 html[data-theme] .main-nav{background:var(--card);border-color:var(--line)}
 html[data-theme] .main-nav .nav-mobile-contact{background:var(--blue);color:var(--on-accent)}
 .appearance-toggle>span{display:none}.appearance-toggle{padding:10px}
 .launch-stage{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:43px;padding-bottom:0}
 .launch-copy{display:contents}.launch-copy>.overline{order:1}.launch-copy>h1{order:2;font-size:clamp(48px,8.8vw,76px);margin-top:22px}
 .launch-copy>.launch-lead{order:3;max-width:640px;font-size:17px;margin-top:22px}
 .prism-stage{order:4;aspect-ratio:auto;height:300px;margin:27px 0 26px;border-radius:20px}
 .prism-stage .intelligence-art{height:100%;max-height:none;object-fit:contain}
 .launch-copy>.actions{order:5;margin-top:0;display:flex;flex-wrap:wrap;gap:10px}
 .launch-copy>.hero-footnote{order:6;margin-top:22px}
 html[data-theme] .hero-package-rail{margin-top:38px}
 html[data-theme] .appearance-panel{right:-45px}
}
@media(max-width:540px){
 .launch-stage{padding-top:32px}.launch-copy h1{font-size:clamp(43px,12.2vw,63px);line-height:1.05}
 .prism-stage{height:228px;margin-top:24px}.launch-copy>.actions>.button{flex:1;white-space:nowrap;font-size:14px;padding:12px 15px}
 .launch-copy>.hero-footnote{gap:6px;flex-direction:column;align-items:flex-start}
 .hero-footnote span+span{padding:0;border:0}
 .karv-conversation{padding:20px}.karv-question{margin-left:18px}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-footer,.launch-hero,.package-hero,.intelligence-section,.final-cta,.appearance-panel{transition:none}}
:root[data-motion=reduced] :is(.site-header,.site-footer,.launch-hero,.package-hero,.intelligence-section,.final-cta,.appearance-panel){transition:none}
@media print{html[data-theme] body{background:#fff;color:#000}.appearance-control{display:none}}

/* KARV uses the same blue character as the app; the brand logo always keeps its original color. */
html[data-theme] .karv-avatar.karv-character{display:block;flex-shrink:0;width:56px;height:56px;background-color:transparent;background-image:url('assets/karv-blue-atlas.png');background-repeat:no-repeat;background-size:200% 200%;background-position:0 0;border:0;border-radius:0;filter:drop-shadow(0 3px 6px #10151c1a);transition:transform 180ms ease-out}
.karv-introduction{display:flex;align-items:center;gap:18px;margin-bottom:8px}
html[data-theme] .karv-introduction .karv-portrait{width:112px;height:112px}
.karv-introduction .overline{line-height:1.9;margin:0}
html[data-theme] .karv-example:focus-within .karv-character{background-position:100% 0}
@media(hover:hover){html[data-theme] .karv-example:hover .karv-character{background-position:100% 0}.karv-introduction:hover .karv-portrait{transform:none}}
@media(max-width:600px){html[data-theme] .karv-introduction .karv-portrait{width:88px;height:88px}.karv-introduction{gap:12px}html[data-theme] .karv-example-header .karv-character{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){html[data-theme] .karv-character{transition:none;transform:none!important}}
:root[data-motion=reduced] .karv-character{transform:none!important}

/* Quiet type and neutral finishing details in every edition. */
html[data-theme] :is(.brand,.demo-brand,h1,h2,h3,h4){font-family:inherit}
html[data-theme] :is(h1,h2,h3,h4){font-weight:600;letter-spacing:-.025em}
html[data-theme] .launch-copy h1{letter-spacing:-.035em;font-weight:600}
html[data-theme] :is(.interface-frame,.business-card,.price-card-v2,.plan-card){box-shadow:var(--shadow-soft)}
html[data-theme] .interface-top i{background:var(--line)}
html[data-theme] .floating-chip>span{color:var(--positive)}
html[data-theme] .appearance-options label{font-size:14px}
.palette-options{grid-template-columns:1fr}
.appearance-swatch{flex-shrink:0}
html[data-theme] :is(.button,.business-card,.price-card-v2,.connected-card,.module-link):hover{transform:none;translate:none}
html[data-theme] .button.primary{box-shadow:none}
html[data-theme] .button.primary:hover{box-shadow:none}
html[data-theme] :is(.launch-copy>h1,.launch-copy>.launch-lead,.launch-copy>.actions){animation:none}
body.motion-ready [data-reveal]{transform:translateY(6px);transition:opacity 220ms ease,transform 220ms cubic-bezier(.2,.7,.3,1)}
body.motion-ready [data-reveal].is-visible{transform:none;transition-delay:0ms}
:root[data-palette=graphite] :is(.intelligence-art,.karv-character,.interface-frame img,.screen-dialog img){filter:grayscale(1)}
:root[data-palette=graphite] .paper-mini{--ink:#262626;--muted:#626262;--blue:#454545;--accent-light:#454545;--line:#dedede}
@keyframes public-panel-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body.motion-ready [data-reveal]{transition:none}}
:root[data-motion=reduced] body.motion-ready [data-reveal]{transition:none}

html[data-theme] :is(.paper-mini,.floating-chip,.capture-visual,.package-story:hover){box-shadow:var(--shadow-soft)}
html[data-theme] .price-card-v2#plan-business{box-shadow:var(--shadow-soft);background:var(--tint-soft);border-color:var(--line)}

html[data-theme] .login-story{background:var(--surface);color:var(--ink)}
html[data-theme] .login-panel{background:var(--card)}
html[data-theme] :is(.story-description,.form-description,.form-eyebrow,.panel-top,.login-footer){color:var(--muted)}
html[data-theme] :is(.story-copy h1 span,.login-story .eyebrow){color:var(--accent-light)}
html[data-theme] .primary-button{background:var(--blue);color:var(--on-accent);box-shadow:none}
html[data-theme] .primary-button:hover{background:var(--blue-hover);box-shadow:none}
html[data-theme] .login-layout{min-height:100svh}

/* Finite, compositor-friendly feedback. Content never waits for an effect. */
html[data-theme] :is(.button,.business-card,.connected-card,.module-link){transition:translate 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
html[data-theme] .appearance-panel{transform-origin:top right}
html[data-theme] .appearance-panel.is-open{animation:appearance-arrive 180ms ease-out}
@keyframes appearance-arrive{from{opacity:0;transform:translateY(-3px) scale(.985)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 html[data-theme] .button:hover{translate:0 -1px;box-shadow:0 4px 14px #10151c0c}
 html[data-theme] .button.primary:hover{box-shadow:0 5px 16px color-mix(in srgb,var(--blue) 15%,transparent)}
 html[data-theme] :is(.business-card,.connected-card,.module-link):hover{translate:0 -2px;box-shadow:var(--shadow-soft);border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}
}
html[data-theme] .button:active{translate:0 0;scale:.99;transition-duration:80ms}
html[data-theme=dark] :is(.interface-frame,.business-card,.price-card-v2,.connected-card){box-shadow:inset 0 1px 0 #ffffff04,var(--shadow-soft)}
:root[data-motion=reduced] :is(.button,.business-card,.connected-card,.module-link){translate:none!important;scale:1!important}
:root[data-motion=reduced] body.motion-ready [data-reveal]{transform:none}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(.button,.business-card,.connected-card,.module-link){translate:none!important;scale:1!important}body.motion-ready [data-reveal]{transform:none}}

html[data-theme] :is(.workspace-tabs button[aria-selected=true],.billing-switch button[aria-pressed=true]){box-shadow:0 1px 4px #00000008}
@media(max-width:850px){html[data-theme] .main-nav{box-shadow:var(--shadow-soft)}}
:root[data-motion=reduced] :is(.package-story,.connected-card .paper-mini){transform:none!important}
@media(prefers-reduced-motion:reduce){:is(.package-story,.connected-card .paper-mini){transform:none!important}}
