:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
    margin: 0;
    color: #f5f0e6;
    background: #1a4939;
}

.landing-page {
    background-color: #1a4939;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

.landing-overlay {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

a { color: inherit; }

.landing-shell {
    position: relative;
    z-index: 1;
    width: min(1600px, 100%);
    min-height: calc(100svh - 72px);
    margin: auto;
    padding: clamp(18px, 2vw, 34px) clamp(22px, 4vw, 72px) 20px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 22px;
}

.landing-header,
.landing-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.landing-header {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,.24);
}
.landing-header[hidden] { display:none !important; }

.landing-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 700;
}

.landing-brand img {
    width: auto;
    max-width: 150px;
    height: 36px;
    object-fit: contain;
}

.landing-utilities {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: .82rem;
}

.landing-languages {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(255,255,255,.32);
}

.landing-languages a {
    min-width: 32px;
    padding: 6px;
    text-align: center;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.landing-languages a + a { border-left: 1px solid rgba(255,255,255,.22); }
.landing-languages a.active { color: #163a2f; background: #dfba73; opacity: 1; }

.landing-utilities a,
.landing-footer a {
    text-decoration: none;
    opacity: .82;
}

.landing-utilities a:hover,
.landing-footer a:hover { opacity: 1; text-decoration: underline; }

.landing-content {
    display: grid;
    grid-template-columns: minmax(300px, .85fr) minmax(600px, 1.45fr);
    align-items: center;
    gap: clamp(40px, 7vw, 120px);
}

.landing-eyebrow,
.landing-card-eyebrow {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .69rem;
    font-weight: 750;
}

.landing-eyebrow { color: #dfba73; }

.landing-intro h1 {
    max-width: 720px;
    margin: 14px 0 18px;
    font: 600 clamp(3rem, 6.2vw, 6.8rem)/1.02 Georgia, "Times New Roman", serif;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.landing-lead {
    max-width: 620px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: clamp(.98rem, 1.3vw, 1.16rem);
    line-height: 1.6;
}

.landing-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.28);
    border-left: 1px solid rgba(255,255,255,.28);
}

.landing-card {
    position: relative;
    min-height: clamp(170px, 20vh, 230px);
    padding: 23px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: 18px;
    border-right: 1px solid rgba(255,255,255,.28);
    border-bottom: 1px solid rgba(255,255,255,.28);
    text-decoration: none;
    color: var(--landing-card-color, #f5f0e6);
    background: var(--landing-card-background, rgba(43, 91, 72, .82));
    backdrop-filter: blur(8px);
    transition: background .2s ease, transform .2s ease;
}

.landing-card:hover {
    z-index: 1;
    color: var(--landing-card-hover-color, #163a2f);
    background: var(--landing-card-hover-background, rgba(238, 226, 201, .95));
    transform: translateY(-3px);
}

.landing-card.accent-forest {
    --landing-card-background: rgba(43, 91, 72, .82);
    --landing-card-color: #f5f0e6;
    --landing-card-hover-background: rgba(91, 137, 113, .96);
    --landing-card-hover-color: #fffaf0;
}
.landing-card.accent-paper {
    --landing-card-background: rgba(238, 226, 201, .92);
    --landing-card-color: #163a2f;
    --landing-card-hover-background: #fff7e7;
    --landing-card-hover-color: #102f26;
}
.landing-card.accent-clay {
    --landing-card-background: rgba(151, 82, 62, .88);
    --landing-card-color: #fff7ed;
    --landing-card-hover-background: rgba(190, 111, 85, .97);
    --landing-card-hover-color: #fff;
}
.landing-card.accent-ink {
    --landing-card-background: rgba(19, 42, 47, .9);
    --landing-card-color: #f5f0e6;
    --landing-card-hover-background: rgba(39, 69, 75, .98);
    --landing-card-hover-color: #fff;
}

.landing-card-copy { align-self: start; padding-top: 6px; display: grid; gap: 8px; }
.landing-card-copy strong { font: 600 clamp(1.55rem, 2.6vw, 2.55rem)/1 Georgia, serif; }
.landing-card-description { max-width: 260px; opacity: .72; font-size: .82rem; line-height: 1.42; }
.landing-card-arrow { font-size: 1.2rem; opacity: .65; }

.landing-card--with-icon .landing-card-copy {
    position: relative;
    z-index: 1;
    padding-right: 82px;
}
.landing-card--with-icon .landing-card-copy strong { font-size: clamp(1.45rem, 2.2vw, 2.1rem); }

.landing-card-icon {
    position: absolute;
    top: 20px;
    right: 48px;
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(12, 48, 37, .42);
    box-shadow: inset 0 0 24px rgba(255,255,255,.035);
    overflow: hidden;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.landing-card-icon::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(223,186,115,.24);
    pointer-events: none;
}

.landing-card-icon img {
    position: relative;
    z-index: 1;
    width: 68px;
    height: 68px;
    display: block;
}

.landing-card--with-icon:hover .landing-card-icon {
    border-color: rgba(22,58,47,.28);
    background: #245c48;
    transform: translateY(-2px);
}

.landing-footer {
    gap: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.24);
    color: rgba(255,255,255,.65);
    font-size: .72rem;
}

.landing-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 24px; }

@media (max-width: 900px) {
    .landing-shell { min-height: calc(100svh - 72px); padding: 26px 18px 18px; gap: 28px; }
    .landing-content { grid-template-columns: 1fr; align-items: start; gap: 34px; }
    .landing-intro h1 { font-size: clamp(3.2rem, 14vw, 5.8rem); }
    .landing-card { min-height: 165px; }
}

@media (max-width: 620px) {
    .landing-shell { min-height:calc(100svh - 114px); }
    .landing-brand span { display: none; }
    .landing-utilities { gap: 10px; font-size: .75rem; }
    .landing-languages a.active { display: none; }
    .landing-languages a { min-width: 30px; padding: 6px 4px; }
    .landing-cards { grid-template-columns: 1fr; }
    .landing-card { min-height: 145px; }
    .landing-card--with-icon .landing-card-copy { padding-right: 68px; }
    .landing-card-icon {
        top: 15px;
        right: 42px;
        width: 66px;
        height: 66px;
    }
    .landing-card-icon::after { inset: 6px; }
    .landing-card-icon img { width: 56px; height: 56px; }
    .landing-footer { align-items: flex-start; flex-direction: column; }
    .landing-footer nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .landing-card { transition: none; }
}
