:root{--ink:#14202b;--muted:#5a6773;--line:#dfe4e8;--bg:#f7f8f6;--card:#fff;--brand:#1d3557;--accent:#b5651d}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
a{color:var(--brand)}
a:hover{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.mark{width:40px;height:40px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;letter-spacing:.5px;font-size:15px}
.brand b{display:block;font-size:18px;line-height:1.1}
.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.3px}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
nav.main a{display:block;padding:8px 11px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:15px}
nav.main a:hover{background:var(--bg)}
nav.main a[aria-current=page]{background:var(--brand);color:#fff}
.hero{background:linear-gradient(135deg,#1d3557 0%,#243b55 60%,#2f4a66 100%);color:#fff;padding:72px 0 64px}
.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 14px}
.hero p.lead{font-size:clamp(18px,2.2vw,21px);max-width:760px;color:#e6ecf2;margin:0 0 26px}
.hero .facts{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:15px;color:#d5dee8}
.hero .facts span b{color:#fff}
.btn{display:inline-block;padding:11px 18px;border-radius:7px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;margin:0 10px 10px 0}
.btn.ghost{background:transparent;border:1px solid #fff}
.btn:hover{color:#fff;filter:brightness(1.08)}
.pagehead{background:#fff;border-bottom:1px solid var(--line);padding:40px 0 30px}
.pagehead h1{margin:0 0 6px;font-size:clamp(28px,4vw,40px)}
.pagehead p{margin:0;color:var(--muted);max-width:760px}
main section{padding:44px 0}
main section+section{padding-top:0}
h2{font-size:26px;margin:0 0 14px}
h3{font-size:20px;margin:0 0 8px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px}
.card .tag{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--accent);margin-bottom:6px}
.card p{margin:.4em 0}
.card .meta{font-size:14px;color:var(--muted)}
.status{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:#e7eef6;color:var(--brand)}
.status.soon{background:#f1e7dc;color:#7a4316}
.prose{max-width:780px}
.prose h2{margin-top:34px}
.prose h3{margin-top:24px}
table{border-collapse:collapse;width:100%;background:#fff;font-size:15px}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
th{background:#eef1f3}
.idbox{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:8px;padding:20px 22px}
.idbox dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}
.idbox dt{font-weight:600;color:var(--muted)}
.idbox dd{margin:0}
address{font-style:normal}
footer.site{background:#0f1c2b;color:#c6d0da;padding:34px 0 26px;font-size:14px;margin-top:40px}
footer.site a{color:#fff}
footer.site .cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
footer.site b{color:#fff}
footer.site .op{margin-top:22px;padding-top:16px;border-top:1px solid #26384b}
@media (max-width:640px){header.site{position:static}nav.main a{padding:6px 8px;font-size:14px}.idbox dl{grid-template-columns:1fr}.idbox dt{margin-top:8px}}
@media print{header.site{display:none}}
.hero+section{padding-top:44px}
/* v2: nav on its own row, brand cards */
header.site .wrap{min-height:60px}
nav.main{border-top:1px solid var(--line);background:#fff}
nav.main ul{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 0;gap:2px}
nav.main ul::-webkit-scrollbar{display:none}
nav.main li{flex:0 0 auto}
nav.main a{white-space:nowrap;font-size:15px}
.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:600;color:var(--accent)}
a.brandcard{display:block;text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s}
a.brandcard:hover{border-color:var(--brand);box-shadow:0 4px 14px rgba(20,32,43,.08);color:var(--ink)}
a.brandcard .more{font-size:14px;font-weight:600;color:var(--brand)}
a.brandcard.wide{border-left:5px solid var(--accent)}
@media (max-width:900px){nav.main ul{flex-wrap:wrap;overflow:visible}}
@media (max-width:640px){nav.main ul{display:grid;grid-template-columns:1fr 1fr;gap:2px}nav.main a{font-size:14px;padding:7px 8px}}
/* v3: Mechanical Classroom entry on the main side */
nav.main li.mc-link a{color:#b3261e;font-weight:700;border:1.5px solid #b3261e}
nav.main li.mc-link a:hover{background:#b3261e;color:#fff}
nav.main li.mc-link a[aria-current=page]{background:#b3261e;color:#fff}
.brands2{grid-template-columns:1fr 2fr}
a.mc-feature{display:flex;gap:20px;align-items:center;padding:24px;border-radius:12px;text-decoration:none;color:#fff;
  background:linear-gradient(135deg,#1f4fa3 0%,#173a7a 60%,#b3261e 140%);box-shadow:0 4px 18px rgba(23,58,122,.25)}
a.mc-feature img{width:88px;height:88px;border-radius:50%;background:#fff;flex:0 0 auto}
a.mc-feature small{display:block;text-transform:uppercase;letter-spacing:1px;font-size:12px;color:#ffd166}
a.mc-feature b{display:block;font-size:24px;line-height:1.2;font-family:"Trebuchet MS","Verdana",sans-serif}
a.mc-feature i{display:block;font-style:normal;font-weight:600;color:#ffd166;margin-bottom:6px}
a.mc-feature em{display:block;font-style:normal;font-weight:700;margin-top:8px;text-decoration:underline}
a.mc-feature:hover{color:#fff;filter:brightness(1.08)}
@media (max-width:640px){nav.main li.mc-link{grid-column:1/-1}.brands2{grid-template-columns:1fr}a.mc-feature{flex-direction:column;text-align:center}}
/* v4: inquiry CTA, capability cards, TKG card */
.inquiry{margin-top:30px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:10px;padding:22px 24px}
.inquiry h2{margin-top:0}
.inquiry .btn.ghost{color:var(--brand);border-color:var(--brand)}
.grid.caps{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.grid.caps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid.caps{grid-template-columns:1fr}}
a.tkgcard{border-top:4px solid #ED1C24}
a.tkgcard img{display:block;width:200px;max-width:100%;height:auto;margin:6px 0 8px}
/* v5: in-app support entries */
.btn.sm{padding:7px 12px;font-size:14px;margin:6px 0 8px}
details.support-det{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:10px 16px;margin:8px 0 12px}
details.support-det summary{cursor:pointer;font-weight:700;color:var(--brand)}
details.support-det p{margin:8px 0 2px}
/* v6: support form */
form.supportform{display:grid;gap:6px;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;margin:8px 0 20px}
form.supportform label{font-weight:700;margin-top:8px}
form.supportform .hint{font-weight:400;color:var(--muted)}
form.supportform input,form.supportform textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px;width:100%;box-sizing:border-box}
form.supportform .consent{color:var(--muted);font-size:14px;margin:8px 0}
form.supportform button{justify-self:start;cursor:pointer;border:0}
/* v7: support form extras */
form.supportform select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}
form.supportform .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.sf-alert{max-width:560px;box-sizing:border-box;background:#fdecea;border:1px solid #e0a39c;border-left:4px solid #b3261e;color:#5f1610;border-radius:8px;padding:12px 16px;margin:8px 0 4px;font-weight:600}
