/* Primary Project Labs — SEO landing page shared polish */

.site-header .header-inner {
  min-height: 88px;
}

.site-header .brand-mark {
  height: 64px;
  width: auto;
}

.site-header .brand-word {
  font-size: clamp(1.2rem, 1rem + .7vw, 1.5rem);
}

.landing-hero h1 {
  font-size: clamp(2.45rem, 1.25rem + 4.2vw, 4.35rem) !important;
}

/* Primary action on dark hero panels: solid PPL gold, no gradient, no glow */
.landing-hero .btn-primary,
.cta-panel .btn-primary {
  color: #1D234A !important;
  background-color: #F5A623 !important;
  background-image: none !important;
  border: 1.5px solid #F5A623 !important;
  box-shadow: 0 6px 18px rgba(245,166,35,.28) !important;
}

.landing-hero .btn-primary:hover,
.cta-panel .btn-primary:hover {
  transform: translateY(-2px);
  color: #1D234A !important;
  /* Translucent off-white wash over the same gold, so no lightened tint hex is needed. */
  background-color: #F5A623 !important;
  background-image: linear-gradient(rgba(253,251,247,.14), rgba(253,251,247,.14)) !important;
  border-color: #F5A623 !important;
  box-shadow: 0 10px 26px rgba(245,166,35,.34) !important;
}

.landing-hero .btn-ghost {
  color: #FDFBF7 !important;
  background: transparent !important;
  border: 1.5px solid rgba(253,251,247,.55) !important;
  box-shadow: none !important;
}

.landing-hero .btn-ghost:hover {
  color: #FDFBF7 !important;
  background: rgba(253,251,247,.1) !important;
  border-color: #FDFBF7 !important;
  box-shadow: none !important;
}

.panel {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 3px solid #F5A623 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(29,35,74,.08) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.panel:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(29,35,74,.12) !important;
  border-color: rgba(245,166,35,.65) !important;
}

.panel.cta-panel {
  background: #1D234A !important;
  border-top: 3px solid #F5A623 !important;
  box-shadow: 0 16px 44px rgba(29,35,74,.2) !important;
}

/* Headlines carry the off-white; body copy sits one step back so the hero has the
   same hierarchy as the homepage instead of one flat sheet of near-white. */
.landing-hero h1,
.cta-panel h2 {
  color: #FDFBF7 !important;
}

.landing-hero p,
.cta-panel p {
  color: rgba(253,251,247,.84) !important;
}

.landing-hero .kicker {
  color: #F5A623 !important;
}

/* A single gold hairline under the hero copy, echoing the homepage rhythm line. */
.landing-hero .container::after {
  content: "";
  display: block;
  width: clamp(3.5rem, 8vw, 6rem);
  height: 2px;
  margin-top: 2.4rem;
  background: rgba(245,166,35,.7);
}

/* Shared container refinement across landing pages: tighter radii, hairline
   borders, one gold accent rule instead of loud orange frames. */
.catalogue-panel {
  border-radius: 14px !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 3px solid #F5A623 !important;
  box-shadow: 0 10px 28px rgba(29,35,74,.08) !important;
}

.visual-strip .frame {
  border-width: 4px !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.25) !important;
}

.cta-panel {
  border-radius: 14px !important;
  border: 1px solid rgba(245,166,35,.4) !important;
  border-top: 3px solid #F5A623 !important;
}

.grade-note {
  border-radius: 10px !important;
  background: #FDFBF7 !important;
  border: 1px solid #E2E8F0 !important;
}

/* Matches the 1160px header breakpoint in styles.css. */
@media(max-width:1160px){
  .site-header .header-inner{min-height:78px;}
  .site-header .brand-mark{height:56px;}
  .site-header .brand-word{display:none;}
}

/* --- Eco-Base / lab-page refinement (2026-08-13 contrast + consistency pass) ---
   The lab pages' inline panels drifted from the locked container spec (24px
   radii, a 5px orange rule); these pull them back to 14px + ONE 3px gold rule,
   fix the gold-on-white day numerals (1.86:1) and the day-question ink
   (4.35:1), and draw a quiet gold spine between the six day rows so the week
   reads as one accumulating investigation rather than six separate items. */
.catalogue-panel {
  border-radius: 14px !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 3px solid #F5A623 !important;
  box-shadow: 0 12px 38px rgba(29,35,74, .08) !important;
}
.cta-panel { border-radius: 14px !important; }
.visual-strip .frame { border-radius: 14px !important; }
.week-no {
  color: #1D234A !important;
  box-shadow: inset 0 -3px 0 #F5A623;
  width: fit-content;
  padding-bottom: 1px;
  /* The number cell spans both grid rows; without this the underline sits at
     the card's bottom edge instead of under the digit. */
  align-self: start;
}
.week-q { color: rgba(29,35,74, .72) !important; }
.week-list { position: relative; }
.week-list li { position: relative; }
.week-list li + li::before {
  content: "";
  position: absolute;
  top: -0.62rem;
  left: 1.95rem;
  width: 2px;
  height: 0.62rem;
  background: rgba(245,166,35, .6);
}
@media (max-width: 520px) {
  .week-list li + li::before { left: 1.7rem; }
}
