/* evondevKit UI audit: preserve the blue identity and existing interactions.
   One palette for surfaces, text, actions and frames across every route. */
:root {
  color-scheme: light;
  --primary: #3d69a4;
  --primary-hover: #315d96;
  --primary-foreground: #ffffff;
  --primary-light: #eef3f9;
  --primary-light-hover: #e4ecf6;
  --background: #f8fafc;
  --surface: #ffffff;
  --foreground: #24364b;
  --muted: #5b6b7e;
  --border: #e5eaf0;
  --border-strong: #bdcbdc;
  --frame-blue: #8ca8c8;
  --frame-cyan: #c4dbe2;
  --frame-warm: #e1d9c4;
  --diagram-ba: #efccb8;
  --diagram-po: #e9ddba;
  --diagram-pm: #c0dbe0;
  --diagram-ba-po: #bcd2df;
  --diagram-ba-pm: #c1ccd5;
  --diagram-po-pm: #cedab7;
  --diagram-shared: #b3c7d7;
  --ink: var(--foreground);
  --teal: var(--primary);
  --soft: var(--background);
  --line: var(--border);
  --quiet-shadow: 0 8px 24px #334c6c0a;
}
body { background: var(--surface); color: var(--foreground); -webkit-font-smoothing: antialiased; }
p, .fine-print { color: var(--muted); }
p { text-wrap: pretty; }
.site-header { background: #ffffffed; border-color: var(--border); box-shadow: 0 3px 18px #334c6c04; }
.brand-mark { background: linear-gradient(135deg, #779fb6, var(--primary)); box-shadow: 0 4px 12px #334c6c12; }
.brand-sub, .site-header nav>a:not(.button) { color: var(--muted); }
.site-header nav>a.active, .site-header nav>a:hover { color: var(--primary); }
.site-header nav>a.active:after { background: var(--primary); }
.eyebrow, .text-link, .card-number, .section-index { color: var(--primary); }
.page-intro { background: linear-gradient(115deg, var(--background), var(--surface)); border-color: var(--border); }
.section-heading h2, .page-intro h1 { color: var(--foreground); }
.section-heading>p, .page-intro p { color: var(--muted); }

/* Strong contrast belongs to the label, rather than a saturated glow. */
.button, .cta .button, .soul-link-card>.button, .price-card.featured .button {
  background: var(--primary); border-color: var(--primary); color: var(--primary-foreground);
  box-shadow: 0 4px 12px #334c6c10;
}
.button:hover, .button:focus-visible, .cta .button:hover,
.soul-link-card>.button:hover, .soul-link-card>.button:focus-visible,
.price-card.featured .button:hover {
  background: var(--primary-hover); border-color: var(--primary-hover); color: var(--primary-foreground);
  box-shadow: 0 7px 18px #334c6c18;
}
.button.secondary, .studio-hero .actions .button.secondary,
.light-matrix-section .button.secondary, .partnership-section .button.secondary {
  background: var(--primary-light); border-color: var(--border-strong); color: var(--primary-hover); box-shadow: none;
}
.button.secondary:hover, .button.secondary:focus-visible,
.studio-hero .actions .button.secondary:hover, .studio-hero .actions .button.secondary:focus-visible,
.light-matrix-section .button.secondary:hover, .light-matrix-section .button.secondary:focus-visible,
.partnership-section .button.secondary:hover, .partnership-section .button.secondary:focus-visible {
  background: var(--primary-light-hover); color: var(--primary-hover); border-color: var(--primary); box-shadow: var(--quiet-shadow);
}
.demo-link, .demo-product-link { color: var(--primary-hover); background: var(--primary-light); border-color: var(--border-strong); }
.demo-link:hover, .demo-link:focus-visible, .demo-product-link:hover, .demo-product-link:focus-visible {
  color: var(--primary-hover); background: var(--primary-light-hover); border-color: var(--primary);
}
.demo-link:disabled { background: var(--background); color: var(--muted); border-color: var(--border); }
.button:after, .demo-link:after, .demo-product-link:after {
  background: linear-gradient(115deg, #ffffff99, var(--frame-blue), var(--frame-cyan), var(--frame-warm)); opacity: .24;
}
@keyframes cta-edge-pulse { 0%,100% { opacity: .15; } 46% { opacity: .42; } 60% { opacity: .28; } }
.button:focus-visible, .demo-link:focus-visible, .demo-product-link:focus-visible,
.capability-strip a:focus-visible { outline-color: var(--primary); }

/* The hero and segmented strip are quiet surfaces with synchronized states. */
.studio-hero { background: var(--background); }
.studio-hero .ambient-light { background: linear-gradient(125deg, #fafbfd, #f4f7fa); }
.ambient-cloud { opacity: .35; }
.studio-hero h1 em { color: var(--primary); }
.studio-hero .hero-copy>p, .hero-assurances, .studio-visual-top { color: var(--muted); }
.studio-visual, .studio-visual:before { background: var(--surface); border-color: var(--border); box-shadow: var(--quiet-shadow); }
.studio-visual:after {
  background: linear-gradient(120deg, var(--frame-blue), var(--frame-cyan), #dae2eb, var(--frame-blue));
  padding: 1px; opacity: .15;
}
@keyframes quiet-hero-border { 0%,100% { opacity: .1; } 50% { opacity: .2; } }
.studio-visual-caption, .studio-visual-top { border-color: var(--border); }
.studio-visual-caption a, .hero-assurances span:before { color: var(--primary); }
.capability-section { background: var(--background); border-color: var(--border); }
.capability-strip a, .capability-strip a.is-checkpoint-lit { background: var(--surface); border-color: var(--border); box-shadow: none; }
.capability-strip a:hover, .capability-strip a:focus-visible { background: var(--primary-light); border-color: var(--border-strong); box-shadow: var(--quiet-shadow); }
.capability-strip a:before { background: var(--primary); }
.capability-strip a:after { opacity: .2; }
.capability-strip strong { color: var(--foreground); }
.capability-strip small, .capability-strip a>span { color: var(--muted); }
.capability-strip a:hover strong { color: var(--primary); }

/* Keep the requested moving frame, using a thin reflection instead of neon. */
.gradient-border:before {
  background: conic-gradient(from 0deg, var(--frame-blue), var(--frame-cyan) 22%, var(--frame-warm) 40%, #acc1da 63%, var(--frame-cyan) 82%, var(--frame-blue));
  animation-duration: 18s;
}
.animated-gradient-frame>.gradient-border { padding: 1.25px; opacity: .42; }
.animated-gradient-frame:hover>.gradient-border, .animated-gradient-frame:focus-within>.gradient-border { opacity: .7; }
.compact-service-card>.gradient-border { padding: 1.5px; opacity: .5; }
.compact-art-frame>.gradient-border { padding: 1px; opacity: .38; }
.soul-link-card>.gradient-border { opacity: .5; }
.partnership-section .benefit-grid article>.gradient-border, .process-row>.gradient-border,
.process-row .step-detail>.gradient-border { padding: 1px; opacity: .32; }
.process-row[open]>.gradient-border { opacity: .6; }
.site-header .brand>.gradient-border { opacity: .4; }
.site-header .brand>.gradient-border:before {
  background: conic-gradient(transparent 0deg 280deg, var(--frame-blue) 312deg, var(--frame-cyan) 336deg, #ffffff 347deg, transparent 360deg);
}
/* A crisp travelling highlight with a soft halo around the header logo. */
.site-header .brand:after {
  content: ""; position: absolute; inset: -1px; border-radius: inherit;
  border: 1px solid #8bbce34d; pointer-events: none;
  box-shadow: 0 0 8px #78b9e433, 0 0 18px #a2d8ed24, inset 0 0 5px #99cbea1f;
  animation: logo-halo-breathe 5s ease-in-out infinite;
}
.site-header .brand>.gradient-border { padding: 1.6px; opacity: .86; }
.site-header .brand>.gradient-border:before {
  background: conic-gradient(from 0deg, #94bed655 0deg 250deg, #76b7e5 290deg, #d9f5ff 326deg, #ffffff 337deg, #94bed655 360deg);
  animation-duration: 5s;
}
.site-header .brand:hover>.gradient-border, .site-header .brand:focus-visible>.gradient-border { opacity: 1; }
@keyframes logo-halo-breathe { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
@media (prefers-reduced-motion:reduce) { .site-header .brand:after { animation: none; opacity: .75; } }
.compact-solutions, .light-matrix-section, .teamwork-section, .robodraft-section { background: var(--background); color: var(--foreground); }
.compact-solutions .universe-canvas { opacity: .06; }
.signal-matrix { opacity: .24; }
.compact-section-heading h2, .light-matrix-section .compact-section-heading h2 { color: var(--foreground); }
.compact-section-heading p, .compact-solutions .fine-print { color: var(--muted); }
.compact-service-card, .compact-art-frame, .demo-product-card, .team-detail { border-color: var(--border); box-shadow: var(--quiet-shadow); }
.compact-art-frame { background: #f6f8fb; box-shadow: none; }
.compact-service-copy h3, .demo-product-copy h4 { color: var(--foreground); }
.compact-service-copy>p, .demo-product-copy p, .demo-product-copy li { color: var(--muted); }
.compact-price, .home-service-price strong, .website-demo-kicker, .demo-product-type { color: var(--primary); }
.compact-price small, .upcoming-label { color: var(--muted); }
.compact-service-card:before, .demo-product-card:before { background: radial-gradient(280px circle at var(--spot-x) var(--spot-y), #7898bb18, transparent 65%); }
.app-platform-banner, .solution-preview, .website-demo-gallery { background: var(--surface); border-color: var(--border); box-shadow: var(--quiet-shadow); }
.app-platform-banner:before, .solution-preview:before { background: linear-gradient(115deg, var(--frame-blue), var(--frame-cyan), var(--frame-warm)); opacity: .12; }
.app-platform-intro h3, .app-platform-list strong, .website-demo-heading h3 { color: var(--foreground); }
.app-platform-intro p, .app-platform-list small, .app-download-status, .website-demo-heading p { color: var(--muted); }
.app-platform-list li { background: var(--background); border-color: var(--border); box-shadow: none; }
.app-platform-list li:after { background: linear-gradient(135deg, var(--frame-blue), var(--frame-cyan), var(--frame-warm)); opacity: .3; padding: 1px; }
.app-platform-list li:hover:after { opacity: .55; }
.light-matrix-section .solution-tabs { border-color: var(--border); }
.light-matrix-section .solution-tabs button { background: var(--surface); border-color: var(--border-strong); color: var(--muted); }
.light-matrix-section .solution-tabs button:hover { background: var(--primary-light); border-color: var(--primary); box-shadow: var(--quiet-shadow); }
.light-matrix-section .solution-tabs button[aria-selected=true] { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); }
.light-matrix-section .case-study-feature, .case-study-feature { background: var(--surface); border-color: var(--border); box-shadow: var(--quiet-shadow); }
.light-matrix-section .product-copy h3 { color: var(--foreground); }
.light-matrix-section .product-copy p, .light-matrix-section .feature-checks, .light-matrix-section .showcase-note { color: var(--muted); }
.light-matrix-section .feature-checks li:before { color: var(--primary); }
.preview-widgets>div { border-color: var(--border); }
.preview-widgets>div:hover { border-color: var(--border-strong); box-shadow: var(--quiet-shadow); }
.preview-widgets small, .preview-top, .preview-top small { color: var(--muted); }
.preview-route { background: var(--primary-light); }
.demo-product-visual { border-color: var(--border); box-shadow: none; }
.demo-product-screen { background: var(--background); }
.demo-product-copy li { background: var(--background); border-color: var(--border); }
.demo-product-copy .demo-product-type { color: var(--primary); }
.soul-section { background: var(--background); }
.soul-link-card { background: linear-gradient(120deg, var(--surface), #f4f7fb); border-color: var(--border); box-shadow: var(--quiet-shadow); }
.soul-signature, .soul-link-copy h2 { color: var(--primary); }
.soul-signature span, .soul-link-copy p { color: var(--muted); }
.hot-orbits { opacity: .55; }
.light-matrix-section .soul-product-preview { background: linear-gradient(135deg, #f0f6f9, #edf2f8); border-color: var(--border); }
.light-matrix-section .soul-product-preview strong { color: var(--primary); }
.light-matrix-section .soul-product-preview>span { color: var(--muted); }

/* Apply the same surfaces and readable secondary text to supporting routes. */
.partnership-section, .partnership-section .product-sculpture { background: var(--background); }
.partnership-section .sculpture-image { opacity: .25; }
.partnership-grid, .partnership-section .benefit-grid article { background: #ffffffed; border-color: var(--border); box-shadow: none; }
.partnership-section h2, .partnership-section h3 { color: var(--foreground); }
.partnership-section h2 em, .teamwork-heading h2 em, .light-matrix-section h2 em { color: var(--primary); }
.partnership-intro>p, .partnership-signature small, .partnership-section .benefit-grid p,
.teamwork-heading p, .team-role small, .team-detail-heading p, .team-detail dd { color: var(--muted); }
.team-role { border-color: var(--border); border-top-color: color-mix(in srgb, var(--role-color) 45%, white); }
.team-role-code, .team-role-action, .team-detail-heading>span { color: var(--primary-hover); }
.team-role[aria-expanded=true] { background: var(--primary-light); border-color: var(--primary); box-shadow: none; }
.team-venn svg { filter: drop-shadow(0 5px 10px #334c6c0d); }
.team-venn svg .venn-ba { fill: var(--diagram-ba); }
.team-venn svg .venn-po { fill: var(--diagram-po); }
.team-venn svg .venn-pm { fill: var(--diagram-pm); }
.team-venn svg .venn-ba-po { fill: var(--diagram-ba-po); }
.team-venn svg .venn-ba-pm { fill: var(--diagram-ba-pm); }
.team-venn svg .venn-po-pm { fill: var(--diagram-po-pm); }
.team-venn svg .venn-shared { fill: var(--diagram-shared); }
.team-venn svg text { fill: var(--foreground); stroke: none; }
.team-venn svg .delivery-plate { fill: var(--primary); stroke: var(--border-strong); }
.team-venn svg .team-delivery { fill: var(--primary-foreground); }
.process-intro h2, .process-row h3 { color: var(--foreground); }
.process-intro h2 em, .process-intro p, .process-row summary small, .step-detail p { color: var(--muted); }
.process-row { background: var(--surface); border-color: var(--border); }
.step-no, .step-expand, .step-detail strong { color: var(--primary); }
.step-no { border-color: var(--border-strong); }
.process-mini-route span { background: var(--background); border-color: var(--border-strong); color: var(--primary-hover); }
.process-mini-route span.is-current { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); box-shadow: var(--quiet-shadow); }
.solution-card, .module-grid>article, .support-grid article, .quote-box { background: var(--surface); border-color: var(--border); }
.solution-card ul, .solution-card>p { color: var(--muted); }
.price-showcase, .ai-options .robot-option { background: var(--background); border-color: var(--border); }
.price-tabs { background: var(--background); }
.price-tabs button { color: var(--muted); }
.price-tabs button[aria-selected=true] { color: var(--primary-foreground); background: var(--primary); box-shadow: none; }
.price-card, .price-card.featured { background: var(--surface); color: var(--foreground); border-color: var(--border); box-shadow: none; }
.price-card.featured { border-color: var(--border-strong); background: var(--primary-light); }
.price-card.featured>p, .price-card.featured .price small, .price-card.featured .price>span,
.price-card.featured .scope, .price-card.featured li { color: var(--muted); }
.price-card.featured .price, .price-card.featured li:before { color: var(--primary); }
.price-card.featured .badge { color: var(--primary-hover); background: var(--surface); }
.price-card.featured .scope { border-color: var(--border-strong); }
.contact-card>span { color: var(--primary); }
.contact-form input, .contact-form textarea, .contact-form select, .quote-box input, .quote-box select { background: var(--surface); color: var(--foreground); border-color: var(--border-strong); }
.cta { background: linear-gradient(115deg, #f4f7fb, #f8fafc); border-color: var(--border); color: var(--foreground); }
.cta-inner { background: #ffffffb3; border-color: var(--border); }
.cta h2 em, .cta .eyebrow { color: var(--primary); }
.cta-inner>div:last-child p { color: var(--muted); }
.business-footer { background: var(--background); color: var(--foreground); }
.business-footer .footer-grid a, .business-footer .footer-grid p, .business-footer .footer-bottom,
.footer-intro>p, .footer-intro .eyebrow, .footer-grid .contact-label { color: var(--muted); }
.business-footer .footer-grid a:hover, .business-footer .footer-grid a.footer-phone { color: var(--primary-hover); }
.footer-contact-link { color: var(--primary-hover)!important; }
.business-footer .footer-grid strong, .business-footer .footer-grid .brand { color: var(--foreground); }
.footer-intro, .business-footer .footer-bottom { border-color: var(--border); }

/* Financial choices use the same primary/selected/hover hierarchy. */
.estimate-section { background: var(--background); color: var(--foreground); }
.estimate-heading p, .estimate-section small, .estimate-reason, .estimate-addon-note,
.estimate-how p, .estimate-package, .estimate-sheet-label, .estimate-financials dt,
.estimate-unpriced, .estimate-exclusions { color: var(--muted); }
.estimate-config, .estimate-summary, .estimate-choice, .estimate-plan { border-color: var(--border); box-shadow: none; }
.estimate-choice:hover, .estimate-plan:hover { border-color: var(--border-strong); }
.estimate-choice:has(input:checked), .estimate-plan:has(input:checked) { background: var(--primary-light); border-color: var(--primary); box-shadow: none; }
.estimate-choice input, .estimate-plan input, .estimate-addons input { accent-color: var(--primary); }
.estimate-choice:has(input:focus-visible), .estimate-plan:has(input:focus-visible),
.estimate-section :is(input, select, button, a):focus-visible { outline-color: var(--primary); }
.estimate-plan b, .estimate-addons b, .estimate-formula, .estimate-scope summary,
.estimate-summary #estimate-status, .estimate-grand strong { color: var(--primary); }
.estimate-field input, .estimate-field select { color: var(--foreground); background: var(--surface); border-color: var(--border-strong); }
.estimate-scope, .estimate-grand, .estimate-exclusions, .estimate-empty { background: var(--primary-light); border-color: var(--border); }
.estimate-table thead th { color: var(--muted); background: var(--background); }
.estimate-table tfoot th, .estimate-table tfoot td { color: var(--primary-hover); background: var(--primary-light); }
.estimate-table th, .estimate-table td, .estimate-aftercare { border-color: var(--border); }
.estimate-upcoming, .estimate-upcoming:hover { background: var(--background); border-color: var(--border); }

@media (hover:hover) and (pointer:fine) {
  .compact-service-card:hover, .compact-service-card:focus-within,
  .demo-product-card:hover, .demo-product-card:focus-within {
    border-color: var(--border-strong); box-shadow: 0 12px 28px #334c6c14;
  }
  .compact-service-card:hover .compact-art-frame, .compact-service-card:focus-within .compact-art-frame,
  .demo-product-card:hover .demo-product-visual, .demo-product-card:focus-within .demo-product-visual,
  .soul-link-card:hover { box-shadow: var(--quiet-shadow); }
}
@media (max-width:760px) {
  .compact-service-card>.gradient-border, .animated-gradient-frame>.gradient-border { padding: 1px; }
  .signal-matrix { opacity: .18; }
  .demo-product-copy p, .demo-product-link, .website-demo-heading p { font-size: .875rem; }
  .demo-product-link { min-height: 44px; }
  .demo-product-type, .demo-product-copy li { font-size: .75rem; }
}
@media (prefers-reduced-motion:reduce) {
  .gradient-border:before, .studio-visual:after { animation: none!important; }
  .studio-visual:after { transform: none; }
}

/* User-supplied hero artwork: full image at its natural ratio on every screen. */
.studio-visual .studio-art.studio-hero-image {
  display:block; width:100%; max-width:100%; height:auto; min-height:0;
  aspect-ratio:auto; object-fit:contain; margin:0; padding:0;
  background:none; filter:none; border-radius:16px;
  animation:none; transform:none;
}
