/* ATELIER GRAND SLAM - ONE CENTRAL DESIGN SYSTEM, 12 OCTOBER 2026.
   Explicit components: sections, editorial content, cards, supplementary notes.
   No nth-child colouring, no broad selectors that turn normal content gold. */
:root {
  --navy-900:#0a1d36; --navy-950:#061526; --navy-hover:#183858;
  --ivory-100:#f7f4ee; --paper:#fff; --gold-600:#9d7738;
  --gold-500:#b59454; --gold-pale:#f3e8d2;
  --slate-700:#405064; --slate-600:#53616f; --line:#ded8cd;
  --max:1240px; --content:850px;
  --page-gutter:max(28px,calc((100% - var(--max))/2 + 28px));
  --section-space:clamp(54px,6vw,88px);
  --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif;
}
*,*::before,*::after {box-sizing:border-box}
html {scrollbar-gutter:stable;overflow-y:scroll;scroll-behavior:smooth}
body {margin:0;background:var(--paper);color:var(--navy-900);font:16px/1.75 var(--sans)}
[hidden] {display:none!important}
img {max-width:100%;height:auto;display:block}
a {color:inherit;text-decoration:none}
p {margin:0 0 20px;color:var(--slate-700)}
h1,h2,h3 {font-family:var(--serif);font-weight:400;color:var(--navy-900);text-wrap:balance}
h1 {font-size:clamp(42px,5.4vw,76px);line-height:1.07;letter-spacing:-.035em;margin:0 0 28px;max-width:1100px}
h2 {font-size:clamp(29px,3vw,42px);line-height:1.2;letter-spacing:-.02em;margin:0 0 22px}
h3 {font-size:clamp(24px,2.3vw,32px);line-height:1.25;margin:0 0 16px}
button,input,textarea,select {font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:2px solid var(--gold-600);outline-offset:4px}
::selection {background:#dce7f0;color:var(--navy-900)}
.skip-link {position:absolute;left:20px;top:-80px;z-index:2000;background:var(--paper);padding:12px 18px}
.skip-link:focus {top:12px}

/* Shared chrome */
.nav {display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px;padding:18px var(--page-gutter);border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:100}
.brand {display:flex;gap:.5em;font:600 16px/1.4 var(--serif);letter-spacing:.17em;white-space:nowrap}
.brand-grand-slam {color:var(--gold-600)}
.nav-links {display:flex;align-items:center;gap:24px}
.nav-links>a {font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 0;white-space:nowrap}
.nav-links>a:not(.nav-cta):is(:hover,[aria-current=page]) {color:var(--gold-600)}
.nav-links>a[aria-current=page]:not(.nav-cta) {box-shadow:0 1px var(--gold-500)}
.nav .nav-cta {padding:15px 22px;background:var(--navy-900);color:var(--paper);border:1px solid var(--navy-900)}
.nav .nav-cta:hover {background:var(--navy-hover)}
.nav-toggle {display:none;padding:10px 12px;background:transparent;border:1px solid var(--line);color:var(--navy-900);font-size:12px;letter-spacing:.08em}
.footer {padding:60px var(--page-gutter) 28px;background:var(--navy-950);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:28px 60px}
.footer strong {font:400 17px var(--serif);letter-spacing:.16em}
.footer p {color:#d7dde3;margin:14px 0 0;font-size:14px}
.footer>div:nth-child(2) {display:flex;flex-wrap:wrap;align-content:start;gap:14px 22px;font-size:13px}
.footer .fine,.footer .copyright {grid-column:1/-1;color:#c6ced7;font-size:12px;line-height:1.8}

/* Full-width bands: their background belongs to the section, never a text box. */
.article {width:100%;max-width:none;margin:0;padding:0;background:var(--paper)}
.hero,.section,.ags-band {padding:var(--section-space) var(--page-gutter);margin:0;border:0;box-shadow:none;background:var(--paper)}
.hero,.ags-band-intro {padding-top:clamp(68px,7vw,108px)}
.section.alt,.ags-band-ivory {background:var(--ivory-100)}
.section,.ags-band-white {background:var(--paper)}
.inner,.ags-content {width:100%;max-width:none;margin:0}
.eyebrow,.meta,.founder-role {color:var(--gold-600);font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.6;text-transform:uppercase;margin:0 0 24px}
.lead {font-size:clamp(18px,1.6vw,22px);line-height:1.75;max-width:850px;margin-bottom:28px}
.section-intro,.section>p,.ags-band>p {max-width:var(--content)}
.breadcrumb {font-size:12px;line-height:1.65;color:var(--slate-600);margin-bottom:30px}
.breadcrumb a {color:var(--gold-600)}
.collector-editorial {max-width:var(--content);margin:38px 0 0;padding:0;background:transparent;border:0;box-shadow:none}
.collector-editorial h2:not(:first-child),.ags-band>h2:not(:first-child) {margin-top:44px}
.collector-editorial p:last-child {margin-bottom:0}
.collector-group+.collector-group {margin-top:64px}
.collector-group>p {max-width:var(--content)}
.model-enquiries {margin-top:40px;padding:0;background:transparent;border:0}
.marque-trademark-notice,.form-note,.image-disclosure {max-width:var(--content);font-size:14px;line-height:1.75;color:var(--slate-600);margin-top:24px}
.quote {font:400 clamp(25px,3vw,38px)/1.45 var(--serif);max-width:900px;color:var(--navy-900)}

/* Gold has one role: a supplementary explanation with a dark-gold keyline. */
.ags-note {display:block;max-width:var(--content);margin:32px 0;padding:22px 26px;background:var(--gold-pale);border:0;border-left:4px solid var(--gold-600);color:var(--navy-900)}
.ags-note p {color:var(--navy-900);margin:0;font-size:15px;line-height:1.8}
.ags-note .note-label {display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600);font-weight:600;margin-bottom:10px}
.collector-selection-note,.collector-assessment {max-width:var(--content);color:var(--slate-700)}

/* Buttons and quiet text links */
.actions {display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:30px 0 0;padding:0;background:transparent;border:0}
.btn,.btn-submit {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 22px;border:1px solid var(--navy-900);background:var(--navy-900);color:var(--paper);font:600 11px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-align:center;cursor:pointer}
.btn:hover,.btn-submit:hover {background:var(--navy-hover);border-color:var(--navy-hover)}
.btn.btn-outline {background:transparent;color:var(--navy-900)}
.btn.btn-outline:hover {background:var(--navy-900);color:var(--paper)}
.btn:disabled {opacity:.5;cursor:wait}
.text-link {color:var(--navy-900);border-bottom:1px solid var(--gold-500);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.text-link:hover {color:var(--gold-600)}

/* Cards are navigational content, not explanatory gold callouts. */
.marque-grid,.collection-list,.representation-grid,.founder-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:34px 0 0}
.marque-card,.collection-item,.representation-card,.founder-card {background:var(--paper);border:1px solid var(--line);padding:32px;min-width:0;box-shadow:none}
.marque-card,.collection-item {display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:280px}
.marque-card:hover,.collection-item:hover {border-color:var(--gold-500)}
.marque-card p,.collection-item p {font-size:15px;line-height:1.75;margin-bottom:16px}
.marque-card>span {font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-600)}
.home-marque-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px}
.home-marque-heading h3 {margin:0}
.home-marque-logo {width:auto;height:auto;max-width:90px;max-height:30px;object-fit:contain;flex:none}
.home-marque-logo--ferrari,.home-marque-logo--koenigsegg,.home-marque-logo--mercedes-benz {max-width:32px}
.collection-item small {display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-600);margin-bottom:16px}
.collector-card-note {font-size:14px!important;color:var(--slate-600);padding:0;margin:18px 0 0;background:transparent;border:0}
/* Titles and images have separate, measured areas: never overlap. */
.collector-preview-card {overflow:hidden;min-height:360px;--preview-top:140px;background:var(--paper);transition:border-color .24s ease}
.collector-card-copy {position:relative;z-index:2}
.collector-card-copy :is(small,h3) {position:relative;background:var(--paper)}
.collector-card-copy p {transition:opacity .2s ease}
.collector-preview {position:absolute;top:var(--preview-top);left:20px;right:20px;width:calc(100% - 40px);height:calc(100% - var(--preview-top) - 24px);object-fit:contain;object-position:center bottom;background:var(--paper);opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .32s ease;pointer-events:none;z-index:1}
.is-preview-active.is-preview-ready .collector-preview {opacity:1;transform:translateY(0)}
.is-preview-active.is-preview-ready .collector-card-copy p {opacity:0}
.collector-preview-card:focus-within {border-color:var(--gold-500)}
.steps,.atelier-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 0;background:transparent;border:0}
.step,.atelier-step {min-width:0;padding:28px;background:var(--paper);border:1px solid var(--line)}
.step>span,.step-number {font-size:11px;letter-spacing:.1em;color:var(--gold-600);text-transform:uppercase}
.step h3,.atelier-step h3 {margin-top:16px;font-size:27px}
.step p,.atelier-step p {font-size:15px;margin-bottom:0}
.representation-card .meta {display:block;margin-bottom:16px}
.approach-panel,.atelier-closing {background:transparent;padding:0;border:0;box-shadow:none}
/* Atelier photography and editorial sections share a deliberate spacing rhythm. */
.atelier-photo-band {padding-top:0;padding-bottom:64px}
.founders-image {width:100%;max-width:1120px;margin:0}
.founders-image img {width:100%;height:auto}
.founders-image figcaption {margin-top:24px;padding-top:20px;border-top:1px solid var(--line);max-width:850px;font-size:14px;line-height:1.8;color:var(--slate-600)}
.atelier-section {margin-top:48px}
.atelier-section>p,.atelier-approach>p {max-width:var(--content)}
.atelier-partnership-grid {margin-top:38px}
.atelier-partnership-grid h3 {font-size:30px}
.page-atelier .atelier-steps {grid-template-columns:repeat(2,minmax(0,1fr))}
.atelier-approach .text-link {font-size:inherit}
.founder-card p {font-size:16px}

