/* ==========================================================================
   Tire-Failure Briefing — deck-specific styles
   Layered on top of colors_and_type.css + deck-styles.css (HAF system).
   ========================================================================== */

/* family accents: landing = navy, braking = alert red */
:root{
  --fam-land: var(--haf-navy-700);
  --fam-brake: var(--status-alert);
}

/* ---------- title slide ---------- */
section.slide.title-deck{
  background: var(--haf-navy-900);
  color:#fff;
  background-image:
    radial-gradient(circle at 18% 105%, rgba(217,175,60,0.10), transparent 52%),
    radial-gradient(circle at 88% -5%, rgba(52,199,227,0.08), transparent 52%);
}
.title-deck .axis{
  position:absolute; left:96px; top:230px; bottom:150px; width:2px;
  background:linear-gradient(var(--haf-gold-500), transparent);
}
.title-deck .axis::before{
  content:""; position:absolute; top:0; left:-5px; width:12px; height:12px;
  background:var(--haf-gold-500); border-radius:50%;
}
.title-deck .content{ padding:200px 96px 130px 150px; display:flex; flex-direction:column; gap:36px; height:100%; }
.title-deck .kicker{
  font-family:var(--font-display); font-size:22px; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--haf-gold-400);
}
.title-deck h1{
  font-family:var(--font-display); font-weight:500; font-size:128px; line-height:0.95;
  margin:0; color:#fff; letter-spacing:-0.01em; max-width:1500px;
}
.title-deck h1 .accent{ color:var(--haf-gold-400); }
.title-deck .subtitle{
  font-family:var(--font-display); font-weight:400; font-size:40px; letter-spacing:0.03em;
  text-transform:uppercase; color:var(--haf-cyan-400); max-width:1400px; line-height:1.2;
}
.title-deck .subtitle .en-under{
  display:block; font-family:var(--font-sans); font-weight:300; font-size:26px;
  color:var(--hud-fg-dim); text-transform:none; letter-spacing:0.01em; margin-top:10px;
}
.title-deck .meta{
  margin-top:auto; display:flex; justify-content:space-between; align-items:flex-end;
  font-family:var(--font-mono); font-size:15px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--hud-fg-dim);
}
.title-deck .meta .present-by{ display:flex; flex-direction:column; gap:6px; }
.title-deck .meta .present-by .name{
  color:#fff; font-family:var(--font-display); font-size:26px; font-weight:500; letter-spacing:0.06em;
}
.title-deck .meta .unit-row{ display:flex; gap:28px; align-items:center; }
.title-deck .meta .unit-row img{ height:118px; }

/* ---------- agenda ---------- */
.agenda-row{
  display:grid; grid-template-columns:120px 260px 1fr 170px; gap:40px;
  padding:30px 0; align-items:center;
}
.agenda-row .rn{ font-family:var(--font-display); font-weight:600; font-size:60px; color:var(--haf-gold-600); line-height:0.9; }
.agenda-row .lbl .pt{ font-family:var(--font-mono); font-size:13px; letter-spacing:0.2em; color:var(--fg-muted); text-transform:uppercase; }
.agenda-row .lbl .tt{ font-family:var(--font-display); font-weight:600; font-size:34px; color:var(--haf-navy-900); line-height:1.05; margin-top:4px; }
.agenda-row .ds{ font-size:20px; line-height:1.45; color:var(--fg-secondary); }
.agenda-row .pg{ font-family:var(--font-mono); font-size:14px; letter-spacing:0.18em; color:var(--fg-muted); text-align:right; }

