
.hero-block {
    padding-top:clamp(2.5rem, 5vw, 4.5rem);
    padding-bottom:clamp(3rem, 6vw, 5.5rem);
    position:relative;
    background-color:var(--ground);
    border-bottom:var(--rule-heavy) solid var(--ink);
}

.hero-statement-lead {
    font-family:var(--jacu-7a9);

    font-size:var(--font-size-display);
    font-weight:700;
    line-height:var(--line-height-tight);
    letter-spacing:-0.02em;
    color:var(--ink);
    margin-bottom:var(--space-md);
    max-width:22ch;
}

.hero-subhead {
    font-size:var(--font-size-md);
    line-height:1.5;
    color:var(--ink);
    max-width:var(--measure-prose);
    margin-bottom:var(--space-lg);
}

.hero-subhead strong { color:var(--ink); }

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-sm);
    align-items:center;
    margin-top:var(--space-md);
}

.hero-status-pill {
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    padding:0.35rem 0.75rem;
    background-color:var(--ground-alt);
    border:1px solid var(--rule);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    color:var(--ink);
}

.hero-status-pill .status-indicator {
    width:8px;
    height:8px;
    background-color:var(--accent);
    display:inline-block;
}

/* Page Intro Block (for inner pages: services, rates, legal) */
.page-header-block {
    padding-top:clamp(2.5rem, 4.5vw, 4rem);
    padding-bottom:clamp(2.5rem, 4.5vw, 4rem);
    background-color:var(--ground);
    border-bottom:var(--rule-heavy) solid var(--ink);
}

.page-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-xl);
    font-weight:700;
    line-height:1.15;
    color:var(--ink);
    letter-spacing:-0.015em;
    margin-bottom:var(--space-xs);
}

.page-lead {
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);

    color:var(--ink-muted);
    max-width:var(--measure-prose);
}

.margin-section {
    padding-top:clamp(3rem, 5.5vw, 5rem);
    padding-bottom:clamp(3rem, 5.5vw, 5rem);
    border-bottom:var(--rule-heavy) solid var(--ink);
}

.margin-section.block-ground-alt { background-color:var(--ground-alt); }

.margin-section.block-ground-dark {
    background-color:var(--ground-dark);
    color:var(--ground);
}

.margin-passage {
    position:relative;
    margin-bottom:var(--space-xl);
}

.margin-passage:last-child { margin-bottom:0; }

.margin-passage-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-lg);
    font-weight:700;
    line-height:var(--line-height-heading);
    color:var(--ink);
    margin-bottom:var(--space-xs);
}

.block-ground-dark .margin-passage-title { color:var(--ground); }

.margin-passage-body {
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);
    color:var(--ink);
    max-width:var(--measure-prose);
}

.block-ground-dark .margin-passage-body { color:#cad5ca; }

.inline-margin-note {
    display:block;
    margin-top:1rem;
    margin-bottom:1.25rem;
    padding-left:1.15rem;
    border-left:2px solid var(--accent);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    line-height:1.5;
    color:var(--ink-muted);
}

.block-ground-dark .inline-margin-note {
    border-left-color:var(--accent);
    color:#a3b2a5;
}

@media (min-width: 900px) {
    .inline-margin-note { display:none; }
}

.margin-desktop-note { display:none; }

@media (min-width: 900px) {
    .margin-desktop-note {
        display:block;
        font-family:var(--jacu-f05);
        font-size:var(--font-size-xs);
        line-height:1.5;
        color:var(--ink-muted);
        border-top:1px solid var(--rule);
        padding-top:0.75rem;
        margin-bottom:1.25rem;
    }

    .block-ground-dark .margin-desktop-note {
        color:#a3b2a5;
        border-top-color:var(--rule-dark);
    }

    .margin-desktop-note strong {
        display:block;
        color:var(--ink);
        font-size:var(--font-size-sm);
        margin-bottom:0.2rem;
    }

    .block-ground-dark .margin-desktop-note strong { color:var(--ground); }
}

.trade-callout-panel {
    background-color:var(--surface-white);
    border:1px solid var(--rule);
    padding:clamp(1rem, 2.5vw, 1.75rem);
    margin:var(--space-md) 0;
}

.block-ground-dark .trade-callout-panel {
    background-color:#1f2d24;
    border-color:var(--rule-dark);
}

.trade-callout-panel h4 {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--accent);
    margin-bottom:0.4rem;
}