/* Every model uses the same shared layout and components. */
.car-hero .hero-image {max-width:1050px;margin:36px 0 0;aspect-ratio:16/9;background:var(--paper);border:0;box-shadow:none;overflow:hidden}
.hero-image img,.hero-image picture {display:block;width:100%;height:100%;object-fit:contain}
.hero-image {margin:32px 0;background:var(--paper)}
.hero-image figcaption {font-size:13px;color:var(--slate-600)}
.facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0 0;max-width:1050px}
.fact {padding:18px 0 0;border-top:1px solid var(--line);background:transparent;font-size:15px;color:var(--slate-700)}
.fact b {display:block;margin-bottom:8px;color:var(--gold-600);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.editorial-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;max-width:1150px}
.editorial-grid article {min-width:0;background:transparent;padding:0;border:0}
.editorial-grid p {font-size:16px}
.car-perspective,.car-acquisition {max-width:var(--content)}
.car-acquisition .actions {max-width:none}
.collection-return {margin-top:24px}
.image-unavailable {display:none}
.image-pending {color:var(--slate-600);font-size:14px}
/* During staged uploads, older model files remain readable until replaced. */
.page-car:not(.ags-main-site) .article {width:min(1040px,calc(100% - 40px));margin:0 auto;padding:64px 0}
.page-car:not(.ags-main-site) .article>h2 {margin-top:44px}
.page-car:not(.ags-main-site) .note {font-size:14px;color:var(--slate-600);margin-top:30px}

