/* OTAS V1 global components. OTAS-0012. Staging only.
   Loaded after site.css and overhaul.css on pages with body class "v1".
   Colour values come from House Style 7.1 and Brand Lock v2.5 only.
   Magenta (#E3008C) is used only for eyebrows and section numbers at 19px bold or larger (D-001).
   Level colours appear only in .v1-level, as the level bar plus the level word (D-002). No dots. */

body.v1{
  --v1-ink:#2C2B30; --v1-ivory:#F7F4EF; --v1-white:#FFFFFF; --v1-card:#E8E2D6;
  --v1-rule:#C9CDD4; --v1-text-grey:#4A4950; --v1-caption:#666666; --v1-magenta:#E3008C;
  --v1-op:#FD802E; --v1-tac:#00D4C8; --v1-tac-on:#102A43; --v1-strat:#F5C518;
  --v1-red:#B42318;
  --v1-target:44px; --v1-focus:3px solid var(--v1-ink); --v1-measure:70ch;
  font-family:"Source Sans Pro","Source Sans 3",Arial,Helvetica,sans-serif;
  font-size:19px; line-height:1.55; color:var(--v1-ink); background:var(--v1-ivory);
}
body.v1 *:focus-visible{outline:var(--v1-focus);outline-offset:2px}
body.v1 .ink *:focus-visible,body.v1 .v1-head *:focus-visible,body.v1 .v1-foot *:focus-visible{outline-color:var(--v1-ivory)}
body.v1 h1,body.v1 h2,body.v1 h3{font-weight:700;color:inherit;line-height:1.15}
body.v1 a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){body.v1 *{animation:none!important;transition:none!important}}

/* Skip link */
body.v1 .v1-skip{position:absolute;left:-9999px;top:0;background:var(--v1-ivory);color:var(--v1-ink);padding:12px 16px;font-weight:700;z-index:100}
body.v1 .v1-skip:focus{left:8px;top:8px}

/* Header shell. Ink and ivory only (WS-NAV-6). */
body.v1 .v1-head{background:var(--v1-ink);color:var(--v1-ivory)}
body.v1 .v1-head .v1-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;margin:0 auto;padding:12px 24px;min-height:76px}
body.v1 .v1-head .v1-logo{display:inline-flex;min-height:var(--v1-target);align-items:center}
body.v1 .v1-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
body.v1 .v1-nav a{display:inline-flex;align-items:center;min-height:var(--v1-target);padding:0 12px;color:var(--v1-ivory);text-decoration:none;font-weight:700;font-size:18px;border-bottom:3px solid transparent}
body.v1 .v1-nav a:hover{border-bottom-color:var(--v1-ivory)}
/* Current page: underline bar plus aria-current, so more than colour marks it (WS-NAV-7). */
body.v1 .v1-nav a[aria-current="page"]{border-bottom-color:var(--v1-ivory)}
body.v1 .v1-menu{display:none}
@media (max-width:1023px){
  body.v1 .v1-nav-desk{display:none}
  body.v1 .v1-menu{display:block;position:relative}
  body.v1 .v1-menu summary{list-style:none;cursor:pointer;min-height:var(--v1-target);min-width:var(--v1-target);display:inline-flex;align-items:center;padding:0 14px;border:2px solid var(--v1-ivory);font-weight:700}
  body.v1 .v1-menu summary::-webkit-details-marker{display:none}
  body.v1 .v1-menu .v1-nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--v1-ink);padding:12px;min-width:240px;z-index:50;border:1px solid var(--v1-ivory)}
  body.v1 .v1-menu .v1-nav ul{flex-direction:column}
}

/* Eyebrow and section number. Magenta allowed here only (D-001), 19px bold so contrast passes as large text. */
body.v1 .v1-eyebrow{display:block;font-size:19px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--v1-magenta);margin:0 0 14px;line-height:1.2}
body.v1 .v1-num{font-size:19px;font-weight:700;color:var(--v1-magenta);letter-spacing:.06em}
body.v1 .ink .v1-eyebrow,body.v1 .ink .v1-num{color:var(--v1-magenta)}

