@font-face{font-family:LibreCaslonText;src:url('../fonts/libre-caslon-text-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:LibreCaslonText;src:url('../fonts/libre-caslon-text-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/archivo-latin-wdth-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

/* Horse-Oracle — AI Competition page: photo hero and method visuals. v1, 2026-10-02.
   Sits beside the 2.3.1 competition block; carries no results figures. Namespace: ac-.
   Horse-Oracle is always amber, the comparator always sage, the morning-line reference always an outline. */


.ac{--amber:#d99a2b;--amber-ink:#4a3003;--sage:#3f7d68;--sage-2:#7fb6a0;--display:LibreCaslonText,Georgia,serif;--copy:LibreCaslonText,Georgia,serif;--fig:Archivo,Arial,sans-serif;color:var(--ink,#14201b);font-family:var(--copy)}
.ac-wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}
.ac :where(h1,h2,h3){font-family:var(--display);font-weight:700;margin:0;letter-spacing:-.005em;color:var(--ink,#14201b)}
.ac p{margin:0}
.ac-h2{font-size:clamp(30px,3vw,40px);line-height:1.1}
.ac-lede{margin-top:14px;font-size:18px;line-height:1.6;color:var(--ink-2,#44524a);max-width:38em}
.ac-label{font-family:var(--fig);font-stretch:var(--fig-wide,92%);font-weight:600;font-size:14px;line-height:1.3;color:var(--ink-3,#5c6862)}
.ac-section{padding-block:clamp(48px,6vw,80px)}
.ac-section--alt{background:var(--paper-2,#fefaf2);border-block:1px solid var(--rule,#cbbd98)}

/* ---- Hero ---- */
.ac-hero{position:relative;min-height:clamp(380px,52vh,560px);display:flex;align-items:flex-end;background:var(--night,#101e16);overflow:hidden}
.ac-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--ac-focus,60% 45%)}
.ac-hero__panel{position:relative;margin-bottom:clamp(28px,5vw,56px);max-width:600px;background:color-mix(in srgb,var(--night,#101e16) 92%,transparent);border-left:3px solid var(--gold,#c3a45a);padding:26px 30px 28px}
.ac-hero h1{color:var(--on-night,#f5f1e7);font-size:clamp(38px,4.3vw,60px);line-height:1.04}
.ac-hero__dek{margin-top:14px;color:var(--on-night,#f5f1e7);font-size:19px;line-height:1.5;max-width:30em}

/* ---- 1. Who is on the board: the key ---- */
.ac-parties{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.ac-party{padding-top:18px;position:relative}
.ac-party::before{content:"";position:absolute;top:0;left:0;right:0;height:8px}
.ac-party--us::before{background:var(--amber)}
.ac-party--them::before{background:var(--sage)}
.ac-party--ref::before{background:transparent;border:2px solid var(--ink,#14201b);height:8px;box-sizing:border-box}
.ac-party h3{font-size:24px;line-height:1.2;margin-top:6px}
.ac-party p{margin-top:8px;font-size:17px;line-height:1.6;color:var(--ink-2,#44524a)}
.ac-party a{color:var(--ink,#14201b);text-decoration-thickness:1px;text-underline-offset:3px}

/* ---- 2. How each race is scored: six steps on the night band ---- */
.ac-steps-band{background:var(--night,#101e16);color:var(--on-night,#f5f1e7);padding-block:clamp(48px,6vw,80px)}
.ac-steps-band .ac-h2{color:var(--on-night,#f5f1e7)}
.ac-steps-band .ac-lede{color:var(--on-night-dim,#b9c4bc)}
.ac-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:step;border-top:1px solid #2c3d33}
.ac-step{counter-increment:step;padding:24px 28px 28px 0;border-bottom:1px solid #2c3d33;display:grid;grid-template-columns:3.2rem 1fr;column-gap:14px}
.ac-step::before{content:counter(step);grid-row:span 2;font-family:var(--fig);font-stretch:var(--fig-w,78%);font-weight:700;font-size:48px;line-height:.9;color:var(--gold-2,#e4ce92);font-variant-numeric:tabular-nums}
.ac-step h3{color:var(--on-night,#f5f1e7);font-size:21px;line-height:1.2}
.ac-step p{margin-top:6px;font-size:16px;line-height:1.55;color:var(--on-night-dim,#b9c4bc)}

/* ---- 3. Only disagreements decide it: the 2x2 ---- */
.ac-split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:center}
.ac-grid{display:grid;grid-template-columns:auto 1fr 1fr;grid-template-rows:auto 1fr 1fr;gap:6px}
.ac-grid__col,.ac-grid__row{font-family:var(--fig);font-stretch:var(--fig-wide,92%);font-weight:600;font-size:14px;color:var(--ink-2,#44524a);display:flex;align-items:center}
.ac-grid__col{justify-content:center;padding:0 4px 6px;text-align:center}
.ac-grid__row{justify-content:flex-end;padding-right:10px;text-align:right;max-width:9.5em}
.ac-cell{min-height:150px;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--rule,#cbbd98);background:var(--paper,#f5f1e7)}
.ac-cell b{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2}
.ac-cell span{font-family:var(--fig);font-stretch:var(--fig-wide,92%);font-weight:600;font-size:14px;color:var(--ink-3,#5c6862)}
.ac-cell--us{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}
.ac-cell--us span{color:var(--amber-ink)}
.ac-cell--them{background:var(--sage);border-color:var(--sage);color:#fff}
.ac-cell--them span{color:#fff}
.ac-cell--tie{background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(20,32,27,.05) 7px 8px),var(--paper,#f5f1e7)}
.ac-split__text p+p{margin-top:14px}
.ac-split__text p{font-size:18px;line-height:1.6;color:var(--ink-2,#44524a)}

/* ---- 4. Close or leads: the staircase and the range shapes ---- */
.ac-stairs{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:8px}
.ac-stair{display:flex;flex-direction:column;justify-content:flex-start;padding:16px 16px 18px;border-top:4px solid var(--ink,#14201b);background:var(--paper,#f5f1e7)}
.ac-stair:nth-child(1){min-height:150px;border-top-color:var(--ink-3,#5c6862)}
.ac-stair:nth-child(2){min-height:200px}
.ac-stair:nth-child(3){min-height:250px}
.ac-stair:nth-child(4){min-height:300px;border-top-color:var(--gold,#c3a45a)}
.ac-stair .ac-when{font-family:var(--fig);font-stretch:var(--fig-w,78%);font-weight:700;font-size:26px;line-height:1.05;font-variant-numeric:tabular-nums}
.ac-stair .ac-say{margin-top:10px;font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2}
.ac-stair p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--ink-2,#44524a)}

.ac-ranges{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center}
.ac-ranges svg{width:100%;height:auto;display:block}
.ac-ranges h3{font-size:24px;line-height:1.2}
.ac-ranges p{margin-top:10px;font-size:17px;line-height:1.6;color:var(--ink-2,#44524a)}
.ac-svg-label{font-family:var(--fig);font-stretch:92%;font-weight:600;font-size:14px;fill:var(--ink-2,#44524a)}
.ac-svg-say{font-family:var(--display);font-weight:700;font-size:17px;fill:var(--ink,#14201b)}

.ac a:focus-visible{outline:3px solid var(--gold,#c3a45a);outline-offset:3px}

@media (max-width:899px){
  .ac-parties{grid-template-columns:1fr}
  .ac-steps{grid-template-columns:1fr 1fr}
  .ac-split,.ac-ranges{grid-template-columns:1fr}
  .ac-split__text{order:-1}
  .ac-stairs{grid-template-columns:1fr 1fr}
  .ac-stair:nth-child(n){min-height:0}
}
@media (max-width:640px){
  .ac-hero{min-height:420px}
  .ac-hero__panel{padding:22px 22px 24px}
  .ac-hero__dek{font-size:17px}
  .ac-steps{grid-template-columns:1fr}
  .ac-step{padding-right:0}
  .ac-stairs{grid-template-columns:1fr}
  .ac-cell{min-height:110px;padding:12px}
  .ac-cell b{font-size:17px}
  .ac-grid__row{max-width:6.5em;font-size:13px}
}
