/* Cream surfaces, denim blue actions, and mocha details. */
:root {
  --bg: #f8f1e5;
  --surface: #fffaf2;
  --text: #293849;
  --muted: #65574e;
  --green: #315f86;
  --mint: #315f86;
  --line: #d5c7b7;
  --accent-soft: #eee1d1;
  --blue-soft: #e8eef3;
  --blue-ink: #315f86;
  --border-accent: #a99988;
}
::selection { color: #293849; background: #ded0bc; }
:focus-visible { outline-color: #315f86; }
.site-header { background: #fffaf2fa; border-color: #ded1c0; }
.brand-mark { background: #315f86; box-shadow: 0 4px 12px #315f8615; }
.brand-mark i { color: #ead8bd; }
.desktop-nav a { color: #65574e; }
.desktop-nav a:hover, .desktop-nav a[aria-current] { color: #2c567a; }
.header-cta { color: #2c567a; border-color: #8d9dab; background: #f3eadc; }
.header-cta:hover { background: #e9dcc9; }
.hero {
  background: radial-gradient(ellipse at 15% 40%, #e7d9c7 0, transparent 52%),
              radial-gradient(ellipse at 88% 5%, #e1e8ee 0, transparent 48%), #faf3e7;
}
.hero-grid { background-image: radial-gradient(#8b735e2c .75px, transparent .75px); }
.eyebrow { color: #2c567a; }
.eyebrow > span, .status-pulse { background: #8b6b53; box-shadow: 0 0 0 5px #eee0cf; }
.gradient-text { color: #315f86; }
.gradient-text::after { background: #dfccb4; }
.hero-copy > p, .hero-proof span, .hero-shortcuts > span { color: var(--muted); }
.button-primary { background: #315f86; color: #fff; box-shadow: 0 6px 16px #315f8624; }
.button-primary:hover { background: #254b6a; box-shadow: 0 8px 22px #315f8630; }
.button-ghost { background: #fff; color: #315f86; border-color: #91a1ae; }
.button-ghost:hover { background: #e8eef3; border-color: #667f94; }
.button-dot { background: #8b6b53; }
.hero-shortcuts a { background: #fffaf2da; color: #315f86; border-color: #c5b4a1; }
.hero-shortcuts a:hover { background: #eee2d2; border-color: #977d66; }
.orbit-outer { border-color: #d4c1a8; }
.orbit-inner { border-color: #bccbd6; }
.orbit-outer::after { color: #88674e; background: #f8f1e5; }
.visual-core { border-color: #b6a28c; box-shadow: 0 28px 65px -25px #58412d38; }
.core-topbar, .core-corner { background: #fff; border-color: #dfd1be; }
.core-topbar small, .core-chip, .core-corner { color: #705743; }
.core-topbar i { background: #d6c4ac; }
.core-topbar i:first-child { background: #8b6b53; }
.core-screen { background: linear-gradient(135deg, #fff 0%, #f7eddf 55%, #e4eaf0 100%); }
.core-title { color: #293849; text-shadow: none; }
.core-title em { color: #315f86; }
.core-stack span { color: #315f86; border-color: #9babb8; background: #fff8ed; }
.core-corner i { background: #c5b197; }
.flow-art { opacity: .4; }
.flow-art i { border-color: #bea084; }
.flow-art i:nth-child(2) { border-color: #96745a; }
.flow-art i:nth-child(3) { border-color: #6485a1; }
.floating-card { background: #fff; border-color: #d7c4ae; box-shadow: 0 8px 24px #58412d12; }
.floating-icon { background: #eee0cf; color: #2c567a; }
.tech-strip { background: #fff; }
.marquee-track span { color: #65574e; }
.section-index, .section-head h2 em { color: #315f86; }
.service-card, .project-card, .team-card { background: #fff; border-color: #d8c9b7; box-shadow: 0 4px 18px #58412d07; }
.service-card:hover { border-color: #a88b70; box-shadow: 0 12px 28px #58412d12; }
.service-number { color: #705b4b; }
.service-icon { background: #e7edf2; color: #315f86; border-color: #bccbd6; }
.service-card:nth-child(3n+2) .service-icon { background: #f0e4d5; color: #76573f; border-color: #dac3a8; }
.service-card:nth-child(3n) .service-icon { background: #f4ebde; color: #76573f; border-color: #d9c3a8; }
.tags span, .capability-grid .tags span { color: #65574e; background: #f3eadf; border-color: #decebc; }
.projects { background: #eee5d8; }
.project-kicker, .project-meta span { color: #76573f; }
.capability-panel, .team-note { background: #f0e5d6; border-color: #d6bfa5; }
.capability-intro > p, .capability-grid p, .team-note p { color: var(--muted); }
.capability-grid > div { border-color: #d1b99e; }
.capability-grid > div > span { color: #315f86; }
.text-link, .team-note > a { color: #2c567a; border-color: #a38b74; }
.team-note-mark { background: #fff; color: #315f86; border-color: #bba184; }
.manifesto { background: linear-gradient(110deg, #e5eaf0, #eee0cf); }
.manifesto-label, .manifesto em { color: #76573f; }
.member-violet { background: #eee3d6; color: #76573f; }
.member-green { background: #e5ecf2; color: #315f86; }
.member-blue { background: #ede0d0; color: #76573f; }
.member-orange { background: #f3e8d9; color: #76573f; }
.process-step > span { background: #e7edf2; color: #2c567a; border-color: #b8c8d5; }
.faq { background: #faf3e7; }
.faq-list { border-color: #d5c6b4; }
.faq details { padding-inline: 16px; }
.faq details[open] { background: #eee2d2; border-color: #bea58a; }
.faq summary::after { color: #315f86; }
.contact { background: radial-gradient(ellipse at 12% 10%, #e1e7ee, transparent 55%), linear-gradient(130deg, #f7eddf, #e8d8c4); border-color: #cbb59c; }
.contact::before, .contact::after { border-color: #d3bfa5; }
.contact h2 em { color: #315f86; }
.contact p, .contact-note, .contact-brief { color: #65503f; }
.contact-channel { background: #fff; border-color: #c9b59c; box-shadow: 0 5px 18px #58412d08; }
.contact-channel:hover { border-color: #93775c; box-shadow: 0 12px 28px #58412d16; }
.channel-icon { background: #e7edf2; color: #2c567a; }
.channel-detail { color: #65574e; }
.channel-address, .channel-arrow { color: #2c567a; }
.channel-telegram { background: #fff9ef; border-color: #b3c3d0; }
.channel-telegram .channel-icon { background: #e5edf3; color: #315f86; }
.channel-telegram .channel-address { color: #315f86; }
.channel-call .channel-icon { background: #eee0cf; color: #76573f; }
.site-footer { background: #fff; }
.footer-bottom { color: #65574e; }
@media (prefers-contrast: more) {
  :root { --muted: #293849; --line: #8b7968; }
  .service-card, .project-card, .team-card, .contact-channel { border-color: #8b7968; }
}

/* Complete the palette on inherited surfaces and project illustrations. */
:root { --cream: #f8f1e5; --denim: #315f86; --mocha: #76573f; }
body, .mobile-menu { background: var(--cream); }
.button-primary, .button-primary:hover, .brand-mark { color: #fffaf2; }
.services, .team, .process { background: #f8f1e5; }
.process { background: #fcf6ec; }
.commerce-canvas { background-color: #dce5ed; background-image: radial-gradient(#6485a140 .7px, transparent .7px); }
.browser-frame, .browser-bar { background: #fffaf2; border-color: #c6d0d8; }
.dash-side, .dash-stats > div { background: #f3eee6; border-color: #d8cbbd; }
.dash-side b, .dash-title strong, .dash-stats b { color: #315f86; }
.dash-stats small { color: #65574e; }
.dash-side i, .dash-chart { border-color: #c6d0d8; }
.dash-side i:nth-child(2) { background: #dce5ed; }
.dash-chart path { stroke: #315f86; }
.mock-button { background: #315f86; color: #fffaf2; }
.podo-canvas { background: #dce5ed; }
.mini-site { background: #f8f4ed; }
.flora-canvas { background: #e9dac7; color: #70513c; }
.flower-mark { background: #c9ac8e; color: #513e30; }
.flora-canvas::before, .flora-canvas::after { border-color: #cdb79d; }
.flora-line { background: #947254; }
.contact-brief > span::before { color: #76573f; }

/* Borderless surfaces with soft denim-blue depth. */
:root {
  --card-shadow: 0 6px 18px -8px rgb(49 95 134 / 15%), 0 18px 44px -20px rgb(86 135 181 / 24%);
  --card-shadow-raised: 0 10px 24px -10px rgb(49 95 134 / 21%), 0 26px 54px -22px rgb(86 135 181 / 32%);
}
.site-header, .tech-strip, .projects, .process, .contact, .footer-main,
.hero-proof, .hero-proof > div, .member-visual, .faq-list, details,
.capability-grid > div, .process-step, .project-meta {
  border: 0;
}
.site-header { box-shadow: 0 5px 24px -16px rgb(49 95 134 / 22%); }
.service-card, .project-card, .team-card, .contact-channel,
.floating-card, .visual-core, .capability-panel, .team-note {
  border: 0;
  box-shadow: var(--card-shadow);
}
.service-card, .project-card, .team-card, .contact-channel {
  transition: transform .25s ease, box-shadow .25s ease;
}
@media (hover: hover) {
  .service-card:hover, .project-card:hover, .team-card:hover, .contact-channel:hover {
    box-shadow: var(--card-shadow-raised);
  }
}
.header-cta, .button, .hero-shortcuts a, .menu-toggle,
.tags span, .capability-grid .tags span, .service-icon,
.team-note-mark, .process-step > span, .core-stack span {
  border: 0;
}
.header-cta, .button-ghost, .hero-shortcuts a, .menu-toggle {
  box-shadow: 0 4px 14px -7px rgb(49 95 134 / 24%);
}
.button-primary { box-shadow: 0 8px 24px -8px rgb(49 95 134 / 42%); }
.button-primary:hover { box-shadow: 0 12px 30px -10px rgb(49 95 134 / 50%); }
.text-link, .team-note > a, .mobile-menu a { border: 0; }
.text-link:hover, .team-note > a:hover { text-decoration: underline; text-underline-offset: 6px; }
.mobile-menu a:hover { background: rgb(49 95 134 / 5%); }
.faq details { margin-bottom: 10px; border-radius: 12px; }
.faq details[open] { box-shadow: var(--card-shadow); }
.core-topbar, .browser-bar, .browser-frame, .dash-side,
.dash-side i, .dash-stats > div, .dash-chart, .mini-site {
  border: 0;
}
.browser-frame, .mini-site { box-shadow: var(--card-shadow-raised); }
.dash-stats > div { box-shadow: 0 3px 12px rgb(49 95 134 / 7%); }
.contact::before, .contact::after { border: 0; }
/* Keyboard focus stays distinct from decorative borders. */
:focus-visible { outline: 3px solid var(--denim); outline-offset: 5px; }
@media (prefers-contrast: more) {
  .service-card, .project-card, .team-card, .contact-channel,
  .header-cta, .button-ghost, .menu-toggle, .hero-shortcuts a {
    border: 1px solid #65574e;
  }
}

/* Fine internal dividers preserve structure inside borderless outer cards. */
:root { --inner-line: #d7c8b6; --inner-line-blue: #becbd5; }
.hero-proof { border-top: 1px solid var(--inner-line); }
.hero-proof > div:not(:last-child) { border-inline-end: 1px solid var(--inner-line); }
.tags span, .capability-grid .tags span { border: 1px solid var(--inner-line); }
.service-icon, .team-note-mark, .process-step > span { border: 1px solid var(--inner-line-blue); }
.service-card:nth-child(3n+2) .service-icon, .service-card:nth-child(3n) .service-icon { border-color: var(--inner-line); }
.member-visual { border-bottom: 1px solid var(--inner-line); }
.project-meta { border-top: 1px solid var(--inner-line); margin-top: 22px; padding-top: 18px; }
.capability-grid > div { border-top: 1px solid var(--inner-line); }
.process-step { border-top: 1px solid var(--inner-line); }
.faq details { border-bottom: 1px solid var(--inner-line); }
.core-topbar { border-bottom: 1px solid var(--inner-line); }
.core-corner { border-top: 1px solid var(--inner-line); }
.core-stack span { border: 1px solid var(--inner-line-blue); }
.browser-bar { border-bottom: 1px solid var(--inner-line-blue); }
.dash-side { border-right: 1px solid var(--inner-line-blue); }
.dash-side i, .dash-stats > div, .dash-chart { border: 1px solid var(--inner-line-blue); }
.dash-side i:nth-child(2) { border-color: #8ea5b8; }
.mini-site { border: 1px solid var(--inner-line-blue); }
.channel-icon { border: 1px solid var(--inner-line-blue); }
.channel-call .channel-icon { border-color: var(--inner-line); }
.mobile-menu a { border-bottom: 1px solid var(--inner-line); }
.hero-shortcuts a { border: 1px solid var(--inner-line); }
@media (prefers-contrast: more) {
  :root { --inner-line: #8b7968; --inner-line-blue: #71899c; }
}

/* Contrast corrections verified with axe in the browser. */
.mini-site > span:first-child { color: #365b6b; }
.member-visual i { opacity: 1; color: #65503f; }
.member-green i { color: #315f86; }