.trade-callout-panel p {
    font-size:var(--font-size-sm);
    line-height:1.55;
    color:var(--ink);
    margin:0;
}

.block-ground-dark .trade-callout-panel p { color:#cad5ca; }

.annotated-diagram-wrapper {
    background-color:var(--ground-dark);
    color:var(--ground);
    border:1px solid var(--rule-dark);
    padding:clamp(1rem, 2.5vw, 2rem);
    margin:var(--space-lg) 0;
    position:relative;
}

.annotated-diagram-header {
    display:flex;
    flex-direction:column;
    gap:0.5rem;
    margin-bottom:var(--space-md);
    padding-bottom:var(--space-sm);
    border-bottom:1px solid var(--rule-dark);
}

@media (min-width: 640px) {
    .annotated-diagram-header {
        flex-direction:row;
        justify-content:space-between;
        align-items:baseline;
    }
}

.diagram-plate-title {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--accent-light, #e8a870);
}

.diagram-plate-spec {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    color:#8e9f90;
}

.annotated-canvas-stage {
    position:relative;
    width:100%;
    border:1px solid #28382e;
    background-color:#121c16;
    overflow:hidden;
}

.annotated-canvas-stage img {
    width:100%;
    height:auto;
    display:block;
    opacity:0.92;
    filter:contrast(105%);
}

/* Technical Drafting Grid Overlay */
.technical-overlay-grid {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    pointer-events:none;
    background-size:40px 40px;
    background-image: 
        linear-gradient(to right, rgba(142, 159, 144, 0.08) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(142, 159, 144, 0.08) 1px, transparent 1px);
}

/* Callout Pins & Leader Markers */
.diagram-callout-point {
    position:absolute;
    transform:translate(-50%, -50%);
    z-index:10;
    pointer-events:auto;
}

.diagram-pin-marker {
    width:24px;
    height:24px;
    border-radius:0;
    background:var(--ground-dark);
    border:2px solid var(--accent);
    color:var(--ground);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--jacu-f05);
    font-size:0.72rem;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 2px 8px rgba(0,0,0,0.4);
    transition:background-color var(--dur-fast) var(--ease-focus), transform var(--dur-fast) var(--ease-focus);
}

.diagram-pin-marker:hover,
.diagram-pin-marker:focus-visible {
    background:var(--accent);
    color:#fff;
    transform:scale(1.15);
    outline:2px solid #fff;
}

/* Tooltip / Callout Tag Box */
.diagram-callout-box {
    position:absolute;
    bottom:calc(100% + 8px);
    left:50%;
    transform:translateX(-50%);
    width:min(240px, 80vw);
    background:#18251d;
    border:1px solid var(--rule-dark);
    padding:0.65rem 0.85rem;
    font-family:var(--jacu-f05);
    font-size:0.75rem;
    line-height:1.4;
    color:#cad5ca;
    display:none;
    z-index:20;
    box-shadow:0 4px 16px rgba(0,0,0,0.5);
    pointer-events:none;
}

.diagram-callout-point:hover .diagram-callout-box,
.diagram-callout-point:focus-within .diagram-callout-box { display:block; }

.diagram-callout-box strong {
    display:block;
    color:var(--accent);
    font-size:0.8rem;
    margin-bottom:0.2rem;

}