/* Secure enquiry forms: white form surfaces on ivory sections. */
.enquiry-form {max-width:1020px;padding:clamp(22px,4vw,44px);border:1px solid var(--line);background:var(--paper)}
.form-intro {font-size:15px;max-width:850px}
.form-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
fieldset {padding:0;margin:34px 0;border:0;min-width:0}
legend {font:400 27px/1.3 var(--serif);color:var(--navy-900);margin-bottom:24px}
.form-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px}
.form-field {display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field-wide {grid-column:1/-1}
.form-field label {font-size:14px;font-weight:600;color:var(--navy-900)}
.form-field input,.form-field select,.form-field textarea {width:100%;max-width:100%;padding:12px 14px;background:var(--paper);color:var(--navy-900);border:1px solid #9caab8;border-radius:0;min-height:46px}
.form-field textarea {resize:vertical;min-height:120px}
.form-field small {color:var(--slate-600);font-size:13px}
.consent-row {display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-size:14px;line-height:1.75}
.consent-row input {flex:none;margin:5px 0 0;width:18px;height:18px;accent-color:var(--navy-900)}
.form-status {font-size:14px;margin-top:20px}
.form-error-summary {border-left:4px solid #a13636;background:#fff2f2;padding:20px;margin:20px 0}
.field-error {color:#a13636;font-size:13px}
[aria-invalid=true] {border-color:#a13636!important}
.form-result {padding:70px var(--page-gutter);background:var(--ivory-100);min-height:100vh}
.form-result-card {max-width:800px;background:var(--paper);padding:40px;border:1px solid var(--line)}
.page-404 .article {padding:90px var(--page-gutter)}

/* One set of responsive breakpoints, shared by all page types. */
@media(max-width:1100px) {.nav-links {gap:15px}.nav-links>a {font-size:10px}.brand {font-size:14px}}
@media(max-width:980px) {
  :root {--page-gutter:24px}
  .nav {flex-wrap:wrap;min-height:76px;padding-block:16px}
  .nav-toggle {display:block}
  .nav-links {display:none;flex-direction:column;align-items:stretch;width:100%;padding:12px 0;gap:10px}
  .nav-links.open {display:flex}
  .nav-links>a {font-size:12px;padding:12px 0}
  .nav-links .nav-cta {text-align:center;padding:15px}
  .steps,.atelier-steps {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
  :root {--page-gutter:20px;--section-space:52px}
  .marque-grid,.collection-list,.representation-grid,.founder-grid,.editorial-grid,.steps,.atelier-steps {grid-template-columns:1fr}
  .marque-card,.collection-item,.representation-card,.founder-card {padding:26px;min-height:0}
  .collector-preview-card {min-height:360px}
  .page-atelier .atelier-steps {grid-template-columns:1fr}
  .atelier-photo-band {padding-bottom:44px}
  .editorial-grid {gap:32px}
  .facts {gap:18px}
  .fact {font-size:14px}
  .footer {grid-template-columns:1fr;gap:28px}
  .footer .fine,.footer .copyright {grid-column:auto}
  .collector-group+.collector-group {margin-top:48px}
  .form-fields {grid-template-columns:1fr}
  .form-field-wide {grid-column:auto}
}
@media(max-width:480px) {
  .brand {font-size:12px;letter-spacing:.12em;gap:.45em}
  h1 {font-size:40px}.actions {align-items:stretch;gap:12px}
  .actions .btn {width:100%}.actions .text-link {width:fit-content}
  .facts {grid-template-columns:1fr;gap:14px}
  .ags-note {padding:20px}.enquiry-form {padding:22px 18px}
  .car-hero .hero-image {margin-top:26px}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}.collector-preview,.collector-card-copy p,.collector-preview-card {transition:none}.collector-preview {transform:none}}
