/* Flightline Foundry, shared styles for practice pages and tools hub */
:root {
  --deep:#0B1A2E; --deep-2:#142841; --paper:#F2EAD3; --paper-warm:#EAE0C3;
  --paper-line:#C9BC95; --coral:#E76F51; --teal:#149AA6; --teal-bright:#2DD4BF;
  --ink:#1A1A1A; --ink-muted:#5C6066; --cream-muted:rgba(242,234,211,0.6);
  --display:'Cormorant Garamond', Georgia, serif;
  --body:'Newsreader', Georgia, serif;
  --mono:'JetBrains Mono', 'Courier New', monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--body); font-weight:300; font-size:18px; line-height:1.65;
  color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; }

/* top bar */
.sitebar { background:var(--deep); display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 2rem; }
.sitebar a.home { display:inline-flex; align-items:center; gap:.6rem; text-decoration:none;
  color:var(--paper); font-family:var(--mono); font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; }
.sitebar a.home img { height:26px; width:auto; display:block; }
.sitebar a.home .dot { color:var(--coral); }
.sitebar .crumb { font-family:var(--mono); font-size:.62rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--cream-muted); }
.sitebar .crumb a { color:inherit; text-decoration:none; }
.sitebar .crumb a:hover { color:var(--teal-bright); }
@media (max-width:560px){ .sitebar{ padding:1rem 1.25rem; } .sitebar .crumb{ display:none; } }

/* hero band */
.pagehero { background:var(--deep); color:var(--paper); padding:4.5rem 2rem 4rem; }
.pagehero-inner { max-width:1100px; margin:0 auto; }
.pagehero .eyebrow { display:flex; align-items:baseline; gap:1rem; font-family:var(--mono);
  font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; margin-bottom:1.4rem; }
.pagehero .eyebrow .num { color:var(--coral); }
.pagehero .eyebrow .lbl { color:var(--cream-muted); }
.pagehero h1 { font-family:var(--display); font-weight:400; font-size:clamp(2.6rem,6vw,4.2rem);
  line-height:1.02; letter-spacing:-.015em; }
.pagehero h1 em { font-style:italic; color:var(--coral); font-weight:300; }
.pagehero .sub { margin-top:1.2rem; font-size:1.1rem; color:var(--cream-muted); max-width:56ch; line-height:1.6; }
.badge-soon { display:inline-block; font-family:var(--mono); font-size:.62rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--paper); border:1px solid rgba(242,234,211,.4);
  padding:.3rem .7rem; border-radius:2px; margin-bottom:1.4rem; }

/* content */
section.block { padding:4.5rem 2rem; }
.block-inner { max-width:1100px; margin:0 auto; }
.marker { display:flex; align-items:baseline; gap:1.1rem; margin-bottom:2.4rem;
  padding-bottom:1.1rem; border-bottom:1px solid var(--paper-line); }
.marker .num { font-family:var(--mono); font-size:.68rem; letter-spacing:.2em; color:var(--coral); }
.marker .lbl { font-family:var(--mono); font-size:.68rem; letter-spacing:.22em;
  color:var(--ink-muted); text-transform:uppercase; }
.marker .lbl::before { content:"/ "; opacity:.6; }
.prose { max-width:64ch; }
.prose p { font-size:1.08rem; line-height:1.7; margin-bottom:1.2rem; }

/* tool cards */
.toolgrid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:1.5rem; }
a.toolcard { display:block; text-decoration:none; color:inherit; background:#FBF6E9;
  border:1px solid var(--paper-line); border-radius:12px; padding:1.5rem;
  transition:border-color .25s ease, transform .25s ease; }
a.toolcard:hover { border-color:var(--coral); transform:translateY(-2px); }
.toolcard .icon { width:36px; height:44px; background:var(--teal); display:flex;
  align-items:center; justify-content:center; margin-bottom:1rem;
  clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%); }
.toolcard h3 { font-family:var(--display); font-weight:500; font-size:1.5rem; line-height:1.15;
  margin-bottom:.5rem; color:var(--ink); }
.toolcard p { font-size:.95rem; line-height:1.55; color:var(--ink-muted); margin-bottom:1.1rem; }
.toolcard .go { font-family:var(--mono); font-size:.65rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--coral); }
.toolcard.ghost { border-style:dashed; background:transparent; cursor:default; }
.toolcard.ghost:hover { border-color:var(--paper-line); transform:none; }
.toolcard.ghost .glabel { font-family:var(--mono); font-size:.65rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-muted); margin-bottom:.6rem; }

/* video slot */
.vid-slot { border:2px dashed var(--paper-line); border-radius:12px; padding:3rem 2rem;
  text-align:center; background:#FBF6E9; }
.vid-slot .vlabel { font-family:var(--mono); font-size:.65rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--coral); margin-bottom:.8rem; }
.vid-slot p { color:var(--ink-muted); font-size:1rem; max-width:44ch; margin:0 auto; line-height:1.6; }
.vid-embed { position:relative; width:100%; padding-bottom:56.25%; border-radius:12px; overflow:hidden; }
.vid-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* coming soon body */
.soon-body { max-width:60ch; }
.soon-body p { font-size:1.1rem; line-height:1.7; margin-bottom:1.2rem; }
.soon-links { margin-top:2rem; display:flex; flex-wrap:wrap; gap:1rem; }
.soon-links a { font-family:var(--mono); font-size:.68rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--coral); text-decoration:none;
  border:1px solid var(--paper-line); padding:.65rem 1.1rem; border-radius:2px;
  transition:border-color .25s ease; }
.soon-links a:hover { border-color:var(--coral); }

/* cta band */
.ctaband { background:var(--deep); color:var(--paper); text-align:center; padding:4.5rem 2rem; }
.ctaband .eyebrow { font-family:var(--mono); font-size:.68rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--coral); margin-bottom:1.4rem; }
.ctaband h2 { font-family:var(--display); font-weight:300; font-style:italic;
  font-size:clamp(1.9rem,4.5vw,3rem); line-height:1.05; max-width:20ch; margin:0 auto 1.8rem; }
.ctaband .btn { display:inline-flex; align-items:center; gap:.7rem; padding:1rem 1.9rem;
  border:1px solid var(--coral); color:var(--paper); font-family:var(--mono);
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; text-decoration:none;
  transition:all .3s cubic-bezier(.2,.8,.2,1); }
.ctaband .btn:hover { background:var(--coral); color:var(--deep); transform:translateY(-2px); }

/* footer */
.sitefoot { background:var(--deep); color:var(--cream-muted); padding:2.2rem 2rem;
  border-top:1px solid rgba(242,234,211,.1); }
.sitefoot-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:1rem; font-family:var(--mono);
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; }
.sitefoot .dot { color:var(--coral); }
.sitefoot a { color:inherit; text-decoration:none; }
.sitefoot a:hover { color:var(--coral); }
@media (max-width:720px){ .sitefoot-inner{ flex-direction:column; align-items:flex-start; gap:.7rem; } }