/* Sections */
body.v1 .v1-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
body.v1 .v1-sec{padding:clamp(56px,7vw,96px) 0}
body.v1 .v1-sec.paper{background:var(--v1-ivory)}
body.v1 .v1-sec.white{background:var(--v1-white)}
body.v1 .v1-sec.ink{background:var(--v1-ink);color:var(--v1-ivory)}
body.v1 .v1-prose{max-width:var(--v1-measure)}

/* Buttons. CTA vocabulary is fixed by WS-CTA-1. Primary ink fill, ivory text. Secondary ivory or white with 2px ink border (WS-CTA-5). */
body.v1 .v1-btn,body.v1 .v1-btn-2{display:inline-flex;align-items:center;justify-content:center;min-height:var(--v1-target);min-width:var(--v1-target);padding:12px 26px;font-weight:700;font-size:19px;line-height:1.2;text-decoration:none;border-radius:0;cursor:pointer;font-family:inherit}
body.v1 .v1-btn{background:var(--v1-ink);color:var(--v1-ivory);border:2px solid var(--v1-ink)}
body.v1 .v1-btn:hover{text-decoration:underline}
body.v1 .v1-btn-2{background:var(--v1-white);color:var(--v1-ink);border:2px solid var(--v1-ink)}
body.v1 .v1-btn-2:hover{text-decoration:underline}
body.v1 .ink .v1-btn{border-color:var(--v1-ivory)}
body.v1 .ink .v1-btn-2{background:var(--v1-ivory)}
/* Disabled: Join OTAS at V1 (WS-CTA-3). Not a link, no checkout. */
body.v1 .v1-btn[aria-disabled="true"],body.v1 .v1-btn:disabled{background:var(--v1-card);color:var(--v1-ink);border:2px dashed var(--v1-ink);cursor:not-allowed;text-decoration:none}
body.v1 .v1-btn-note{display:block;font-size:16px;color:var(--v1-text-grey);margin-top:8px}
body.v1 .ink .v1-btn-note{color:var(--v1-ivory)}
body.v1 .v1-ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* Breadcrumb */
body.v1 .v1-crumbs ol{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-size:16px}
body.v1 .v1-crumbs li+li::before{content:"/";padding:0 8px;color:var(--v1-text-grey)}
body.v1 .v1-crumbs a{display:inline-flex;align-items:center;min-height:var(--v1-target)}
body.v1 .v1-crumbs [aria-current="page"]{font-weight:700;display:inline-flex;align-items:center;min-height:var(--v1-target)}

/* Stream label. Streams have no colour (WS-HOME-5, D-002). */
body.v1 .v1-stream{display:block;font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:inherit;margin:0 0 10px}

/* Level treatment: level bar plus the written level word (D-002, Brand Lock v2.5 decisions 3 and 9). No dots or discs. */
body.v1 .v1-level{display:inline-flex;flex-direction:column;gap:6px;margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:inherit}
body.v1 .v1-level::before{content:"";display:block;width:64px;height:8px}
body.v1 .v1-level.op::before{background:var(--v1-op)}
body.v1 .v1-level.tac::before{background:var(--v1-tac)}
body.v1 .v1-level.strat::before{background:var(--v1-strat)}

