:root {
    --authority-bg: #050507;
    --authority-text: #f4f1ec;
    --authority-muted: #aaa4af;
    --authority-violet: #9d72ff;
    --authority-line: rgba(157, 114, 255, 0.26);
}

.authority-page {
    margin: 0;
    color: var(--authority-text);
    background: var(--authority-bg);
    font-family: "Montserrat", Arial, sans-serif;
}

.authority-page::selection { background: var(--authority-violet); color: #050507; }
.authority-page .site-credit { display: none; }

.authority-atmosphere {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 24%, rgba(122, 68, 209, 0.28), transparent 34rem),
        radial-gradient(circle at 10% 76%, rgba(83, 41, 150, 0.16), transparent 30rem),
        linear-gradient(145deg, #050507 12%, #0a0710 58%, #050507 100%);
}

.authority-atmosphere img {
    position: absolute;
    right: -7vw;
    top: 10vh;
    width: min(48vw, 760px);
    max-height: 80vh;
    object-fit: contain;
    opacity: 0.12;
    filter: saturate(0.65) contrast(1.08);
}

.authority-atmosphere span {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 5, 7, 0.98) 0%, rgba(5, 5, 7, 0.7) 54%, rgba(5, 5, 7, 0.32) 100%);
}

.authority-main { width: min(1260px, calc(100% - 8vw)); margin: 0 auto; padding: 9rem 0 0; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 0.65rem; color: var(--authority-muted); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.breadcrumbs a { color: var(--authority-text); text-decoration: none; }

.authority-hero {
    min-height: 72vh;
    display: grid;
    align-content: center;
    grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 0.7fr);
    column-gap: 7vw;
    padding: 7rem 0;
    border-bottom: 1px solid var(--authority-line);
}

