html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at 12% 0%, rgba(96, 173, 157, 0.14), transparent 26%),
        radial-gradient(circle at 88% 0%, rgba(253, 219, 139, 0.20), transparent 22%),
        var(--dg-bg);
    color: var(--dg-text);
    font-family: var(--dg-font-sans);
    font-size: clamp(1rem, 0.98rem + 0.18vw, 1.08rem);
    line-height: 1.72;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    color-scheme: light;
}

img,
svg,
video {
    display: block;
    height: auto;
    max-width: 100%;
}

a {
    color: var(--dg-green-700);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.15em;
    transition: color var(--dg-transition-fast), opacity var(--dg-transition-fast), transform var(--dg-transition-fast);
}

a:hover,
a:focus-visible {
    color: var(--dg-green-600);
}

::selection {
    background: var(--dg-yellow);
    color: var(--dg-black);
}

h1,
h2,
h3,
h4,
h5,
h6,
.dg-heading {
    color: var(--dg-black);
    font-family: var(--dg-font-serif);
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin-block-start: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}

.dg-pretty {
    text-wrap: pretty;
    overflow-wrap: break-word;
}

.dg-balance {
    text-wrap: balance;
}

.dg-nowrap,
.wp-block-button__link,
.wp-element-button,
.dg-btn,
.dg-btn-primary,
.dg-btn-secondary,
.dg-pill,
.dg-site-brand__name,
.dg-site-brand__tag,
.wp-block-navigation-item__content {
    white-space: nowrap;
    text-wrap: nowrap;
    hyphens: none;
}

.dg-safe-wrap {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}

.dg-lead {
    color: var(--dg-text-muted);
    font-size: clamp(1.05rem, 1vw + 0.9rem, 1.25rem);
    line-height: 1.7;
}

.dg-muted {
    color: var(--dg-text-muted);
}

.dg-text-center {
    text-align: center;
}

.dg-text-right {
    text-align: right;
}

button,
.wp-block-button__link,
.wp-element-button,
.dg-btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 3rem;
    padding: 0.95rem 1.4rem;
}

.wp-element-button,
.wp-block-button__link,
.dg-btn {
    border-radius: var(--dg-radius-pill);
    box-shadow: none;
    font-family: var(--dg-font-sans);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: transform var(--dg-transition), box-shadow var(--dg-transition), background var(--dg-transition), color var(--dg-transition), border-color var(--dg-transition);
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.dg-btn:hover,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible,
.dg-btn:focus-visible {
    transform: translateY(-2px);
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible,
.dg-btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid rgba(253, 219, 139, 0.75);
    outline-offset: 3px;
}

input,
select,
textarea {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius-md);
    color: var(--dg-text);
    padding: 0.95rem 1rem;
    width: 100%;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--dg-green-600);
    box-shadow: 0 0 0 4px rgba(3, 140, 115, 0.14);
    outline: 0;
}

