/*
    SUB7 site system.
    Loaded after global and scoped component styles so every public page and the owner workspace share one
    hierarchy: Barlow Condensed display headings, Instrument Sans for reading and controls, warm paper canvas,
    white detail surfaces, ink framing and a single red action color. Tokens live in app.css.
*/

html.sub7-ui .site-shell main :is(h1, h2) {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: 0.004em;
    line-height: 0.98;
    overflow-wrap: break-word;
    text-transform: uppercase;
}

html.sub7-ui .site-shell main h1 {
    font-size: clamp(2.75rem, 5vw, 4.5rem);
}

html.sub7-ui .site-shell main h2 {
    font-size: clamp(2.125rem, 3.4vw, 3.25rem);
}

html.sub7-ui .site-shell main h3 {
    font-family: var(--font-ui);
    font-size: 1.375rem;
    font-weight: 600;
    letter-spacing: -0.005em;
    line-height: 1.25;
    overflow-wrap: break-word;
    text-transform: none;
}

html.sub7-ui .site-shell main :is(h1, h2) em {
    font-style: normal;
}

/* Owner workspace: a compact display title, then readable UI section headings. */
html.sub7-ui .site-shell :is(.garage-page, .vehicle-page, .classifieds-manage, .listing-draft, .journey-manage, .account-page, .guided-intake, .classifieds-intake) h2 {
    font-family: var(--font-ui);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.005em;
    line-height: 1.2;
    text-transform: none;
}

html.sub7-ui .site-shell .ui-button {
    border-radius: var(--radius);
    box-shadow: none;
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

html.sub7-ui .site-shell .ui-button:hover {
    transform: none;
}

html.sub7-ui .site-shell main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    font-family: var(--font-ui);
    font-size: 1rem;
    letter-spacing: 0;
}

html.sub7-ui .site-shell :is(.journal-record-link, .event-request, .partner-spotlight-copy, .garage-overview-private) .button--blue {
    background: transparent;
    border-color: currentColor;
    color: inherit;
}

html.sub7-ui .site-shell :is(.journal-record-link, .event-request, .partner-spotlight-copy, .garage-overview-private) .button--blue:hover {
    border-color: var(--signal);
}
html.sub7-ui .site-shell :is(.garage-page, .vehicle-page) {
    background: var(--paper);
    padding-top: calc(var(--header-height) + 2.5rem);
}

html.sub7-ui .site-shell :is(.garage-page, .vehicle-page) h1 {
    font-size: clamp(2.5rem, 4vw, 3.25rem);
}

html.sub7-ui .site-shell :is(.garage-page, .vehicle-page) h3 {
    font-size: 1.125rem;
}

html.sub7-ui .site-shell :is(.garage-heading, .vehicle-heading, .garage-heading-actions, .vehicle-heading-actions) {
    flex-wrap: wrap;
}

html.sub7-ui .site-shell :is(.garage-command, .garage-submit, .garage-empty button, .vehicle-command, .vehicle-submit, .vehicle-secondary-command, .snapshot-command, .history-empty button, .draft-actions button, .history-state button) {
    border-radius: var(--radius);
    font-family: var(--font-ui);
    font-size: 0.875rem;
    letter-spacing: 0;
    text-transform: none;
}

html.sub7-ui .site-shell :is(.garage-command--agent, .vehicle-command--agent) {
    background: var(--action);
    border-color: var(--action);
}

html.sub7-ui .site-shell :is(.garage-field > span, .vehicle-page label > span, .garage-stats span) {
    color: var(--text-muted);
    font-size: 0.8125rem;
    letter-spacing: 0;
    text-transform: none;
}

html.sub7-ui .site-shell .garage-stats {
    background: var(--surface);
    border: 1px solid var(--line-light);
    color: var(--text);
}

html.sub7-ui .site-shell .garage-stats > div {
    border-color: var(--line-light);
    gap: 0.5rem;
    min-height: 0;
}

html.sub7-ui .site-shell .garage-stats strong {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    text-transform: none;
}

html.sub7-ui .site-shell .hero {
    font-family: var(--font-body);
}

html.sub7-ui .site-shell .hero .button {
    font-family: var(--font-body);
    font-size: 0.8125rem;
}

html.sub7-ui .site-shell .manifesto {
    padding: clamp(4rem, 7vw, 6.5rem) var(--gutter);
}

html.sub7-ui .site-shell .manifesto-intro {
    border-bottom: 0;
    padding-bottom: 0;
}

