/* ═══════════════════════════════════════════════
   The Oliver Grove Academy — Squarespace Brine Clone
   v3 — all bugs fixed
   ═══════════════════════════════════════════════ */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --nav-height: 100px;
  --content-width: 780px;
  --wide-width: 1100px;
  --black: #000;
  --white: #fff;
  --bg: #fff;
  --text: #333;
  --text-light: #737373;
  --border: #e1e1e1;
  --link: #333;
  --olive: #6b7f6f;
  --olive-light: #d8dfda;
}

html { scroll-behavior: smooth; }
body {
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.8;
  font-size: 15px;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: var(--link); }
img { max-width: 100%; display: block; }
strong { font-weight: 700; }

/* ═══ HEADER / NAV ═══ */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: transparent;
  border-bottom: 1px solid transparent;
  height: var(--nav-height);
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.header.solid {
  background: var(--white);
  border-bottom-color: var(--border);
  box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}
/* Nav links: white by default (over banner), TOGA green when solid */
.header-nav > a,
.header-nav .nav-dropdown > a {
  display: inline-flex; align-items: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--white);
  text-shadow: 0 1px 3px rgba(0,0,0,0.15);
  transition: opacity 0.2s, color 0.3s, text-shadow 0.3s;
}
.header.solid .header-nav > a,
.header.solid .header-nav .nav-dropdown > a {
  color: var(--olive);
  text-shadow: none;
}
.header-nav > a:hover,
.header-nav .nav-dropdown > a:hover { opacity: 0.55; }
/* Dropdown arrow */
.nav-dropdown > a::after {
  content: '▾'; margin-left: 6px; font-size: 10px; opacity: 0.5;
}
/* Mobile toggle: white by default, TOGA green when solid */
.mobile-toggle span {
  position: absolute; left: 0; width: 100%; height: 1.5px;
  background: var(--white); transition: all 0.3s, background 0.3s;
}
.header.solid .mobile-toggle span {
  background: var(--olive);
}.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 44px;
}
.header-logo a {
  display: flex; align-items: center; text-decoration: none;
}
/* Logo: bigger, white over banner, natural green when solid */
.header-logo img {
  height: 75px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}
.header.solid .header-logo img {
  filter: none;
}
.header-nav {
  display: flex; align-items: center; gap: 2px;
}

/* Dropdown */
.nav-dropdown { position: relative; }
.nav-dropdown-menu {
  position: absolute; top: calc(100% + 4px); left: 0;
  background: var(--white);
  border: 1px solid var(--border);
  min-width: 230px;
  padding: 12px 0;
  opacity: 0; visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease;
  z-index: 100;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.nav-dropdown:hover .nav-dropdown-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav-dropdown-menu a {
  display: block;
  padding: 9px 26px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--olive);
  font-weight: 400;
  transition: opacity 0.15s;
}
.nav-dropdown-menu a:hover { opacity: 0.55; }

/* Mobile nav */
.mobile-toggle {
  display: none;
  background: none; border: none; cursor: pointer;
  width: 24px; height: 18px; position: relative;
}
.mobile-toggle span {
  position: absolute; left: 0; width: 100%; height: 1px;
  background: var(--black); transition: all 0.3s;
}
.mobile-toggle span:nth-child(1) { top: 0; }
.mobile-toggle span:nth-child(2) { top: 8px; }
.mobile-toggle span:nth-child(3) { top: 16px; }
.mobile-menu {
  display: none; position: fixed; inset: 0;
  background: var(--white); z-index: 2000;
  padding: 90px 40px 40px; flex-direction: column;
  overflow-y: auto;
}
.mobile-menu.open { display: flex; }
.mobile-menu-close {
  position: absolute; top: 28px; right: 28px;
  background: none; border: none; font-size: 22px; cursor: pointer;
  color: var(--text); line-height: 1;
}
.mobile-menu a {
  display: block; padding: 14px 0;
  font-size: 14px; letter-spacing: 0.15em; text-transform: uppercase;
  text-decoration: none; color: var(--olive); font-weight: 400;
  border-bottom: 1px solid var(--border);
}
.mobile-menu a.indent {
  padding-left: 24px; font-size: 13px; color: #8aa690;
}