.diagram-legend-ledger {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
    margin-top:var(--space-md);
    padding-top:var(--space-md);
    border-top:1px solid var(--rule-dark);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
}

@media (min-width: 720px) {
    .diagram-legend-ledger { grid-template-columns:repeat(3, 1fr); }
}

.diagram-legend-item {
    padding:0.5rem 0.65rem;
    background:#1f2d24;
    border:1px solid var(--rule-dark);
}

.diagram-legend-item strong {
    display:block;
    color:var(--accent);
    margin-bottom:0.2rem;
}

.diagram-legend-item span {
    color:#8e9f90;
    display:block;
    font-size:0.75rem;
}

.fit-checker-wrapper {
    background-color:var(--surface-white);
    border:2px solid var(--ink);
    padding:clamp(1.25rem, 3.5vw, 2.5rem);
    margin:var(--space-lg) 0;
    box-shadow:0 6px 20px rgba(20, 28, 22, 0.08);
}

.fit-checker-header {
    margin-bottom:var(--space-md);
    padding-bottom:var(--space-sm);
    border-bottom:1px solid var(--rule);
}

.fit-checker-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-lg);
    font-weight:700;
    color:var(--ink);
    margin-bottom:0.25rem;
}

.fit-checker-desc {
    font-size:var(--font-size-sm);
    color:var(--ink-muted);
    max-width:var(--measure-prose);
}

.fit-checker-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-md);
    margin-bottom:var(--space-md);
}

@media (min-width: 768px) {
    .fit-checker-grid { grid-template-columns:1fr 1fr; }
}

.checker-control-group {
    display:flex;
    flex-direction:column;
    gap:0.4rem;
}

.checker-control-group label {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
}

.checker-range-wrap {
    display:flex;
    align-items:center;
    gap:1rem;
}

.checker-range-slider {
    flex:1;
    accent-color:var(--accent);
    height:6px;
    cursor:pointer;
}

.checker-range-val {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-sm);
    font-weight:600;
    color:var(--ink);
    min-width:52px;
    text-align:right;
}

.fit-checker-output-box {
    background-color:var(--ground-alt);
    border:1px solid var(--ink);
    padding:clamp(1rem, 2.5vw, 1.75rem);
    margin-top:var(--space-md);
}

.output-eyebrow {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--ink-muted);
    margin-bottom:0.4rem;
}

.output-primary-bracket {
    font-family:var(--jacu-7a9);
    font-size:clamp(1.4rem, 1.2rem + 1.2vw, 2.1rem);
    font-weight:700;
    color:var(--accent);
    line-height:1.2;
    margin-bottom:0.5rem;
}

.output-detail-note {
    font-size:var(--font-size-sm);
    line-height:1.5;
    color:var(--ink);
    margin-bottom:var(--space-sm);
}

.output-status-pill {
    display:inline-block;
    padding:0.35rem 0.65rem;
    background-color:var(--surface-white);
    border:1px solid var(--rule);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    color:var(--ink);
    font-weight:500;
}

.output-status-pill.is-eligible { border-left:3px solid #2e7d32; }

.output-status-pill.is-multi-day { border-left:3px solid var(--accent); }

.checker-push-action {
    margin-top:var(--space-md);
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-sm);
    align-items:center;
}

.checker-disclaimer {
    font-family:var(--jacu-f05);
    font-size:0.72rem;
    color:var(--ink-muted);
    line-height:1.4;
    margin-top:0.5rem;
}

.service-scope-row {
    border-bottom:1px solid var(--rule);
    padding:var(--space-lg) 0;
}

.service-scope-row:last-child { border-bottom:0; }

.service-scope-header {
    display:flex;
    flex-direction:column;
    gap:0.5rem;
    margin-bottom:var(--space-sm);
}

@media (min-width: 640px) {
    .service-scope-header {
        flex-direction:row;
        justify-content:space-between;
        align-items:baseline;
    }
}