html.sub7-ui .site-shell .manifesto-intro h2 {
    font-size: clamp(2.5rem, 4.4vw, 4rem);
    margin-top: 1rem;
}

html.sub7-ui .site-shell .manifesto-body {
    gap: 2rem;
    grid-template-columns: 5rem minmax(0, 1fr);
    padding-block: 2rem;
}

html.sub7-ui .site-shell .manifesto-body img {
    width: 5rem;
}

html.sub7-ui .site-shell .manifesto-body > div {
    border: 0;
    padding: 0;
}

html.sub7-ui .site-shell .manifesto-body .manifesto-lede {
    font-family: var(--font-ui);
    font-size: 1.125rem;
    line-height: 1.6;
    max-width: 62rem;
    text-transform: none;
}

html.sub7-ui .site-shell .manifesto-body p {
    font-size: 1rem;
    line-height: 1.65;
    margin-top: 0.75rem;
    max-width: 62rem;
}

html.sub7-ui .site-shell .manifesto-principles > div {
    min-height: 0;
    padding: 1.5rem 1.5rem 0;
}

html.sub7-ui .site-shell .manifesto-principles span {
    margin-bottom: 0.5rem;
}

html.sub7-ui .site-shell .manifesto-principles strong {
    font-family: var(--font-ui);
    font-size: 1rem;
    text-transform: none;
}

html.sub7-ui .site-shell .manifesto-principles p {
    font-size: 0.9375rem;
    line-height: 1.6;
    max-width: none;
}

html.sub7-ui .site-shell :is(.journal-feature, .platform, .journal-ledger, .journey-story, .partner-thesis, .partner-model, .partner-inquiry, .event-intro, .event-rates, .event-fit, .event-requirements, .event-request, .event-faq) {
    padding: clamp(4rem, 7vw, 6.5rem) var(--gutter);
}

html.sub7-ui .site-shell :is(.journal-feature, .platform, .journey-directory, .journey-page, .journey-story) {
    background: var(--paper);
}

html.sub7-ui .site-shell :is(.journal-feature-copy > p, .partner-spotlight-copy > p, .platform-header p, .dossier-summary, .journal-index-hero > p, .journal-row p, .journal-record-link p, .journey-directory-hero p, .journey-directory-copy p, .journey-title p, .journal-entry-title p, .partner-thesis > p, .partner-model li p, .partner-model-note, .partner-work p, .event-intro p, .event-rates header p, .event-rate-note, .event-fit li span, .event-requirements > div p, .event-request header p, .event-faq details p) {
    font-family: var(--font-ui);
    font-size: 1rem;
    line-height: 1.65;
}

html.sub7-ui .site-shell :is(.journal-feature-index, .journal-feature figcaption, .partner-render-label, .partner-spotlight-actions a, .partner-spotlight figcaption span, .partner-spotlight figcaption small, .dossier-status, .dossier-media small, .dossier-index, .dossier-type, .platform-paths span, .platform-paths a, .journal-ledger > header span, .journal-row-meta, .journal-row-action, .journey-directory-copy > div span, .journey-directory-latest small, .journey-directory-footer > span, .journey-directory-footer strong, .journey-back, .journey-hero-state span, .journey-title > span, .journal-entry-title > a, .journal-entry-title span, .journal-entry-title time, .journal-entry-rail > span, .journal-entry-rail nav a, .partners-hero-copy a, .partner-work a, .partner-inquiry a, .partners-hero-note, .event-hero-actions a, .event-hero-actions button, .event-rate-grid article > span, .event-form-grid label > span, .event-request form > small) {
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    letter-spacing: 0;
    line-height: 1.5;
    text-transform: none;
}