/* ═══ PLACEHOLDER SYSTEM ═══
   .ph = absolute overlay container, centers icon + label vertically
   Dark variant (default) = white icon/text for dark banner backgrounds
   .ph-light = green icon/text for light image-area backgrounds
*/
.ph {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 8px;
  z-index: 1;
  pointer-events: none;
}
.ph-icon {
  width: 60px; height: 60px;
  border: 2px dashed rgba(255,255,255,0.4);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: rgba(255,255,255,0.4);
}
.ph-label {
  color: rgba(255,255,255,0.55);
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 400;
}
.ph-light .ph-icon {
  border-color: rgba(80,110,90,0.25);
  color: rgba(80,110,90,0.35);
}
.ph-light .ph-label {
  color: rgba(80,110,90,0.5);
}

/* ═══ BANNER ═══ */
.banner {
  width: 100%;
  height: calc(80vh + var(--nav-height));
  min-height: 540px;
  max-height: 870px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: var(--nav-height);
}
.banner.short {
  height: calc(50vh + var(--nav-height));
  min-height: 370px;
  max-height: 530px;
}
.banner-bg {
  position: absolute; inset: 0;
  background: var(--olive);
}
.banner-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}
.banner-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.02) 0%,
    rgba(0,0,0,0.18) 100%
  );
  z-index: 2;
}
.banner-text {
  position: relative; z-index: 3;
  text-align: center; color: var(--white);
  padding: 0 50px;
  max-width: 850px;
}
.banner-text h1 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 46px; font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
  text-shadow: 0 1px 8px rgba(0,0,0,0.12);
}

/* ═══ PAGE CONTENT ═══ */
.page-section {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 70px 40px;
}
.page-section p {
  margin-bottom: 1.1em;
  line-height: 1.85;
  font-size: 15px;
  font-weight: 300;
}
.page-section h1 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 38px; font-weight: 400;
  margin-bottom: 24px;
  line-height: 1.3;
}
.page-section h2 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 28px; font-weight: 400;
  margin-bottom: 16px;
}
.page-section h3 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 22px; font-weight: 400;
  margin: 36px 0 12px;
}
.page-section h4 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 18px; font-weight: 400;
  margin: 32px 0 10px;
  line-height: 1.5;
}
.page-section a { color: var(--text); }

/* ═══ QUOTE BLOCK ═══ */
.quote-block {
  background: #2b2b2b;
  padding: 90px 50px;
  text-align: center;
}
.quote-block p {
  max-width: 680px; margin: 0 auto;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 20px; font-style: italic;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.75;
}

/* ═══ SECTION DIVIDER (tan bar) ═══ */
.section-divider {
  width: 100%;
  height: 4px;
  background: #c9b99a;
}