.service-scope-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-lg);
    font-weight:700;
    color:var(--ink);
}

.service-scope-rate {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-sm);
    color:var(--accent);
    font-weight:600;
}

.service-scope-detail {
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);
    color:var(--ink);
    max-width:var(--measure-prose);
    margin-bottom:var(--space-sm);
}

.service-tolerance-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-sm);
    margin-top:var(--space-md);
    background:var(--ground-alt);
    padding:1rem;
    border:1px solid var(--rule);
}

@media (min-width: 640px) {
    .service-tolerance-grid { grid-template-columns:1fr 1fr; }
}

.service-tolerance-item {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    line-height:1.5;
    color:var(--ink);
}

.service-tolerance-item strong {
    display:block;
    color:var(--ink);
    font-size:0.82rem;
    margin-bottom:0.15rem;
}

.credentials-card {
    background-color:var(--surface-white);
    border:1px solid var(--rule);
    padding:clamp(1.25rem, 3vw, 2rem);
    margin:var(--space-md) 0;
}

.credentials-card h4 {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-md);
    margin-bottom:0.5rem;
    color:var(--ink);
}

.credentials-list {
    list-style:none;
    padding:0;
    margin:1rem 0;
    display:flex;
    flex-direction:column;
    gap:0.75rem;
}

.credentials-list li {
    display:flex;
    align-items:flex-start;
    gap:0.65rem;
    font-size:var(--font-size-sm);
    color:var(--ink);
}

.credentials-list svg {
    color:var(--accent);
    margin-top:0.2rem;
    flex-shrink:0;
}

.operator-record-notice {
    background-color:var(--ground-alt);
    border-left:3px solid var(--ink);
    padding:1rem 1.25rem;
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    line-height:1.55;
    color:var(--ink);
    margin:var(--space-md) 0;
}

.operator-record-notice strong {
    display:block;
    font-size:var(--font-size-sm);
    margin-bottom:0.25rem;
    color:var(--ink);
}

.legal-numbered-container {
    width:100%;
    max-width:var(--container-max);
    margin:0 auto;
    padding:clamp(2.5rem, 5vw, 5rem) var(--container-pad);
}

.legal-numbered-header {
    margin-bottom:clamp(2.5rem, 5vw, 4.5rem);
    padding-bottom:var(--space-md);
    border-bottom:var(--rule-heavy) solid var(--ink);
}

.legal-numbered-header h1 {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-xl);
    font-weight:700;
    color:var(--ink);
    margin-bottom:var(--space-xs);
}

.legal-numbered-meta {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    color:var(--ink-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
}

.legal-clause-article {
    margin-bottom:clamp(2.5rem, 5vw, 4rem);
    padding-bottom:clamp(2rem, 4vw, 3rem);
    border-bottom:1px solid var(--rule);
}

.legal-clause-article:last-child { border-bottom:0; }

.legal-clause-row {
    display:grid;
    grid-template-columns:1fr;
    gap:0.5rem;
}

@media (min-width: 768px) {
    .legal-clause-row {
        grid-template-columns:4.5rem 1fr;
        gap:1.5rem;
        align-items:baseline;
    }
}

.legal-clause-num {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-sm);
    font-weight:500;
    color:var(--accent);
    padding-top:0.25rem;
}

.legal-clause-content {
    min-width:0;
    max-width:var(--measure-wide);
}

.legal-clause-heading {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-lg);
    font-weight:700;
    color:var(--ink);
    margin-bottom:var(--space-xs);
}

.legal-clause-text {
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);
    color:var(--ink);
}

.legal-clause-text p + p { margin-top:1.15em; }

.legal-clause-text ul,
.legal-clause-text ol {
    margin:1rem 0 1.25rem;
    padding-left:1.5rem;
}

.legal-clause-text li { margin-bottom:0.4em; }

