.authority-page .site-main,
.authority-page main {
    background:
        linear-gradient(180deg, rgba(111, 29, 29, 0.1), rgba(9, 8, 7, 0) 28%),
        var(--bg);
}

.authority-hero {
    background:
        linear-gradient(115deg, rgba(9, 8, 7, 0.98), rgba(18, 15, 12, 0.92) 58%, rgba(111, 29, 29, 0.2)),
        radial-gradient(circle at 76% 20%, rgba(184, 155, 94, 0.18), transparent 32%);
}

.authority-gate,
.authority-flow {
    padding: clamp(58px, 8vw, 112px) clamp(20px, 6vw, 96px);
    border-bottom: 1px solid var(--line);
}

.authority-gate {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.58fr);
    gap: clamp(28px, 6vw, 76px);
    align-items: start;
    background: #0d0b0a;
}

.authority-gate-card,
.authority-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 3px;
}

.authority-gate-card {
    display: grid;
    gap: 14px;
    min-height: 300px;
    padding: clamp(22px, 4vw, 38px);
    background:
        linear-gradient(145deg, rgba(184, 155, 94, 0.13), rgba(9, 8, 7, 0) 46%),
        var(--panel-dark);
}

.authority-gate-card::after,
.authority-record::after {
    content: "";
    position: absolute;
    right: -44px;
    bottom: -44px;
    width: 210px;
    aspect-ratio: 1;
    background: url("../img/seal.svg") center / contain no-repeat;
    opacity: 0.09;
    pointer-events: none;
}

.authority-gate-card label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: var(--panel-muted);
    font-size: 0.94rem;
}
.authority-gate-card .authority-gate-field {
    grid-template-columns: 1fr;
    gap: 8px;
    color: var(--gold);
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.authority-gate-card input[type="checkbox"] {
    margin-top: 4px;
    accent-color: var(--red);
}

.authority-gate-card select {
    min-height: 46px;
    width: 100%;
    border: 1px solid rgba(184, 155, 94, 0.34);
    border-radius: 2px;
    background: rgba(9, 8, 7, 0.82);
    color: var(--cream);
    padding: 0 12px;
}

.authority-gate-card button {
    justify-self: start;
    margin-top: 10px;
}

.flow-step.is-locked {
    filter: saturate(0.58);
    opacity: 0.52;
    pointer-events: none;
}

.authority-board {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);
    gap: 16px;
    align-items: stretch;
}

.authority-panel {
    min-height: 620px;
    padding: clamp(24px, 4vw, 44px);
}

.authority-panel.cream {
    background: var(--panel);
    color: var(--ink);
}

.authority-panel.dark {
    background:
        linear-gradient(180deg, rgba(184, 155, 94, 0.12), rgba(9, 8, 7, 0) 38%),
        #0d0b0a;
    color: var(--cream);
}

.authority-intake h2 {
    max-width: 760px;
    margin-top: 12px;
}

.authority-intake > p:not(.section-kicker) {
    max-width: 680px;
    margin-top: 16px;
    color: var(--ink-muted);
    font-size: 1.04rem;
}

.authority-field,
.authority-choice-group {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.authority-field span,
.choice-label,
.authority-ledger span {
    color: var(--red);
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.authority-field input,
.authority-field select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(21, 16, 12, 0.24);
    border-radius: 2px;
    background: #fffaf1;
    color: var(--ink);
    padding: 10px 12px;
    font: 700 1rem/1.2 "Segoe UI", Inter, Arial, sans-serif;
}

.authority-choice-grid,
.authority-tone-grid {
    display: grid;
    gap: 12px;
}
.authority-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.authority-tone-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.authority-signal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.authority-signal-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    border: 1px solid rgba(21, 16, 12, 0.2);
    border-radius: 3px;
    background: rgba(255, 250, 241, 0.62);
    padding: 10px 12px;
    color: var(--ink-muted);
    cursor: pointer;
}

.authority-signal-choice input {
    width: 16px;
    height: 16px;
    accent-color: var(--red);
    flex: 0 0 auto;
}

.authority-signal-choice span {
    color: var(--ink);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-transform: uppercase;
}

.authority-signal-choice:has(input:checked) {
    border-color: rgba(111, 29, 29, 0.66);
    background:
        linear-gradient(135deg, rgba(111, 29, 29, 0.1), rgba(184, 155, 94, 0.09)),
        #fffaf1;
}

