/* ===============================
   1. SHARED / GLOBAL STYLES
   =============================== */

/* ---------- Tokens ---------- */
:root {
  --bg:#0b0b0c;
  --text:#111;
  --subtext:#dcdcdc;
  --accent:#f1b24b;
  --accent-2:#ffe1a6;
  --panel:#131416e6;
  --panel-border:#ffffff20;
  --max:1120px;
  --rail-w:260px;
  --gap:24px;
}

/* ---------- Base ---------- */
html,
body {
  margin:0;
  padding:0;
  background-image: url('../images/sky.jpg'); /* path to your image */
  background-size: cover;        /* fills the screen */
  background-position: center;   /* keeps it centered */
  background-repeat: no-repeat;  
  background-attachment: fixed;  /* subtle parallax effect */
  color:var(--text);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.65;
  scroll-behavior: smooth;
}
a {
  color:var(--accent);
  text-decoration: none;
}
a:hover {
  color:var(--accent-2);
}

.wrap {
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px;
}
.solar-guy-feature .news-card-inner {
  padding: 18px;
}

.solar-guy-comic-wrap {
  width: 100%;
}

.solar-guy-comic-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.solar-guy-caption {
  margin: 14px 0 0;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
}
/* Small text utility */
.small {
  font-size:12px;
  color:#9a9a9a;
  margin-top:16px;
}
.small.bar {
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.featured-video-card {
  margin: 0 0 30px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #c8860a;
}

.video-frame iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.video-copy h2 {
  font-size: 26px;
  margin: 0 0 10px 0;
  color: #111;
}

.video-intro,
.video-note {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 12px 0;
}

.video-link {
  display: inline-block;
  background: #e8a800;
  color: #000;
  text-decoration: none;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 6px;
}
/* Accessibility helper */
.sr-only {
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  margin-bottom: 20px;
  background: #000;
}

.video-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
/* Responsive token tweak */
@media (max-width:1100px) {
  :root { --rail-w:220px; }
}

/* ===============================
   2. GLOBAL PLANET NAV
   =============================== */

/* Inner pages */
.planet-nav {
  display:flex;
  justify-content:center;
  gap:18px;
  padding:18px 0 10px;
  background:transparent;
  position:relative;
  z-index:10;
}
.planet-nav a {
  display:inline-block;
}
.planet-nav img {
  width:70px;
  height:82px;
  object-fit:contain;
  transition:transform .18s ease, filter .18s ease;
}
.planet-nav a:hover img {
  transform: translateY(-2px) scale(1.04);
}

/* JOIN planet a bit bigger */
.planet-nav img[src*="planet-join"] {
  transform:scale(1.5);
}
.planet-nav a:hover img[src*="planet-join"] {
  transform:translateY(-2px) scale(1.36);
}

/* Home orbit menu */
.orbit {
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:26px;
  z-index:5;
}
.orbit a {
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.45));
}
.orbit img {
  width:54px;
  height:54px;
  object-fit:contain;
  transition:transform .2s ease, filter .2s ease;
}
.orbit a:hover img {
  transform:translateY(-2px) scale(1.02);
}

/* Bigger JOIN on home */
.orbit a img[src*="planet-join"] {
  transform:scale(1.5);
}
.orbit a:hover img[src*="planet-join"] {
  transform:translateY(-2px) scale(1.6);
}

/* GLOBAL PLANET GLOW – home + inner pages */
.orbit img,
.planet-nav img {
  filter:
    drop-shadow(0 4px 8px rgba(0,0,0,.55))
    drop-shadow(0 0 10px rgba(255,255,255,.30));
}
.orbit a:hover img,
.planet-nav a:hover img {
  filter:
    drop-shadow(0 6px 12px rgba(0,0,0,.7))
    drop-shadow(0 0 16px rgba(255,255,255,.55));
}

/* HOME – hide text under planet menu icons */
.orbit a span {
  display:none;
}

/* ===============================
   3. UNIVERSAL FOOTER (ALL PAGES)
   =============================== */

footer,
.site-footer {
  background:#0b0b0d;
  color:#bdbdbd;
  padding:34px 0 46px;
  font-size:14px;
  margin-top:24px;
  border-top:1px solid #ffffff12;
}

footer a,
.site-footer a {
  color:#d8d8d8;
  text-decoration:none;
}
footer a:hover,
.site-footer a:hover {
  text-decoration:underline;
}

.footer-links,
.fcols,
.site-footer .footer-links {
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px;
  display:grid;
  gap:22px;
  grid-template-columns:1fr;
}
/* secondary footer row under main 3 columns */
.footer-links--secondary {
  margin-top: 32px;
}

