:root {
    color-scheme: dark;
    --night: #07110c;
    --panel: #101d16;
    --lime: #c9f05b;
    --cream: #f5efdc;
    --muted: #a8ad9c;
    --line: rgba(223, 239, 204, 0.14);
    --display: "Cinzel", Georgia, serif;
    --body: "Inter", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--night); }
body {
    min-height: 100svh;
    margin: 0;
    color: var(--cream);
    font-family: var(--body);
    background:
        radial-gradient(circle at 15% 5%, rgba(131, 180, 60, 0.12), transparent 28%),
        radial-gradient(circle at 90% 80%, rgba(70, 116, 61, 0.09), transparent 30%),
        var(--night);
}

a { color: inherit; }
.info-header {
    width: min(920px, calc(100% - 40px));
    min-height: 82px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}

.info-brand { font-family: var(--display); font-weight: 800; letter-spacing: 0.08em; text-decoration: none; }
.info-brand span { color: var(--lime); }
.back-link { color: rgba(236, 235, 216, 0.68); font-size: 0.72rem; font-weight: 700; text-decoration: none; }
.back-link:hover { color: var(--lime); }

.info-layout {
    width: min(920px, calc(100% - 40px));
    margin: auto;
    padding: clamp(62px, 8vw, 100px) 0 90px;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: clamp(42px, 8vw, 90px);
}

.info-aside { align-self: start; position: sticky; top: 34px; }
.info-aside p { margin: 0 0 13px; color: var(--lime); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.info-aside h1 { margin: 0; font-family: var(--display); font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1; }
.info-aside small { margin-top: 22px; display: block; color: rgba(203, 207, 187, 0.46); font-size: 0.65rem; line-height: 1.55; }

.info-content { padding: clamp(27px, 5vw, 46px); border: 1px solid var(--line); border-radius: 18px; background: rgba(16, 29, 22, 0.72); box-shadow: 0 25px 70px rgba(0, 0, 0, 0.27); }
.info-content section + section { margin-top: 36px; padding-top: 34px; border-top: 1px solid var(--line); }
.info-content h2 { margin: 0 0 12px; font-family: var(--display); font-size: 1.16rem; }
.info-content p,
.info-content li { color: rgba(222, 222, 203, 0.67); font-size: 0.8rem; line-height: 1.8; }
.info-content p { margin: 0; }
.info-content p + p { margin-top: 13px; }
.info-content ul { margin: 12px 0 0; padding-left: 18px; }
.info-content strong { color: rgba(246, 240, 221, 0.92); }
.info-content a { color: var(--lime); text-underline-offset: 3px; }
.status-card { padding: 20px; display: flex; align-items: center; gap: 15px; border: 1px solid rgba(201, 240, 91, 0.2); border-radius: 12px; background: rgba(201, 240, 91, 0.055); }
.status-card i { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--lime); box-shadow: 0 0 15px rgba(201, 240, 91, 0.75); }
.status-card p { color: rgba(235, 234, 215, 0.84); }
.contact-card { margin-top: 18px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: rgba(3, 9, 5, 0.28); }
.contact-card a { display: inline-block; margin-top: 8px; font-size: 1rem; font-weight: 800; }
.info-footer { width: min(920px, calc(100% - 40px)); margin: auto; padding: 25px 0; border-top: 1px solid var(--line); color: rgba(204, 208, 188, 0.42); font-size: 0.64rem; text-align: center; }

@media (max-width: 720px) {
    .info-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 50px; }
    .info-aside { position: static; }
    .info-aside small { margin-top: 12px; }
    .info-content { padding: 25px 21px; }
}
