/* =============================================================
   ps_intro.css  --  Power Stations Guide & Introduction
   Companion to ../css/dsp_site.css
   ============================================================= */

:root {
  --amber:      #b86215;
  --amber-bg:   #fef0e0;
  --amber-bdr:  #f5c89a;
  --navy-bg:    #dce8f0;
  --navy-bdr:   #8aaabb;
  --surface:    #ffffff;
  --border:     #b8cedd;
  --shadow-sm:  0 1px 4px rgba(0,0,0,.09),0 1px 2px rgba(0,0,0,.05);
  --shadow-md:  0 4px 16px rgba(0,0,0,.10);
  --r:          10px;
}

.intro-body { max-width:980px; margin:0 auto; padding:28px 24px 72px; }

/* =============================================================
   BRAND / SECTION NAV  --  matches ps_reviews.css .bnc system
   ============================================================= */
.brand-nav { margin:20px 0 36px; }
.brand-nav-label {
  font-family:"IBM Plex Mono",monospace;
  font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:#7a9ab0; margin-bottom:10px;
}
.brand-nav-grid { display:grid; gap:10px; }
.bnc-grid-3 { grid-template-columns:repeat(3,1fr); }
.bnc-grid-4 { grid-template-columns:repeat(4,1fr); }
.bnc-grid-6 { grid-template-columns:repeat(6,1fr); }

.bnc {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r); padding:14px 12px; text-align:center;
  box-shadow:var(--shadow-sm); transition:all .18s;
  cursor:pointer; text-decoration:none; display:block;
}
.bnc:hover {
  box-shadow:var(--shadow-md); border-color:var(--navy-bdr);
  background:var(--navy-bg); transform:translateY(-2px); text-decoration:none;
}
.bnc-current { background:var(--amber-bg); border-color:var(--amber-bdr); cursor:default; }
.bnc-current:hover { transform:none; box-shadow:var(--shadow-sm); }