/* "Declare your own signal" row inside the command signal group. */
.authority-choice-group .choice-hint {
    margin-left: 8px;
    color: var(--ink-muted);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: none;
}
.authority-choice-group .signal-add-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}
.authority-choice-group .signal-add-row input[type="text"] {
    flex: 1 1 200px;
    min-height: 46px;
    border: 1px solid rgba(21, 16, 12, 0.28);
    border-radius: 3px;
    background: rgba(255, 250, 241, 0.86);
    color: var(--ink);
    padding: 0 12px;
    font: 0.9rem/1.2 "Segoe UI", Arial, sans-serif;
}
.authority-choice-group .signal-add-row input[type="text"]:focus {
    border-color: rgba(111, 29, 29, 0.66);
    outline: none;
}
.authority-choice-group .signal-add-note {
    margin: 8px 0 0;
    color: var(--ink-muted);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.authority-choice {
    position: relative;
    display: grid;
    gap: 8px;
    min-height: 150px;
    border: 1px solid rgba(21, 16, 12, 0.18);
    border-radius: 3px;
    background: rgba(255, 250, 241, 0.66);
    padding: 18px;
    cursor: pointer;
}

.authority-choice.compact {
    min-height: 128px;
}

.authority-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.authority-choice span {
    color: var(--ink);
    font: 700 clamp(1.2rem, 2vw, 1.75rem)/1.05 Georgia, "Times New Roman", serif;
}

.authority-choice small {
    color: var(--ink-muted);
    font-size: 0.88rem;
    line-height: 1.38;
}

.authority-choice:has(input:checked) {
    border-color: rgba(111, 29, 29, 0.72);
    background:
        linear-gradient(135deg, rgba(111, 29, 29, 0.11), rgba(184, 155, 94, 0.1)),
        #fffaf1;
    box-shadow: inset 0 0 0 2px rgba(111, 29, 29, 0.08);
}

.authority-choice:has(input:checked)::after {
    content: "SELECTED";
    position: absolute;
    right: 12px;
    bottom: 12px;
    color: rgba(111, 29, 29, 0.72);
    font-size: 0.56rem;
    font-weight: 900;
    letter-spacing: 0.13em;
}

.authority-record {
    display: flex;
    flex-direction: column;
}

.authority-record > *:not(.stamp) {
    position: relative;
    z-index: 1;
}

.authority-record h3 {
    margin-top: 18px;
    color: var(--gold);
    font-size: clamp(2rem, 4vw, 4.5rem);
}

.authority-record > p:not(.section-kicker):not(.authority-status) {
    max-width: 560px;
    margin-top: 18px;
    color: var(--panel-muted);
    font-size: 1.04rem;
}

.authority-ledger {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px 18px;
    margin-top: 34px;
}

@media (max-width: 720px) {
    .authority-ledger {
        grid-template-columns: 1fr;
    }
}

.authority-ledger div {
    border-top: 1px solid rgba(184, 155, 94, 0.28);
    padding-top: 12px;
}

.authority-ledger span {
    display: block;
    color: var(--gold);
}

.authority-ledger strong {
    display: block;
    margin-top: 7px;
    color: var(--cream);
    font: 800 1rem/1.2 "Segoe UI", Inter, Arial, sans-serif;
    overflow-wrap: anywhere;
}

.authority-signal-preview {
    margin-top: 24px;
}

.authority-signal-preview .choice-label {
    color: var(--gold);
}

.authority-signal-preview .signal-ledger {
    margin-top: 12px;
}

.authority-doctrine {
    margin-top: auto;
    border-left: 3px solid var(--red);
    padding: 18px 0 18px 18px;
    color: var(--gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.3vw, 2.2rem);
    line-height: 1.08;
}

.authority-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.authority-status {
    min-height: 1.5em;
    margin-top: 14px;
    color: var(--panel-muted);
    font-size: 0.92rem;
}

.authority-status.is-sealed {
    color: var(--gold);
}






@media (max-width: 1120px) {
    .authority-gate,
    .authority-board {
        grid-template-columns: 1fr;
    }

    .authority-panel {
        min-height: auto;
    }

    .authority-tone-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .authority-choice-grid,
    .authority-tone-grid,
    .authority-signal-grid {
        grid-template-columns: 1fr;
    }

    .authority-choice,
    .authority-choice.compact {
        min-height: 118px;
    }
}
.authority-scope-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.authority-registry-link.is-hidden {
    display: none;
}

.authority-seal-preview,
.authority-seal-phrase {
    border: 1px solid rgba(184, 155, 94, 0.46);
    color: var(--gold);
    font: 900 0.72rem/1 "Segoe UI", Inter, Arial, sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.authority-seal-preview {
    display: inline-flex;
    align-self: flex-start;
    margin-top: 18px;
    padding: 10px 12px;
    transform: rotate(-2deg);
}

.authority-seal-phrase {
    width: fit-content;
    margin-top: 26px;
    padding: 12px 14px;
    background: rgba(111, 29, 29, 0.22);
}

.authority-registry-hero .hero-copy h1 {
    max-width: 12ch;
}

.registry-command {
    align-self: stretch;
}

.authority-registry-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
    gap: 16px;
    padding: clamp(58px, 8vw, 112px) clamp(20px, 6vw, 96px);
    border-bottom: 1px solid var(--line);
    background: #0d0b0a;
}

.registry-file,
.registry-review {
    min-height: 440px;
}

.authority-entry-band .registry-review {
    min-height: 0;
}

.authority-ritual-divider .ritual-phrase {
    display: block;
}

.authority-ritual-divider .ritual-subline {
    display: block;
    margin-top: clamp(10px, 1.6vw, 22px);
    color: var(--panel-muted);
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: clamp(0.95rem, 1.5vw, 1.35rem);
    line-height: 1.5;
}

.registry-file h2 {
    max-width: 820px;
    margin-top: 18px;
    color: var(--ink);
}

.registry-file p:not(.section-kicker) {
    max-width: 720px;
    margin-top: 18px;
    color: var(--ink-muted);
    font-size: 1.05rem;
}

.authority-registry-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
}