/* bottom copyright / privacy row */
.footer-meta {
  max-width: var(--max);
  margin: 24px auto 0;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #9a9a9a;
}

.footer-meta a {
  color: #d8d8d8;
  text-decoration: none;
}
.footer-meta a:hover {
  text-decoration: underline;
}
.comic-episode-copy {
  text-align: center;
}

.comic-episode-label,
.comic-episode-title {
  display: inline;
}

body.comic-page .comic-episode-copy {
  white-space: nowrap;
}
/* ===============================
   COMIC PAGE
   =============================== */

body.comic-page {
  background:#000 url("../images/Space-Solar.png") no-repeat center top fixed;
  background-size:cover;
  color:#f3f3f3;
}

body.comic-page .comic-main {
  padding:32px 0 48px;
}

body.comic-page .comic-main .wrap {
  max-width:840px;
  margin:0 auto;
  padding:0 40px;
}
/* HOME – responsive tweaks */
@media (max-width:980px) {
  .orbit img { width:44px; height:44px; }
  .hero-content { max-width:100%; }
  .layout {
    grid-template-columns:1fr;
  }
  .rail {
    grid-column:1;
    margin-top:12px;
  }
  .cards {
    grid-template-columns:1fr;
  }
}

@media (max-width: 900px) {
  body.comic-page .comic-main .wrap,
  body.consult-page .consult-main .wrap,
  body.bio-page .bio-main .wrap,
  body.faq-page .faq-main .wrap,
  body.news-page .news-main .wrap,
  body.join-page .join-main .wrap {
    padding: 0 20px;
  }

  body.comic-page .comic-grid,
  body.consult-page .form-grid {
    grid-template-columns: 1fr;
  }
}

body.comic-page .comic-header {
  text-align:center;
  margin-bottom:24px;
}

body.comic-page .comic-name {
  font-size:clamp(30px, 3.4vw, 38px);
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:800;
  color:#f1b24b;
  margin:20px 0 10px;
  text-shadow:0 4px 14px rgba(0,0,0,.85);
}

body.comic-page .comic-tagline {
  text-align:center;
  margin:0 0 28px;
}

body.comic-page .comic-tagline span {
  display:inline-block;
  padding:6px 18px;
  border-radius:999px;
  background:rgba(0,0,0,0.65);
  color:#ffffff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,0.6);
}

body.comic-page .comic-card {
  margin:0 0 28px;
  border-radius:22px;
  border:4px solid #f1b24b;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.7);
}

body.comic-page .comic-card-inner {
  padding:32px clamp(24px, 4vw, 40px);
}

body.comic-page .comic-section-title {
  font-size:22px;
  font-weight:800;
  margin:0 0 18px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.comic-page .comic-intro {
  font-size:17px;
  line-height:1.8;
  color:#e4e4e4;
  margin:0 0 12px;
}

body.comic-page .comic-episode-img {
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  margin-bottom:16px;
}

body.comic-page .comic-episode-label,
body.comic-page .comic-tile-label {
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#ffe1a6;
  margin:0 0 6px;
}

body.comic-page .comic-episode-title,
body.comic-page .comic-tile h3 {
  color:#004b7f;
  font-size:22px;
  font-weight:800;
  margin:0 0 10px;
}

body.comic-page .comic-episode-copy p {
  font-size:16px;
  line-height:1.75;
  color:#333;
}

body.comic-page .comic-episode {
  background:#ffffff;
  color:#222;
  border-radius:16px;
  padding:18px 22px;
  box-shadow:0 12px 28px rgba(0,0,0,.55);
}

body.comic-page .comic-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

body.comic-page .comic-tile {
  background:#ffffff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.55);
}

body.comic-page .comic-tile img {
  display:block;
  width:100%;
  height:auto;
}

body.comic-page .comic-tile-body {
  padding:16px 18px 18px;
}

@media (max-width:880px) {
  .promo-img {
    max-width:420px;
    margin:0 auto;
  }
  .promo2-grid {
    grid-template-columns:1fr;
    text-align:center;
  }
  .promo2-img img {
    max-width:420px;
    margin:0 auto;
  }
}

@media (min-width:820px) {
  .footer-links,
  .fcols,
  .site-footer .footer-links {
    grid-template-columns:repeat(3,1fr);
  }
}
/* Mobile: stack image above text */
@media (max-width:720px) {
  body.news-page .news-item-media {
    float:none;
    width:100%;
    max-width:100%;
    margin:0 0 14px 0;  /* image on top, text below on phones */
  }
}

@media (max-width: 700px) {
  .footer-meta {
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }

  .sponsor-logos {
    flex-wrap: wrap;
    justify-content: center;
  }
}

footer h3,
.site-footer h3 {
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:0 0 10px;
  color:#f1b24b;
}

footer ul,
.site-footer ul {
  list-style:none;
  padding:0;
  margin:0;
}
footer li,
.site-footer li {
  margin-bottom:6px;
}

/* ===============================
   4. HOME PAGE (index.html)
   =============================== */

/* HERO (composite background) */
.hero--composite {
  position:relative;
  isolation:isolate;
  min-height:min(88vh, 980px);
  background-image:url("../images/hero-desert-panels-wide.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center top;
  border-bottom:1px solid #ffffff12;
  overflow:hidden;
  color:#000;
  text-shadow:none;
  font-weight:800;
}
.hero--composite::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.25) 22%,
    rgba(0,0,0,.45) 60%,
    rgba(0,0,0,.72) 100%
  );
}