html.sub7-ui .site-shell .journal-feature {
    gap: 1.5rem 3rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

html.sub7-ui .site-shell .journal-feature-index {
    border: 0;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
    grid-column: 1 / -1;
    padding: 0;
}

html.sub7-ui .site-shell .journal-feature-index :is(span, strong) {
    font: inherit;
    letter-spacing: 0;
    text-transform: none;
}

html.sub7-ui .site-shell .journal-feature-copy h2 {
    margin: 1rem 0;
}

html.sub7-ui .site-shell .journal-feature figure {
    grid-column: auto;
}

html.sub7-ui .site-shell .partner-spotlight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

html.sub7-ui .site-shell .partner-spotlight-copy {
    padding: 3rem var(--gutter);
}

html.sub7-ui .site-shell .partner-spotlight figure {
    grid-template-rows: auto 1fr auto;
}

html.sub7-ui .site-shell .partner-spotlight figure img {
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: contain;
}

html.sub7-ui .site-shell .partner-spotlight figcaption {
    background: var(--ink-raised);
}

html.sub7-ui .site-shell .partner-spotlight figcaption strong {
    font-family: var(--font-ui);
    font-size: 1rem;
    text-transform: none;
}

html.sub7-ui .site-shell .platform-header {
    gap: 1rem;
    grid-template-columns: 1fr;
    padding-bottom: 2rem;
}

html.sub7-ui .site-shell .platform-header > div {
    align-items: end;
    gap: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

html.sub7-ui .site-shell .dossier {
    background: transparent;
    color: var(--ink);
    gap: 2.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2rem;
    min-height: 0;
}

html.sub7-ui .site-shell .dossier-media {
    align-self: start;
    aspect-ratio: auto;
    min-height: 0;
}

html.sub7-ui .site-shell .dossier-media::after {
    content: none;
}

html.sub7-ui .site-shell .dossier-media img {
    height: auto;
    transform: none;
}

html.sub7-ui .site-shell .dossier-status {
    background: var(--ink-raised);
    color: #fff;
    left: auto;
    position: static;
    top: auto;
}

html.sub7-ui .site-shell .dossier-media small {
    bottom: auto;
    color: var(--text-muted);
    display: block;
    left: auto;
    padding-top: 0.75rem;
    position: static;
}

html.sub7-ui .site-shell .dossier-detail {
    padding: 0;
}

html.sub7-ui .site-shell .dossier-index {
    border-bottom-color: var(--line-light);
    color: var(--text-muted);
}

html.sub7-ui .site-shell :is(.dossier-index b, .dossier-type) {
    color: var(--metallic-blue-deep);
}

html.sub7-ui .site-shell .dossier-summary {
    color: var(--text-muted);
    margin-block: 1rem;
}

html.sub7-ui .site-shell .dossier-data,
html.sub7-ui .site-shell .dossier-data div {
    border-color: var(--line-light);
}

html.sub7-ui .site-shell .dossier-data :is(dt, dd) {
    color: var(--text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

html.sub7-ui .site-shell .platform-paths {
    margin-top: 3rem;
}

html.sub7-ui .site-shell .platform-paths > div {
    gap: 1rem;
    min-height: 0;
}

html.sub7-ui .site-shell .platform-paths strong {
    font-family: var(--font-ui);
    font-size: 1.125rem;
    line-height: 1.5;
    margin-top: 0;
    max-width: none;
    text-transform: none;
}

html.sub7-ui .site-shell .journal-index-hero {
    background: var(--ink-raised);
    gap: 2rem;
    min-height: 0;
    padding: calc(var(--header-height) + 3rem) var(--gutter) 3rem;
}

html.sub7-ui .site-shell .journal-index-hero h1 {
    margin-top: 1rem;
}

html.sub7-ui .site-shell .journal-row {
    gap: 2rem;
    padding-block: 2rem;
}

html.sub7-ui .site-shell .journal-row h3 {
    font-size: 1.75rem;
    margin-block: 1rem;
}

html.sub7-ui .site-shell .journal-record-link {
    gap: 1.5rem;
    grid-template-columns: 1fr 1.5fr auto;
    padding: 3rem var(--gutter);
}

html.sub7-ui .site-shell .journal-record-link > .eyebrow {
    grid-column: 1 / -1;
}

html.sub7-ui .site-shell .journey-directory {
    padding-top: calc(var(--header-height) + 3rem);
}

html.sub7-ui .site-shell .journey-directory-hero {
    gap: 2rem;
    padding-bottom: 2rem;
}

html.sub7-ui .site-shell .journey-directory-row {
    padding-block: 2rem;
}

html.sub7-ui .site-shell .journey-story > header {
    gap: 1rem;
    grid-template-columns: 1fr;
    margin-bottom: 2rem;
}

html.sub7-ui .site-shell .journal-entry-layout {
    gap: 3rem;
    padding-block: 3.5rem;
}

html.sub7-ui .site-shell .journal-entry-rail > p {
    font-size: 0.875rem;
}

html.sub7-ui .site-shell :is(.event-hero, .partners-hero) {
    background: var(--ink);
    min-height: 0;
    padding-top: var(--header-height);
}

html.sub7-ui .site-shell :is(.event-hero-media, .partners-hero-media) {
    aspect-ratio: 21 / 9;
    max-height: calc(100svh - var(--header-height) - 11rem);
    min-height: 22rem;
    overflow: hidden;
    position: relative;
    width: 100%;
}

html.sub7-ui .site-shell :is(.event-hero-media, .partners-hero-media) picture {
    display: block;
    inset: 0;
    position: absolute;
}

html.sub7-ui .site-shell :is(.event-hero-media, .partners-hero-media) img {
    height: 100%;
    object-fit: cover;
    object-position: 50% 55%;
    width: 100%;
}

/* The pit lane export is framed with the car centered, so extra cropping stays centered. */
html.sub7-ui .site-shell .event-hero-media img {
    object-position: 50% 50%;
}

html.sub7-ui .site-shell :is(.event-hero-shade, .partners-hero-shade) {
    display: none;
}

html.sub7-ui .site-shell :is(.event-hero-copy, .partners-hero-copy) {
    display: grid;
    gap: 1rem 3rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
    padding: 2rem var(--gutter);
    position: static;
}

html.sub7-ui .site-shell :is(.event-hero-copy, .partners-hero-copy) > span {
    font-size: 0.8125rem;
    grid-column: 1 / -1;
    letter-spacing: 0;
    text-transform: none;
}

html.sub7-ui .site-shell :is(.event-hero-copy, .partners-hero-copy) h1 {
    grid-row: span 2;
    margin: 0;
}

html.sub7-ui .site-shell :is(.event-hero-copy, .partners-hero-copy) p {
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
}

html.sub7-ui .site-shell :is(.event-hero-actions, .partners-hero-copy > a) {
    justify-self: start;
    margin-top: 0;
}

html.sub7-ui .site-shell .event-request {
    scroll-margin-top: calc(var(--header-height) + 1.25rem);
}

html.sub7-ui .site-shell :is(.partner-model header, .event-rates header) {
    gap: 1.5rem;
    margin-bottom: 2rem;
}

html.sub7-ui .site-shell .partner-model li {
    min-height: 0;
}

html.sub7-ui .site-shell .partner-model h3 {
    margin-top: 1.5rem;
}

html.sub7-ui .site-shell .event-rate-grid strong {
    font-family: var(--font-display);
    font-size: 3.25rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 1.5rem;
}

html.sub7-ui .site-shell .event-rate-grid li {
    font-size: 0.9375rem;
}

html.sub7-ui .site-shell .event-requirements {
    background: var(--paper-deep);
}

html.sub7-ui .site-shell .event-request button {
    background: var(--action);
    border-radius: var(--radius);
    font-family: var(--font-ui);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    min-height: 3rem;
    padding: 0.8rem 1.25rem;
    text-transform: uppercase;
    transition: background-color 160ms ease;
}

html.sub7-ui .site-shell .event-request button:hover {
    background: var(--action-hover);
}

/* Section labels on the Partners and GTD Events pages follow the .eyebrow spec: current text color plus the signal square. */
html.sub7-ui .site-shell :is(.partners-hero-copy > span, .partner-thesis span, .partner-model header > span, .partner-work > div > span, .partner-inquiry > span, .event-hero-copy > span, .event-intro > span, .event-rates header > span, .event-fit > div > span, .event-requirements header > span, .event-request header > span, .event-faq header > span) {
    align-items: center;
    color: inherit;
    display: inline-flex;
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 700;
    gap: 0.6rem;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

html.sub7-ui .site-shell :is(.partners-hero-copy > span, .partner-thesis span, .partner-model header > span, .partner-work > div > span, .partner-inquiry > span, .event-hero-copy > span, .event-intro > span, .event-rates header > span, .event-fit > div > span, .event-requirements header > span, .event-request header > span, .event-faq header > span)::before {
    background: var(--signal);
    content: '';
    flex: none;
    height: 0.5rem;
    width: 0.5rem;
}

html.sub7-ui .site-shell .partner-model li > span {
    color: var(--signal);
    font-size: 0.75rem;
}

html.sub7-ui .site-shell .partner-inquiry {
    background: var(--action);
}

html.sub7-ui .site-shell .partners-page .partner-inquiry > span::before {
    background: #fff;
}

html.sub7-ui .site-shell .partner-inquiry p {
    font-family: var(--font-ui);
    font-size: 1rem;
    line-height: 1.65;
}

html.sub7-ui .site-shell .partner-inquiry a + a {
    margin-left: 1.75rem;
}

/* Company information pages: reading-width documents, so section titles step down from the page display size. */
html.sub7-ui .site-shell .company-page h2 {
    font-size: clamp(1.75rem, 2.6vw, 2.25rem);
}

html.sub7-ui .site-shell .company-page .company-columns h2 {
    font-size: 1.625rem;
}
/* Owner journey page: paper and white surfaces, one entry-title size, UI type for owner notes, ink feature band. */
html.sub7-ui .site-shell .journey-facts {
    background: var(--surface);
    border-bottom-color: var(--line-light);
}

html.sub7-ui .site-shell .journey-facts dl > div + div {
    border-left-color: var(--line-light);
}

html.sub7-ui .site-shell :is(.journey-facts dt, .journey-truths dt, .dossier-fields dt, .journey-entry-date time, .journey-entry-date span, .journey-entry-copy > small) {
    font-family: var(--font-ui);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
}

html.sub7-ui .site-shell :is(.journey-facts dt, .journey-entry-date time) {
    color: var(--text-muted);
}

html.sub7-ui .site-shell :is(.journey-entry-date span, .journey-entry-copy > small) {
    color: var(--action);
}

html.sub7-ui .site-shell :is(.journey-latest-entry, .journey-entry-list > li, .journey-earlier-heading, .journey-entry-list > li:last-child) {
    border-color: var(--line-light);
}

html.sub7-ui .site-shell :is(.journey-entry-copy h3, .journey-entry-list .journey-entry-copy h3) {
    font-family: var(--font-ui);
    font-size: clamp(1.375rem, 2vw, 1.75rem);
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
}

html.sub7-ui .site-shell :is(.journey-entry-copy > p, .journey-about > div > p, .timeline-events p, .journey-next > div > p) {
    color: var(--text-muted);
    font-family: var(--font-ui);
    font-size: 1rem;
    line-height: 1.65;
}

html.sub7-ui .site-shell .journey-about {
    background: var(--paper-deep);
}

html.sub7-ui .site-shell .journey-journal {
    background: var(--ink);
    color: var(--paper);
}

html.sub7-ui .site-shell .journey-journal :is(h2, .eyebrow) {
    color: var(--paper);
}

html.sub7-ui .site-shell .journey-journal > p {
    color: var(--smoke);
    font-family: var(--font-ui);
    font-size: 0.9375rem;
    line-height: 1.6;
}

html.sub7-ui .site-shell .journey-journal .journey-section-index {
    color: var(--smoke);
}

html.sub7-ui .site-shell .journey-next {
    background: var(--surface);
    border-top: 1px solid var(--line-light);
    color: var(--text);
}

html.sub7-ui .site-shell .journey-next h2 {
    font-size: clamp(2.125rem, 3.4vw, 3.25rem);
}

html.sub7-ui .site-shell .journey-next .eyebrow::before {
    background: var(--signal);
}

html.sub7-ui .site-shell .journey-next li span {
    color: var(--action);
}

html.sub7-ui .site-shell .journey-next .button {
    background: var(--action);
    border-color: var(--action);
}

html.sub7-ui .site-shell .journey-next .button:hover {
    background: var(--action-hover);
    border-color: var(--action-hover);
}
@media (max-width: 1000px) {
    html.sub7-ui .site-shell :is(.journal-record-link, .platform-header > div, .dossier) {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 850px) {
    html.sub7-ui .site-shell :is(.journal-feature, .partner-spotlight, .event-hero-copy, .partners-hero-copy) {
        grid-template-columns: 1fr;
    }

    html.sub7-ui .site-shell :is(.event-hero-copy, .partners-hero-copy) h1 {
        grid-row: auto;
    }
}

@media (max-width: 680px) {
    html.sub7-ui .site-shell main h1 {
        font-size: 2.75rem;
    }

    html.sub7-ui .site-shell main h2 {
        font-size: 2.25rem;
    }

    html.sub7-ui .site-shell main h3 {
        font-size: 1.25rem;
    }

    html.sub7-ui .site-shell .manifesto-intro h2 {
        font-size: 2.25rem;
    }

    html.sub7-ui .site-shell .manifesto-body {
        gap: 1rem;
        grid-template-columns: 3rem minmax(0, 1fr);
    }

    html.sub7-ui .site-shell .manifesto-body img {
        width: 3rem;
    }

    html.sub7-ui .site-shell .manifesto-principles > div {
        padding: 1.25rem 0;
    }

    html.sub7-ui .site-shell :is(.event-hero-media, .partners-hero-media) {
        aspect-ratio: 1 / 1;
        max-height: none;
    }

    html.sub7-ui .site-shell .partners-hero-media img {
        object-position: 30% 50%;
    }

    html.sub7-ui .site-shell :is(.event-hero-copy, .partners-hero-copy) {
        gap: 0.75rem;
        padding-block: 1.5rem;
    }
}