/* ── VARIABLES ─────────────────────────────────────────────── */

:root {
    --ink: #100B06;
    --soil: #221208;
    --bark: #3D1A08;
    --rust: #7A3209;
    --fire: #B85C14;
    --gold: #E8A030;
    --parch: #F2E6C8;
    --linen: #F7F0DF;
    --bone: #FAF5EA;
    --grove: #1E4018;
    --stone: #5C5048;
    --f-head: 'Playfair Display', Georgia, serif;
    --f-ital: 'Cormorant Garamond', Georgia, serif;
    --f-body: 'DM Sans', system-ui, sans-serif;
    --f-mono: 'Space Mono', 'Courier New', monospace;
}


/* ── RESET & BASE ──────────────────────────────────────────── */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--f-body);
    background: var(--bone);
    overflow-x: hidden;
    color: var(--ink);
}

::selection {
    background: rgba(184, 92, 20, .28);
}

img {
    display: block;
}

a {
    cursor: pointer;
}


/* ── SCROLL REVEAL ─────────────────────────────────────────── */

.fade {
    opacity: 0;
    transform: translateY(44px);
    transition: opacity .95s cubic-bezier(.22, 1, .36, 1), transform .95s cubic-bezier(.22, 1, .36, 1);
}

.fade.visible {
    opacity: 1;
    transform: none;
}

.fade[data-d="1"] {
    transition-delay: .1s;
}

.fade[data-d="2"] {
    transition-delay: .2s;
}

.fade[data-d="3"] {
    transition-delay: .3s;
}


/* ── SHARED COMPONENTS ─────────────────────────────────────── */

.tag {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--fire);
    display: block;
    margin-bottom: 14px;
}

.rule {
    width: 40px;
    height: 2px;
    background: var(--fire);
    margin-bottom: 20px;
}

.btn-fire {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 400;
    background: var(--fire);
    color: #fff;
    padding: 15px 34px;
    text-decoration: none;
    display: inline-block;
    transition: background .3s;
}

.btn-fire:hover {
    background: var(--rust);
}

.btn-ghost {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 400;
    border: 1px solid rgba(232, 160, 48, .28);
    color: rgba(242, 230, 200, .6);
    padding: 15px 34px;
    text-decoration: none;
    display: inline-block;
    transition: all .3s;
}

.btn-ghost:hover {
    border-color: rgba(232, 160, 48, .65);
    color: var(--parch);
}

.pill {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 7px 14px;
    border: 1px solid rgba(232, 160, 48, .2);
    color: rgba(232, 160, 48, .55);
}


/* ── NAV ───────────────────────────────────────────────────── */

#nav {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 900;
    padding: 20px 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all .4s ease;
}

#nav.scrolled {
    padding: 12px 56px;
    background: rgba(250, 245, 234, .96);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(61, 26, 8, .09);
}

.nav-logo img {
    height: 48px;
    width: auto;
    object-fit: contain;
    filter: invert(1) brightness(2);
    transition: all .4s;
}

#nav.scrolled .nav-logo img {
    filter: none;
    height: 40px;
}

.nav-links {
    display: flex;
    gap: 30px;
    align-items: center;
}

.nav-links a {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(242, 230, 200, .7);
    text-decoration: none;
    transition: color .3s;
}

#nav.scrolled .nav-links a {
    color: var(--bark);
}

.nav-links a:hover {
    color: var(--fire) !important;
}

.nav-cta {
    background: var(--fire) !important;
    color: #fff !important;
    padding: 10px 22px;
}

.nav-cta:hover {
    background: var(--rust) !important;
}


/* ── HERO ──────────────────────────────────────────────────── */

#hero {
    min-height: 100vh;
    background: var(--ink);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 85% at 62% 26%, rgba(122, 50, 9, .28) 0%, transparent 55%), radial-gradient(ellipse 45% 60% at 12% 82%, rgba(30, 64, 24, .2) 0%, transparent 48%), linear-gradient(168deg, #100B06 0%, #1a0d06 52%, #080503 100%);
}