.legal-clause-text table {
    width:100%;
    border-collapse:collapse;
    margin:1.5rem 0;
    font-size:var(--font-size-sm);
    border:1px solid var(--rule);
}

.legal-clause-text th,
.legal-clause-text td {
    padding:0.75rem 1rem;
    border:1px solid var(--rule);
    text-align:left;
}

.legal-clause-text th {
    background:var(--ground-alt);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
}

.legal-document-wrapper {
    padding:clamp(2rem, 5vw, 4.5rem) var(--container-pad);
    display:flex;
    justify-content:center;
    background-color:var(--ground);
}

.legal-document-card {
    width:100%;
    max-width:900px;
    background-color:var(--surface-white);
    border:1px solid var(--ink);
    box-shadow:0 10px 30px rgba(20, 28, 22, 0.09);
    padding:clamp(1.5rem, 4vw, 3.5rem);
}

.doc-card-masthead {
    border-bottom:2px solid var(--ink);
    padding-bottom:var(--space-md);
    margin-bottom:var(--space-lg);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}

.doc-card-badge-row {
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem;
    margin-bottom:0.4rem;
}

.doc-card-badge {
    font-family:var(--jacu-f05);
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    padding:0.25rem 0.5rem;
    background:var(--ground-alt);
    border:1px solid var(--rule);
    color:var(--ink);
}

.doc-card-badge.badge-accent {
    background:var(--accent);
    color:#fff;
    border-color:var(--accent);
}

.doc-card-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-xl);
    font-weight:700;
    line-height:1.15;
    color:var(--ink);
}

.doc-card-meta {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    color:var(--ink-muted);
}

.doc-card-section {
    padding-top:var(--space-md);
    padding-bottom:var(--space-md);
    border-bottom:1px solid var(--rule);
}

.doc-card-section:last-child { border-bottom:0; }

.doc-section-heading {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-md);
    font-weight:700;
    color:var(--ink);
    margin-bottom:0.5rem;
}

.doc-card-section p {
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);
    color:var(--ink);
}

.doc-card-section table {
    width:100%;
    border-collapse:collapse;
    margin:1.25rem 0;
    font-size:var(--font-size-sm);
    border:1px solid var(--rule);
}

.doc-card-section th,
.doc-card-section td {
    padding:0.75rem 0.95rem;
    border:1px solid var(--rule);
    text-align:left;
}

.doc-card-section th {
    background-color:var(--ground-alt);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
}

.legal-pinned-chips-bar {
    position:sticky;
    top:4.5rem;
    z-index:950;
    background-color:var(--ground);
    border-bottom:1px solid var(--ink);
    width:100%;
    box-shadow:0 4px 12px rgba(20, 28, 22, 0.05);
}

.pinned-chips-scroller {
    display:flex;
    gap:0.5rem;
    padding:0.65rem 0;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}

.pinned-chips-scroller::-webkit-scrollbar { display:none; }

.pinned-chip {
    display:inline-flex;
    align-items:center;
    padding:0.45rem 0.85rem;
    min-height:44px;
    background:var(--surface-white);
    border:1px solid var(--rule);
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
    text-decoration:none;
    white-space:nowrap;
    flex-shrink:0;
    transition:background-color var(--dur-fast) var(--ease-focus), border-color var(--dur-fast) var(--ease-focus), color var(--dur-fast) var(--ease-focus);
}

.pinned-chip:hover {
    background:var(--ground-alt);
    border-color:var(--ink);
    color:var(--ink);
}

.pinned-chip:active {
    background:var(--ink);
    color:var(--ground);
}

.pinned-chip:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:2px;
}

.pinned-chip.is-active {
    background:var(--ink);
    color:var(--ground);
    border-color:var(--ink);
}

.terms-section-block {
    padding-top:clamp(2.5rem, 5vw, 4.5rem);
    padding-bottom:clamp(2.5rem, 5vw, 4.5rem);
    border-bottom:1px solid var(--ink);
}