/* ═══ TWO COLUMN ═══ */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--wide-width);
  margin: 0 auto;
}
.two-col.below-nav {
  padding-top: 0;
}
.two-col.below-nav .two-col-text {
  padding-top: calc(var(--nav-height) + 50px);
}
.two-col.below-nav .two-col-image {
  min-height: calc(500px + var(--nav-height));
}
.two-col.reverse > :first-child { order: 2; }
.two-col.reverse > :last-child { order: 1; }
.two-col-text {
  padding: 70px 55px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.two-col-text h2 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 26px; font-weight: 400;
  margin-bottom: 18px;
}
.two-col-text p {
  margin-bottom: 1em;
  line-height: 1.85;
  font-size: 15px; font-weight: 300;
}
/* ═══ CONTENT IMAGES ═══ */
.full-bleed-image {
  width: 100%;
  height: 450px;
  overflow: hidden;
}
.full-bleed-image img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.content-photo {
  width: 100%; height: 350px;
  object-fit: cover; display: block;
  margin: 30px 0;
}
.two-col-image {
  background: var(--olive-light);
  position: relative;
  min-height: 450px;
  overflow: hidden;
}
.two-col-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* ═══ SIGNUP ═══ */
.signup-section {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 60px 40px;
  text-align: center;
}
.signup-section h2 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 18px; font-weight: 400;
  margin-bottom: 8px;
}
.signup-section p {
  font-size: 14px; color: var(--text-light);
  margin-bottom: 20px;
  max-width: 500px; margin-left: auto; margin-right: auto;
  line-height: 1.7;
  font-weight: 300;
}
/* Inline signup (within content flow, left-aligned) */
.signup-inline {
  padding: 30px 0 0;
}
.signup-inline p {
  text-align: left;
  max-width: none;
  margin-left: 0; margin-right: 0;
}
.signup-inline .signup-form {
  margin: 0;
}
.signup-inline .signup-note {
  text-align: left;
}
.signup-form {
  display: flex; gap: 0;
  max-width: 420px; margin: 0 auto;
}
.signup-form input[type="email"] {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-right: none;
  font-family: inherit; font-size: 13px; font-weight: 300;
  outline: none;
  transition: border-color 0.2s;
}
.signup-form input[type="email"]:focus { border-color: #999; }
.signup-form button,
.signup-form .signup-btn {
  padding: 10px 22px;
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #000;
  font-family: inherit; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  cursor: pointer; font-weight: 400;
  transition: opacity 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  text-align: center;
  line-height: 1;
  user-select: none;
}
.signup-form button:hover,
.signup-form .signup-btn:hover { opacity: 0.75; }
.signup-note {
  font-size: 11px; color: #aaa; margin-top: 12px;
  font-weight: 300;
}

/* ═══ CTA BUTTON ═══ */
.cta-button {
  display: inline-block;
  padding: 16px 32px;
  background-color: #000;
  color: #fff;
  text-decoration: none;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: opacity 0.2s;
  margin-top: 12px;
  font-weight: 400;
  -webkit-appearance: none;
  border-radius: 0;
}
.cta-button:hover { opacity: 0.7; color: #fff; }

/* ═══ TEAM ═══ */
.team-grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  gap: 30px;
}
.team-card {
  text-align: center;
}
.team-photo {
  background: var(--olive-light);
  width: 100%;
  aspect-ratio: 3/4;
  position: relative;
  overflow: hidden;
  margin-bottom: 14px;
}
.team-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.team-card h4 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 18px; font-weight: 400;
  margin-bottom: 2px;
}
.team-card .role {
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 10px;
  font-weight: 300;
}
.team-card p {
  font-size: 13px; line-height: 1.75;
  margin-bottom: 8px; font-weight: 300;
  text-align: left;
}