.authority-registry-grid div {
    border-top: 1px solid rgba(111, 29, 29, 0.28);
    padding-top: 12px;
}

.authority-registry-grid span {
    display: block;
    color: var(--red);
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.authority-registry-grid strong {
    display: block;
    margin-top: 7px;
    color: var(--ink);
    font: 800 1rem/1.2 "Segoe UI", Inter, Arial, sans-serif;
}

.registry-review p:not(.section-kicker) {
    margin-top: 18px;
    color: var(--panel-muted);
}

@media (max-width: 1120px) {
    .authority-scope-grid,
    .authority-registry-band,
    .authority-registry-grid {
        grid-template-columns: 1fr;
    }
}
.authority-hero-stack {
    display: grid;
    grid-template-rows: minmax(320px, 0.85fr) auto;
    gap: 16px;
    min-width: 0;
}

.authority-portrait {
    min-height: clamp(360px, 48vw, 620px);
    border-color: rgba(184, 155, 94, 0.58);
    background:
        linear-gradient(180deg, rgba(184, 155, 94, 0.11), rgba(9, 8, 7, 0.12)),
        #0d0b0a;
}

.authority-portrait::before {
    content: "SUPERIOR REGISTRY";
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    color: var(--gold);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.authority-portrait .portrait-media img {
    filter: contrast(1.04) saturate(0.78);
}

.authority-portrait-seal {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 3;
    border: 1px solid rgba(184, 155, 94, 0.58);
    padding: 8px 10px;
    background: rgba(9, 8, 7, 0.76);
    color: var(--gold);
    font: 900 0.58rem/1 "Segoe UI", Inter, Arial, sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transform: rotate(-2deg);
}

.authority-claim {
    position: relative;
    z-index: 2;
    margin-top: 26px;
    border-top: 1px solid rgba(184, 155, 94, 0.32);
    padding-top: 18px;
}

.authority-claim .hero-claim-line,
.authority-owner-amend .section-lede {
    color: var(--panel-muted);
}

.authority-statement-band {
    background: var(--panel-dark);
}

.authority-statement-band .profile-statement {
    max-width: 980px;
    color: var(--gold);
}

.authority-amendment-band {
    background:
        linear-gradient(180deg, rgba(111, 29, 29, 0.13), rgba(9, 8, 7, 0)),
        #0d0b0a;
}

.authority-amendment-console {
    background:
        linear-gradient(135deg, rgba(184, 155, 94, 0.08), rgba(111, 29, 29, 0.08)),
        var(--panel);
}

.authority-segment-field .amendment-segment {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.authority-segment-field .amendment-segment label span {
    min-height: 44px;
}

.authority-owner-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.46fr);
    gap: 16px;
    align-items: stretch;
    background: #0d0b0a;
}

.authority-owner-amend {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 3px;
    padding: clamp(22px, 4vw, 36px);
    background:
        linear-gradient(180deg, rgba(184, 155, 94, 0.12), rgba(9, 8, 7, 0) 45%),
        var(--panel-dark);
}

.authority-owner-amend::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -40px;
    width: 180px;
    aspect-ratio: 1;
    background: url("../img/seal.svg") center / contain no-repeat;
    opacity: 0.08;
    pointer-events: none;
}

