/* 191 Metres — ctw- stylesheet.
 * Hand-built February 2024 by Carla & Norm Pawluk.
 * Palette: machine-room slate, prairie paper, brass oil-gauge accent, chinook blue.
 */
:root{
  --ctw-ink:#161b22;
  --ctw-ink2:#2d3642;
  --ctw-steel:#596573;
  --ctw-sky:#1f5fa8;
  --ctw-sky-d:#16467d;
  --ctw-brass:#c98a27;
  --ctw-brass-soft:#fbf3e4;
  --ctw-bg:#f5f2eb;
  --ctw-card:#fffdf9;
  --ctw-line:#dcd5c5;
  --ctw-red:#9e3324;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.ctw-body{
  margin:0;
  background:var(--ctw-bg);
  color:var(--ctw-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.68;
}
a{color:var(--ctw-sky-d);text-decoration:none;border-bottom:1px solid rgba(22,70,125,.32);transition:border-color .15s,color .15s}
a:hover{color:var(--ctw-brass);border-bottom-color:var(--ctw-brass)}

/* Top technical strip */
.ctw-specbar{background:#0d1218;color:#93a1b2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;letter-spacing:.9px;border-bottom:1px solid #222c38}
.ctw-specbar-in{max-width:1080px;margin:0 auto;padding:6px 22px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.ctw-sep{color:#d49b3b}

/* Main navigation header */
.ctw-top{background:#161d26;color:#f2f4f7;border-bottom:3px solid var(--ctw-brass);position:sticky;top:0;z-index:20;box-shadow:0 6px 20px rgba(10,14,20,.14)}
.ctw-top-in{max-width:1080px;margin:0 auto;padding:13px 22px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.ctw-brand{display:flex;align-items:center;gap:12px;color:#fff;border:0}
.ctw-brand:hover{color:#fff}
.ctw-brand-mark{display:inline-flex;align-items:center;justify-content:center}
.ctw-brand-copy{display:flex;flex-direction:column;line-height:1.18}
.ctw-brand-txt{font-size:18px;font-weight:800;letter-spacing:-.2px;color:#fff}
.ctw-brand-sub{font-size:11.5px;color:#b8c2ce;font-weight:500}

.ctw-nav{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:14px}
.ctw-nav a{color:#d2dae3;border:0;padding:6px 10px;border-radius:6px;font-weight:500}
.ctw-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.ctw-nav a.is-on{color:#161d26;background:#d49b3b;font-weight:700}

/* Main container */
.ctw-main{max-width:1080px;margin:0 auto;padding:32px 22px 54px}

.ctw-stamp{
  display:inline-flex;align-items:center;gap:8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;color:var(--ctw-steel);
  background:#ebe5d8;border:1px solid var(--ctw-line);
  padding:4px 11px;border-radius:999px;margin:0 0 16px;
}
.ctw-stamp-dot{width:7px;height:7px;border-radius:50%;background:var(--ctw-brass);display:inline-block}

.ctw-kicker{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ctw-brass);margin:0 0 6px;font-weight:800}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4.2vw,44px);line-height:1.12;margin:0 0 16px;letter-spacing:-.5px;color:var(--ctw-ink)}
h2{font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.24;margin:34px 0 12px;color:var(--ctw-ink);border-bottom:1px solid var(--ctw-line);padding-bottom:6px}
h3{font-size:18px;margin:22px 0 6px;color:var(--ctw-ink2)}

.ctw-lede{font-size:19.5px;line-height:1.55;color:var(--ctw-ink2);margin:0 0 18px;max-width:780px}
.ctw-meta{font-size:14px;color:var(--ctw-steel);margin:0 0 24px}

/* Hero split layout on home */
.ctw-hero-grid{display:grid;grid-template-columns:1.35fr .95fr;gap:26px;align-items:start;margin:18px 0 30px}
.ctw-spec-card{background:#161d26;color:#e7ecf2;border-radius:12px;padding:20px 22px;border:1px solid #2a3544;box-shadow:0 14px 34px rgba(15,20,28,.12)}
.ctw-spec-card h3{margin:0 0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;color:#d49b3b}
.ctw-spec-list{margin:0;padding:0;list-style:none}
.ctw-spec-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #2c3848;font-size:14px}
.ctw-spec-list li:last-child{border-bottom:0}
.ctw-spec-list span{color:#9aa7b8}
.ctw-spec-list strong{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;text-align:right}

/* Logbook / mechanic note box */
.ctw-log{
  background:var(--ctw-card);
  border:1px solid var(--ctw-line);
  border-left:5px solid var(--ctw-brass);
  border-radius:8px;
  padding:16px 20px;
  margin:22px 0;
  box-shadow:0 4px 14px rgba(0,0,0,.03);
}
.ctw-log-head{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--ctw-brass);margin:0 0 6px;font-weight:700}
.ctw-log p{margin:0;color:var(--ctw-ink2);font-size:16px}

.ctw-prose{max-width:820px}
.ctw-prose p{margin:0 0 16px}
.ctw-prose ul,.ctw-prose ol{margin:0 0 18px;padding-left:22px}
.ctw-prose li{margin:0 0 8px}

.ctw-pull{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;line-height:1.48;
  border-left:4px solid var(--ctw-sky);
  background:var(--ctw-card);
  padding:16px 20px;margin:24px 0;color:var(--ctw-ink);
  border-radius:0 8px 8px 0;
}

.ctw-fig{margin:24px 0;background:var(--ctw-card);border:1px solid var(--ctw-line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.ctw-fig img{width:100%;max-height:480px;object-fit:cover;display:block;background:#e4dfd2}
.ctw-fig figcaption{font-size:13.5px;color:var(--ctw-steel);padding:12px 16px;border-top:1px solid var(--ctw-line);background:#faf7f0;line-height:1.5}
.ctw-fig figcaption b{color:var(--ctw-ink)}

.ctw-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:22px 0 12px}
.ctw-cards a{
  display:block;background:var(--ctw-card);
  border:1px solid var(--ctw-line);
  border-top:4px solid var(--ctw-brass);
  border-radius:10px;padding:16px 18px;color:var(--ctw-ink);
  box-shadow:0 4px 12px rgba(0,0,0,.03);
  transition:transform .14s,box-shadow .14s;
}
.ctw-cards a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.07);border-top-color:var(--ctw-sky)}
.ctw-cards strong{display:block;font-size:17px;margin-bottom:5px;font-family:Georgia,"Times New Roman",serif}
.ctw-cards small{color:var(--ctw-steel);font-size:14px;line-height:1.5;display:block}

.ctw-note{background:var(--ctw-brass-soft);border:1px solid #e6cfa4;border-radius:10px;padding:16px 18px;margin:24px 0;font-size:15.5px;color:var(--ctw-ink2)}
.ctw-note strong{color:#7c500c}

.ctw-table{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:15.5px;background:var(--ctw-card);border:1px solid var(--ctw-line);border-radius:8px;overflow:hidden}
.ctw-table th,.ctw-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--ctw-line);vertical-align:top}
.ctw-table th{background:#ebe5d8;font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--ctw-ink2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

.ctw-faq details{background:var(--ctw-card);border:1px solid var(--ctw-line);border-radius:10px;padding:14px 18px;margin:0 0 12px;box-shadow:0 2px 8px rgba(0,0,0,.02)}
.ctw-faq details[open]{border-left:4px solid var(--ctw-brass)}
.ctw-faq summary{cursor:pointer;font-weight:700;font-size:17px;font-family:Georgia,"Times New Roman",serif;color:var(--ctw-ink)}
.ctw-faq details p{margin:10px 0 0;color:var(--ctw-ink2)}

/* Footer */
.ctw-foot{background:#12171f;color:#c9cfd6;margin-top:44px;border-top:3px solid var(--ctw-brass)}
.ctw-foot-in{max-width:1080px;margin:0 auto;padding:32px 22px 36px;font-size:14px}
.ctw-foot-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;padding-bottom:20px;border-bottom:1px solid #232d3b;margin-bottom:16px}
.ctw-foot-title{font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700;color:#fff;margin:0 0 8px}
.ctw-foot-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;color:#d49b3b;margin:0 0 10px}
.ctw-disc{color:#b8c2ce;margin:0;line-height:1.58}
.ctw-foot-nav{display:flex;flex-wrap:wrap;gap:8px 16px}
.ctw-foot-nav a{color:#e2e8f0;border:0;border-bottom:1px solid rgba(226,232,240,.25);font-size:13.5px}
.ctw-foot-nav a:hover{color:#d49b3b;border-bottom-color:#d49b3b}
.ctw-copy{margin:0;color:#8491a0;font-size:13px}

/* 2024-02-18: old sidebar layout, broke on iPad mini — kept in case we bring back the weather widget
.ctw-old-rail { float: right; width: 240px; margin-left: 20px; }
*/
/* 2024-06-03: unused classes from early draft */
.ctw-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.ctw-badge-draft{display:inline-block;padding:2px 6px;font-size:11px;background:#e2ddcf;color:#3a414c}
.ctw-archive-banner{padding:10px;background:#efeadd;border:1px dashed #c8a35a}
.ctw-caption-mono{font-family:monospace;font-size:12px}
.ctw-print-hide{display:block}

@media (max-width:820px){
  .ctw-hero-grid,.ctw-foot-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  body.ctw-body{font-size:16.5px}
  .ctw-main{padding:22px 15px 38px}
  .ctw-nav{font-size:13px}
  h1{font-size:29px}
  .ctw-cards{grid-template-columns:1fr}
}