.hero-grain {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .65;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.058'/%3E%3C/svg%3E");
}

.hero-ghost {
    position: absolute;
    bottom: -2%;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--f-head);
    font-size: clamp(100px, 20vw, 280px);
    font-weight: 900;
    color: rgba(255, 255, 255, .018);
    letter-spacing: -4px;
    white-space: nowrap;
    user-select: none;
    pointer-events: none;
    line-height: 1;
}

.hero-float {
    position: absolute;
    right: 6%;
    top: 50%;
    transform: translateY(-52%);
    animation: mzFloat 10s ease-in-out infinite;
}

.hero-float img {
    width: clamp(180px, 24vw, 340px);
    filter: invert(1) brightness(1.8) opacity(.1);
    object-fit: contain;
    animation: mzFu 1.3s .7s both;
}

.hero-content {
    position: relative;
    z-index: 5;
    padding: 0 56px 80px;
    width: 100%;
}

.hero-eyebrow {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: rgba(232, 160, 48, .5);
    margin-bottom: 24px;
    animation: mzFu .7s .15s both;
}

.hero-title-wrap {
    animation: mzFu .85s .38s both;
}

.hero-title-wrap h1 {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: clamp(64px, 13vw, 168px);
    line-height: .87;
    letter-spacing: -2px;
    color: var(--parch);
}

.hero-sub {
    font-family: var(--f-ital);
    font-size: clamp(28px, 4.5vw, 60px);
    font-style: italic;
    font-weight: 300;
    color: var(--gold);
    line-height: 1;
    margin-top: 8px;
}

.hero-body {
    animation: mzFu .85s .62s both;
    margin-top: 30px;
}

.hero-body p {
    font-size: 15px;
    line-height: 1.95;
    color: rgba(242, 230, 200, .46);
    font-weight: 300;
    max-width: 460px;
}

.hero-actions {
    animation: mzFu .85s .86s both;
    display: flex;
    gap: 14px;
    margin-top: 44px;
    flex-wrap: wrap;
}

.hero-scroll-cue {
    position: absolute;
    bottom: 36px;
    right: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    animation: mzFu 1s 1.6s both;
}

.scroll-line {
    width: 1px;
    height: 48px;
    background: rgba(232, 160, 48, .2);
}

.hero-scroll-cue span {
    font-family: var(--f-mono);
    font-size: 9px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(232, 160, 48, .25);
    writing-mode: vertical-rl;
}


/* ── TICKERS ───────────────────────────────────────────────── */

.ticker {
    overflow: hidden;
    padding: 13px 0;
}

.ticker-fire {
    background: var(--fire);
}

.ticker-soil {
    background: var(--soil);
}

.ticker-track {
    display: flex;
    width: max-content;
}

.ticker-fire .ticker-track {
    animation: mzTick 26s linear infinite;
}

.ticker-soil .ticker-track {
    animation: mzTick 34s linear infinite;
}

.ticker-word {
    font-family: var(--f-head);
    font-size: 14px;
    font-weight: 700;
    padding: 0 28px;
    white-space: nowrap;
}

.ticker-fire .ticker-word {
    color: rgba(255, 255, 255, .82);
}

.ticker-soil .ticker-word {
    color: rgba(232, 160, 48, .5);
}

.ticker-word.ital {
    font-style: italic;
}

.ticker-dot {
    opacity: .3;
}


/* ── STATEMENT ─────────────────────────────────────────────── */

#statement {
    background: var(--ink);
    padding: 72px 56px;
}

#statement p {
    font-family: var(--f-ital);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(20px, 2.6vw, 34px);
    color: var(--parch);
    max-width: 820px;
    line-height: 1.55;
}


/* ── ABOUT ─────────────────────────────────────────────────── */

