:root {
  color-scheme: light;
  --blue: #2476c7;
  --blue-deep: #122b49;
  --blue-soft: #e9f2fb;
  --coral: #ff795e;
  --coral-ink: #a94130;
  --coral-bright: #ff795e;
  --ink: #122b49;
  --muted: #536980;
  --line: #dce6f1;
  --surface: #f8fafd;
  --surface-soft: #edf3f8;
  --shadow: 0 24px 64px rgba(18, 43, 73, .14);
}

body { background: var(--surface); }
.site-header { border-bottom-color: rgba(220,230,241,.85); background: rgba(248,250,253,.94); }
.brand-word { color: var(--blue-deep); }
.brand-word span { color: var(--coral-bright); }
.desktop-nav a, .footer-links a { color: #425a73; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"], .footer-links a:hover { color: var(--blue); }
.header-cta { color: var(--blue-deep); background: #e5eff9; }
.menu-toggle { color: var(--blue-deep); background: #fff; }

.hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 76% 22%, rgba(36,118,199,.55), transparent 39%),
    linear-gradient(132deg, #122b49 0%, #163b60 58%, #194f76 100%);
}
.hero::before { opacity: .12; background-image: radial-gradient(#b8d7f4 1px, transparent 1px); }
.hero h1 span { color: var(--coral-bright); }
.hero-lede { color: #d7e3ef; }
.eyebrow { color: #ffd1c7; }
.eyebrow-dot { background: var(--coral-bright); box-shadow: 0 0 0 5px rgba(255,121,94,.17); }
.hero-note { color: #b7c9db; }
.hero-release { color: #fff; border-color: rgba(230,239,248,.28); background: rgba(255,255,255,.08); }
.hero-release-dot { background: var(--coral-bright); }
.button-primary { color: var(--blue-deep); background: var(--coral-bright); box-shadow: 0 12px 28px rgba(8,20,35,.22); }
.button-primary:hover { color: #fff; background: #e8664e; }
.button-secondary { color: #fff; border-color: rgba(230,239,248,.28); background: rgba(255,255,255,.08); }
.button-secondary:hover { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.14); }
.art-orbit { border-color: rgba(198,222,244,.25); box-shadow: 0 0 0 34px rgba(198,222,244,.035), 0 0 0 68px rgba(198,222,244,.025); }
.art-orbit::before { background: var(--coral-bright); box-shadow: 0 0 0 9px rgba(255,121,94,.15); }
.art-orbit::after { background: #77b9f2; box-shadow: 0 0 0 8px rgba(119,185,242,.14); }
.phone { border-color: #0b2037; }
.phone-brand { color: var(--blue); }
.phone-section-label span { color: var(--coral); }
.phone-banner { background: linear-gradient(125deg,#1b5f9a,#2476c7); }
.phone-banner-mark { color: var(--coral); }
.float-icon { color: var(--blue); background: #e8f2fb; }
.concept-label { color: #cad7e5; }

.section-soft { background: #edf3f8; }
.section-kicker { color: var(--coral-ink); }
.service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.service-card {
  min-height: 224px;
  padding: 28px;
  border-color: var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(18,43,73,.045);
}
.service-card:hover { border-color: #b8d4ed; box-shadow: 0 18px 40px rgba(18,43,73,.1); }
.service-icon { color: var(--blue); background: var(--blue-soft); }
.service-card h3 .service-name-prefix { color: var(--coral-ink); }
.service-card h3 .service-name-word { color: var(--ink); }
.status-pill.blue { color: var(--blue-deep); background: #eaf3fb; }
.status-pill.blue::before { background: var(--blue); }

.umkm-feature { background: linear-gradient(135deg,#f8fafd 0%,#eef4f9 100%); }
.umkm-copy h2 { color: var(--blue-deep); }
.umkm-copy > p { color: var(--muted); }
.umkm-categories li { border-color: var(--line); color: var(--ink); background: #fff; }
.umkm-categories li::before { background: var(--coral-bright); }
.umkm-action span { color: var(--muted); }
.umkm-art { border-color: rgba(36,118,199,.15); background: linear-gradient(145deg,#e8f1f8,#f8fafd); box-shadow: 0 22px 55px rgba(18,43,73,.1); }
.umkm-art-caption { color: var(--muted); }
.umkm-art-caption span { color: var(--coral-ink); }
.local-goals-list .why-item { border-color: var(--line); background: #fff; }
.local-goals-list .why-item h3 { color: var(--ink); }
.local-goals-list .why-item p { color: var(--muted); }

.why-item, .partner-card, .feature-row, .faq-item { border-color: var(--line); background: #fff; }
.why-item-icon { color: var(--blue); background: var(--blue-soft); }
.partner-panel { background: linear-gradient(118deg,#122b49,#194f76 72%,#2476c7); }
.partner-panel .section-kicker { color: #ffd1c7; }
.partner-panel p { color: #d7e3ef; }
.partner-panel .button { color: var(--blue-deep); background: var(--coral-bright); }
.app-callout { background: linear-gradient(135deg,#eaf2f9,#f8fafd); }
.coming-chip { border-color: #d5e4f1; color: var(--blue-deep); }
.coming-chip span { background: var(--coral-bright); }

.page-hero { color: #fff; background: linear-gradient(132deg,#122b49,#194f76); }
.page-heading .eyebrow { color: #ffd1c7; }
.page-heading .eyebrow-dot { background: var(--coral-bright); }
.page-heading .text-blue { color: var(--coral-bright); }
.page-heading p { color: #d7e3ef; }
.prose h2, .aside-card h2, .feature-row h3, .partner-card h2, .faq-item h2 { color: var(--ink); }
.prose p, .prose li { color: var(--muted); }
.aside-card { border-color: var(--line); background: #edf3f8; }
.aside-links a { color: var(--blue-deep); }
.draft-banner { border-color: #f0b7a9; color: #69372f; background: #fff3ef; }
.draft-banner span { color: #77564f; }

.site-footer { border-top-color: #274460; background: #122b49; }
.footer-brand .brand-word { color: #fff; }
.footer-brand .brand-word span { color: var(--coral-bright); }
.footer-brand p, .footer-bottom { color: #c4d3e1; }
.footer-column h2 { color: #a7bfd4; }
.footer-links a { color: #e0e9f1; }
.footer-links a:hover { color: var(--coral-bright); }
.footer-bottom { border-top-color: rgba(220,230,241,.22); }
.footer-domain { color: #ffd1c7; }

@media (max-width: 760px) {
  .desktop-nav { border-bottom-color: var(--line); background: var(--surface); }
  .desktop-nav a { border-bottom-color: #e7eef5; color: var(--ink); }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .service-card { min-height: 246px; padding: 19px 16px; border-radius: 18px; }
  .umkm-art { border-radius: 25px; }
}

@media (max-width: 430px) {
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
