:root {
    --background: 84 24% 96%;
    --foreground: 160 25% 10%;
    --card: 0 0% 100%;
    --card-foreground: 160 25% 10%;
    --primary: 103 62% 43%;
    --primary-foreground: 0 0% 100%;
    --secondary: 118 30% 92%;
    --secondary-foreground: 160 25% 10%;
    --muted: 108 18% 92%;
    --muted-foreground: 154 12% 39%;
    --border: 105 17% 85%;
    --input: 105 17% 85%;
    --ring: 103 62% 43%;
    --radius: 1.1rem;
    --dm-ink: #10201d;
    --dm-ink-soft: #213a34;
    --dm-paper: #f5f7f2;
    --dm-lime: #72d437;
    --dm-lime-deep: #3d8c1d;
    --dm-line: #dbe4d9;
    --dm-shadow: 0 18px 42px rgba(24, 47, 39, .08);
}

html { background: var(--dm-paper); }

body {
    background:
        radial-gradient(circle at 94% 0%, rgba(114, 212, 55, .10), transparent 24rem),
        linear-gradient(180deg, #f9fbf7 0, var(--dm-paper) 37rem) !important;
    color: var(--dm-ink);
    font-family: "Manrope", "Avenir Next", sans-serif;
    letter-spacing: -.012em;
}

body ::selection { background: rgba(114, 212, 55, .34); color: var(--dm-ink); }

h1, h2, h3, h4, h5, h6, .font-display {
    font-family: "Instrument Sans", "Avenir Next", sans-serif !important;
    font-weight: 700;
    letter-spacing: -.04em;
}

.dm-announcement {
    background: var(--dm-ink) !important;
    border-bottom-color: rgba(255, 255, 255, .10) !important;
    font-family: "Manrope", "Avenir Next", sans-serif;
}

.dm-announcement .bg-amber-500\/20 { background: rgba(114, 212, 55, .17) !important; }
.dm-announcement .text-amber-400 { color: var(--dm-lime) !important; }
.dm-announcement a { color: var(--dm-lime) !important; }

.dm-nav {
    background: rgba(250, 252, 248, .94) !important;
    border-bottom-color: var(--dm-line) !important;
    box-shadow: 0 1px 0 rgba(16, 32, 29, .02);
    backdrop-filter: blur(16px);
}

.dm-nav .font-display {
    color: var(--dm-ink) !important;
    font-family: "Epilogue", "Avenir Next", sans-serif !important;
    font-size: 1.17rem;
    font-weight: 600;
    font-stretch: normal;
    letter-spacing: -.055em;
}
.dm-nav a, .dm-nav button { color: #3d504a; }
.dm-nav a:hover, .dm-nav button:hover { color: var(--dm-lime-deep) !important; }
.dm-nav .bg-primary { background: var(--dm-ink) !important; color: white !important; border-radius: .8rem !important; }
.dm-nav .bg-primary:hover { background: var(--dm-ink-soft) !important; color: white !important; }
.dm-nav #calc-dropdown { border: 1px solid var(--dm-line); border-radius: 1rem; box-shadow: var(--dm-shadow); }

#main-content { background: transparent; }

.dm-route-hero {
    border-bottom: 1px solid rgba(114, 212, 55, .25);
    isolation: isolate;
}

.dm-route-hero h1 {
    letter-spacing: -.055em !important;
    line-height: .99 !important;
}

.dm-route-hero .rounded-full {
    border-radius: .75rem !important;
}

.dm-route-hero .container { position: relative; z-index: 2; }

.dm-pricing-page {
    background:
        radial-gradient(circle at 88% 2%, rgba(114, 212, 55, .14), transparent 25rem),
        transparent !important;
}

.dm-pricing-page .bg-amber-500 {
    background-color: var(--dm-lime) !important;
    color: var(--dm-ink) !important;
}

#main-content > section[class*="bg-white"],
#main-content > div[class*="bg-gray-50"],
#main-content > section[class*="bg-gray-50"],
#main-content > section[class*="bg-slate-50"] {
    background: transparent !important;
}

#main-content > section[style*="#0f172a"],
#main-content > section[style*="#0d3331"],
#main-content > section[style*="#1e293b"],
#main-content > section[style*="#0f1419"],
#main-content > section[style*="#1a365d"] {
    background:
        radial-gradient(circle at 86% 20%, rgba(114, 212, 55, .17), transparent 23rem),
        radial-gradient(circle at 4% 90%, rgba(100, 169, 159, .17), transparent 26rem),
        var(--dm-ink) !important;
}

#main-content section[style*="#0f1419"],
#main-content section[style*="#1a365d"] {
    background:
        radial-gradient(circle at 86% 20%, rgba(114, 212, 55, .17), transparent 23rem),
        radial-gradient(circle at 4% 90%, rgba(100, 169, 159, .17), transparent 26rem),
        var(--dm-ink) !important;
}

