/* 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; } }

/* PRACTICES dropdown in the breadcrumb (practice pages) */
.crumb-dd { position:relative; display:inline-block; }
.crumb-btn { background:none; border:none; cursor:pointer; color:inherit;
  font-family:inherit; font-size:inherit; letter-spacing:inherit; text-transform:inherit; padding:0; }
.crumb-btn:hover { color:var(--teal-bright); }
.crumb-btn .caret { display:inline-block; font-size:.55rem; transition:transform .15s ease; }
.crumb-dd.open .caret { transform:rotate(180deg); }
.crumb-menu { display:none; position:absolute; right:0; top:calc(100% + .6rem);
  background:var(--deep); border:1px solid rgba(242,234,211,.14); border-radius:4px;
  min-width:230px; padding:.4rem 0; box-shadow:0 12px 30px rgba(0,0,0,.4); z-index:60; text-align:left; }
.crumb-dd.open .crumb-menu { display:block; }
.crumb-menu a { display:block; padding:.55rem 1rem; color:var(--paper); opacity:.85; text-decoration:none; }
.crumb-menu a:hover { opacity:1; color:var(--teal-bright); }

/* Tool + walkthrough rows on practice pages */
.marker .sortctl { margin-left:auto; display:flex; border:1px solid var(--paper-line);
  border-radius:3px; overflow:hidden; }
.sortctl button { background:none; border:none; cursor:pointer; font-family:var(--mono);
  font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; padding:.42rem .75rem;
  color:var(--ink-muted); transition:background .2s ease, color .2s ease; }
.sortctl button:hover { color:var(--ink); }
.sortctl button.on { background:var(--deep); color:var(--paper); }
.toolflow { display:flex; flex-direction:column; gap:1.75rem; }
.tool-row { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:stretch; }
@media (max-width:880px){ .tool-row { grid-template-columns:1fr; } }
.tool-row .vid-slot { display:flex; flex-direction:column; justify-content:center; margin:0; }
.tool-row .vid-embed { align-self:stretch; height:100%; padding-bottom:0; min-height:260px; }

/* Unified top-right nav: TOOLS + PRACTICES dropdown (rent-vs-buy pattern) */
.sitebar .nav-links { display:flex; align-items:center; gap:1.4rem; }
.sitebar .nav-links > a, .sitebar .nav-dd-btn {
  color:var(--cream-muted); text-decoration:none; font-family:var(--mono);
  font-size:.66rem; letter-spacing:.16em; text-transform:uppercase;
  background:none; border:none; cursor:pointer; padding:0; }
.sitebar .nav-links > a:hover, .sitebar .nav-dd-btn:hover { color:var(--teal-bright); }
.nav-dd { position:relative; }
.nav-dd-btn .caret { display:inline-block; font-size:.55rem; margin-left:.3rem; transition:transform .15s ease; }
.nav-dd.open .caret { transform:rotate(180deg); }
.nav-dd-menu { display:none; position:absolute; right:0; top:calc(100% + .6rem);
  background:var(--deep); border:1px solid rgba(242,234,211,.16); border-radius:6px;
  min-width:240px; padding:.4rem 0; box-shadow:0 12px 30px rgba(0,0,0,.45); z-index:80; }
.nav-dd.open .nav-dd-menu { display:block; }
.nav-dd-menu a { display:block; padding:.6rem 1.1rem; color:var(--paper); opacity:.85;
  text-decoration:none; font-family:var(--mono); font-size:.64rem;
  letter-spacing:.14em; text-transform:uppercase; }
.nav-dd-menu a:hover { opacity:1; color:var(--teal-bright); }

/* ============ Practice Compass — wayfinding band (v6) ============ */
.compass-band { background:var(--deep); padding:3rem 1.5rem 3.25rem; }
.compass-band .compass-eyebrow {
  font-family:var(--mono); color:#5A7A86; font-size:.56rem; letter-spacing:.24em;
  text-transform:uppercase; text-align:center; margin:0 0 1.5rem; }
.compass-band svg { display:block; width:100%; max-width:420px; margin:0 auto; }
.compass-band .arm { cursor:pointer; }
.compass-band .arm .ray-a, .compass-band .arm .ray-b,
.compass-band .arm .lbl, .compass-band .arm .lbl2, .compass-band .arm .num {
  transition:fill .18s ease; }
.compass-band .arm:hover .ray-a,
.compass-band .arm:focus-visible .ray-a { fill:#F2B25C; }
.compass-band .arm:hover .ray-b,
.compass-band .arm:focus-visible .ray-b { fill:#E76F51; }
.compass-band .arm:hover .lbl, .compass-band .arm:hover .lbl2,
.compass-band .arm:focus-visible .lbl, .compass-band .arm:focus-visible .lbl2 { fill:#F2B25C; }
.compass-band .arm:hover .num,
.compass-band .arm:focus-visible .num { fill:#E76F51; }
.compass-band .arm:focus-visible { outline:none; }
.compass-band .arm:focus-visible .ray-a { outline:2px solid #F2B25C; }
/* touch devices have no hover: keep arms in a legible resting state, labels a touch brighter */
@media (hover:none) {
  .compass-band .lbl, .compass-band .lbl2 { fill:#A9CBD3; }
}

/* current practice: the compass arm for the page you're on is a marker, not a link */
.compass-band .arm.here { cursor:default; pointer-events:none; }
.compass-band .arm.here .ray-a { fill:#F2B25C; }
.compass-band .arm.here .ray-b { fill:#E76F51; }
.compass-band .arm.here .lbl, .compass-band .arm.here .lbl2 { fill:#F2B25C; }
.compass-band .arm.here .num { fill:#E76F51; }