.authority-hero > p,
.authority-faq > p,
.authority-related > p,
.authority-cta > p,
.authority-card-grid article > p:first-child {
    grid-column: 1 / -1;
    color: var(--authority-violet);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.authority-hero h1 {
    max-width: 14ch;
    margin: 1.4rem 0 0;
    font: 400 clamp(4rem, 9vw, 9.4rem) / 0.87 "Vina Sans", sans-serif;
    letter-spacing: -0.02em;
}

.authority-hero > div { align-self: end; padding-bottom: 0.8rem; }
.authority-hero > div p { color: #d3ced8; font-size: clamp(1rem, 1.35vw, 1.22rem); line-height: 1.7; }
.authority-hero a,
.authority-cta a {
    display: inline-flex;
    margin-top: 1.4rem;
    color: var(--authority-text);
    text-decoration: none;
    border-bottom: 1px solid var(--authority-violet);
    padding-bottom: 0.4rem;
}

.authority-intro { width: min(46rem, 78%); margin: 10rem 0; }
.authority-intro p,
.article-prose > p:first-child { font-size: clamp(1.5rem, 3.1vw, 2.8rem); line-height: 1.35; letter-spacing: -0.025em; }
.authority-intro p + p { color: var(--authority-muted); font-size: 1.05rem; line-height: 1.8; }

.authority-section {
    display: grid;
    grid-template-columns: 5rem minmax(0, 48rem);
    gap: 2rem;
    width: min(62rem, 92%);
    margin: 0 0 11rem;
}

.authority-section-offset { margin-left: auto; }
.authority-section > span { color: var(--authority-violet); font-size: 0.75rem; letter-spacing: 0.1em; padding-top: 0.7rem; }
.authority-section h2,
.authority-faq h2,
.authority-related h2,
.authority-cta h2,
.article-prose h2 {
    margin: 0 0 2rem;
    font-size: clamp(2rem, 5vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.authority-section p,
.article-prose p,
.article-prose li { color: #cbc6d0; font-size: 1.04rem; line-height: 1.82; }
.authority-section ul,
.article-prose ul { display: grid; gap: 0.8rem; padding-left: 1.25rem; }
.authority-section li::marker,
.article-prose li::marker { color: var(--authority-violet); }

.authority-faq,
.authority-related { padding: 8rem 0; border-top: 1px solid var(--authority-line); }
.authority-faq > div { margin-left: auto; width: min(52rem, 75%); }
.authority-faq details { border-top: 1px solid rgba(255,255,255,0.15); padding: 1.45rem 0; }
.authority-faq summary { cursor: pointer; font-size: 1.1rem; font-weight: 600; }
.authority-faq details p { color: var(--authority-muted); line-height: 1.7; max-width: 65ch; }

.authority-related > div,
.authority-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--authority-line); }
.authority-related a,
.authority-card-grid article { min-height: 15rem; padding: 2rem; background: rgba(7, 6, 10, 0.95); color: var(--authority-text); text-decoration: none; }
.authority-related a { display: flex; flex-direction: column; justify-content: space-between; }
.authority-related span,
.authority-card-grid article > span { color: var(--authority-muted); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.authority-related strong,
.authority-card-grid h2 { font-size: clamp(1.35rem, 2.2vw, 2.2rem); line-height: 1.08; }

.authority-cta {
    display: grid;
    grid-template-columns: 1.4fr 0.65fr;
    gap: 5vw;
    padding: 12rem 0;
    border-top: 1px solid var(--authority-line);
}
.authority-cta h2 { font: 400 clamp(5rem, 10vw, 11rem) / 0.84 "Vina Sans", sans-serif; max-width: 7ch; }
.authority-cta > div { align-self: end; color: #cbc6d0; line-height: 1.7; }

.authority-index-hero { min-height: 64vh; }
.authority-card-grid { margin: 5rem 0 10rem; }
.authority-card-grid article { min-height: 22rem; }
.authority-card-grid h2 a { color: var(--authority-text); text-decoration: none; }
.authority-card-grid article > p:not(:first-child) { color: var(--authority-muted); line-height: 1.7; }

.authority-article .authority-hero { border-bottom: 0; }
.article-prose { width: min(50rem, 82%); margin: 0 auto 10rem; }
.article-prose section { margin: 7rem 0; }
.article-prose > p + p { color: #cbc6d0; font-size: 1.04rem; line-height: 1.82; }

.equipment-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: -1px 0 9rem; background: var(--authority-line); }
.equipment-facts div { display: grid; gap: 0.7rem; min-height: 9rem; padding: 2rem; background: rgba(7, 6, 10, 0.94); }
.equipment-facts span { color: var(--authority-muted); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; }

.authority-footer { width: min(1260px, calc(100% - 8vw)); margin: 0 auto; padding: 3rem 0 5rem; border-top: 1px solid var(--authority-line); display: grid; grid-template-columns: 1fr 1fr auto; gap: 2rem; color: var(--authority-muted); font-size: 0.78rem; }
.authority-footer > a { color: var(--authority-text); font: 400 1.7rem / 1 "Vina Sans", sans-serif; text-decoration: none; }
.authority-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.authority-footer nav a { color: var(--authority-muted); }

@media (max-width: 980px) {
    .authority-hero { grid-template-columns: 1fr; min-height: auto; padding: 8rem 0 5rem; }
    .authority-hero > div { max-width: 42rem; margin-top: 3rem; }
    .authority-related > div, .authority-card-grid { grid-template-columns: 1fr 1fr; }
    .equipment-facts { grid-template-columns: 1fr 1fr; }
    .authority-cta { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .authority-main { width: min(100% - 2.2rem, 1260px); padding-top: 6.5rem; }
    .authority-hero h1 { font-size: clamp(3.8rem, 20vw, 6.3rem); }
    .authority-intro, .article-prose, .authority-faq > div { width: 100%; }
    .authority-intro { margin: 6rem 0; }
    .authority-section { grid-template-columns: 2.2rem 1fr; width: 100%; gap: 0.6rem; margin-bottom: 7rem; }
    .authority-related > div, .authority-card-grid { grid-template-columns: 1fr; }
    .equipment-facts { grid-template-columns: 1fr; }
    .authority-cta { padding: 7rem 0; }
    .authority-footer { width: calc(100% - 2.2rem); grid-template-columns: 1fr; }
    .authority-atmosphere img { width: 90vw; right: -36vw; opacity: 0.1; }
}

@media (prefers-reduced-motion: reduce) {
    .authority-page *, .authority-page *::before, .authority-page *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