/* Cards. Card fill, hairline rule only. */
body.v1 .v1-cards{list-style:none;margin:0;padding:0;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
body.v1 .v1-card{background:var(--v1-card);border:1px solid var(--v1-rule);padding:24px;display:flex;flex-direction:column;gap:12px;height:100%;box-sizing:border-box}
body.v1 .v1-card h3{margin:0;font-size:24px}
body.v1 .v1-card p{margin:0}
body.v1 .v1-card .v1-card-link{margin-top:auto;font-weight:700;min-height:var(--v1-target);display:inline-flex;align-items:center}
body.v1 .white .v1-card{background:var(--v1-ivory)}
body.v1 .ink .v1-card{background:transparent;border-color:var(--v1-rule);color:var(--v1-ivory)}

/* Tables. Ink header bar with ivory bold text (Brand Lock decision 9). */
body.v1 .v1-table-wrap{overflow-x:auto}
body.v1 .v1-table{border-collapse:collapse;width:100%;font-size:18px;background:var(--v1-white)}
body.v1 .v1-table caption{text-align:left;font-weight:700;padding:0 0 10px}
body.v1 .v1-table th,body.v1 .v1-table td{padding:12px 14px;border-bottom:1px solid var(--v1-rule);text-align:left;vertical-align:top}
body.v1 .v1-table thead th{background:var(--v1-ink);color:var(--v1-ivory);font-weight:700}

/* Forms */
body.v1 .v1-form{display:grid;gap:20px;max-width:640px}
body.v1 .v1-field label,body.v1 .v1-field legend{display:block;font-weight:700;margin:0 0 6px}
body.v1 .v1-field .v1-hint{display:block;font-size:16px;color:var(--v1-text-grey);margin:0 0 6px}
body.v1 .v1-field input,body.v1 .v1-field select,body.v1 .v1-field textarea{width:100%;box-sizing:border-box;min-height:var(--v1-target);padding:10px 12px;font:inherit;color:var(--v1-ink);background:var(--v1-white);border:2px solid var(--v1-ink);border-radius:0}
body.v1 .v1-field fieldset{border:0;margin:0;padding:0}
body.v1 .v1-check{display:flex;gap:10px;align-items:center;min-height:var(--v1-target)}
body.v1 .v1-check input{width:24px;height:24px}
/* Errors: a red bar plus the word Error, never colour alone. */
body.v1 .v1-field.is-error input,body.v1 .v1-field.is-error textarea,body.v1 .v1-field.is-error select{border-left:8px solid var(--v1-red)}
body.v1 .v1-error{display:block;font-weight:700;margin:0 0 6px;padding-left:10px;border-left:4px solid var(--v1-red)}

/* Responsibility block: "Where OTAS responsibility ends" (WS-CELL-5). Ink rule, no colour meaning. */
body.v1 .v1-resp{border:2px solid var(--v1-ink);background:var(--v1-white);padding:24px;max-width:var(--v1-measure)}
body.v1 .v1-resp h2{margin:0 0 12px;font-size:26px}
body.v1 .v1-resp dl{margin:0;display:grid;gap:10px}
body.v1 .v1-resp dt{font-weight:700}
body.v1 .v1-resp dd{margin:0 0 6px}

/* Photo caption line (WS-VIS-6) */
body.v1 .v1-fig figcaption{font-size:16px;color:var(--v1-caption);margin-top:8px}
body.v1 .ink .v1-fig figcaption{color:var(--v1-ivory)}

/* Footer shell. Ink and ivory only. */
body.v1 .v1-foot{background:var(--v1-ink);color:var(--v1-ivory);padding:56px 0 32px;font-size:17px}
body.v1 .v1-foot a{color:var(--v1-ivory);display:inline-flex;align-items:center;min-height:var(--v1-target)}
body.v1 .v1-foot .v1-foot-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
body.v1 .v1-foot h2{font-size:16px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
body.v1 .v1-foot ul{list-style:none;margin:0;padding:0}
body.v1 .v1-foot .v1-foot-base{border-top:1px solid var(--v1-text-grey);margin-top:32px;padding-top:20px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
body.v1 .v1-ctas+.v1-ctas{margin-top:16px}
body.v1 .v1-levels{display:flex;flex-wrap:wrap;gap:24px}

/* OTAS-0013. Secondary navigation strip, above the footer on every page. Ink and ivory only. */
body.v1 .v1-secnav{background:var(--v1-ivory);border-top:1px solid var(--v1-rule)}
body.v1 .v1-secnav ul{list-style:none;margin:0;padding:12px 0;display:flex;flex-wrap:wrap;gap:4px 8px}
body.v1 .v1-secnav a{display:inline-flex;align-items:center;min-height:var(--v1-target);padding:0 10px;font-size:17px;font-weight:700;color:var(--v1-ink)}
body.v1 .v1-secnav a[aria-current="page"]{text-decoration-thickness:3px}
body.v1 .v1-foot-base p{margin:0;display:flex;gap:16px;flex-wrap:wrap}
