/* dm-sans-300 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-300italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-700 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-700italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-900 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-900italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: italic;
    font-weight: 900;
    src: url('../fonts/dm-sans-v17-latin_latin-ext-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* fraunces-300 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/fraunces-v38-latin_latin-ext-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-300italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/fraunces-v38-latin_latin-ext-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/fraunces-v38-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/fraunces-v38-latin_latin-ext-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-700 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/fraunces-v38-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-700italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/fraunces-v38-latin_latin-ext-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-900 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/fraunces-v38-latin_latin-ext-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fraunces-900italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Fraunces';
    font-style: italic;
    font-weight: 900;
    src: url('../fonts/fraunces-v38-latin_latin-ext-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
    font-family: 'DM Sans', system-ui, sans-serif
}

.font-display {
    font-family: 'Fraunces', Georgia, serif
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 9999;
    padding: .75rem 1.5rem;
    background: #1f7259;
    color: #fff;
    font-weight: 600;
    border-radius: 0 0 .5rem 0
}

.skip-link:focus {
    left: 0
}

#header {
    transition: background .3s, box-shadow .3s, backdrop-filter .3s
}

#header.scrolled {
    background: rgba(8, 15, 30, .85);
    backdrop-filter: blur(16px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .06)
}

.hero-gradient {
    background: radial-gradient(ellipse 80% 60% at 20% 30%, rgba(45, 142, 110, .12) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 80% 70%, rgba(31, 114, 89, .08) 0%, transparent 60%), radial-gradient(ellipse 90% 40% at 50% 0%, rgba(45, 142, 110, .06) 0%, transparent 50%)
}

.grid-bg {
    background-image: linear-gradient(rgba(255, 255, 255, .02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: 60px 60px
}

.noise::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: .03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    pointer-events: none
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0)
}

.reveal-delay-1 {
    transition-delay: .1s
}

.reveal-delay-2 {
    transition-delay: .2s
}

.reveal-delay-3 {
    transition-delay: .3s
}

.feature-card {
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(45, 142, 110, .08);
    border-color: rgba(45, 142, 110, .3)
}

.stat-number {
    background: linear-gradient(135deg, #4ba888, #2d8e6e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.cta-gradient {
    background: linear-gradient(135deg, #1a5c48 0%, #1f7259 50%, #2d8e6e 100%)
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease, padding .3s ease
}

.faq-item.open .faq-answer {
    max-height: 500px
}

.faq-icon {
    transition: transform .3s ease
}

.faq-item.open .faq-icon {
    transform: rotate(45deg)
}

.glow-border {
    box-shadow: inset 0 0 0 1px rgba(45, 142, 110, .1), 0 0 0 0 rgba(45, 142, 110, 0);
    transition: box-shadow .3s ease
}

.glow-border:hover {
    box-shadow: inset 0 0 0 1px rgba(45, 142, 110, .3), 0 0 30px rgba(45, 142, 110, .05)
}

::-webkit-scrollbar {
    width: 8px
}

::-webkit-scrollbar-track {
    background: #080f1e
}

::-webkit-scrollbar-thumb {
    background: #1f7259;
    border-radius: 4px
}

::-webkit-scrollbar-thumb:hover {
    background: #2d8e6e
}
