:root {
  --mk-primary: #0F766E;
  --mk-primary-dark: #0B4F4A;
  --mk-secondary: #F4EFE7;
  --mk-accent: #D9A441;
  --mk-bg: #FAFAF7;
  --mk-surface: #FFFFFF;
  --mk-surface-soft: #F8FAFC;
  --mk-text: #16212B;
  --mk-muted: #4B5563;
  --mk-border: #E5E7EB;
  --mk-success: #15803D;
  --mk-warning: #B45309;
  --mk-danger: #B91C1C;
  --mk-ink: #102A2A;
  --mk-nav-bg: rgba(255, 255, 255, .92);
  --mk-shadow-soft: 0 14px 34px rgba(15, 23, 42, .075);
  --mk-shadow-lift: 0 26px 70px rgba(15, 23, 42, .14);
}

html[data-theme="dark"] {
  --mk-primary: #2DD4BF;
  --mk-primary-dark: #14B8A6;
  --mk-secondary: #132825;
  --mk-accent: #F4C96B;
  --mk-bg: #071312;
  --mk-surface: #0D1F1D;
  --mk-surface-soft: #102A2A;
  --mk-text: #F8FAFC;
  --mk-muted: #A7B5B3;
  --mk-border: #21413E;
  --mk-success: #4ADE80;
  --mk-warning: #FBBF24;
  --mk-danger: #F87171;
  --mk-ink: #E6FFFB;
  --mk-nav-bg: rgba(13, 31, 29, .84);
  --mk-shadow-soft: 0 18px 48px rgba(0, 0, 0, .28);
  --mk-shadow-lift: 0 30px 80px rgba(0, 0, 0, .38);
}

* { box-sizing: border-box; }
html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--mk-bg);
  color: var(--mk-text);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
strong { color: var(--mk-text); }

.mk-site-shell { min-height: 100vh; background: var(--mk-bg); }
.mk-container {
  width: min(100% - 2rem, 1360px);
  margin-inline: auto;
}
@media (min-width: 768px) { .mk-container { width: min(100% - 3rem, 1500px); } }
@media (min-width: 1280px) { .mk-container { width: min(100% - 5rem, 1760px); } }
@media (min-width: 1536px) { .mk-container { width: min(100% - 6rem, 1880px); } }

.mk-section { padding-block: 4rem; }
@media (min-width: 1024px) { .mk-section { padding-block: 5.75rem; } }
@media (max-width: 767px) { .mk-section { padding-block: 3rem; } }

.mk-surface-section { background: var(--mk-surface); }
.mk-muted-section { background: var(--mk-bg); }
.mk-panel-section { background: var(--mk-secondary); }

.mk-card,
.mk-card-flat,
.mk-card-glass {
  background: var(--mk-surface);
  border: 1px solid var(--mk-border);
  color: var(--mk-text);
}
.mk-card { border-radius: 1.5rem; box-shadow: var(--mk-shadow-soft); }
.mk-card-flat { border-radius: 1.35rem; }
.mk-card-glass {
  border-radius: 1.5rem;
  background: color-mix(in srgb, var(--mk-surface) 90%, transparent);
  backdrop-filter: blur(18px);
  box-shadow: var(--mk-shadow-lift);
}