/* Hero content */
.hero-content {
  position:relative;
  z-index:2;
  padding-top:96px;
  padding-bottom:28px;
  max-width:840px;
}
.hero-content p,
.hero-content blockquote {
  text-indent:0;
  margin-left:0;
}

.kicker {
  font-size:18px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#f1b24b;
  font-weight:800;
  margin:0 0 12px 0;
  text-shadow:
     0 0 6px rgba(0,0,0,0.45),
     0 0 12px rgba(0,0,0,0.55);
}
.h1 {
  font-size:clamp(48px, 7vw, 84px);
  font-weight:800;
  line-height:1.04;
  color:#fff;
  margin:0 0 10px 0;
  text-shadow:0 3px 16px rgba(0,0,0,.5);
}
.tag {
  font-size:20px;
  color:var(--accent);
  margin:0 0 22px 0;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

/* Learn block */
.h2 {
  margin:0 0 12px 0;
  color:var(--accent);
  font-size:clamp(22px, 3.2vw, 30px);
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.learn--plain blockquote {
  margin:0 0 14px 0;
  color:#fff;
  font-size:clamp(18px, 2.3vw, 22px);
  font-style:italic;
  text-shadow:0 2px 11px rgba(0,0,0,.6);
}
.learn--plain p {
  margin:0 0 12px 0;
  color:#fff;
  font-size:clamp(17px, 2.1vw, 20px);
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.sig {
  text-align:right;
  color:var(--accent);
  font-weight:600;
  margin-top:10px;
  text-shadow:0 2px 9px rgba(0,0,0,.55);
}

/* Learn header alignment */
.learn-header {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  justify-content:flex-start;
  flex-wrap:wrap;
}

/* Free Consultation button */
.btn-free {
  position:relative;
  top:-3px;
  background:linear-gradient(180deg, #ffc86a, #f1b24b);
  color:#1b1304;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:10px 18px;
  border-radius:10px;
  border:none;
  cursor:pointer;
  font-size:14px;
  box-shadow:0 3px 6px rgba(0,0,0,.25);
  transition:all .2s ease;
  text-decoration:none;
}
.btn-free:hover {
  filter:brightness(1.1);
  transform:translateY(-1px);
}

/* MAIN LAYOUT (HOME) */
.layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) var(--rail-w);
  gap:var(--gap);
  align-items:start;
  padding-top:24px;
  padding-bottom:10px;
}
.body-col { min-width:0; }

/* Cards (2×2) */
.cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:36px;
}
.panel {
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:14px;
  padding:22px clamp(18px, 3vw, 28px);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  backdrop-filter:blur(2px);
}
.cards h3 {
  text-transform:uppercase;
  text-align:center;
  font-size:clamp(22px, 2.6vw, 30px);
  color:var(--accent);
  letter-spacing:0.08em;
  margin:0 0 12px 0;
}

/* Video wrapper */
.video-wrapper {
  position:relative;
  padding-top:56.25%;
  border-radius:10px;
  overflow:hidden;
  margin-top:12px;
}
.video-wrapper iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.advocacy-card img {
  width:100%;
  height:auto;
  border-radius:10px;
  margin-top:12px;
  object-fit:cover;
  max-height:360px;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}

/* Card body text */
.panel p,
.panel li,
.panel blockquote,
.panel .sig {
  color:#e9e9e9;
}

/* Solar-panel texture (shared utility) */
.panel-pv {
  position:relative;
  border-radius:14px;
  border:6px solid #0d1117;
  box-shadow:
    0 10px 28px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.4);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.15)),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.10) 0px,
      rgba(255,255,255,.10) 2px,
      transparent 2px,
      transparent 30px),
    repeating-linear-gradient(0deg,
      #1b1f25 0px,
      #1b1f25 42px,
      #0c0f13 42px,
      #0c0f13 44px);
  background-blend-mode:overlay, normal, soft-light;
}
.panel-pv::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:10px;
  background:linear-gradient(-12deg, rgba(255,255,255,.20), rgba(255,255,255,0) 45%);
  pointer-events:none;
}