.bnc-name {
  font-family:"IBM Plex Sans",sans-serif;
  font-size:14.5px; font-weight:700; color:#1a2c3d; line-height:1.15; margin-bottom:4px;
}
.bnc-current .bnc-name { color:var(--amber); }
.bnc:hover .bnc-name   { color:#1a2c3d; }

.bnc-sub {
  font-family:"IBM Plex Mono",monospace;
  font-size:9.5px; color:#7a9ab0; letter-spacing:.03em;
  margin-bottom:7px; line-height:1.4;
}
.bnc-current .bnc-sub { color:var(--amber); opacity:.75; }

.bnc-arrow { font-family:"IBM Plex Mono",monospace; font-size:11px; color:#1e6fa8; }
.bnc-here  { font-family:"IBM Plex Mono",monospace; font-size:10.5px; color:var(--amber); }
.bnc:hover .bnc-arrow { color:#1a2c3d; }
.bnc-divider { height:1px; background:var(--border); margin:14px 0 10px; }

/* =============================================================
   HERO
   ============================================================= */
.intro-hero { text-align:center; padding:8px 20px 32px; }
.intro-eyebrow {
  font-family:"IBM Plex Mono",monospace; font-size:10.5px;
  color:#b86215; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px;
}
.intro-h1 {
  font-family:"Syne",sans-serif; font-size:36px; font-weight:800;
  color:#1a2c3d; margin:0 0 10px; line-height:1.1;
}
.intro-tagline {
  font-family:"IBM Plex Sans",sans-serif; font-size:16px;
  color:#5a7a96; max-width:640px; margin:0 auto; line-height:1.65;
}

/* =============================================================
   SECTION CHROME  (matches ps_reviews.css section-title)
   ============================================================= */
.intro-section { margin-bottom:52px; }
.section-heading {
  font-family:"Syne",sans-serif; font-size:20px; font-weight:800;
  color:#1a2c3d; margin:0 0 16px; padding-bottom:12px;
  border-bottom:3px solid #ffc107;
  display:flex; align-items:center; gap:10px;
}
.section-accent {
  display:inline-block; width:4px; height:20px;
  background:#ffc107; border-radius:2px; flex-shrink:0;
}
.section-intro {
  font-family:"IBM Plex Sans",sans-serif; font-size:15px;
  line-height:1.75; color:#3d5a70; margin-bottom:20px;
}
.section-body {
  font-family:"IBM Plex Sans",sans-serif; font-size:15px;
  line-height:1.8; color:#2c4558; margin-bottom:14px;
}
.section-aside {
  font-family:"IBM Plex Sans",sans-serif; font-size:13.5px;
  color:#5a7a96; margin-top:14px;
}
.text-link { color:#1e6fa8; font-weight:600; text-decoration:none; }
.text-link:hover { text-decoration:underline; }

/* =============================================================
   JOURNEY HUB
   ============================================================= */
.journey-flow { display:flex; align-items:flex-start; margin-top:20px; }
.journey-step {
  flex:1; background:#fff; border:1.5px solid #c4d8e8;
  border-radius:12px; padding:28px 14px 18px; text-align:center;
  text-decoration:none; color:#1a2c3d;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  position:relative; transition:transform .15s,box-shadow .15s,border-color .15s;
  min-width:0;
}
a.journey-step:hover {
  transform:translateY(-4px); box-shadow:0 8px 22px rgba(26,44,61,.13);
  border-color:#1e6fa8;
}
.journey-step-nolink {
  flex:1; background:#fff; border:1.5px solid #c4d8e8;
  border-radius:12px; padding:28px 14px 18px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  position:relative; min-width:0;
}
.step-num {
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  width:28px; height:28px; border-radius:50%;
  font-family:"IBM Plex Mono",monospace; font-size:13px; font-weight:700;
  display:flex; align-items:center; justify-content:center; color:#fff;
}
.step-1 .step-num { background:#1e6fa8; }
.step-2 .step-num { background:#e07d1a; }
.step-3 .step-num { background:#2a8a4a; }
.step-4 .step-num { background:#7c3aed; }
.step-1 { border-top:3px solid #1e6fa8; }
.step-2 { border-top:3px solid #e07d1a; }
.step-3 { border-top:3px solid #2a8a4a; }
.step-4,.journey-step-nolink.step-4 { border-top:3px solid #7c3aed; }
.step-icon { font-size:28px; margin-top:6px; }
.step-title {
  font-family:"Syne",sans-serif; font-size:13.5px; font-weight:700;
  color:#1a2c3d; margin-top:4px; line-height:1.25;
}
.step-sub { font-family:"IBM Plex Sans",sans-serif; font-size:11.5px; color:#7a9ab0; line-height:1.4; }
.journey-arrow {
  display:flex; align-items:center; font-size:22px; color:#9ab8cc;
  padding:0 5px; flex-shrink:0; align-self:center; margin-top:-10px;
}
.step-brand-links { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; margin-top:8px; }
.step-brand-links a {
  font-family:"IBM Plex Sans",sans-serif; font-size:11px; font-weight:600;
  color:#fff; background:#4a3080; border-radius:4px; padding:3px 8px;
  text-decoration:none; transition:background .15s;
}
.step-brand-links a:hover { background:#7c3aed; }

/* =============================================================
   DIAGRAMS
   ============================================================= */
.diagram-wrap { margin:22px 0; text-align:center; }
.diagram-img { max-width:100%; height:auto; border-radius:10px; box-shadow:0 3px 16px rgba(26,44,61,.1); }

/* =============================================================
   COLLAPSIBLE
   ============================================================= */
.collapsible-toggle {
  width:100%; background:#f0f5fa; border:1.5px solid #b8cedd;
  border-radius:10px; padding:15px 20px; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  font-family:"Syne",sans-serif; font-size:15.5px; font-weight:700;
  color:#1a2c3d; transition:background .15s; text-align:left; gap:12px;
}
.collapsible-toggle:hover { background:#e2ecf5; }
.toggle-left { display:flex; align-items:center; gap:10px; }
.toggle-hint {
  font-family:"IBM Plex Sans",sans-serif; font-size:12.5px;
  font-weight:400; color:#7a9ab0; margin-left:6px;
}
.toggle-chevron { font-size:14px; color:#7a9ab0; transition:transform .25s; display:inline-block; flex-shrink:0; }
.toggle-chevron.open { transform:rotate(180deg); }
.collapsible-body { overflow:hidden; transition:max-height .35s ease; }

.component-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:12px; margin:18px 0 10px;
}
.component-card { background:#f8fafc; border:1px solid #ccdde8; border-radius:8px; padding:14px 16px; }
.comp-name { font-family:"Syne",sans-serif; font-size:13.5px; font-weight:700; color:#1a2c3d; margin-bottom:5px; }
.comp-desc { font-family:"IBM Plex Sans",sans-serif; font-size:13px; line-height:1.6; color:#3d5a70; }

/* =============================================================
   USE CASE CARDS  --  6-col grid: top 3 span-2, bottom 2 span-3
   ============================================================= */
.usecase-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:20px; margin-top:24px; }
.usecase-card {
  grid-column:span 2; background:#fff; border:1.5px solid #cddce8;
  border-radius:12px; padding:22px 18px 18px;
  display:flex; flex-direction:column; gap:7px;
  transition:transform .15s,box-shadow .15s;
}
.usecase-card:hover { transform:translateY(-3px); box-shadow:0 7px 22px rgba(26,44,61,.11); }
.usecase-card.span-3 { grid-column:span 3; }

.cat-emergency { border-top:3px solid #c0392b; }
.cat-portable  { border-top:3px solid #1e6fa8; }
.cat-home      { border-top:3px solid #2a8a4a; }
.cat-solar     { border-top:3px solid #c09000; }

.card-icon { font-size:30px; }
.card-cat-badge {
  font-family:"IBM Plex Sans",sans-serif; font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em; border-radius:4px;
  padding:2px 8px; display:inline-block; width:fit-content;
}
.cat-emergency .card-cat-badge { background:#fdecea; color:#a02020; }
.cat-portable  .card-cat-badge { background:#e6f2fc; color:#1260a0; }
.cat-home      .card-cat-badge { background:#edf6ee; color:#1f7030; }
.cat-solar     .card-cat-badge { background:#fdf6e0; color:#906800; }

.card-title { font-family:"Syne",sans-serif; font-size:15.5px; font-weight:800; color:#1a2c3d; margin:0; line-height:1.2; }
.card-desc  { font-family:"IBM Plex Sans",sans-serif; font-size:13px; line-height:1.65; color:#3d5a70; flex-grow:1; }
.card-attrs { margin-top:6px; }
.attr-label { font-family:"IBM Plex Sans",sans-serif; font-size:11px; font-weight:600; color:#7a9ab0; text-transform:uppercase; letter-spacing:.07em; margin-bottom:6px; }
.attr-tags  { display:flex; flex-wrap:wrap; gap:5px; }
.attr-tag   { font-family:"IBM Plex Sans",sans-serif; font-size:11.5px; background:#f0f5fa; color:#2c4558; border:1px solid #c0d4e4; border-radius:4px; padding:2px 9px; }
.idle-note  { font-family:"IBM Plex Sans",sans-serif; font-size:12px; color:#7a2000; background:#fff7ed; border:1px solid #f0c88a; border-radius:6px; padding:8px 10px; line-height:1.5; }
.card-cta   { display:block; margin-top:10px; padding:8px 14px; background:#1a2c3d; color:#ffc107; border-radius:7px; text-align:center; font-family:"Syne",sans-serif; font-size:12.5px; font-weight:700; text-decoration:none; transition:background .15s,color .15s; }
.card-cta:hover { background:#1e6fa8; color:#fff; }

/* =============================================================
   CALLOUT BOX
   ============================================================= */
.callout-box  { display:flex; gap:18px; border-radius:12px; padding:22px 24px; }
.callout-tip  { background:#fffbee; border:1.5px solid #f0d060; border-left:5px solid #ffc107; }
.callout-icon { font-size:28px; flex-shrink:0; padding-top:2px; }
.callout-content { flex:1; }
.callout-title { font-family:"Syne",sans-serif; font-size:15.5px; font-weight:800; color:#1a2c3d; margin-bottom:10px; }
.callout-content p { font-family:"IBM Plex Sans",sans-serif; font-size:14px; line-height:1.75; color:#3d5a70; margin-bottom:8px; }
.callout-content p:last-child { margin-bottom:0; }
.callout-link { color:#b06000; font-weight:600; text-decoration:none; }
.callout-link:hover { text-decoration:underline; }

/* =============================================================
   GO DEEPER
   ============================================================= */
.deeper-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.deeper-card {
  background:#f4f8fc; border:1.5px solid #b8cedd; border-radius:12px;
  padding:22px 20px; text-decoration:none; color:#1a2c3d; display:block;
  transition:transform .15s,box-shadow .15s,border-color .15s;
}
.deeper-card:hover { transform:translateY(-3px); box-shadow:0 6px 18px rgba(26,44,61,.1); border-color:#1e6fa8; }
.deeper-icon  { font-size:28px; margin-bottom:10px; }
.deeper-title { font-family:"Syne",sans-serif; font-size:15px; font-weight:800; color:#1a2c3d; margin-bottom:8px; }
.deeper-desc  { font-family:"IBM Plex Sans",sans-serif; font-size:13.5px; line-height:1.65; color:#3d5a70; }

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media(max-width:860px){
  .bnc-grid-6{grid-template-columns:repeat(3,1fr);}
  .bnc-grid-4{grid-template-columns:repeat(2,1fr);}
  .usecase-grid{grid-template-columns:repeat(2,1fr);}
  .usecase-card,.usecase-card.span-3{grid-column:span 1;}
  .journey-flow{flex-direction:column;align-items:stretch;}
  .journey-arrow{transform:rotate(90deg);align-self:center;margin:0;padding:4px 0;}
}
@media(max-width:560px){
  .intro-body{padding:20px 16px 60px;}
  .intro-h1{font-size:26px;}
  .bnc-grid-3,.bnc-grid-6,.bnc-grid-4{grid-template-columns:repeat(2,1fr);}
  .usecase-grid{grid-template-columns:1fr;}
  .deeper-grid{grid-template-columns:1fr;}
  .callout-box{flex-direction:column;gap:10px;}
  .component-grid{grid-template-columns:1fr;}
}