/* ---------- mechanism slide ---------- */
.mech-grid{ display:grid; grid-template-columns:840px 1fr; gap:56px; margin-top:14px; flex:1; min-height:0; }
.mech-figure{ display:flex; flex-direction:column; gap:14px; }
.hud-frame{
  position:relative; flex:1; min-height:0; background:#0a1628; border:1px solid var(--hud-border);
  overflow:hidden;
}
.hud-frame img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08) brightness(1.02); display:block; }
.hud-frame .overlay{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(52,199,227,0.07), transparent 26%, transparent 72%, rgba(10,22,40,0.6)),
    repeating-linear-gradient(0deg, rgba(52,199,227,0.045) 0 1px, transparent 1px 3px);
}
.hud-frame .ticks{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.hud-frame .cap{
  position:absolute; left:14px; right:14px; bottom:12px; display:flex; justify-content:space-between;
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.2em; color:var(--haf-cyan-400);
  text-transform:uppercase; text-shadow:0 1px 3px rgba(0,0,0,0.85);
}
.mech-figure .srccap{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; color:var(--fg-muted); text-transform:uppercase; }

.mech-body{ display:flex; flex-direction:column; gap:22px; min-width:0; }
.fam-tag{
  display:inline-flex; align-items:center; gap:10px; align-self:flex-start;
  font-family:var(--font-mono); font-size:14px; letter-spacing:0.2em; text-transform:uppercase;
  padding:7px 14px; color:#fff;
}
.fam-tag.land{ background:var(--fam-land); }
.fam-tag.brake{ background:var(--fam-brake); }
.mech-body h2.mt{
  font-family:var(--font-display); font-weight:600; font-size:64px; line-height:1; color:var(--haf-navy-900);
  margin:0; letter-spacing:-0.01em;
}
.mech-body h2.mt .en{ display:block; font-weight:400; font-size:24px; letter-spacing:0.16em; color:var(--fg-tertiary); text-transform:uppercase; margin-top:10px; }
.mech-body .why{ font-size:23px; line-height:1.5; color:var(--fg-secondary); max-width:900px; }
.mech-body .why strong{ color:var(--fg-primary); font-weight:600; }
.mech-panel{ border:1px solid var(--border-subtle); background:var(--neutral-000); padding:18px 22px; }
.mech-panel .ph{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-muted); margin-bottom:7px; display:block; }
.mech-panel .tx{ font-size:20px; line-height:1.45; color:var(--fg-primary); }
.mech-panel .tx strong{ color:var(--haf-navy-900); font-weight:600; }
.mech-panel.signature{ border-left:4px solid var(--haf-gold-500); }
.mech-panel.example.land{ border-left:4px solid var(--fam-land); }
.mech-panel.example.brake{ border-left:4px solid var(--fam-brake); }
.mech-panel.example .ph{ color:var(--fam-land); }
.mech-panel.example.brake .ph{ color:var(--fam-brake); }