/* RIGHT RAIL (HOME) */
.rail {
  position:relative;
  align-self:stretch;
  height:auto;
  display:flex;
  flex-direction:column;
  margin-bottom:36px;

  border-radius:14px;
  border:6px solid #0d1117;
  box-shadow:
    0 10px 28px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.4);
  padding:14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.15)),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.10) 0px,
      rgba(255,255,255,.10) 2px,
      transparent 2px,
      transparent 30px),
    repeating-linear-gradient(0deg,
      #1b1f25 0px,
      #1b1f25 42px,
      #0c0f13 42px,
      #0c0f13 44px);
  background-blend-mode:overlay, normal, soft-light;
}
.rail::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:10px;
  background:linear-gradient(-12deg, rgba(255,255,255,.18), rgba(255,255,255,0) 45%);
  pointer-events:none;
}
.rail h4 {
  text-align:center;
  color:var(--accent);
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin:0 0 10px;
}
.rail-stack {
  display:flex;
  flex-direction:column;
  gap:12px;
  background:transparent;
}
.rail-item {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:74px;
  padding:14px;
  border-radius:10px;
  background:#ffffff;
  border:2px solid #eeeeee;
  box-shadow:0 3px 6px rgba(0,0,0,.12);
}
.rail-item img {
  max-width:90%;
  max-height:60px;
  width:auto;
  height:auto;
}
.rail-item img[src*="FLOWCEXMUSICLOGO"] {
  max-height:120px !important;
}

/* ACCORD POWER PROJECTS STRIP (HOME) */
.projects-strip {
  background:#fdfdfd;
  padding:40px 0;
}
.projects-header {
  text-align:center;
  margin-bottom:8px;
}
.projects-header img {
  width:420px;
  max-width:90%;
  height:auto;
  object-fit:contain;
  margin-bottom:4px;
}
.projects-address {
  margin:0 0 14px;
  font-size:15px;
  color:#004b7f;
  text-align:center;
  letter-spacing:.02em;
  font-weight:600;
  white-space:nowrap;
}
.projects {
  margin:0 auto;
  padding:32px 26px 36px;
  max-width:1120px;
  border-radius:18px;
  background:#fdfdfd;
  box-shadow:0 18px 40px rgba(0,0,0,.20);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:24px;
}
.project-card {
  background:#ffffff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.12);
  display:flex;
  flex-direction:column;
}
.project-card img {
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
}
.project-card h3 {
  margin:16px 18px 8px;
  font-size:20px;
  font-weight:700;
  color:#004b7f;
}
.project-card p {
  margin:0 18px 16px;
  font-size:14px;
  line-height:1.6;
  color:#333;
}
.project-link {
  margin:0 18px 18px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#1a9a3a;
}
.project-link:hover {
  text-decoration:underline;
}

/* PROMO (HOME) */
.promo {
  margin-top:16px;
  background:linear-gradient(180deg, #fce28a 0%, #f1b24b 100%);
}
.promo-img {
  width:100%;
  max-width:980px;
  height:auto;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.4);
  display:block;
  margin:0 auto;
}

/* Greenhouse Blues / Promo2 section */
.promo2 {
  background:linear-gradient(
    180deg,
    rgba(100,180,120,0.12) 0%,
    rgba(100,180,120,0.08) 100%
  );
  padding:40px 0 60px;
  margin-top:40px;
}
.promo2-grid {
  display:block;
}
.promo2-text {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 18px;
  padding: 28px 32px;
  box-shadow: 0 14px 32px rgba(0,0,0,0.18);
  backdrop-filter: blur(4px);
}
.promo2-text h2 {
  font-size:32px;
  font-weight:800;
  color:#004b7f;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:16px;
}
.promo2-text p {
  font-size:17px;
  line-height:1.65;
  color:#333;
  margin-bottom:16px;
}
.promo2-btn {
  display:inline-block;
  background:#f1b24b;
  color:#1a1302;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:12px 20px;
  border-radius:8px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 4px 10px rgba(0,0,0,.2);
  transition:all .25s ease;
}
.promo2-btn:hover {
  filter:brightness(1.1);
  transform:translateY(-2px);
}
.promo2-img {
  margin-top: 24px;
}
.promo2-img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
}