.terms-section-block:last-child { border-bottom:0; }

.terms-standfirst {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-md);
    line-height:1.4;
    font-weight:600;
    color:var(--accent);
    margin-bottom:var(--space-md);
    max-width:var(--measure-prose);
}

.terms-section-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-lg);
    font-weight:700;
    color:var(--ink);
    margin-bottom:var(--space-xs);
}

.terms-prose {
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);
    color:var(--ink);
    max-width:var(--measure-wide);
}

.terms-prose p + p { margin-top:1.15em; }

.terms-prose ul {
    margin:1rem 0;
    padding-left:1.5rem;
}

.terms-prose li { margin-bottom:0.4em; }

.faq-accordion {
    border-top:1px solid var(--ink);
    border-bottom:1px solid var(--ink);
    margin:var(--space-lg) 0;
}

.faq-item { border-bottom:1px solid var(--rule); }

.faq-item:last-child { border-bottom:0; }

.faq-question {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    padding:var(--space-md) 0;
    background:transparent;
    border:0;
    cursor:pointer;
    text-align:left;
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-md);
    font-weight:700;
    color:var(--ink);
    transition:color var(--dur-fast) var(--ease-focus);
}

.faq-question:hover { color:var(--accent); }

.faq-question:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:3px;
}

.faq-icon {
    width:20px;
    height:20px;
    flex-shrink:0;
    transition:transform var(--dur-fast) var(--ease-focus);
    color:var(--ink);
}

.faq-item.is-expanded .faq-icon { transform:rotate(180deg); }

.faq-answer {
    padding-bottom:var(--space-md);
    font-size:var(--font-size-base);
    line-height:var(--line-height-prose);
    color:var(--ink-muted);
    max-width:var(--measure-prose);
    display:none;
}

.faq-item.is-expanded .faq-answer { display:block; }

.contact-layout-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-xl);
}

@media (min-width: 900px) {
    .contact-layout-grid {
        grid-template-columns:1.4fr 1fr;
        align-items:start;
    }
}

.dispatch-info-card {
    background-color:var(--ground-alt);
    border:1px solid var(--rule);
    padding:clamp(1.25rem, 3vw, 2rem);
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
}

.dispatch-info-title {
    font-family:var(--jacu-f05);
    font-size:var(--font-size-xs);
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--ink);
}

.dispatch-detail-item {
    display:flex;
    flex-direction:column;
    gap:0.2rem;
    font-size:var(--font-size-sm);
}

.dispatch-detail-item span.label {
    font-family:var(--jacu-f05);
    font-size:0.72rem;
    color:var(--ink-muted);
    text-transform:uppercase;
}

.dispatch-detail-item strong {
    color:var(--ink);
    font-size:0.95rem;
}

.dispatch-detail-item a {
    color:var(--ink);
    text-decoration:underline;
}

.dispatch-detail-item a:hover { color:var(--accent); }

.error-scene {
    padding-top:clamp(4rem, 8vw, 8rem);
    padding-bottom:clamp(4rem, 8vw, 8rem);
    text-align:center;
    background-color:var(--ground);
}

.error-badge {
    display:inline-block;
    font-family:var(--jacu-f05);
    font-size:var(--font-size-sm);
    color:var(--accent);
    background:var(--ground-alt);
    border:1px solid var(--rule);
    padding:0.35rem 0.85rem;
    margin-bottom:var(--space-md);
}

.error-title {
    font-family:var(--jacu-7a9);
    font-size:var(--font-size-xl);
    font-weight:700;
    color:var(--ink);
    margin-bottom:var(--space-sm);
}

.error-lead {
    font-size:var(--font-size-base);
    color:var(--ink-muted);
    max-width:var(--measure-prose);
    margin:0 auto var(--space-lg);
}

.error-actions {
    display:flex;
    justify-content:center;
    gap:var(--space-sm);
    flex-wrap:wrap;
}