#about {
    background: var(--bone);
    overflow: hidden;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
}

.about-dark {
    background: var(--bark);
    padding: 72px 56px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 560px;
    position: relative;
    overflow: hidden;
}

.about-dark img {
    width: 400px;
    height: 400px;
    object-fit: contain;
    filter: brightness(1.6) opacity(.9);
    margin-bottom: 44px;
}

.about-lang {
    font-family: var(--f-ital);
    font-size: 18px;
    font-style: italic;
    font-weight: 300;
    color: rgba(242, 230, 200, .4);
    line-height: 1.65;
}

.about-lang em {
    font-style: normal;
    color: var(--gold);
}

.about-year {
    font-family: var(--f-head);
    font-size: 96px;
    font-weight: 900;
    color: rgba(255, 255, 255, .035);
    line-height: 1;
    margin-bottom: -8px;
    margin-left: -4px;
}

.about-year-label {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(232, 160, 48, .4);
}

.about-circle {
    position: absolute;
    bottom: -70px;
    right: -70px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(232, 160, 48, .06);
    border-radius: 50%;
    pointer-events: none;
}

.about-text {
    padding: 72px 60px 72px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-text h2 {
    font-family: var(--f-head);
    font-size: clamp(28px, 3vw, 48px);
    font-weight: 700;
    color: var(--ink);
    line-height: 1.08;
    margin-bottom: 22px;
}

.about-text h2 em {
    font-style: italic;
    color: var(--rust);
}

.about-text p {
    font-size: 14px;
    line-height: 1.95;
    color: var(--stone);
    font-weight: 300;
    margin-bottom: 14px;
}

.values-strip {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-top: 1px solid rgba(61, 26, 8, .08);
}

.val {
    padding: 26px 18px;
    text-align: center;
    border-right: 1px solid rgba(61, 26, 8, .07);
}

.val:last-child {
    border-right: none;
}

.val:nth-child(even) {
    background: var(--linen);
}

.val-icon {
    font-size: 22px;
    margin-bottom: 9px;
}

.val span {
    font-family: var(--f-body);
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--stone);
    font-weight: 500;
}


/* ── PILLARS ───────────────────────────────────────────────── */

#pillars {
    background: var(--soil);
    overflow: hidden;
    padding-top: 100px;
}

.pillars-head {
    padding: 0 56px 56px;
}

.pillars-head h2 {
    font-family: var(--f-head);
    font-size: clamp(44px, 7vw, 96px);
    font-weight: 900;
    color: var(--parch);
    line-height: .9;
    letter-spacing: -1px;
}

.outline {
    -webkit-text-stroke: 1.5px var(--gold);
    color: transparent;
}

.accordion {
    border-top: 1px solid rgba(255, 255, 255, .055);
}

.acc-item {
    border-bottom: 1px solid rgba(255, 255, 255, .055);
}

.acc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 56px;
    cursor: pointer;
    transition: background .3s;
}

.acc-header:hover,
.acc-item.open .acc-header {
    background: rgba(184, 92, 20, .1);
}

.acc-left {
    display: flex;
    align-items: center;
    gap: 28px;
}

.acc-n {
    font-family: var(--f-mono);
    font-size: 11px;
    color: rgba(232, 160, 48, .3);
    letter-spacing: 2px;
}

.acc-ico {
    font-size: 20px;
}

.acc-title {
    font-family: var(--f-head);
    font-size: clamp(18px, 2.4vw, 30px);
    font-weight: 700;
    color: var(--parch);
    transition: color .3s;
}

.acc-item.open .acc-title {
    color: var(--gold);
}

.acc-plus {
    font-family: var(--f-mono);
    font-size: 26px;
    color: rgba(255, 255, 255, .16);
    transition: all .3s;
    display: block;
}

.acc-item.open .acc-plus {
    color: var(--fire);
    transform: rotate(45deg);
}