/* Old sponsors band (if ever reused) */
.sponsors {
  margin-top:18px;
  background:#0e0e10;
  padding:28px 0;
  border-top:1px solid #ffffff12;
  border-bottom:1px solid #ffffff12;
}
.sponsor-title {
  margin:0 0 16px;
  font-size:18px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.18em;
  text-align:center;
}
.logo-row {
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}
.logo-row img {
  height:70px;
  filter:saturate(.4) brightness(1.05);
  transition:filter .25s ease, transform .25s ease;
}
.logo-row img:hover {
  filter:saturate(1) brightness(1.1);
  transform:scale(1.04);
}


/* ===============================
   5. CONSULT PAGE
   =============================== */

body.consult-page {
  background:#ffffff;
}

/* Make planet nav sticky + dark on consult */
body.consult-page .consult-main {
  padding:26px 0 32px;
}
body.consult-page .consult-main .wrap {
  max-width:840px;
  margin:0 auto;
  padding:0 40px;
}

/* Accord header */
body.consult-page .accord-header {
  text-align:center;
  padding:22px 0 10px;
}
body.consult-page .accord-header img {
  width:380px;
  max-width:90%;
  height:auto;
  margin-bottom:4px;
}
body.consult-page .accord-header .accord-address {
  margin:0;
  font-size:15px;
  color:#004b7f;
  font-weight:600;
  letter-spacing:.02em;
}

/* Page title */
body.consult-page .consult-main .name {
  text-align:center;
  font-size:clamp(28px, 3.2vw, 34px);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#222;
  margin:0 0 24px;
}

/* Intro + form panels */
body.consult-page .consult-intro,
body.consult-page .consult-form {
  background:#ffffff;
  border-radius:22px;
  border:1px solid #e4e7ec;
  box-shadow:0 20px 48px rgba(0,0,0,0.08);
  padding:32px clamp(24px, 4vw, 40px);
  margin-bottom:20px;
}

/* Intro text */
body.consult-page .consult-intro p {
  font-size:18px;
  line-height:1.7;
  color:#333;
  margin:0 0 14px;
}
body.consult-page .consult-intro .small-note {
  font-size:14px;
  color:#666;
}

/* Form layout */
body.consult-page .solar-intake-form {
  margin-top:6px;
}

/* Fieldsets */
body.consult-page .solar-intake-form fieldset {
  border:none;
  border-top:1px solid #efefef;
  padding-top:14px;
  margin-top:18px;
}
body.consult-page .solar-intake-form fieldset:first-of-type {
  border-top:none;
  margin-top:10px;
}
body.consult-page .solar-intake-form legend {
  margin-bottom:10px;
  font-size:18px;
  font-weight:800;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#f1b24b;
}

/* Grid for fields */
body.consult-page .form-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 22px;
}
body.consult-page .form-field {
  display:flex;
  flex-direction:column;
  gap:4px;
}
body.consult-page .form-field.full {
  grid-column:1 / -1;
}

/* Labels */
body.consult-page .solar-intake-form label,
body.consult-page .solar-intake-form .label {
  font-size:14px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#444;
}

/* Inputs & textareas */
body.consult-page .solar-intake-form input[type="text"],
body.consult-page .solar-intake-form input[type="email"],
body.consult-page .solar-intake-form input[type="tel"],
body.consult-page .solar-intake-form input[type="number"],
body.consult-page .solar-intake-form textarea {
  width:100%;
  box-sizing:border-box;
  border-radius:14px;
  border:1px solid #cfd9e5;
  background:#e8f1fb;
  padding:12px 16px;
  font-size:15px;
  color:#222;
  outline:none;
  transition:all .15s ease;
}
body.consult-page .solar-intake-form textarea {
  border-radius:16px;
  resize:vertical;
  min-height:80px;
}
body.consult-page .solar-intake-form input:focus,
body.consult-page .solar-intake-form textarea:focus {
  border-color:#1a9a3a;
  box-shadow:0 0 0 2px rgba(26,154,58,0.25);
  background:#f1f7ff;
}

/* Options grid */
body.consult-page .solar-intake-form .options-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px 20px;
}
body.consult-page .solar-intake-form .options-grid label {
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}

/* Submit area */
body.consult-page .form-actions {
  text-align:center;
  margin-top:20px;
  margin-bottom:8px;
}
body.consult-page .form-actions .btn-free {
  padding:14px 26px;
  border-radius:10px;
}
body.consult-page .form-actions .small-note {
  margin-top:8px;
  font-size:14px;
  color:#666;
}

/* ===============================
   6. BIO PAGE
   =============================== */