/* ═══ CONTACT FORM ═══ */
.contact-form {
  max-width: 500px;
  margin: 30px auto 0;
  text-align: left;
}
.contact-form label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 5px;
  font-weight: 400;
  color: var(--text);
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ccc;
  font-family: inherit;
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 18px;
  outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
  border-radius: 0;
}
.contact-form input:focus,
.contact-form textarea:focus { border-color: #888; }
.contact-form textarea {
  min-height: 130px;
  resize: vertical;
  line-height: 1.6;
}
.contact-form .submit-btn {
  display: inline-block;
  padding: 16px 32px;
  background-color: #000;
  color: #fff;
  border: none;
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 400;
  transition: opacity 0.2s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}
.contact-form .submit-btn:hover { opacity: 0.7; }

/* ═══ FOOTER ═══ */
.footer {
  border-top: 1px solid var(--border);
  padding: 30px 44px;
  font-size: 12px;
  color: var(--text-light);
  font-weight: 300;
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-inner p { margin: 0; }
.footer-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.footer-schoolcues {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--olive);
  text-decoration: none;
  transition: opacity 0.2s;
}
.footer-schoolcues:hover { opacity: 0.6; text-decoration: underline; }
.footer-icon {
  color: var(--text-light);
  text-decoration: none;
  display: flex; align-items: center;
  transition: opacity 0.2s;
}
.footer-icon:hover { opacity: 0.5; }
.footer .made-by {
  text-align: center;
  margin-top: 16px;
  font-size: 11px;
  color: #bbb;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.footer .made-by a {
  color: #aaa;
  text-decoration: none;
  transition: color 0.2s;
}
.footer .made-by a:hover { color: var(--olive); text-decoration: underline; }
.footer .days-counter {
  text-align: center;
  margin-top: 12px;
  font-size: 11px;
  color: #ccc;
  font-weight: 300;
}

/* ═══ SCROLLING TICKER ═══ */
.ticker-bar {
  background: #2b2b2b;
  overflow: hidden;
  white-space: nowrap;
  padding: 8px 0;
}
.ticker-text {
  display: inline-block;
  animation: ticker-scroll 25s linear infinite;
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.05em;
  font-weight: 300;
}
@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ═══ TESTIMONIALS ═══ */
.testimonials-section {
  background: #f7f7f5;
  padding: 60px 40px;
  text-align: center;
}
.testimonials-section h3 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 30px;
  color: var(--text);
}
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 900px;
  margin: 0 auto;
}
.testimonial {
  padding: 24px;
  background: var(--white);
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.testimonial p {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 15px;
  font-style: italic;
  line-height: 1.7;
  color: var(--text);
  margin-bottom: 12px;
  font-weight: 400;
}
.testimonial-author {
  font-size: 12px;
  color: var(--text-light);
  font-weight: 300;
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 800px) {
  :root { --nav-height: 70px; }
  .header-nav { display: none; }
  .mobile-toggle { display: block; }
  .banner { height: calc(35vh + var(--nav-height)); min-height: 280px; max-height: 360px; }
  .banner.short { height: calc(28vh + var(--nav-height)); min-height: 220px; max-height: 300px; }
  .banner-text h1 { font-size: 28px; padding: 0 20px; }
  .banner-text { padding: 0 20px; }
  .two-col { grid-template-columns: 1fr; }
  .two-col.reverse > :first-child { order: 1; }
  .two-col.reverse > :last-child { order: 2; }
  .two-col-text { padding: 40px 30px; }
  .two-col-image { min-height: 260px; }
  .page-section { padding: 45px 24px; }
  .header-inner { padding: 0 20px; }
  .header-logo img { height: 50px; }
  .team-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .testimonials-grid { grid-template-columns: 1fr; gap: 20px; }
  .footer-inner { flex-direction: column; gap: 16px; text-align: center; }
  .footer-right { justify-content: center; }
  .signup-form { flex-direction: column; }
  .signup-form input[type="email"] { border-right: 1px solid #ccc; }
  .signup-form button {
    background: var(--black); color: var(--white);
    border: 1px solid var(--black);
    padding: 12px 22px;
  }
  .contact-form { margin-left: 0; margin-right: 0; }
  .quote-block { padding: 60px 30px; }
  .quote-block p { font-size: 18px; }
}


/* ═══════════════════════════════════════════════
   v4 — closer to the live Squarespace (Brine) build
   ═══════════════════════════════════════════════ */

/* Skip link (Squarespace ships one; hidden until focused) */
.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 3000;
  background: var(--white); color: var(--text);
  padding: 10px 16px; font-size: 13px; text-decoration: none;
  border: 1px solid var(--border);
  transition: top 0.2s;
}
.skip-link:focus { top: 12px; }

/* Nav sits right, social + cart at the far right */
.header-nav { margin-left: auto; }
.header-actions {
  display: flex; align-items: center; gap: 18px;
  margin-left: 22px;
}
.header-social { display: flex; align-items: center; gap: 14px; }
.header-icon, .header-cart {
  color: var(--white);
  display: inline-flex; align-items: center;
  text-decoration: none;
  transition: opacity 0.2s, color 0.3s;
}
.header-icon:hover, .header-cart:hover { opacity: 0.55; }
.header.solid .header-icon,
.header.solid .header-cart { color: var(--olive); }
.header-cart { gap: 4px; }
.cart-count {
  font-size: 12px; letter-spacing: 0.05em; font-weight: 400;
}

/* Mobile menu — Squarespace 7.0 folder style ("About ›" → "‹ Back") */
.mm-panels { width: 100%; }
.mm-panel { display: none; }
.mm-panel.is-active { display: block; animation: mm-in 0.25s ease; }
@keyframes mm-in { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }
.mobile-menu .mm-folder::after { content: '›'; float: right; font-size: 18px; line-height: 1; opacity: 0.6; }
.mobile-menu .mm-back { color: var(--text-light); }
.mobile-menu .mm-back::before { content: '‹'; margin-right: 10px; font-size: 18px; line-height: 1; }
.mm-social {
  display: flex; gap: 22px; justify-content: center;
  margin-top: auto; padding-top: 36px;
}
.mobile-menu .mm-social a {
  border: none; padding: 0; color: var(--olive);
  display: inline-flex;
}

/* Footer: SchoolCues is an h4 link on the real site */
.footer .footer-schoolcues { margin: 0; font-weight: 400; }
.footer .footer-schoolcues a {
  color: #55695a; text-decoration: none;
  transition: opacity 0.2s;
}
.footer .footer-schoolcues a:hover { opacity: 0.6; text-decoration: underline; }

/* Contact form — Squarespace default form block */
.contact-form .form-field {
  border: none; margin: 0 0 22px; padding: 0;
}
.contact-form legend,
.contact-form .form-field > label {
  display: block;
  font-size: 13px; letter-spacing: 0; text-transform: none;
  font-weight: 400; color: var(--text);
  margin-bottom: 6px; padding: 0;
}
.contact-form .req { color: var(--text-light); }
.contact-form .name-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form .name-row label { display: block; margin: 0; }
.contact-form .name-row input { margin-bottom: 4px; }
.contact-form .form-field input,
.contact-form .form-field textarea { margin-bottom: 0; background: #fafafa; }
.contact-form .caption {
  display: block; font-size: 11px; color: var(--text-light);
  letter-spacing: 0.02em; text-transform: none; font-weight: 300;
}

/* Testimonials — restyled as plain Squarespace quote blocks so they read as native */
.testimonials-section { background: transparent; padding: 20px 40px 50px; }
.testimonials-section h3 { font-size: 22px; margin-bottom: 26px; }
.testimonial { background: none; box-shadow: none; border-radius: 0; padding: 6px 10px; }
.testimonial p { font-size: 16px; }

/* Cart page (no banner, so clear the fixed header) */
.cart-page {
  padding-top: calc(var(--nav-height) + 70px);
  padding-bottom: 110px;
  text-align: center;
}
.cart-page h1 { margin-bottom: 14px; }
.cart-empty { color: var(--text-light); margin-bottom: 26px !important; }

@media (max-width: 800px) {
  .header-social { display: none; }
  .header-actions { gap: 20px; margin-left: auto; }
  .contact-form .name-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form .name-row label { margin-bottom: 12px; }
}

/* Fix: .page-section a was turning button text dark-on-black (Tuition, Sample Schedule, Cart) */
.page-section a.cta-button,
.page-section a.cta-button:hover { color: var(--white); text-decoration: none; }

/* Squarespace keeps the cart link in the markup but hides it while the cart is empty.
   Delete this rule to bring the bag back (e.g. if the progression system uses the count). */
.header-cart { display: none; }

/* Phones: 16px inputs so iOS doesn't zoom the page when a box is tapped */
@media (max-width: 800px) {
  input, textarea, select,
  .signup-form input[type="email"],
  .contact-form input, .contact-form textarea { font-size: 16px !important; }
  .signup-form .signup-btn { padding: 15px 22px; font-size: 11px; }
}

/* Launch: parody note + readable contrast for the small footer lines */
.footer .days-counter, .footer .made-by, .footer .parody-note { color: #767676; }
.footer .made-by a { color: #666; }
.footer .parody-note {
  text-align: center; margin-top: 6px; font-size: 11px;
  font-weight: 300; letter-spacing: 0.05em;
}
.testimonials-section h2.testimonials-title { font-family: Georgia, "Times New Roman", Times, serif; font-size: 22px; font-weight: 400; margin-bottom: 26px; color: var(--text); }