.mk-btn-primary,
.mk-btn-secondary,
.mk-btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 1rem;
  padding: .85rem 1.15rem;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2rem;
  text-align: center;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.mk-btn-primary { background: var(--mk-primary); color: #fff; box-shadow: 0 12px 26px rgba(15, 118, 110, .22); }
html[data-theme="dark"] .mk-btn-primary { color: #04201d; }
.mk-btn-primary:hover { background: var(--mk-primary-dark); transform: translateY(-1px); }
.mk-btn-secondary { background: var(--mk-surface); color: var(--mk-primary); border: 1px solid color-mix(in srgb, var(--mk-primary) 32%, var(--mk-border)); }
.mk-btn-secondary:hover { background: var(--mk-secondary); transform: translateY(-1px); }
.mk-btn-dark { background: var(--mk-ink); color: #fff; }
html[data-theme="dark"] .mk-btn-dark { background: #E6FFFB; color: #06201D; }
.mk-btn-dark:hover { background: var(--mk-primary-dark); color: #fff; transform: translateY(-1px); }

.mk-input {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid var(--mk-border);
  background: var(--mk-surface);
  padding: .95rem 1rem;
  font-size: .92rem;
  color: var(--mk-text);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.mk-input::placeholder { color: color-mix(in srgb, var(--mk-muted) 72%, transparent); }
.mk-input:focus { border-color: var(--mk-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mk-primary) 18%, transparent); }
select.mk-input { appearance: none; }

.mk-badge,
.mk-badge-success,
.mk-badge-warning,
.mk-badge-danger,
.mk-badge-neutral {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .42rem .75rem;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.mk-badge { background: color-mix(in srgb, var(--mk-primary) 9%, var(--mk-surface)); color: var(--mk-primary); border: 1px solid color-mix(in srgb, var(--mk-primary) 22%, var(--mk-border)); }
.mk-badge-success { background: color-mix(in srgb, var(--mk-success) 13%, transparent); color: var(--mk-success); border: 1px solid color-mix(in srgb, var(--mk-success) 22%, transparent); }
.mk-badge-warning { background: color-mix(in srgb, var(--mk-warning) 14%, transparent); color: var(--mk-warning); border: 1px solid color-mix(in srgb, var(--mk-warning) 22%, transparent); }
.mk-badge-danger { background: color-mix(in srgb, var(--mk-danger) 12%, transparent); color: var(--mk-danger); border: 1px solid color-mix(in srgb, var(--mk-danger) 20%, transparent); }
.mk-badge-neutral { background: var(--mk-surface-soft); color: var(--mk-muted); border: 1px solid var(--mk-border); }

.mk-hero-grid {
  background-color: var(--mk-bg);
  background-image:
    radial-gradient(circle at 18% 8%, rgba(217,164,65,.18), transparent 28%),
    radial-gradient(circle at 90% 16%, rgba(15,118,110,.14), transparent 32%);
}
html[data-theme="dark"] .mk-hero-grid {
  background-image:
    radial-gradient(circle at 16% 8%, rgba(244,201,107,.13), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(45,212,191,.12), transparent 32%);
}
.mk-photo { background: var(--mk-secondary); object-fit: cover; }
.mk-link { color: var(--mk-primary); font-weight: 800; }
.mk-link:hover { color: var(--mk-primary-dark); }

.mk-public-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid color-mix(in srgb, var(--mk-border) 82%, transparent);
  background: var(--mk-nav-bg);
  backdrop-filter: blur(18px);
}
.mk-footer,
footer,
.mk-mobile-menu {
  background: var(--mk-surface);
  color: var(--mk-text);
  border-color: var(--mk-border);
}
.mk-cta-panel {
  background: linear-gradient(
    135deg,
    var(--mk-primary-dark) 0%,
    var(--mk-primary) 58%,
    color-mix(in srgb, var(--mk-accent) 34%, var(--mk-primary)) 100%
  );
  color: #fff;
}
.mk-theme-toggle,
.mk-menu-button {
  border: 1px solid var(--mk-border);
  background: var(--mk-surface);
  color: var(--mk-text);
}
.mk-theme-toggle:hover,
.mk-menu-button:hover { background: var(--mk-secondary); }

.mk-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  background: rgba(2, 6, 23, .54);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.mk-mobile-menu.is-open { opacity: 1; pointer-events: auto; }
.mk-mobile-menu__panel {
  margin-left: auto;
  height: 100%;
  width: min(90vw, 26rem);
  background: var(--mk-surface);
  color: var(--mk-text);
  transform: translateX(100%);
  transition: transform .24s ease;
  box-shadow: -24px 0 60px rgba(2,6,23,.25);
}
.mk-mobile-menu.is-open .mk-mobile-menu__panel { transform: translateX(0); }

/* Dark-mode support for Tailwind utility-heavy templates. */
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .bg-white\/90,
html[data-theme="dark"] .bg-white\/92,
html[data-theme="dark"] .bg-white\/95,
html[data-theme="dark"] .bg-mk-surface { background-color: var(--mk-surface) !important; }
html[data-theme="dark"] .bg-mk-bg { background-color: var(--mk-bg) !important; }
html[data-theme="dark"] .bg-mk-secondary { background-color: var(--mk-secondary) !important; }
html[data-theme="dark"] .text-mk-text,
html[data-theme="dark"] .text-slate-900,
html[data-theme="dark"] .text-slate-800,
html[data-theme="dark"] .text-slate-700,
html[data-theme="dark"] .text-gray-900,
html[data-theme="dark"] .text-gray-800 { color: var(--mk-text) !important; }
html[data-theme="dark"] .text-mk-muted,
html[data-theme="dark"] .text-slate-600,
html[data-theme="dark"] .text-slate-500,
html[data-theme="dark"] .text-gray-600,
html[data-theme="dark"] .text-gray-500 { color: var(--mk-muted) !important; }
html[data-theme="dark"] .text-mk-primary { color: var(--mk-primary) !important; }
html[data-theme="dark"] .border-mk-border,
html[data-theme="dark"] .border-slate-100,
html[data-theme="dark"] .border-slate-200,
html[data-theme="dark"] .border-gray-100,
html[data-theme="dark"] .border-gray-200 { border-color: var(--mk-border) !important; }
html[data-theme="dark"] .divide-slate-100 > :not([hidden]) ~ :not([hidden]),
html[data-theme="dark"] .divide-mk-border > :not([hidden]) ~ :not([hidden]) { border-color: var(--mk-border) !important; }
html[data-theme="dark"] .ring-slate-100,
html[data-theme="dark"] .ring-slate-200 { --tw-ring-color: var(--mk-border) !important; }
html[data-theme="dark"] .shadow-mk-soft,
html[data-theme="dark"] .shadow-mk-lift { box-shadow: var(--mk-shadow-lift) !important; }

@media (max-width: 767px) {
  .mk-hide-scrollbar::-webkit-scrollbar { display: none; }
  .mk-hide-scrollbar { scrollbar-width: none; }
  .mk-btn-primary, .mk-btn-secondary, .mk-btn-dark { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
.mk-cta-light {
  background: #fff !important;
  color: #0B4F4A !important;
  border: 1px solid rgba(255,255,255,.7);
}
.mk-cta-light:hover { transform: translateY(-2px); background: #F8FAFC !important; }