.authority-owner-amend > *:not(.stamp) {
    position: relative;
    z-index: 1;
}

.authority-portrait-thumb {
    min-height: 240px;
}

@media (max-width: 1120px) {
    .authority-hero-stack,
    .authority-owner-band {
        grid-template-columns: 1fr;
    }

    .authority-segment-field .amendment-segment {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .authority-segment-field .amendment-segment {
        grid-template-columns: 1fr;
    }
}
.authority-registry-hero {
    align-items: start;
    min-height: auto;
    gap: clamp(28px, 4vw, 60px);
}

.authority-registry-hero .hero-copy {
    justify-content: flex-start;
    padding-top: 0;
}

.authority-registry-hero .hero-kicker {
    align-self: flex-start;
    text-align: left;
}

.authority-registry-hero .authority-hero-stack {
    align-self: start;
}

.authority-registry-hero .registry-command {
    min-height: 0;
}

@media (max-width: 1120px) {
    .authority-registry-hero {
        grid-template-columns: 1fr;
    }

    .authority-registry-hero .authority-hero-stack {
        max-width: 520px;
        justify-self: center;
        width: 100%;
    }
}

@media (max-width: 720px) {
    .authority-registry-hero {
        gap: 28px;
    }

    .authority-registry-hero .authority-hero-stack {
        max-width: none;
    }
}

.authority-amendment-console {
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.authority-amendment-console h2 {
    color: var(--ink);
}

.authority-amendment-console .section-lede {
    max-width: 880px;
    color: var(--ink-muted);
}

.authority-amendment-console .amendment-form {
    max-width: min(920px, 100%);
}

.authority-amendment-console .amendment-label {
    color: var(--gold);
}

.authority-amendment-console input[type="text"],
.authority-amendment-console textarea {
    border-color: rgba(21, 16, 12, 0.24);
    background: #fffaf1;
    color: var(--ink);
    box-shadow: inset 0 0 0 1px rgba(184, 155, 94, 0.08);
}

.authority-amendment-console input[type="text"]::placeholder,
.authority-amendment-console textarea::placeholder {
    color: var(--ink-muted);
}

.authority-amendment-console input[type="text"]:focus,
.authority-amendment-console textarea:focus {
    border-color: rgba(111, 29, 29, 0.72);
    box-shadow: 0 0 0 3px rgba(184, 155, 94, 0.16);
}

.authority-amendment-console .amendment-segment span {
    border-color: rgba(111, 29, 29, 0.34);
    background: rgba(255, 250, 241, 0.68);
    color: var(--ink);
}

.authority-amendment-console .amendment-segment input:checked + span {
    border-color: var(--red);
    background: var(--red);
    color: var(--cream);
}

.authority-amendment-console .amendment-portrait-status,
.authority-amendment-console .amendment-status,
.authority-amendment-console .amendment-locked-label {
    color: var(--ink-muted);
}

.authority-amendment-console .amendment-locked {
    border-top-color: rgba(111, 29, 29, 0.24);
}

.authority-amendment-console .amendment-locked-grid > div {
    border-color: rgba(111, 29, 29, 0.2);
    background: rgba(255, 250, 241, 0.6);
}

.authority-amendment-console .amendment-locked-grid span {
    color: var(--red);
}

.authority-amendment-console .amendment-locked-grid strong {
    color: var(--ink);
}

.authority-amendment-console .official-command.ghost {
    border-color: rgba(111, 29, 29, 0.48);
    color: var(--red);
}

.authority-amendment-console .official-command.ghost:hover {
    border-color: var(--gold);
    color: var(--ink);
}