body.bio-page {
  position:relative;
  min-height:100vh;
  color:#f3f3f3;
  background-image:url("../images/Space-Solar.png");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
body.bio-page::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at top left, rgba(0,0,0,0.2), rgba(0,0,0,0.7));
  z-index:-1;
}

body.bio-page .bio-main {
  padding:32px 0 48px;
}
body.bio-page .bio-main .wrap {
  max-width:840px;
  margin:0 auto;
  padding:0 40px;
}

/* Bio title */
body.bio-page .bio-name {
  text-align:center;
  font-size:clamp(30px, 3.4vw, 38px);
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:800;
  color:#f1b24b;
  margin:20px 0 10px;
  text-shadow:0 4px 14px rgba(0,0,0,.85);
}

/* Bio tagline pill */
body.bio-page .bio-tagline {
  display:inline-block;
  margin:0 0 28px;
  padding:6px 20px;
  border-radius:999px;
  background:rgba(0,0,0,0.65);
  box-shadow:0 6px 18px rgba(0,0,0,0.6);
  font-size:15px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:#ffffff;
}
body.bio-page .bio-header,
body.bio-page .bio-main,
body.bio-page .bio-main .wrap {
  text-align:center;
}

/* Bio card */
body.bio-page .bio-card {
  margin:10px auto 0;
  border-radius:22px;
  border:4px solid rgba(241,178,75,.9);
  box-shadow:0 22px 50px rgba(0,0,0,.7);
  padding:32px clamp(24px, 4vw, 40px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.25)),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.10) 0px,
      rgba(255,255,255,.10) 2px,
      transparent 2px,
      transparent 30px
    ),
    repeating-linear-gradient(
      0deg,
      #1b1f25 0px,
      #1b1f25 42px,
      #0c0f13 42px,
      #0c0f13 44px
    );
  background-blend-mode:overlay, normal, soft-light;
  text-align:left;
}

/* Photo floats left, text wraps */
body.bio-page .bio-photo {
  float:left;
  width:260px;
  max-width:40%;
  margin:4px 28px 18px 0;
}
body.bio-page .bio-photo img {
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(0,0,0,.7);
}

body.bio-page .bio-copy,
body.bio-page .bio-copy p {
  text-align:left !important;
}
body.bio-page .bio-copy p {
  font-size:17px;
  line-height:1.75;
  color:#e4e4e4;
  margin:0 0 14px;
}
body.bio-page .bio-copy p:last-child {
  margin-bottom:0;
}
body.bio-page .bio-copy::after {
  content:"";
  display:block;
  clear:both;
}

/* ===============================
   7. FAQ PAGE
   =============================== */

body.faq-page {
  background:url("../images/Space-Solar.png") center top / cover no-repeat fixed;
  color:#f3f3f3;
}

body.faq-page .faq-main {
  padding:32px 0 48px;
}
body.faq-page .faq-main .wrap {
  max-width:840px;
  margin:0 auto;
  padding:0 40px;
}

/* FAQ title */
body.faq-page .faq-name,
body.faq-page .faq-title {
  text-align:center;
  font-size:clamp(30px, 3.4vw, 38px);
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#f1b24b;
  margin:20px 0 10px;
  font-weight:800;
  text-shadow:0 2px 10px rgba(0,0,0,.85);
}

/* FAQ tagline */
body.faq-page .faq-tagline {
  text-align:center;
  margin:0 0 28px;
  font-size:16px;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:#f5f5f5;
}
body.faq-page .faq-tagline span {
  display:inline-block;
  padding:6px 18px;
  border-radius:999px;
  background:rgba(0,0,0,0.65);
  box-shadow:0 6px 18px rgba(0,0,0,0.6);
}