.acc-body {
    display: none;
    padding: 4px 56px 40px 132px;
}

.acc-item.open .acc-body {
    display: block;
}

.acc-body p {
    font-size: 14px;
    line-height: 1.95;
    color: rgba(242, 230, 200, .45);
    font-weight: 300;
    max-width: 620px;
    margin-bottom: 22px;
}

.pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


/* ── SERVE ─────────────────────────────────────────────────── */

#serve {
    background: var(--linen);
    overflow: hidden;
}

.serve-head {
    padding: 100px 56px 60px;
}

.serve-head h2 {
    font-family: var(--f-head);
    font-size: clamp(42px, 6vw, 82px);
    font-weight: 900;
    color: var(--ink);
    line-height: .9;
    letter-spacing: -1px;
}

.serve-head h2 em {
    font-style: italic;
    color: var(--rust);
}

.serve-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.serve-card {
    padding: 56px 44px 64px;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}

.serve-card:hover {
    transform: translateY(-5px);
}

.card-green {
    background: linear-gradient(158deg, #1E4018 0%, #122010 100%);
}

.card-rust {
    background: linear-gradient(158deg, #7A3209 0%, #3a1506 100%);
}

.card-blue {
    background: linear-gradient(158deg, #264A6E 0%, #101E2E 100%);
}

.card-num {
    position: absolute;
    top: 30px;
    left: 44px;
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 3px;
    color: rgba(255, 255, 255, .18);
    text-transform: uppercase;
}

.card-dots {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    opacity: .06;
    background-image: radial-gradient(circle, white 2px, transparent 2px);
    background-size: 14px 14px;
}

.card-icon {
    font-size: 34px;
    margin-bottom: 18px;
}

.serve-card h3 {
    font-family: var(--f-head);
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 700;
    color: white;
    line-height: 1.2;
    margin-bottom: 12px;
}

.serve-card p {
    font-size: 13px;
    line-height: 1.85;
    color: rgba(255, 255, 255, .5);
    font-weight: 300;
}


/* ── STATS ─────────────────────────────────────────────────── */

#stats {
    background: var(--ink);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.stat {
    padding: 52px 36px;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, .045);
}

.stat:last-child {
    border-right: none;
}

.stat-n {
    font-family: var(--f-head);
    font-size: clamp(38px, 4.5vw, 64px);
    font-weight: 900;
    color: var(--gold);
    line-height: 1;
}

.stat-l {
    font-size: 12px;
    color: rgba(242, 230, 200, .27);
    margin-top: 10px;
    font-weight: 300;
    line-height: 1.5;
}


/* ── PARTNERSHIPS ──────────────────────────────────────────── */

#partnerships {
    background: var(--bone);
    overflow: hidden;
}

.p-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.p-left {
    padding: 100px 56px;
}

.p-left h2 {
    font-family: var(--f-head);
    font-size: clamp(32px, 4vw, 58px);
    font-weight: 900;
    color: var(--ink);
    line-height: .95;
    letter-spacing: -1px;
    margin-bottom: 22px;
}

.p-left h2 em {
    font-style: italic;
    color: var(--rust);
}

.p-left>p {
    font-size: 14px;
    line-height: 1.9;
    color: var(--stone);
    font-weight: 300;
    margin-bottom: 36px;
}

.p-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
}

.p-tab {
    padding: 20px 22px;
    cursor: pointer;
    background: var(--linen);
    border-bottom: 2px solid transparent;
    transition: all .3s;
}

.p-tab:hover {
    background: var(--bone);
}

.p-tab.active {
    background: var(--bark);
    border-bottom-color: var(--fire);
}

.p-tab div {
    font-size: 20px;
    margin-bottom: 6px;
}

.p-tab span {
    font-family: var(--f-head);
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    transition: color .3s;
}

.p-tab.active span {
    color: var(--parch);
}