/* ---------- decision flow (blueprint/HUD) ---------- */
.flow{ display:flex; flex-direction:column; gap:0; margin-top:18px; flex:1; min-height:0; justify-content:center; }
.flow .start{
  align-self:center; text-align:center; padding:18px 34px; background:var(--hud-panel);
  border:1px solid var(--haf-cyan-400); color:#fff; max-width:760px;
}
.flow .start .q{ font-family:var(--font-display); font-weight:500; font-size:30px; }
.flow .start .s{ font-family:var(--font-mono); font-size:14px; color:var(--haf-cyan-300); letter-spacing:0.08em; margin-top:6px; }
.flow .branches{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:36px; }
.flow .lane{ display:flex; flex-direction:column; gap:16px; align-items:stretch; position:relative; }
.flow .lane .loc{
  text-align:center; padding:14px 18px; background:rgba(10,30,60,0.55); border:1px solid var(--hud-border);
  color:var(--hud-fg); font-family:var(--font-mono); font-size:14px; letter-spacing:0.12em; text-transform:uppercase;
}
.flow .lane .loc b{ color:#fff; font-weight:600; }
.flow .lane .q2{
  text-align:center; padding:16px 18px; background:var(--hud-panel); border:1px solid var(--haf-gold-400);
  color:#fff; font-family:var(--font-display); font-size:21px; line-height:1.2;
}
.flow .lane .q2 span{ display:block; font-family:var(--font-mono); font-size:12px; color:var(--haf-gold-300); letter-spacing:0.06em; margin-top:6px; text-transform:none; }
.flow .outcome{
  text-align:center; padding:18px 18px; border:2px solid; display:flex; flex-direction:column; gap:5px;
}
.flow .outcome .res{ font-family:var(--font-display); font-weight:600; font-size:24px; letter-spacing:0.02em; }
.flow .outcome .sub{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.08em; line-height:1.4; }
.flow .outcome.land{ border-color:var(--haf-cyan-400); background:rgba(52,199,227,0.10); }
.flow .outcome.land .res{ color:var(--haf-cyan-300); }
.flow .outcome.land .sub{ color:var(--hud-fg); }
.flow .outcome.brake{ border-color:var(--status-alert); background:rgba(214,77,60,0.16); }
.flow .outcome.brake .res{ color:#f3a59b; }
.flow .outcome.brake .sub{ color:var(--hud-fg); }
.flow .twin{ display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:stretch; }
.flow .twin .outcome .res{ font-size:19px; line-height:1.1; }
.flow .twin .outcome{ justify-content:flex-start; }
.flow .arrow{ text-align:center; color:var(--haf-gold-400); font-family:var(--font-mono); font-size:16px; line-height:1; }
.flow .legend{ display:flex; gap:32px; justify-content:center; margin-top:34px; font-family:var(--font-mono); font-size:14px; letter-spacing:0.1em; text-transform:uppercase; color:var(--hud-fg-dim); }
.flow .legend .it{ display:flex; align-items:center; gap:9px; }
.flow .legend .sw{ width:14px; height:14px; }
.flow .legend .sw.land{ background:var(--haf-cyan-400); }
.flow .legend .sw.brake{ background:var(--status-alert); }

/* ---------- comparison matrix ---------- */
.tmatrix{ display:grid; grid-template-columns:230px 1fr 1fr 1fr; border:1px solid var(--border-subtle); background:var(--neutral-000); margin-top:14px; }
.tmatrix .c{
  padding:18px 24px; border-bottom:1px solid var(--border-subtle); border-right:1px solid var(--border-subtle);
  font-size:21px; line-height:1.35; color:var(--fg-secondary); display:flex; flex-direction:column; gap:3px;
}
.tmatrix .c:nth-child(4n){ border-right:none; }
.tmatrix .c.head{
  background:var(--haf-navy-900); color:#fff; font-family:var(--font-mono); font-size:13px;
  letter-spacing:0.16em; text-transform:uppercase; padding:16px 24px;
}
.tmatrix .c.head.land{ color:var(--haf-navy-200); }
.tmatrix .c.head.brake{ color:#f3a59b; }
.tmatrix .c.rowlab{
  font-family:var(--font-mono); font-size:13px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--fg-muted); background:var(--neutral-050); justify-content:center;
}
.tmatrix .c.key{ color:var(--haf-navy-900); font-weight:600; }
.tmatrix .c .en{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; color:var(--fg-muted); text-transform:uppercase; }

/* ---------- case study ---------- */
.case-grid{ display:grid; grid-template-columns:880px 1fr; gap:0; flex:1; min-height:0; margin-top:14px; border:1px solid var(--hud-border); }
.case-grid .ph{ position:relative; background:#0a1628; overflow:hidden; border-right:1px solid var(--hud-border); }
.case-grid .ph img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.06); }
.case-grid .ph .cap{ position:absolute; left:0; right:0; bottom:0; padding:14px 18px; background:linear-gradient(to top, rgba(10,22,40,0.82), transparent); font-family:var(--font-mono); font-size:13px; letter-spacing:0.14em; color:var(--haf-cyan-300); text-transform:uppercase; }
.case-grid .tx{ padding:40px 44px; display:flex; flex-direction:column; gap:18px; background:rgba(10,30,60,0.4); }
.case-grid .tx .kx{ font-family:var(--font-mono); font-size:14px; letter-spacing:0.2em; text-transform:uppercase; color:#f3a59b; }
.case-grid .tx h3{ font-family:var(--font-display); font-weight:500; font-size:40px; line-height:1.08; color:#fff; margin:0; }
.case-grid .tx p{ font-size:21px; line-height:1.5; color:var(--hud-fg); margin:0; }
.case-grid .tx p strong{ color:#fff; }
.case-grid .tx .facts{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; }
.case-grid .tx .facts span{ font-family:var(--font-mono); font-size:13px; letter-spacing:0.08em; color:var(--hud-fg); border:1px solid var(--hud-border); padding:7px 12px; background:rgba(10,30,60,0.6); }

/* ---------- gallery ---------- */
.tgallery{ display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:1fr 1fr; gap:20px; margin-top:14px; flex:1; min-height:0; }
.gcell{ border:1px solid var(--border-subtle); background:var(--neutral-000); overflow:hidden; display:grid; grid-template-columns:200px 1fr; }
.gcell .gp{ background:#0a1628; overflow:hidden; }
.gcell .gp img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.05); }
.gcell .gt{ padding:16px 18px; display:flex; flex-direction:column; gap:6px; min-width:0; }
.gcell .gt h4{ font-family:var(--font-display); font-weight:600; font-size:22px; color:var(--haf-navy-900); margin:0; line-height:1.1; }
.gcell .gt h4 .en{ display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; color:var(--fg-muted); text-transform:uppercase; margin-top:3px; font-weight:400; }
.gcell .gt p{ font-size:14.5px; line-height:1.4; color:var(--fg-secondary); margin:0; }
.gcell .gt .act{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--status-alert); margin-top:auto; }

/* ---------- closing ---------- */
section.slide.closing-deck{
  background:var(--haf-navy-900); color:#fff; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:34px; padding:110px 120px 150px; text-align:center;
  background-image:
    radial-gradient(circle at 50% 120%, rgba(217,175,60,0.10), transparent 55%);
}
.closing-deck .mark{ font-family:var(--font-mono); font-size:16px; letter-spacing:0.3em; color:var(--haf-gold-400); text-transform:uppercase; }
.closing-deck .big{ font-family:var(--font-display); font-weight:400; font-size:88px; line-height:1.04; color:#fff; max-width:1500px; }
.closing-deck .big em{ font-style:normal; color:var(--haf-gold-400); }
.closing-deck .motto{ font-family:var(--font-display); font-size:30px; letter-spacing:0.18em; text-transform:uppercase; color:var(--haf-cyan-400); }
.closing-deck .shields{ display:flex; gap:40px; align-items:center; margin-top:8px; }
.closing-deck .shields img{ height:120px; }
.closing-deck .sources{
  position:absolute; bottom:64px; left:0; right:0; text-align:center;
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.12em; color:var(--hud-fg-dim); text-transform:uppercase;
  padding:0 80px; line-height:1.6;
}

/* ---------- section divider tweaks ---------- */
.section-divider .marker.small{ font-size:200px; }
