/* TIM draft: additions on top of the Thrust site.css design system */
.draftbar{background:#FFF4CC;color:#5a4a00;font-family:var(--font);font-size:13.5px;letter-spacing:0;text-align:center;padding:7px 12px;border-bottom:1px solid #e9d98a}
.draftbar a{color:#5a4a00;font-weight:700}
.tbd{display:inline-block;background:#FFF1B8;color:#6b5300;border:1px dashed #c9a400;font-family:var(--font);font-size:.78em;font-weight:600;padding:0 6px;border-radius:3px;line-height:1.5;letter-spacing:0;cursor:help;white-space:normal}
.hero .tbd{background:#FFE680;color:#3d3000}
.chk{font-family:var(--font);font-size:13px;font-weight:700;color:#8a6d00;background:#FFF1B8;padding:0 4px;margin-left:3px;border-radius:2px;cursor:help;text-transform:none;letter-spacing:0}
.notice{background:#FFF8DB;border-bottom:1px solid #e9d98a}
.notice .wrap{padding-top:12px;padding-bottom:12px;font-size:15px;color:#4a3d00}
.logo img{height:58px;width:auto}
.hdr-tel{font-family:var(--font);font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;margin-left:auto;white-space:nowrap}
.hdr .main + .hdr-tel{margin-left:auto}
.hero-ey{color:#fff;opacity:.85;margin-bottom:18px}
.hero .btn.ghost{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)}
.hero .btn.ghost:hover{background:#fff;color:var(--ink)}
.flogo{height:64px;width:auto}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.cmp{min-width:720px}
table.cmp thead th{font-size:15px}
table.cmp td{vertical-align:top}
.new{display:inline-block;background:var(--red);color:#fff;font-family:var(--font);font-size:13px;letter-spacing:0;text-transform:none;padding:2px 6px;margin-left:6px;vertical-align:middle}
.tbl-note{font-size:14.5px;color:var(--ink-3);margin-top:18px;max-width:80ch}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.wc{padding:26px 26px 30px 0;border-bottom:1px solid var(--rule)}
.wc + .wc{padding-left:26px;border-left:1px solid var(--rule)}
.why .wc:nth-child(3n+1){padding-left:0;border-left:0}
.wc-k{font-family:var(--font);font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--red);margin-bottom:12px}
.wc h3{margin-bottom:12px}
.wc p{font-size:15.5px;margin:0}
.mods{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}
.mod{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--rule)}
.mod-n{font-family:var(--font);font-weight:700;color:var(--red);font-size:14px;padding-top:3px}
.mod h3{margin:0 0 4px;font-size:18px;color:var(--ink);letter-spacing:-.015em}
.mod p{margin:0;font-size:15px}
.fit{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fitc{background:#fff;border:1px solid var(--rule);padding:26px}
.fitc.on{border:2px solid var(--red)}
.fitc h3{margin-bottom:10px}
.fitc p{margin:0;font-size:15.5px}
.tdates{border-top:2px solid var(--ink)}
.dt{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--rule)}
.dt-d{font-weight:800;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.025em;color:var(--ink)}
.dt-m{font-family:var(--font);font-size:14px;color:var(--ink-3);align-self:center}
.dt.past{opacity:.45}
.dt.hy .dt-d{color:var(--red)}
.facts-l{list-style:none;padding:0;margin:0 0 26px}
.facts-l li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:16px}
.facts-l b{display:block;font-family:var(--font);font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--ink-3);font-weight:600;margin-bottom:3px}
.campuses.c4{grid-template-columns:repeat(4,1fr)}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 40px}
.tm{display:flex;gap:20px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.tm img,.tm .av{width:96px;height:96px;object-fit:cover;flex:none;background:var(--paper-3)}
.tm .av{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:30px;color:#fff;background:var(--ink)}
.tm h3{margin:0;font-size:20px;color:var(--ink);letter-spacing:-.02em}
.tm-t{font-family:var(--font);font-size:13.5px;color:var(--red);letter-spacing:0;margin:4px 0 8px}
.tm p{font-size:15px;margin:0}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quotes blockquote{margin:0;padding:24px;background:var(--paper-2);border-left:3px solid var(--red)}
.quotes p{font-size:16px;color:var(--ink)}
.quotes cite{font-family:var(--font);font-size:14px;font-style:normal;color:var(--ink-3)}
.esteps{counter-reset:s;list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.esteps li{counter-increment:s;padding:18px 0 18px 54px;border-bottom:1px solid var(--rule);position:relative;font-size:16.5px}
.esteps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:18px;font-family:var(--font);font-weight:700;color:var(--red)}
.esteps b{color:var(--ink)}
.srcs{font-size:15px}
.split.flip > figure{order:0}
.apf-msg.prev{color:#6b5300;background:#FFF4CC;padding:12px 14px;border:1px dashed #c9a400}
@media (max-width:1080px){.campuses.c4{grid-template-columns:repeat(2,1fr)}.hdr-tel{display:none}}
@media (max-width:900px){.why,.fit,.quotes{grid-template-columns:1fr}.wc,.wc + .wc{padding-left:0;border-left:0}.mods,.team{grid-template-columns:1fr}}
@media (max-width:780px){.campuses.c4{grid-template-columns:1fr}.logo img{height:40px}.draftbar{font-size:10.5px}}
.plan.feat::before,.plan.feat::after{content:none;display:none}
/* hero program finder (question tree, Oct 15 meeting) */
.hero-2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,64px);align-items:center}
.pf{background:rgba(255,255,255,.97);color:var(--ink-2);padding:26px 26px 20px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.pf-k{font-family:var(--font);font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--red);margin:0 0 14px}
.pf-n{color:var(--ink-3);font-weight:600;margin-left:6px}
.pf-q{font-weight:800;font-size:20px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.pf-h{font-size:13.5px;color:var(--ink-3);margin:0 0 14px}
.pf-step .pf-q + .pf-o{margin-top:12px}
.pf-o{display:block;width:100%;text-align:left;font:inherit;background:var(--paper-2);border:1.5px solid var(--rule);padding:13px 16px;margin-bottom:9px;cursor:pointer;color:var(--ink)}
.pf-o:hover,.pf-o:focus-visible{border-color:var(--ink);background:#fff;outline:0}
.pf-t{display:block;font-weight:700;font-size:16px}
.pf-s{display:block;font-size:13px;color:var(--ink-3);margin-top:2px}
.pf-rk{font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink);margin:0 0 8px}
.pf-rt{font-size:15.5px;margin:0 0 16px}
.pf-f{font-size:14px;margin:16px 0 0;color:var(--ink-3)}
.pf-f a{color:var(--ink);font-weight:600}
.pf-re{font:inherit;background:none;border:0;padding:0;color:var(--ink-3);text-decoration:underline;cursor:pointer}
.pf-ia{font-size:13.5px;color:var(--ink-3);margin:14px 0 0;padding-top:12px;border-top:1px solid var(--rule)}
.pf-ia a{color:var(--ink);font-weight:600}
.pf,.pf *{box-sizing:border-box}.hero-2>*{min-width:0}
@media (max-width:900px){.hero-2{grid-template-columns:minmax(0,1fr)}.pf{margin-top:8px;padding:22px 18px 16px}}
/* ---- Oct 19 rebuild on the thrustflight.com engine ---- */
.flow-camp{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:4px 0 6px}
.fc-sel{flex:1 1 300px;min-width:0;font-family:var(--font);font-size:17px;font-weight:600;padding:14px 14px;border:1.5px solid var(--rule);background:#fff;color:var(--ink);border-radius:0}
.fc-sel:focus{outline:0;border-color:var(--ink)}
.fc-go{flex:0 0 auto}
.fc-go[disabled]{opacity:.4;cursor:default}
.hero .flow-camp{justify-content:center;max-width:660px;margin:6px auto 8px}
.hero .fc-sel{text-align:left}
table.cmp td.pick,table.cmp th.pick{background:#FFF1EF;box-shadow:inset 0 3px 0 var(--red)}
.off-no{color:var(--ink-3);font-size:13px}
.offer-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink);max-width:640px}
.offer-list li{padding:14px 0;border-bottom:1px solid var(--rule);font-weight:700;font-size:17px;color:var(--ink)}
.cap-msg.prev,.act-msg.prev{color:#6b5300}
.apf-done{font-size:17px}
.hdr-cta .sm-only{display:none}
@media (max-width:600px){.hdr-cta .lg-only{display:none}.hdr-cta .sm-only{display:inline}.hdr-cta{white-space:nowrap}}
.hero .flow-help{margin-left:auto;margin-right:auto}
/* Oct 19 (Hunter): read at a glance. Answer chips, big answers, tile results. */
.trail{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 16px}
.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font);font-size:13.5px;font-weight:600;letter-spacing:0;
  padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22)}
.chip.pin{background:var(--red);border-color:var(--red)}
.flow:not(.hero .flow) .chip{background:var(--paper-2);color:var(--ink);border-color:var(--rule)}
.hero .flow-h{color:#fff;font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:0 auto 14px}
.hero .flow-q{font-size:clamp(17px,1.7vw,20px);font-weight:600;letter-spacing:0;line-height:1.35;color:rgba(255,255,255,.85);max-width:none;margin-left:auto;margin-right:auto}
.hero .flow-help{font-size:16px;color:rgba(255,255,255,.75)}
.hero .opts{gap:12px}
.hero .opt{font-size:18px;font-weight:700;padding:16px 26px;min-width:150px;justify-content:center}
.hero .opt .mk{display:none}
.hero .opt small.tag{display:inline-block;margin-top:6px;font-family:var(--font);font-size:13.5px;letter-spacing:0;text-transform:none;
  color:#fff;background:rgba(255,255,255,.14);padding:3px 8px;border-radius:3px}
.hero .opt:hover small.tag{background:rgba(0,0,0,.18)}
.oc-k{font-family:var(--font);font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--red);margin:0 0 6px}
.hero .oc-k{color:#ff8a80}
.oc-n{font-size:clamp(30px,4vw,46px)!important}
.oc-at{font-weight:400;opacity:.7}
.oc-w{font-size:18px;margin:10px 0 20px}
.hero .oc-w{color:rgba(255,255,255,.88)}
.oc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 auto 20px;max-width:640px}
.oc-tile{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:14px 10px;text-align:center}
.oc-tile span{display:block;font-family:var(--font);font-size:13px;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.6);margin-bottom:6px}
.oc-tile b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;color:#fff}
.flow:not(.hero .flow) .oc-tile{background:var(--paper-2);border-color:var(--rule)}
.flow:not(.hero .flow) .oc-tile span{color:var(--ink-3)}
.flow:not(.hero .flow) .oc-tile b{color:var(--ink)}
.oc-why{list-style:none;padding:0;margin:0 auto 22px;max-width:560px;font-size:15.5px}
.oc-why li{padding:4px 0}
.hero .oc-why li{color:rgba(255,255,255,.85)}
.hero .oc-why a{color:#fff}
@media (max-width:600px){.hero .opt{width:100%;min-width:0}.oc-tile b{font-size:17px}}
.hero .opt > span:last-child{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero .opt small.tag{display:block;margin:7px auto 0;width:max-content}
.oc-tile b{font-size:17px;white-space:nowrap}
.date .f{font-family:var(--font);font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--red);margin:2px 0 4px}
.date.next .f{color:#fff}
.oc-sub{margin:14px 0 0;font-size:15px}
.oc-sub a{color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px}
.oc-sub a:hover{opacity:1}
/* TBD answers page */
.tbd-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 0 18px}
#tbd-count{font-family:var(--font);font-size:14px;color:var(--ink-3)}
#tbd-msg{font-size:14px;color:var(--ink-3)}
.tbd-t td{vertical-align:top}
.tbd-why{font-size:13.5px;color:var(--ink-3);margin-top:4px}
.tbd-ans{width:100%;min-width:260px;font:inherit;font-size:15px;padding:8px 10px;border:1.5px solid var(--rule);resize:vertical}
.tbd-ans:focus{outline:0;border-color:var(--ink)}
.tbd-where{font-family:var(--font);font-size:13.5px;color:var(--ink-3);margin-top:6px}
.tbd-tech{margin-top:28px;font-size:15px}
.tbd-tech summary{cursor:pointer;font-weight:700;color:var(--ink)}
/* Oct 26 (Andrew's notes): fact strip under page headers gets even spacing on both sides of each divider */
.facts .cell{padding:22px 0 22px 24px}
.facts .cell:first-child{padding-left:0}
.facts .k{margin-bottom:7px}
.facts .s{margin-top:6px;line-height:1.45}
@media(max-width:640px){.facts .cell{padding:16px 0}.facts .cell:nth-child(even){padding-left:16px;border-left:1px solid var(--rule)}.facts .cell > *{padding-right:12px}}
/* A&P Programs dropdown (Day, Night, Hybrid) */
nav.main{align-items:center}
.dd{position:relative;display:flex;align-items:center}
.dd-b{display:inline-flex;align-items:center;gap:6px}
.dd-c{font-size:10px;line-height:1;color:var(--ink-3)}
.dd-m{display:none;position:absolute;top:100%;left:-18px;min-width:190px;padding:8px 0;margin-top:6px;background:var(--paper);
  border:1.5px solid var(--ink);box-shadow:0 18px 44px rgba(0,0,0,.16);z-index:80}
.dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.dd:hover .dd-m,.dd:focus-within .dd-m,.dd.open .dd-m{display:block}
nav.main .dd-m a{display:block;padding:11px 18px;border-bottom:0;font-size:15px;white-space:nowrap}
nav.main .dd-m a:hover{background:var(--paper-2);color:var(--ink)}
.nav-m .nm-h{display:block;padding:16px 0 6px;font-weight:700;font-size:19px;letter-spacing:-.015em;color:var(--ink)}
.nav-m a.nm-s{padding:11px 0 11px 18px;font-size:17px;font-weight:600;color:var(--ink-2)}
.esteps b{display:block;margin-bottom:2px}

/* ---------- Oct 28 style pass (Hunter: "make it not look like a Claude website") ----------
   One typeface (Archivo) everywhere, no monospace; no tiny letter-spaced uppercase labels; fewer
   hairline boxes and rules; headings bold rather than black-weight and squeezed. Brand colors unchanged. */
:root{--mono:var(--font)}
.display{font-weight:800;letter-spacing:-.02em;line-height:1.02}
.h1{line-height:1}
.h3{font-weight:700;letter-spacing:-.01em;line-height:1.18}
.proof .n,.d-n,.count b{font-weight:800;letter-spacing:-.03em}
.label.hero-ey,.hero-ey{font-size:16px;font-weight:600;opacity:.92}
.sg-k,.wc-k,.nx-k{color:var(--ink-3);font-weight:600}
.nx-k{display:none}
/* stat row under the hero: no ruled boxes */
.proofs{border-top:0;gap:clamp(20px,3vw,48px)}
.proof{border-right:0;padding:8px 0 12px}
@media(max-width:760px){.proof{border-bottom:0;padding:6px 0 14px}}
/* why-here cards: soft panels instead of a hairline grid */
.dgrid{gap:clamp(16px,2vw,24px);background:none;border:0}
.dcard{background:var(--paper-2)}
.paper2 .dcard{background:var(--paper)}
.d-s{border-top:0;padding-top:0;margin-top:14px;font-weight:500}
/* "worth a look" and next-step links: plain columns, no rules */
.sign-slot{border-top:0;gap:clamp(20px,3vw,44px)}
.sg{border-right:0;padding:0}
@media(max-width:700px){.sg{border-bottom:0;padding-bottom:6px}}
.nx-wrap{border-top:0}
.nx-row{border-top:0;gap:clamp(16px,2vw,24px)}
.nx{border-right:0;background:var(--paper-2);padding:22px 24px}
@media(max-width:780px){.nx{border-bottom:0}}
.nx:hover{background:var(--paper-3)}
/* how-a-week-works columns */
.why{border-top:0;gap:clamp(24px,3vw,48px)}
.wc,.wc + .wc{border:0;padding:0 0 8px}
/* campus cards and plan picker: no outline boxes */
.camp{border:0;background:var(--paper-2)}
.camp:hover{border:0;transform:translateY(-2px)}
.camp.here{border:0;box-shadow:inset 0 0 0 2px var(--red)}
.fitc{border:0}
.fitc.on{border:0;box-shadow:inset 0 0 0 2px var(--red)}
/* facts strip under heroes */
.facts .cell{border-right:0}
/* module list: no 01/02 markers */
.mod{gap:0}
.mod-n{display:none}
figcaption{letter-spacing:0}
.new{font-size:11.5px;font-weight:700;padding:2px 7px}
.feat-why{border-top:0}
.feat-why li{border-bottom:0;padding:9px 0 9px 26px;font-size:17px}
.feat-why li::before{top:20px}
/* Oct 29 (Andrew's review): proof cells share the row evenly and their captions line up;
   a short last row of cards sits centered under the row above */
@media(min-width:761px){.proofs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}
  .proof{display:flex;flex-direction:column}.proof .s{margin-top:auto}}
@media(min-width:901px){.why{grid-template-columns:repeat(6,1fr)}.why>.wc{grid-column:span 2}
  .why>.wc:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}
  .why>.wc:nth-child(3n+1):last-child{grid-column:3/span 2}}
/* Oct 29 (Andrew's review): six "Why Here" cards sit as two even rows of three */
@media(min-width:901px){.dgrid{grid-template-columns:repeat(3,1fr)}}