.p-right {
    background: var(--bark);
    padding: 100px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#p-detail .det-tag {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(232, 160, 48, .38);
    margin-bottom: 20px;
}

#p-detail .det-full {
    font-family: var(--f-ital);
    font-size: clamp(14px, 1.6vw, 18px);
    font-style: italic;
    color: rgba(242, 230, 200, .52);
    line-height: 1.78;
    margin-bottom: 22px;
}

#p-detail .det-rule {
    width: 36px;
    height: 2px;
    background: var(--fire);
    margin-bottom: 22px;
}

#p-detail .det-body {
    font-size: 14px;
    line-height: 1.9;
    color: rgba(242, 230, 200, .38);
    font-weight: 300;
    margin-bottom: 34px;
}

#p-detail .det-link {
    font-family: var(--f-body);
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    text-decoration: none;
    border-bottom: 1px solid rgba(232, 160, 48, .28);
    padding-bottom: 3px;
    font-weight: 500;
}


/* ── ROADMAP ───────────────────────────────────────────────── */

#roadmap {
    background: var(--grove);
    padding: 100px 56px;
    overflow: hidden;
    position: relative;
}

.rmap-ghost {
    position: absolute;
    top: 0;
    right: 0;
    font-family: var(--f-head);
    font-size: clamp(100px, 18vw, 260px);
    font-weight: 900;
    color: rgba(255, 255, 255, .022);
    line-height: 1;
    user-select: none;
    pointer-events: none;
    white-space: nowrap;
}

#roadmap h2 {
    font-family: var(--f-head);
    font-size: clamp(38px, 5.5vw, 76px);
    font-weight: 900;
    color: var(--parch);
    line-height: .92;
    letter-spacing: -1px;
    margin-bottom: 72px;
}

#roadmap h2 em {
    font-style: italic;
    color: var(--gold);
}

.rmap-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

.phases {
    display: flex;
    flex-direction: column;
}

.phase {
    display: flex;
    gap: 26px;
    padding-bottom: 52px;
    position: relative;
}

.phase:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 21px;
    top: 46px;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, .08);
}

.phase-dot {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--f-head);
    font-size: 17px;
    font-weight: 700;
    color: var(--gold);
}

.phase-sub {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 3px;
    color: rgba(255, 255, 255, .27);
    margin-bottom: 6px;
    text-transform: uppercase;
}

.phase-title {
    font-family: var(--f-head);
    font-size: 26px;
    font-weight: 700;
    color: var(--parch);
    margin-bottom: 10px;
}

.phase p {
    font-size: 13px;
    line-height: 1.88;
    color: rgba(255, 255, 255, .37);
    font-weight: 300;
}

.urgency {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .07);
    padding: 46px 42px;
}

.urg-title {
    font-family: var(--f-head);
    font-size: 19px;
    font-weight: 700;
    color: var(--parch);
    margin-bottom: 28px;
}

.urg-row {
    display: flex;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
}

.urg-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.urg-bar {
    width: 3px;
    flex-shrink: 0;
    background: var(--fire);
    border-radius: 2px;
    align-self: stretch;
}

.urg-row p {
    font-size: 13px;
    line-height: 1.85;
    color: rgba(255, 255, 255, .37);
    font-weight: 300;
}

.urg-row p strong {
    color: var(--gold);
    font-weight: 500;
}


/* ── INVOLVED ──────────────────────────────────────────────── */

#involved {
    background: var(--linen);
    padding: 100px 56px;
    overflow: hidden;
}

#involved h2 {
    font-family: var(--f-head);
    font-size: clamp(42px, 6vw, 82px);
    font-weight: 900;
    color: var(--ink);
    line-height: .9;
    letter-spacing: -1px;
    margin-bottom: 64px;
}

#involved h2 em {
    font-style: italic;
    color: var(--rust);
}

.inv-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
}

.inv-card {
    background: var(--bone);
    padding: 44px 34px;
    min-height: 340px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background .4s;
}