/* FAQ card */
body.faq-page .faq-card {
  margin:0 auto 30px;
  border-radius:22px;
  border:4px solid #f1b24b;
  box-shadow:0 22px 50px rgba(0,0,0,.7);
  padding:28px clamp(22px, 4vw, 40px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.3)),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.10) 0px,
      rgba(255,255,255,.10) 2px,
      transparent 2px,
      transparent 30px
    ),
    repeating-linear-gradient(
      0deg,
      #1b1f25 0px,
      #1b1f25 42px,
      #0c0f13 42px,
      #0c0f13 44px
    );
  background-blend-mode:overlay, normal, soft-light;
}
body.faq-page .faq-card h2,
body.faq-page .faq-card h3 {
  color:#ffe1a6;
  margin-top:20px;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
body.faq-page .faq-card p,
body.faq-page .faq-card li {
  font-size:16px;
  line-height:1.75;
  color:#e4e4e4;
}
body.faq-page .faq-card ul {
  padding-left:20px;
  margin:0 0 14px;
}

/* ===============================
   8. NEWS PAGE
   =============================== */

body.news-page {
  background:#000 url("../images/Space-Solar.png") no-repeat center top fixed;
  background-size:cover;
  color:#f3f3f3;
}

body.news-page .news-main {
  padding:32px 0 48px;
}
body.news-page .news-main .wrap {
  max-width:840px;
  margin:0 auto;
  padding:0 40px;
}

/* Title + tagline (match Bio / FAQ) */
body.news-page .news-header {
  text-align:center;
  margin-bottom:24px;
}
body.news-page .news-name {
  font-size:clamp(30px, 3.4vw, 38px);
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:800;
  color:#f1b24b;
  margin:20px 0 10px;
  text-shadow:0 4px 14px rgba(0,0,0,.85);
}
body.news-page .news-tagline {
  text-align:center;
  margin:0 0 28px;
}
body.news-page .news-tagline span {
  display:inline-block;
  padding:6px 18px;
  border-radius:999px;
  background:rgba(0,0,0,0.65);
  color:#ffffff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,0.6);
}

/* Solar-panel cards (outer shells) */
body.news-page .news-card {
  margin:0 0 28px;
  border-radius:22px;
  border:4px solid #f1b24b;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.7);
}
body.news-page .news-card.panel-pv {
  position:relative;
}
body.news-page .news-card-inner {
  padding:32px clamp(24px, 4vw, 40px);
}

/* Text inside ASES card, etc. */
body.news-page .news-title {
  font-size:22px;
  font-weight:700;
  margin:0 0 10px;
  color:#fff;
}
body.news-page .news-intro,
body.news-page .news-item p {
  font-size:17px;
  line-height:1.8;
  color:#e4e4e4;
  margin:0 0 12px;
}
body.news-page .news-date {
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#ffe1a6;
  margin-bottom:6px;
}
body.news-page .news-meta {
  font-size:15px;
  margin:0 0 10px;
}

/* Divider if needed */
body.news-page .news-divider {
  border:0;
  border-top:1px solid rgba(255,255,255,0.18);
  margin:20px 0;
}

/* Newsletter-style story block: white cards on top of panel */
body.news-page .news-card.news-stories .news-card-inner {
  padding:28px clamp(22px, 4vw, 40px);
}

/* Each story = white card with image left, text right */
body.news-page .news-item {
  margin:0 0 24px;
}

/* FLOATED IMAGE LAYOUT FOR STORIES */
body.news-page .news-item.has-media {
  background:#ffffff;
  color:#222;
  border-radius:16px;
  padding:18px 22px;
  box-shadow:0 12px 28px rgba(0,0,0,.55);
}

/* Image column: float left so text wraps around it */
body.news-page .news-item-media {
  float:left;
  width:210px;
  max-width:40%;
  margin:4px 22px 10px 0;  /* space to the right & a bit underneath */
}

/* Keep your existing image styling */
body.news-page .news-item-media img {
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

/* Clear the float at the end of each story so the next story starts clean */
body.news-page .news-item.has-media::after {
  content:"";
  display:block;
  clear:both;
}

/* Image column */
body.news-page .news-item-media img {
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

/* Text column */
body.news-page .news-item-body {
  text-align:left;
}
body.news-page .news-item.has-media .news-date {
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:600;
  color:#444;
  margin:0 0 6px;
}
body.news-page .news-item.has-media .news-title {
  color:#004b7f;
  font-size:22px;
  font-weight:800;
  margin:0 0 8px;
}
body.news-page .news-item.has-media .news-meta {
  font-size:14px;
  color:#555;
  margin:0 0 10px;
}
body.news-page .news-item.has-media p {
  font-size:16px;
  line-height:1.75;
  color:#333;
  margin:0 0 10px;
}

/* Remove hr lines inside the white stories card */
body.news-page .news-card.news-stories .news-divider {
  display:none;
}
/* ===============================
   6. JOIN PAGE
   =============================== */

body.join-page {
  background: #ffffff;
  color: #222;
}

/* main column */
body.join-page .join-main {
  padding: 32px 0 48px;
}

body.join-page .join-main .wrap {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 40px;
}

/* logos row */
body.join-page .join-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin: 0px 0 0px;
}

/* Make ASES hero logo bigger */
body.join-page .join-logos img {
  width: auto;
  object-fit: contain;
}

body.join-page .join-logos img:first-child {
  height: 175px;    /* ASES gets the spotlight */
}

/* heading + tagline */
body.join-page .join-header {
  text-align: center;
  margin-bottom: 22px;
}

body.join-page .join-title {
  font-size: clamp(28px, 3.2vw, 34px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: #f1b24b;
  margin: 0 0 10px;
}

body.join-page .join-tagline span {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  background: rgba(0,0,0,0.8);
  color: #ffffff;
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* body copy */
body.join-page .join-text p,
body.join-page .join-text li {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

body.join-page .join-text ul {
  padding-left: 20px;
  margin: 8px 0 16px;
}

/* buttons */
body.join-page .join-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 12px 0 30px;
}

body.join-page .join-button {
  display: inline-block;
  background: linear-gradient(180deg, #ffc86a, #f1b24b);
  color: #1b1304;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  transition: all .2s ease;
}

body.join-page .join-button.secondary {
  background: #ffffff;
  color: #004b7f;
  border: 2px solid #004b7f;
}

body.join-page .join-button:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* newsletter block */
body.join-page .join-newsletter {
  margin: 0 0 30px;
  padding: 22px 24px;
  border-radius: 18px;
  background: #0b0b0d;
  color: #f5f5f5;
  text-align: center;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}

body.join-page .join-newsletter h2 {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 16px;
  color: #f1b24b;
}

body.join-page .join-newsletter p {
  margin: 0 0 14px;
  font-size: 15px;
}

body.join-page .join-newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

body.join-page .join-newsletter-form input[type="email"] {
  min-width: 220px;
  max-width: 320px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid #444;
  font-size: 14px;
}

body.join-page .join-newsletter-form button {
  padding: 10px 20px;
  border-radius: 999px;
  border: none;
  background: #f1b24b;
  color: #1b1304;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,.3);
}
/* main card panel */
body.join-page .join-card {
  margin: 10px auto 30px;
  border-radius: 22px;
  border: 1px solid #e4e7ec;
  box-shadow: 0 20px 48px rgba(0,0,0,0.08);
  padding: 32px clamp(24px, 4vw, 40px);
  background: #ffffff;
}

body.join-page .join-newsletter-form button:hover {
  filter: brightness(1.05);
}

/* Shared sponsor strip – consult, join, bio, faq, news */
.sponsor-section {
  background:#000;
  padding:12px 0 0;
  margin-top:0;
}

.sponsor-section h2 {
  margin:0 0 8px;
  text-align:center;
  font-size:18px;
  font-weight:800;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#f1b24b;
}

.sponsor-logos {
  max-width:1120px;
  margin:0 auto;
  padding:0 20px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:nowrap;
}

.sponsor-card {
  background:#ffffff;
  border-radius:10px;
  padding:6px 12px;
  box-shadow:0 4px 10px rgba(0,0,0,0.25);
}

.sponsor-card img {
  display:block;
  height:38px;
  width:auto;
}


/* ===============================
   9. INNER PAGES – NARROW COLUMN
   =============================== */

body.bio-page   .bio-main    > .wrap,
body.faq-page   .faq-main    > .wrap,
body.news-page  .news-main   > .wrap,
body.consult-page .consult-main > .wrap {
  max-width:840px;
  margin:0 auto;
  padding:0 40px;
}
.kicker {
  color:#f1b24b !important;
  background: rgba(0,0,0,0.45);
  padding: 4px 10px;
  border-radius: 8px;
  display: inline-block;	
}
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden;
    background-attachment: scroll; /* important for mobile */
  }

  .hero--composite {
    min-height: 115vh;
    background-position: 70% center;
  }

  .hero-content {
    padding-top: 80px;
  }

  .orbit {
    gap: 16px;
    top: 10px;
  }

  .orbit img {
    width: 40px;
    height: 40px;
  }

  .panel,
  .promo2-text {
    backdrop-filter: none;
  }
}
/* separate queries */
@media (min-width: 601px) and (max-width: 1024px) {
  .planet-nav { gap: 14px; }

  .planet-nav img {
    width: 56px;
    height: 56px;
  }

  .planet-nav img[src*="planet-join"] {
    transform: scale(1.15);
  }

  .planet-nav a:hover img[src*="planet-join"] {
    transform: translateY(-2px) scale(1.15);
  }
}

@media (max-width: 600px) {
  .planet-nav {
    gap: 10px;
    padding: 10px 8px;
  }

  .planet-nav img {
    width: 44px;
    height: 44px;
  }

  .planet-nav img[src*="planet-join"] {
    transform: scale(1.25);
  }

  .planet-nav a:hover img[src*="planet-join"] {
    transform: translateY(-2px) scale(1.25);
  }
  .menu-container { max-height: 50vh; overflow-y: auto; } 
}