#main-content > section[style*="#0f172a"] .text-gradient,
#main-content > section[style*="#0d3331"] .text-gradient,
#main-content > section[style*="#1e293b"] .text-gradient,
#main-content > section[style*="#0f1419"] .text-blue-400,
#main-content > section[style*="#0f1419"] .text-blue-200 {
    background: none !important;
    -webkit-text-fill-color: var(--dm-lime) !important;
    color: var(--dm-lime) !important;
}

#main-content section[style*="#0f172a"] [class*="bg-slate-800"],
#main-content section[style*="#0f1419"] [class*="bg-slate-800"],
#main-content section[style*="#0d3331"] [class*="bg-slate-800"] {
    background-color: rgba(255, 255, 255, .07) !important;
    border-color: rgba(220, 240, 222, .14) !important;
    box-shadow: none;
}

#main-content section[style*="#0f172a"] [class*="bg-slate-700"],
#main-content section[style*="#0f1419"] [class*="bg-slate-700"] {
    background-color: rgba(255, 255, 255, .11) !important;
}

#main-content section[style*="#0f172a"] .text-amber-400,
#main-content section[style*="#0f172a"] .text-amber-500,
#main-content section[style*="#0d3331"] .text-amber-400,
#main-content section[style*="#0d3331"] .text-amber-500 {
    color: var(--dm-lime) !important;
}

#main-content .card {
    background: rgba(255, 255, 255, .90);
    border: 1px solid var(--dm-line);
    border-radius: 1.2rem;
    box-shadow: var(--dm-shadow);
}

#main-content .card:hover { border-color: #c3d6bd; }

#main-content .bg-primary,
#main-content a[class*="bg-primary"],
#main-content button[class*="bg-primary"] {
    background-color: var(--dm-lime-deep) !important;
    color: white !important;
}

#main-content .text-primary { color: var(--dm-lime-deep) !important; }
#main-content .border-primary { border-color: var(--dm-lime-deep) !important; }

#main-content a[class*="rounded-xl"],
#main-content button[class*="rounded-xl"],
#main-content a[class*="rounded-lg"],
#main-content button[class*="rounded-lg"] {
    transition: box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}

#main-content a[class*="bg-primary"]:hover,
#main-content button[class*="bg-primary"]:hover {
    background-color: #2f7417 !important;
    box-shadow: 0 12px 24px rgba(61, 140, 29, .18);
    transform: translateY(-1px);
}

#main-content .bg-slate-800 { background-color: #18302b !important; }
#main-content .bg-slate-700 { background-color: #254038 !important; }
#main-content .border-slate-700, #main-content .border-slate-600 { border-color: rgba(213, 232, 219, .18) !important; }

#main-content input:not([type="checkbox"]):not([type="radio"]),
#main-content select,
#main-content textarea,
#main-content .form-input,
#main-content .form-select,
#main-content .form-textarea {
    border-color: var(--dm-line);
    border-radius: .8rem;
}

#main-content input:focus,
#main-content select:focus,
#main-content textarea:focus {
    border-color: var(--dm-lime-deep) !important;
    box-shadow: 0 0 0 3px rgba(114, 212, 55, .16) !important;
}

#main-content details {
    border-color: var(--dm-line) !important;
    border-radius: .9rem !important;
}

#main-content table thead { background: #edf3eb !important; }
#main-content table th { color: #52675e !important; }
#main-content table tbody { background: rgba(255, 255, 255, .84) !important; }

#main-content .bg-white.rounded-2xl,
#main-content .bg-gray-50.rounded-2xl,
#main-content .bg-slate-50.rounded-2xl {
    border-color: var(--dm-line) !important;
    box-shadow: var(--dm-shadow);
}

#main-content .bg-emerald-50,
#main-content .bg-amber-50 {
    background-color: #eef7e9 !important;
}

#main-content button[class*="bg-amber"],
#main-content a[class*="bg-amber"] {
    background-color: var(--dm-lime) !important;
    color: var(--dm-ink) !important;
}

#main-content button[class*="bg-amber"]:hover,
#main-content a[class*="bg-amber"]:hover {
    background-color: #8ce95a !important;
}

#main-content .prose h2,
#main-content .prose h3 { color: var(--dm-ink) !important; }
#main-content .prose a { color: var(--dm-lime-deep) !important; }
#main-content .prose blockquote { border-color: var(--dm-lime) !important; }

.dm-site-footer {
    background:
        radial-gradient(circle at 86% 0%, rgba(114, 212, 55, .12), transparent 24rem),
        var(--dm-ink) !important;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.dm-site-footer h3, .dm-site-footer h4 { color: white !important; }
.dm-site-footer a:hover { color: var(--dm-lime) !important; }

@media (max-width: 640px) {
    .dm-announcement { font-size: .77rem; }
    .dm-nav .font-display { font-size: 1.08rem; }
    #main-content .card { border-radius: 1rem; box-shadow: 0 12px 28px rgba(24, 47, 39, .07); }
}