.inv-card:hover {
    background: var(--soil);
}

.inv-ico {
    width: 46px;
    height: 46px;
    background: var(--rust);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 22px;
    transition: background .4s;
}

.inv-card:hover .inv-ico {
    background: var(--fire);
}

.inv-title {
    font-family: var(--f-head);
    font-size: 20px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 10px;
    line-height: 1.2;
    transition: color .4s;
}

.inv-card:hover .inv-title {
    color: var(--parch);
}

.inv-card p {
    font-size: 13px;
    line-height: 1.88;
    color: var(--stone);
    font-weight: 300;
    transition: color .4s;
}

.inv-card:hover p {
    color: rgba(242, 230, 200, .46);
}

.inv-link {
    font-family: var(--f-body);
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fire);
    text-decoration: none;
    border-bottom: 1px solid var(--fire);
    padding-bottom: 2px;
    font-weight: 500;
    align-self: flex-start;
    margin-top: 22px;
    display: inline-block;
    transition: color .4s, border-color .4s;
}

.inv-card:hover .inv-link {
    color: var(--gold);
    border-color: var(--gold);
}


/* ── CONTACT ───────────────────────────────────────────────── */

#contact {
    background: var(--ink);
    overflow: hidden;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
}

.c-left {
    padding: 100px 56px;
    border-right: 1px solid rgba(255, 255, 255, .04);
}

.c-left h2 {
    font-family: var(--f-head);
    font-size: clamp(32px, 4vw, 58px);
    font-weight: 900;
    color: var(--parch);
    line-height: .93;
    letter-spacing: -1px;
    margin-bottom: 20px;
}

.c-left h2 em {
    font-style: italic;
    color: var(--fire);
}

.c-left>p {
    font-size: 14px;
    line-height: 1.9;
    color: rgba(242, 230, 200, .36);
    font-weight: 300;
    margin-bottom: 38px;
}

.c-item {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 12px 17px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .04);
    margin-bottom: 8px;
}

.c-item span:first-child {
    font-size: 15px;
    width: 26px;
    text-align: center;
}

.c-item span:last-child {
    font-size: 13px;
    color: rgba(242, 230, 200, .42);
    font-weight: 300;
}

.c-right {
    padding: 100px 56px;
    display: flex;
    align-items: center;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.field label {
    font-family: var(--f-mono);
    font-size: 9px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(242, 230, 200, .26);
    display: block;
    margin-bottom: 6px;
}

.field input,
.field select,
.field textarea {
    font-family: var(--f-body);
    font-size: 14px;
    font-weight: 300;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .08);
    color: var(--parch);
    padding: 13px 17px;
    outline: none;
    width: 100%;
    transition: border-color .3s;
    resize: none;
}

.field input::placeholder,
.field textarea::placeholder {
    color: rgba(255, 255, 255, .16);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--fire);
}

.field select {
    appearance: none;
    cursor: pointer;
}

.field select option {
    background: var(--ink);
    color: var(--parch);
}

.btn-submit {
    font-family: var(--f-body);
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 500;
    background: var(--fire);
    color: white;
    border: none;
    padding: 17px 36px;
    cursor: pointer;
    transition: background .4s;
    width: 100%;
}

.btn-submit:hover {
    background: var(--rust);
}

.btn-submit.sent {
    background: var(--grove);
}


/* ── FOOTER ────────────────────────────────────────────────── */

footer {
    background: #060402;
    border-top: 1px solid rgba(255, 255, 255, .03);
}

.foot-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 48px;
    padding: 64px 56px;
}

.foot-brand img {
    height: 52px;
    object-fit: contain;
    filter: invert(1) brightness(1.5) opacity(.58);
    margin-bottom: 14px;
}

.foot-brand .foot-tagline {
    font-family: var(--f-ital);
    font-style: italic;
    font-size: 13px;
    color: rgba(242, 230, 200, .2);
    margin-bottom: 16px;
}

.foot-brand p {
    font-size: 12px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .13);
    font-weight: 300;
}

.foot-col h4 {
    font-family: var(--f-mono);
    font-size: 9px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .17);
    margin-bottom: 18px;
}

.foot-col a {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, .17);
    text-decoration: none;
    margin-bottom: 10px;
    font-weight: 300;
    transition: color .3s;
}

.foot-col a:hover {
    color: var(--fire);
}

.foot-bottom {
    border-top: 1px solid rgba(255, 255, 255, .03);
    padding: 22px 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.foot-bottom p {
    font-size: 11px;
    color: rgba(255, 255, 255, .13);
    font-weight: 300;
}

.foot-bottom p:last-child {
    font-style: italic;
}


/* ── KEYFRAMES ─────────────────────────────────────────────── */

@keyframes mzFu {
    from {
        opacity: 0;
        transform: translateY(44px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes mzTick {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-33.33%);
    }
}

@keyframes mzFloat {
    0% {
        transform: translateY(0) rotate(-1deg);
    }
    50% {
        transform: translateY(-16px) rotate(1deg);
    }
    100% {
        transform: translateY(0) rotate(-1deg);
    }
}


/* ── RESPONSIVE ────────────────────────────────────────────── */

@media (max-width: 900px) {
    #nav {
        padding: 16px 24px;
    }
    #nav.scrolled {
        padding: 12px 24px;
    }
    .nav-links {
        display: none;
    }
    .hero-content {
        padding: 0 24px 64px;
    }
    .hero-float {
        display: none;
    }
    #statement {
        padding: 48px 24px;
    }
    .about-grid,
    .p-grid,
    .contact-grid,
    .rmap-grid {
        grid-template-columns: 1fr;
    }
    .about-dark {
        min-height: auto;
        padding: 48px 24px;
    }
    .about-text {
        padding: 48px 24px;
    }
    .values-strip {
        grid-template-columns: repeat(3, 1fr);
    }
    #pillars {
        padding-top: 64px;
    }
    .pillars-head {
        padding: 0 24px 40px;
    }
    .acc-header {
        padding: 22px 24px;
    }
    .acc-body {
        padding: 4px 24px 32px;
    }
    .serve-head {
        padding: 64px 24px 40px;
    }
    .serve-grid {
        grid-template-columns: 1fr;
    }
    #stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .stat:nth-child(2) {
        border-right: none;
    }
    .p-left,
    .p-right {
        padding: 64px 24px;
    }
    #roadmap {
        padding: 64px 24px;
    }
    #involved {
        padding: 64px 24px;
    }
    .inv-grid {
        grid-template-columns: 1fr 1fr;
    }
    .c-left,
    .c-right {
        padding: 64px 24px;
    }
    .foot-grid {
        grid-template-columns: 1fr;
        padding: 48px 24px;
        gap: 36px;
    }
    .foot-bottom {
        padding: 20px 24px;
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
    .form-row {
        grid-template-columns: 1fr;
    }
}

.bg1 {
    background-image: url("images/orphans.jpg");
    background-size: cover;
    background-position: center;
}

.bg2 {
    background-image: url("images/school.jpg");
    background-size: cover;
    background-position: center;
}

.bg3 {
    background-image: url("images/help.jpg");
    background-size: cover;
    background-position: center;
}

.serve-card {
    position: relative;
    color: white;
}

.serve-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    border-radius: inherit;
}

.serve-card * {
    position: relative;
    z-index: 2;
}

.social-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 15px;
}

.social-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 30px;
    color: white;
    text-decoration: none;
    font-weight: 500;
    font-family: 'DM Sans', sans-serif;
    transition: 0.3s;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.social-btn i {
    font-size: 18px;
}

.social-btn:hover {
    transform: translateY(-3px);
}

.whatsapp {
    background: #25D366;
}

.facebook {
    background: #1877F2;
}