/* The approved static homepage and waitlist share this restrained marketing finish. */
.home-footer,
.signup-footer.approved-static-footer {
  background: #fff;
  color: #142541;
  border-top: 1px solid #d8e6ed;
}
.footer-brand {
  display: inline-block;
  width: 176px;
  line-height: 0;
  margin-bottom: 22px;
}
.footer-brand img { display: block; width: 100%; height: auto; }
.approved-static-footer .footer-brand { margin: 0 auto 8px; }
.journey-intro { border-right-color: #d8e6ed; }
.journey-steps { border-top-color: #d8e6ed; }
.journey-step:not(:last-child)::after { border-top-color: #b3cfda; }
.step-number { background: #fff; border-color: #b3cfda; color: #142541; }
.trust-row, .approved-footer-links { border-color: #d8e6ed; }
.approved-footer-legal, .approved-footer-safety, .home-legal, .approved-footer-copyright { color: #36536a; }
.home-footer a, .signup-footer.approved-static-footer a { color: #142541; }
.home-footer a:hover, .signup-footer.approved-static-footer a:hover { color: #06687a; }
.home-footer a:focus-visible, .signup-footer.approved-static-footer a:focus-visible,
.site-nav-dropdown summary:focus-visible, .site-nav-dropdown a:focus-visible {
  outline: 3px solid #096d82;
  outline-offset: 3px;
}
/* The approved footer art was drawn in white for its former navy backdrop. */
.home-footer .journey-icon, .home-footer .trust-icon {
  filter: brightness(0) saturate(100%) invert(13%) sepia(24%) saturate(1516%) hue-rotate(175deg) brightness(90%) contrast(95%);
}
.home-footer .script-tagline {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 4px 0 0;
  color: #142541;
  font-family: "Caveat", cursive;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
}
.site-nav-dropdown { position: relative; }
.site-nav-dropdown summary {
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
  padding: 9px 4px;
  font-weight: 650;
}
.site-nav-dropdown summary::-webkit-details-marker { display: none; }
.site-nav-dropdown[open] summary span { display: inline-block; transform: rotate(180deg); }
.site-nav-dropdown-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 20;
  display: flex;
  flex-direction: column;
  min-width: 212px;
  padding: 9px;
  border: 1px solid #d8e6ed;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px #00234118;
}
.site-nav-dropdown-panel a { padding: 11px 12px; border-radius: 9px; font-size: 15px; }
.site-nav-dropdown-panel a:hover { background: #edf8fa; text-decoration: none; }
/* Capability cards replace only the former two-item strip beneath the approved phones. */
.capabilities {
  background: #f9fbf9;
  border-top: 1px solid #e1ebeb;
  padding: clamp(56px, 7vw, 96px) 24px clamp(64px, 8vw, 108px);
}
.capabilities-inner { max-width: 1140px; margin: 0 auto; }
.capabilities-intro { max-width: 750px; margin: 0 auto 38px; text-align: center; }
.capabilities-intro .eyebrow { color: #087c8d; text-transform: uppercase; letter-spacing: .12em; font-size: 13px; }
.capabilities-intro h2 {
  margin: 0 0 18px;
  color: #142541;
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.1;
  letter-spacing: -.05em;
}
.capabilities-intro > p:last-child { margin: 0; color: #36536a; font-size: clamp(17px, 1.6vw, 19px); line-height: 1.55; }
.capabilities-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.capabilities-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.capability-card {
  --cap-ink: #087c8d;
  --cap-position: center;
  --cap-photo: url("/boatmedix-assets/capabilities/map.webp");
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 448px;
  min-width: 0;
  padding: 26px 26px 28px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 22px;
  background-color: #143b4c;
  background-image: linear-gradient(180deg, rgba(5,33,48,.08) 0%, rgba(5,33,48,.15) 27%, rgba(5,29,45,.83) 59%, rgba(4,24,42,.97) 100%), var(--cap-photo);
  background-size: cover;
  background-position: center, var(--cap-position);
  background-repeat: no-repeat;
  box-shadow: 0 12px 26px rgba(20, 57, 78, .12);
  overflow: hidden;
}
.capability-weather { --cap-ink: #176692; --cap-photo: url("/boatmedix-assets/capabilities/conditions.webp"); --cap-position: 50% 37%; }
.capability-captain { --cap-ink: #a54438; --cap-photo: url("/boatmedix-assets/capabilities/captain.webp"); --cap-position: 68% 35%; }
.capability-explore { --cap-ink: #785000; --cap-photo: url("/boatmedix-assets/capabilities/explore.webp"); --cap-position: 55% 45%; }
.capability-penny { --cap-ink: #166f55; --cap-photo: url("/boatmedix-assets/capabilities/penny.webp"); --cap-position: 55% 34%; }
.capability-help { --cap-ink: #142541; --cap-photo: url("/boatmedix-assets/capabilities/help.webp"); --cap-position: 54% 42%; }
.capability-watch { --cap-ink: #176692; --cap-photo: url("/boatmedix-assets/capabilities/watch.webp"); }
.capability-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  margin-bottom: 17px;
  border-radius: 16px;
  color: var(--cap-ink);
  background: rgba(255,255,255,.96);
}
.capability-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.capability-card h3 { margin: 0 0 9px; color: #fff; font-size: 23px; line-height: 1.2; letter-spacing: -.035em; }
.capability-card p { margin: 0; color: #fff; font-size: 16px; line-height: 1.55; }
.capability-card .capability-prompt { margin-bottom: 9px; color: #fff; font-weight: 700; }
.capability-watch {
  grid-column: 1 / -1;
  min-height: 290px;
  background-image: linear-gradient(90deg, rgba(4,25,41,.97) 0%, rgba(4,25,41,.88) 38%, rgba(4,25,41,.16) 100%), var(--cap-photo);
  background-position: center, center 55%;
}
.capability-watch > div { max-width: 600px; }
@media (max-width: 950px) {
  .capabilities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .capabilities { padding: 52px 18px 64px; }
  .capabilities-intro { margin-bottom: 30px; text-align: left; }
  .capabilities-intro h2 { font-size: clamp(32px, 9vw, 40px); }
  .capabilities-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .capability-card { min-height: 420px; padding: 22px; }
  .capability-icon { width: 48px; height: 48px; flex-basis: 48px; margin-bottom: 16px; border-radius: 14px; }
  .capability-card h3 { font-size: 21px; }
  .capability-watch { background-image: linear-gradient(180deg, rgba(5,33,48,.07) 0%, rgba(5,33,48,.20) 27%, rgba(5,29,45,.85) 60%, rgba(4,24,42,.98) 100%), var(--cap-photo); background-position: center, 62% 50%; }
}
.home-story {
  padding: clamp(48px, 6vw, 80px) 24px;
  border-top: 1px solid #d8e6ed;
  background: #fff;
}
.home-story-inner { max-width: 720px; margin: 0 auto; }
.home-story h2 {
  margin: 0 0 24px;
  color: #142541;
  font-size: clamp(30px, 3.5vw, 40px);
  line-height: 1.15;
  letter-spacing: -0.04em;
}
.home-story-copy { color: #36536a; font-size: clamp(16px, 1.4vw, 18px); line-height: 1.7; }
.home-story-copy p { margin: 0 0 20px; }
.home-story-copy .home-story-tagline { margin: 24px 0 0; color: #142541; font-size: 22px; font-weight: 750; }

/* Captain is a quiet guide between the product promise and the founder story. */
.captain-penny-feature {
  overflow: hidden;
  border-top: 1px solid #d8e6ed;
  background: #f4fbfb;
}
.captain-penny-feature-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  align-items: center;
  gap: clamp(28px, 7vw, 104px);
  max-width: 1120px;
  min-height: 560px;
  margin: 0 auto;
  padding: clamp(54px, 8vw, 96px) 24px;
}
.captain-penny-feature-copy { max-width: 570px; }
.captain-penny-feature .eyebrow {
  margin: 0 0 18px;
  color: #087c8d;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.captain-penny-feature h2 {
  margin: 0;
  color: #142541;
  font-size: clamp(40px, 5.5vw, 68px);
  line-height: .98;
  letter-spacing: -.06em;
}
.captain-penny-lede {
  max-width: 510px;
  margin: 28px 0 0;
  color: #36536a;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.55;
}
.captain-penny-art {
  align-self: end;
  justify-self: center;
  width: min(100%, 390px);
  transform: translateY(8px);
}
.captain-penny-art img { display: block; width: 100%; height: auto; }

@media (max-width: 700px) {
  .captain-penny-feature-inner { grid-template-columns: 1fr; min-height: 0; gap: 18px; padding-top: 54px; }
  .captain-penny-art { width: min(82vw, 340px); margin-top: 8px; }
}
@media (max-width: 760px) {
  .footer-brand { margin-bottom: 16px; }
  .waitlist-surface .menu-toggle { display: flex; }
  .waitlist-surface .back-home { margin-left: auto; }
}

/* Shared launch polish: a calm, editorial marine system with dependable
   header geometry at every width. The supplied hero and phone artwork remain
   untouched; these rules only improve the surrounding frame. */
:root {
  --launch-ink: var(--navy);
  --launch-muted: #36536a;
  --launch-teal: var(--teal);
  --launch-aqua: #dff6f7;
  --launch-coral: var(--coral);
  --launch-line: var(--border);
}

.site-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.desktop-nav {
  min-width: 0;
}

.desktop-nav .site-nav-dropdown {
  flex: 0 0 auto;
}

.header-companions {
  display: flex;
  align-items: center;
  flex: none;
  margin-left: 4px;
  padding-right: 2px;
}
.header-companions__face {
  display: block;
  width: 48px;
  height: 48px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #e8f5f6;
  box-shadow: 0 2px 8px #14254120;
  overflow: hidden;
}
.header-companions__face + .header-companions__face { margin-left: -12px; }

.nav-cta,
.back-home {
  flex: 0 0 auto;
}

.site-nav-dropdown-panel a:focus-visible {
  outline-offset: -2px;
}

.home-footer .journey-intro h2,
.home-footer .journey-intro p,
.home-footer .journey-step p,
.home-footer .trust-item {
  color: var(--launch-ink);
}

.home-footer .journey-intro {
  border-right-color: var(--launch-line);
}

.home-footer .journey-step:not(:last-child)::after {
  border-top-color: #a9cbd3;
}

.home-footer .step-number {
  border: 0;
  box-shadow: inset 0 0 0 1px #b5d2d8;
}

.home-footer .journey-step:nth-child(1) .step-number { background: #bdecef; }
.home-footer .journey-step:nth-child(2) .step-number { background: #c9efd9; }
.home-footer .journey-step:nth-child(3) .step-number { background: #ffe6a2; }
.home-footer .journey-step:nth-child(4) .step-number { background: #ffd0c7; }

.home-footer .journey-step h3 {
  color: var(--launch-ink);
}

.home-footer .approved-footer-links {
  border-color: var(--launch-line);
}

.home-footer .approved-footer-safety {
  color: var(--launch-muted);
}

.footer-brand,
.approved-footer-links a,
.approved-footer-legal a,
.back-home,
.desktop-nav a,
.mobile-nav a {
  transition: color .2s ease, opacity .2s ease, background-color .2s ease;
}

.footer-brand:hover,
.back-home:hover,
.desktop-nav a:hover {
  opacity: .72;
}

.mobile-nav a:hover {
  color: var(--launch-teal);
  background: var(--launch-aqua);
  text-decoration: none;
}

.signup-card {
  box-shadow: 0 18px 48px rgba(20, 57, 78, .07);
}

.form-field input {
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.form-field input:focus {
  border-color: var(--launch-teal);
  box-shadow: 0 0 0 4px rgba(8, 124, 141, .12);
}

.signup-button,
.nav-cta {
  transition: background-color .2s ease, transform .2s ease, filter .2s ease;
}

.signup-button:hover,
.nav-cta:hover {
  filter: none;
  transform: translateY(-1px);
}

.signup-button:hover {
  background: #c95243;
}

.nav-cta:hover {
  background: var(--navy);
}

.signup-button:active,
.nav-cta:active {
  transform: translateY(0);
}

@media (min-width: 761px) {
  .home-page .site-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: clamp(12px, 2vw, 28px);
  }

  .home-page .desktop-nav {
    justify-content: center;
    gap: clamp(20px, 2.8vw, 42px);
  }

  .waitlist-surface .site-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .waitlist-surface .desktop-nav {
    justify-content: center;
    margin-right: 0;
    gap: clamp(20px, 3vw, 48px);
  }
}

@media (min-width: 1180px) {
  .waitlist-surface .brand {
    width: 210px;
  }

  .waitlist-surface .site-header {
    min-height: 130px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media (max-width: 760px) {
  .home-page .nav-cta { display: none; }
  .home-page .header-companions { margin-left: auto; }
  .header-companions__face { width: 42px; height: 42px; }
  .header-companions__face + .header-companions__face { margin-left: -12px; }
  .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .waitlist-surface .brand {
    width: clamp(128px, 40vw, 156px);
  }

  .home-page .nav-cta {
    margin-left: auto;
  }

  .waitlist-surface .site-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .waitlist-surface .back-home {
    justify-self: end;
  }

  .waitlist-surface .menu-toggle {
    grid-column: 3;
  }

  .waitlist-surface .back-home + .menu-toggle {
    margin-left: 4px;
  }

  /* The waitlist header owns the open menu row so it pushes the form down
     instead of covering the card at narrow widths. */
  .waitlist-surface .mobile-nav:not([hidden]) {
    position: static;
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 2px;
    box-shadow: none;
  }

  .home-footer .journey-intro {
    border-right: 0;
  }

  .home-footer .journey-step h3 {
    color: var(--launch-ink);
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-brand,
  .approved-footer-links a,
  .approved-footer-legal a,
  .back-home,
  .desktop-nav a,
  .mobile-nav a,
  .form-field input,
  .signup-button,
  .nav-cta {
    transition: none;
  }

  .signup-button:hover,
  .nav-cta:hover {
    transform: none;
  }
}

/* Footer journey: use the same crisp DM Sans hierarchy as the public site,
   while keeping the approved artwork, copy, and two-column phone layout. */
.home-footer .script-tagline {
  width: auto;
  height: auto;
  margin: 4px 0 0;
  color: var(--launch-ink);
  font-family: var(--font);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.home-footer .journey-steps {
  column-gap: 8px;
}

.home-footer .journey-icon {
  width: 58px;
  height: 54px;
  margin-bottom: 8px;
}

.home-footer .step-number {
  width: 34px;
  height: 34px;
  border: 1px solid #a9cbd3;
  background: #f2fbfc !important;
  color: #142541;
  font-size: 14px;
  font-weight: 700;
  box-shadow: none;
}

.home-footer .journey-step h3 {
  margin: 10px 0 7px;
  color: #142541;
  font-family: var(--font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.025em;
  white-space: normal;
}

.home-footer .journey-step p {
  color: #36536a;
  font-size: 13px;
  line-height: 1.55;
}

.home-footer .trust-row {
  border-top-color: #d8e6ed;
}

.home-footer .trust-item {
  color: #142541;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.home-footer .home-legal {
  color: #36536a;
}

@media (min-width: 1180px) {
  .home-footer .journey-icon {
    width: 62px;
    height: 56px;
  }

  .home-footer .journey-step h3 {
    font-size: 17px;
  }
}

@media (max-width: 760px) {
  .home-footer .footer-inner {
    padding: 28px 24px 22px;
  }

  .home-footer .script-tagline {
    margin: 5px 0 19px;
    font-size: 17px;
  }

  .home-footer .journey-steps {
    gap: 26px 12px;
    padding-top: 20px;
    border-top-color: #d8e6ed;
  }

  .home-footer .journey-step {
    min-width: 0;
  }

  .home-footer .journey-icon {
    width: 54px;
    height: 50px;
    margin-bottom: 8px;
  }

  .home-footer .journey-step h3 {
    margin: 9px 0 6px;
    font-size: 16px;
  }

  .home-footer .journey-step p {
    font-size: 13px;
    line-height: 1.55;
  }

  .home-footer .trust-row {
    gap: 18px 12px;
    padding: 20px 0 12px;
    margin-top: 27px;
  }

  .home-footer .trust-item {
    min-width: 0;
    gap: 8px;
    font-size: 12px;
  }

  .home-footer .trust-icon {
    width: 34px;
    height: 38px;
    flex-basis: 34px;
  }
}

@media (max-width: 370px) {
  .home-footer .footer-inner {
    padding-right: 18px;
    padding-left: 18px;
  }

  .home-footer .journey-steps {
    column-gap: 8px;
  }

  .home-footer .journey-step p {
    font-size: 12px;
  }
}

/* Public launch cleanup: preserve approved hero artwork while making every
   acquisition action clear, legible, and usable on touch screens. */
.preview-note {
  display: flex;
  align-items: center;
  width: 209px;
  min-height: 76px;
  margin: 0;
  padding: 12px 16px;
  border-left: 3px solid #087c8d;
  background: rgba(255, 255, 255, .74);
  color: #142541;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .01em;
}

.preview-disclaimer {
  margin: 14px 0 0 !important;
  color: #36536a !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.nav-cta,
.signup-button,
.home-page .hero-actions .outlined-button,
.footer-waitlist {
  border-color: #c34d3f;
  background: #f16b59;
  color: #142541 !important;
  font-weight: 750;
}

.nav-cta:hover,
.signup-button:hover,
.home-page .hero-actions .outlined-button:hover,
.footer-waitlist:hover {
  background: #e75c4d;
  color: #142541 !important;
}

.home-page .hero-actions .outlined-button {
  min-height: 48px;
  border-radius: 12px;
  text-decoration: none;
}

.capabilities {
  background: #f3f8f7;
  border-top-color: #d3e4e3;
}

.capabilities-intro { margin-bottom: 44px; }
.capabilities-intro .eyebrow,
.captain-penny-feature .eyebrow { color: #086b79; }
.capabilities-intro > p:last-child { color: #304e61; }
.capabilities-intro .preview-disclaimer { font-weight: 600; }

.capability-card {
  min-height: 356px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 18px;
  box-shadow: 0 12px 25px rgba(20,57,78,.11);
}

.capability-card h3 { font-size: 22px; }
.capability-card p { font-size: 15px; line-height: 1.58; }
.capability-card .capability-prompt { font-size: 15px; }
.capability-watch { min-height: 260px; }
.capability-icon { width: 48px; height: 48px; flex-basis: 48px; margin-bottom: 14px; }
.capability-captain,
.capability-penny {
  background-image: none;
  background-color: #195267;
}
.capability-penny { background-color: #35545c; }

.captain-penny-feature { background: #eef8f7; }
.captain-penny-feature-inner { min-height: 500px; }
.captain-penny-lede { color: #304e61; }

.home-story { background: #fffdfa; }
.home-story-copy { color: #304e61; }

.home-footer,
.signup-footer.approved-static-footer {
  background: #fff;
  border-top-color: #d4e2e0;
}

.home-footer .footer-inner { padding-top: 48px; }
.home-footer .trust-row { display: none; }
.home-footer .journey-row { grid-template-columns: minmax(220px, .72fr) 1.8fr; }
.home-footer .journey-intro { padding-right: clamp(18px, 3vw, 42px); }
.home-footer .approved-footer-safety { max-width: 760px; }
.approved-footer-links a,
.approved-footer-legal a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 8px;
}
.approved-footer-links .footer-waitlist {
  min-height: 44px;
  padding: 9px 17px;
  border-radius: 999px;
  border: 1px solid #c34d3f;
  font-weight: 750;
  text-decoration: none;
}
.approved-footer-links .footer-waitlist:hover { text-decoration: none; }
.approved-static-footer .approved-footer-links { gap: 8px 12px; }
.approved-static-footer .approved-footer-legal { padding-top: 5px; }

.site-header .menu-toggle {
  width: 44px;
  height: 44px;
  border-radius: 10px;
}
.site-header .menu-toggle:hover { background: #e4f3f2; }
.mobile-nav:not([hidden]) a {
  display: flex;
  align-items: center;
  min-height: 44px;
  border-radius: 8px;
}
.mobile-nav:not([hidden]) .mobile-waitlist-link {
  justify-content: center;
  margin-top: 6px;
  border: 1px solid #c34d3f;
  border-radius: 999px;
  background: #f16b59;
  color: #142541 !important;
  font-weight: 750;
}
.mobile-nav:not([hidden]) .mobile-waitlist-link:hover {
  background: #e75c4d;
  color: #142541 !important;
}
.skip-link {
  color: #142541;
  background: #fff;
  min-height: 44px;
  border-radius: 7px;
}

.signup-brand-note {
  width: min(100%, 460px);
  min-height: 0;
  margin: 25px auto 4px;
  color: #36536a;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.notification-note { color: #304e61; }

@media (max-width: 760px) {
  .preview-note {
    width: 145px;
    min-height: 56px;
    padding: 9px 11px;
    font-size: 12px;
  }
  .home-page .hero-actions { flex-wrap: wrap; }
  .home-page .hero-actions .outlined-button {
    min-height: 48px;
    min-width: 148px;
  }
  .capability-card { min-height: 300px; }
  .capability-watch { min-height: 280px; }
  .home-footer .journey-row { display: block; }
  .home-footer .journey-intro { padding-right: 0; }
  .home-footer .journey-steps { padding-left: 0; }
  .approved-footer-links { gap: 4px 6px; }
  .approved-static-footer .approved-footer-links { justify-content: center; }
  .home-footer .approved-footer-safety { padding: 0 8px; }
  .waitlist-page .signup-brand-note { margin-top: 18px; }
  .waitlist-page .site-header .back-home { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (max-width: 370px) {
  .home-page .hero-actions .outlined-button { min-width: 134px; }
  .preview-note { width: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .menu-toggle,
  .home-page .hero-actions .outlined-button { transition: none; }
}

/* Compact, interface-first homepage showcase: six clear moments, no lifestyle
   panel treatment. Screens are illustrative and use sample data. */
/*
.home-page .phone-caption {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 8px auto 0;
  padding: 7px 12px;
  border: 1px solid #c8e1e3;
  border-radius: 999px;
  background: #eef9f8;
  color: #36536a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.product-showcase {
  --show-ink: #142541;
  --show-muted: #36536a;
  --show-teal: #087c8d;
  position: relative;
  overflow: hidden;
  padding: 18px 0 42px;
  background: #f3f8f7;
  color: var(--show-ink);
}

.showcase-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 30px 16px;
}
.showcase-heading h2 {
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
  letter-spacing: -.045em;
}
.showcase-controls { display: none; gap: 8px; flex: none; }
.showcase-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #b7d2d6;
  border-radius: 50%;
  background: #fff;
  color: #142541;
  cursor: pointer;
  transition: transform .18s ease, background-color .18s ease;
}
.showcase-controls button:hover:not(:disabled) { transform: translateY(-2px); background: #e6f6f5; }
.showcase-controls button:disabled { opacity: .42; cursor: default; }
.showcase-controls button:focus-visible,
.showcase-track:focus-visible {
  outline: 3px solid #087c8d;
  outline-offset: 3px;
}
.showcase-controls svg { width: 19px; height: 19px; }
.showcase-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.showcase-track {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  gap: 18px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 30px 7px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.showcase-track::-webkit-scrollbar { display: none; }
.showcase-slide {
  min-width: 0;
  min-height: 520px;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid #cfe1e2;
  border-radius: 20px;
  background: #e5f4f3;
}
.showcase-copy { padding: 23px 24px 0; }
.showcase-copy h3 {
  margin: 0 0 7px;
  color: var(--show-ink);
  font-size: clamp(21px, 2.1vw, 26px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.12;
}
.showcase-copy p {
  margin: 0;
  color: var(--show-muted);
  font-size: 14px;
  line-height: 1.45;
}
.showcase-screen {
  display: block;
  width: calc(100% - 30px);
  height: auto;
  margin: 17px auto 0;
  border-radius: 17px 17px 0 0;
  filter: drop-shadow(0 8px 11px rgba(21, 68, 82, .11));
}
.showcase-slide:nth-child(2) { background: #e1f1f3; }
.showcase-slide:nth-child(3) { background: #f2f5e9; }
.showcase-slide:nth-child(4) { background: #e9f1f8; }
.showcase-slide:nth-child(5) { background: #fff0e6; }
.showcase-slide:nth-child(6) { background: #e8f1ed; }

.captain-compact {
  border-top: 1px solid #d3e4e3;
  background: #eaf6f4;
}
.captain-compact-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: center;
  gap: 32px;
  max-width: 1050px;
  min-height: 240px;
  margin: 0 auto;
  padding: 28px 30px;
}
.captain-compact h2 {
  margin: 0 0 8px;
  color: #142541;
  font-size: clamp(25px, 3.5vw, 36px);
  letter-spacing: -.05em;
}
.captain-compact p { max-width: 560px; margin: 0; color: #36536a; line-height: 1.6; }
.captain-compact-art { width: 190px; height: 188px; justify-self: center; overflow: hidden; }
.captain-compact-art img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }

.home-story {
  padding: 32px 24px 36px;
  border-top: 1px solid #d8e6ed;
  background: #fffdfa;
}
.home-story-inner { max-width: 800px; }
.home-story h2 { margin-bottom: 10px; font-size: 25px; }
.home-story-copy { font-size: 16px; line-height: 1.65; }
.home-story-copy p { margin: 0; }
.home-story-copy a { color: #087486; font-weight: 700; text-underline-offset: 3px; }
.closing-cta { padding-top: 34px; padding-bottom: 34px; }
.closing-cta h2 { font-size: clamp(28px, 4vw, 42px); }
.home-footer .footer-inner { padding-top: 30px; }

@media (min-width: 761px) {
  .showcase-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    overflow: visible;
    scroll-snap-type: none;
  }
  .showcase-slide { min-height: 478px; }
  .showcase-controls { display: none; }
}
@media (min-width: 1040px) {
  .showcase-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .product-showcase { padding-top: 15px; padding-bottom: 27px; }
  .showcase-heading { align-items: center; padding: 0 20px 13px; }
  .showcase-heading h2 { font-size: 24px; }
  .product-showcase.is-enhanced .showcase-controls { display: flex; gap: 6px; }
  .showcase-controls button { width: 42px; height: 42px; }
  .showcase-track {
    grid-auto-columns: 84%;
    gap: 12px;
    padding: 0 20px 6px;
  }
  .showcase-slide { min-height: 478px; border-radius: 17px; }
  .showcase-copy { padding: 20px 19px 0; }
  .showcase-copy h3 { font-size: 23px; }
  .showcase-copy p { font-size: 14px; }
  .showcase-screen { width: calc(100% - 16px); margin-top: 15px; }
  .captain-compact-inner {
    grid-template-columns: minmax(0, 1fr) 116px;
    gap: 8px;
    min-height: 190px;
    padding: 22px 20px;
  }
  .captain-compact h2 { font-size: 26px; }
  .captain-compact p { font-size: 14px; }
  .captain-compact-art { width: 118px; height: 145px; }
  .home-story { padding: 26px 20px 30px; }
  .home-story h2 { margin-bottom: 7px; font-size: 23px; }
  .home-story-copy { font-size: 15px; }
  .closing-cta { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-controls button { transition: none; }
  .showcase-track { scroll-behavior: auto !important; }
}
*/

/* Legacy editorial blocks are no longer used on the homepage. */
.preview-note {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #36536a;
  font-size: 13px;
  font-weight: 600;
}

.product-story {
  overflow: hidden;
  padding: 0 26px;
  background: #f6f9f7;
  color: #142541;
}

.product-story-intro {
  max-width: 1210px;
  margin: 0 auto;
  padding: clamp(76px, 10vw, 132px) 0 clamp(34px, 5vw, 66px);
}

.product-story-intro .eyebrow {
  margin-bottom: 22px;
  color: #087486;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.product-story-intro h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(47px, 8vw, 94px);
  font-weight: 700;
  letter-spacing: -.075em;
  line-height: .98;
}

.product-story-intro > p:not(.eyebrow) {
  max-width: 610px;
  margin: 25px 0 0;
  color: #36536a;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
}

.product-story-intro .product-preview-note {
  margin-top: 18px;
  color: #52697a;
  font-size: 14px;
  font-weight: 600;
}

.story-beat {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  align-items: center;
  gap: clamp(42px, 8vw, 116px);
  max-width: 1210px;
  min-height: 580px;
  margin: 0 auto;
  padding: clamp(58px, 8vw, 106px) 0;
  border-top: 1px solid #d8e4e1;
}

.story-beat:nth-of-type(even) .story-visual { order: 2; }

.story-visual {
  overflow: hidden;
  aspect-ratio: 1.18 / 1;
  border-radius: 21px;
  background: #e4efed;
}

.story-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-beat-conditions .story-visual img { object-position: 50% 45%; }
.story-beat-stops .story-visual img { object-position: 50% 54%; }
.story-beat-lake .story-visual img { object-position: 50% 52%; }
.story-beat-help .story-visual img { object-position: 54% 48%; }

.story-copy { max-width: 475px; }

.story-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: #087486;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.story-kicker span { letter-spacing: .1em; }

.story-copy h2 {
  margin: 0 0 18px;
  color: #142541;
  font-size: clamp(35px, 4.1vw, 56px);
  font-weight: 700;
  letter-spacing: -.065em;
  line-height: 1.04;
}

.story-copy > p:not(.story-kicker) {
  margin: 0;
  color: #36536a;
  font-size: clamp(17px, 1.55vw, 19px);
  line-height: 1.72;
}

.story-copy .story-footnote,
.story-copy .story-aside {
  margin-top: 20px !important;
  color: #536a79 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.story-visual-captain {
  display: flex;
  align-items: end;
  justify-content: center;
  overflow: visible;
  aspect-ratio: auto;
  border-radius: 0;
  background: transparent;
}

.story-visual-captain img {
  width: min(100%, 385px);
  height: auto;
  max-height: 660px;
  object-fit: contain;
  object-position: center bottom;
}

.story-beat-captain { min-height: 640px; }

.home-story {
  padding: clamp(76px, 10vw, 126px) 26px;
  background: #fff;
}

.home-story-inner { max-width: 790px; }
.home-story h2 {
  margin-bottom: 30px;
  font-size: clamp(38px, 5vw, 56px);
  letter-spacing: -.065em;
}

.home-story-copy {
  color: #36536a;
  font-size: clamp(17px, 1.6vw, 19px);
  line-height: 1.78;
}

.home-story-copy p { margin-bottom: 21px; }

.home-footer .footer-inner {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  max-width: 1280px;
  padding: 48px 26px 24px;
}

.home-footer .footer-brand { width: 180px; margin: 0 auto 22px; }
.home-footer .approved-footer-links { width: 100%; margin-top: 0; }
.home-footer .approved-footer-safety { margin-top: 20px; }
.home-footer .approved-footer-legal { padding-top: 8px; }
.home-footer .home-legal { margin-top: 9px; }

@media (max-width: 760px) {
  .product-story { padding: 0 20px; }
  .product-story-intro { padding: 66px 0 34px; }
  .product-story-intro .eyebrow { margin-bottom: 16px; font-size: 11px; }
  .product-story-intro h2 { font-size: clamp(45px, 12vw, 64px); }
  .product-story-intro > p:not(.eyebrow) { margin-top: 19px; font-size: 17px; }
  .product-story-intro .product-preview-note { font-size: 13px; }
  .story-beat {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
    min-height: 0;
    padding: 48px 0 54px;
  }
  .story-beat:nth-of-type(even) .story-visual { order: 0; }
  .story-visual { aspect-ratio: 1.13 / 1; border-radius: 16px; }
  .story-visual-captain {
    order: 0;
    aspect-ratio: auto;
    min-height: 0;
    height: min(118vw, 480px);
  }
  .story-visual-captain img {
    width: auto;
    max-width: 86%;
    max-height: 100%;
  }
  .story-copy { max-width: none; }
  .story-kicker { margin-bottom: 15px; font-size: 11px; }
  .story-copy h2 { max-width: 560px; font-size: clamp(36px, 9.2vw, 48px); }
  .story-copy > p:not(.story-kicker) { font-size: 17px; line-height: 1.68; }
  .home-story { padding: 66px 22px 72px; }
  .home-story h2 { margin-bottom: 22px; }
  .home-footer .footer-inner { padding: 35px 20px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .story-beat,
  .story-visual img { transition: none; }
}

/* Homepage finale: three generous editorial chapters, not a feature-card grid. */
.home-page .hero-actions { gap: 0; }
.home-page .hero-actions .outlined-button,
.home-page .nav-cta,
.home-page .footer-waitlist,
.home-page .closing-cta .button {
  min-height: 48px;
  padding: 11px 21px;
  border: 1px solid #c34d3f;
  border-radius: 999px;
  background: #f16b59;
  color: #142541 !important;
  font-weight: 750;
}
.home-page .hero-actions .outlined-button { min-width: 190px; }
.home-page .hero-actions .outlined-button:hover,
.home-page .closing-cta .button:hover { background: #e75c4d; }
.phone-caption {
  position: relative;
  z-index: 2;
  width: max-content;
  max-width: calc(100% - 36px);
  margin: -3px auto 0;
  padding: 12px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #506b79;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  text-align: center;
}
.product-story {
  padding: 0 28px;
  background: #f5f8f5;
}
.story-kicker { color: #087486; }
.story-beat {
  grid-template-columns: minmax(0, 1.1fr) minmax(310px, .9fr);
  gap: clamp(38px, 8vw, 116px);
  min-height: 600px;
  padding: clamp(68px, 8vw, 108px) 0;
  border-color: #d8e4e1;
}
.story-beat-stops .story-visual { order: 2; }
.story-visual {
  aspect-ratio: 1.27 / 1;
  border-radius: 20px;
  background: #e3ece8;
}
.story-beat-conditions .story-visual img { object-position: 49% 49%; }
.story-beat-stops .story-visual img { object-position: 38% 51%; }
.story-copy { max-width: 500px; }
.story-kicker { gap: 11px; margin-bottom: 19px; letter-spacing: .09em; }
.story-kicker svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.story-aside .inline-paw {
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-right: 6px;
  vertical-align: -4px;
  fill: none;
  stroke: #087486;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-footer .approved-footer-safety a {
  color: #142541;
  font-weight: 700;
  text-underline-offset: 3px;
}
.story-copy h2 {
  font-size: clamp(36px, 4vw, 54px);
  letter-spacing: -.065em;
}
.story-copy > p:not(.story-kicker) { line-height: 1.68; }
.lake-ideas {
  display: grid;
  gap: 13px;
  margin: 24px 0 0;
  padding: 19px 0 0;
  border-top: 1px solid #d5e1de;
  list-style: none;
  color: #29475a;
  font-size: 15px;
  font-weight: 650;
}
.lake-ideas li { display: flex; align-items: center; gap: 11px; }
.lake-ideas svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  fill: none;
  stroke: #087486;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.story-beat-help {
  grid-template-columns: minmax(0, 1.02fr) minmax(310px, .98fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(38px, 7vw, 96px);
  row-gap: 0;
  min-height: 0;
  padding-bottom: clamp(68px, 8vw, 104px);
}
.story-beat-help > .story-visual-captain { grid-column: 1; grid-row: 1; }
.story-beat-help > .story-copy { grid-column: 2; grid-row: 1; align-self: center; }
.story-aside { margin-top: 14px !important; color: #506979 !important; font-size: 16px !important; }
.help-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin-top: 17px;
  color: #087486;
  font-weight: 750;
  text-underline-offset: 4px;
}
.home-story {
  padding: clamp(65px, 9vw, 110px) 26px;
  border-top: 1px solid #dce6e2;
  background: #fff;
}
.home-footer { background: #fff; }
.home-story-inner { max-width: 840px; }
.home-story h2 { margin-bottom: 23px; }
.home-story-copy { line-height: 1.7; }
.home-story-copy p { margin-bottom: 16px; }
.home-story-copy a { color: #087486; font-weight: 700; text-underline-offset: 4px; }
.closing-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(44px, 7vw, 84px) 28px;
}
.closing-cta .eyebrow { margin-bottom: 10px; color: #087486; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.closing-cta h2 {
  margin: 0;
  color: #142541;
  font-size: clamp(28px, 4.4vw, 50px);
  line-height: 1.13;
  letter-spacing: -.055em;
}
.closing-cta .button { flex: 0 0 auto; }
.home-footer .approved-footer-safety {
  max-width: 850px;
  line-height: 1.65;
}
@media (min-width: 761px) {
  .story-beat-help .story-visual { aspect-ratio: 1.28 / 1; }
  .story-beat-help .story-visual-captain {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 360px;
    min-height: 0;
    overflow: hidden;
    aspect-ratio: auto;
    border-radius: 0;
    background: transparent;
  }
  .story-beat-help .story-visual-captain img {
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
  }
  .home-story,
  .home-footer { background: #fff; }
}
@media (max-width: 760px) {
  .phone-caption { margin-top: 1px; }
  .product-story { padding: 0 20px; }
  .story-beat {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 25px;
    min-height: 0;
    padding: 43px 0 49px;
  }
  .story-beat-stops .story-visual { order: 0; }
  .story-visual { aspect-ratio: 1.12 / 1; border-radius: 15px; }
  .story-beat-conditions .story-visual img { object-position: 50% 48%; }
  .story-beat-stops .story-visual img { object-position: 35% 52%; }
  .story-beat-help > .story-visual-captain {
    order: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: clamp(300px, 90vw, 360px);
    min-height: 0;
    overflow: hidden;
    aspect-ratio: auto;
    border-radius: 0;
    background: transparent;
  }
  .story-beat-help .story-visual-captain img {
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
  }
  .story-kicker { margin-bottom: 14px; font-size: 11px; }
  .story-copy h2 { font-size: clamp(35px, 9vw, 46px); }
  .story-copy > p:not(.story-kicker) { font-size: 16px; line-height: 1.65; }
  .lake-ideas { font-size: 14px; margin-top: 19px; }
  .story-beat-help { gap: 21px; padding-bottom: 52px; }
  .story-beat-help > .story-copy { order: 1; }
  .home-story { padding: 58px 22px 63px; }
  .home-story h2 { margin-bottom: 18px; }
  .home-story-copy { font-size: 16px; }
  .closing-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding: 43px 22px 51px; }
  .closing-cta h2 { font-size: clamp(27px, 7.5vw, 38px); }
  .home-page .hero-actions .outlined-button { min-height: 48px; min-width: 176px; }
}
@media (max-width: 370px) {
  .closing-cta h2 { font-size: 26px; }
}

/* Active compact homepage composition — kept last so no legacy editorial
   selectors below it can expand the founder, closing, or feature sections. */
.home-page .phone-caption {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 8px auto 0;
  padding: 7px 12px;
  border: 1px solid #c8e1e3;
  border-radius: 999px;
  background: #eef9f8;
  color: #36536a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.product-showcase {
  --show-ink: #142541;
  --show-muted: #36536a;
  position: relative;
  overflow: hidden;
  padding: 18px 0 42px;
  background: #f3f8f7;
  color: var(--show-ink);
}
.showcase-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 30px 16px;
}
.showcase-heading h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); line-height: 1.1; letter-spacing: -.045em; }
.showcase-controls { display: none; gap: 8px; flex: none; }
.showcase-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #b7d2d6;
  border-radius: 50%;
  background: #fff;
  color: #142541;
  cursor: pointer;
  transition: transform .18s ease, background-color .18s ease;
}
.showcase-controls button:hover:not(:disabled) { transform: translateY(-2px); background: #e6f6f5; }
.showcase-controls button:disabled { opacity: .42; cursor: default; }
.showcase-controls button:focus-visible, .showcase-track:focus-visible { outline: 3px solid #087c8d; outline-offset: 3px; }
.showcase-controls svg { width: 19px; height: 19px; }
.showcase-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.showcase-track {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  gap: 18px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 30px 7px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.showcase-track::-webkit-scrollbar { display: none; }
.showcase-slide {
  min-width: 0;
  min-height: 520px;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid #cfe1e2;
  border-radius: 20px;
  background: #e5f4f3;
}
.showcase-copy { padding: 23px 24px 0; }
.showcase-copy h3 { margin: 0 0 7px; color: var(--show-ink); font-size: clamp(21px, 2.1vw, 26px); font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
.showcase-copy p { margin: 0; color: var(--show-muted); font-size: 14px; line-height: 1.45; }
.showcase-screen { display: block; width: calc(100% - 30px); height: auto; margin: 17px auto 0; border-radius: 17px 17px 0 0; filter: drop-shadow(0 8px 11px rgba(21,68,82,.11)); }
.showcase-slide:nth-child(2) { background: #e1f1f3; }
.showcase-slide:nth-child(3) { background: #f2f5e9; }
.showcase-slide:nth-child(4) { background: #e9f1f8; }
.showcase-slide:nth-child(5) { background: #fff0e6; }
.showcase-slide:nth-child(6) { background: #e8f1ed; }
.captain-compact { border-top: 1px solid #d3e4e3; background: #eaf6f4; }
.captain-compact-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) 220px;
  align-items: center;
  gap: 32px;
  max-width: 1050px;
  min-height: 240px;
  margin: 0 auto;
  padding: 28px 30px;
}
.captain-compact h2 { margin: 0 0 8px; color: #142541; font-size: clamp(25px,3.5vw,36px); letter-spacing: -.05em; }
.captain-compact p { max-width: 560px; margin: 0; color: #36536a; line-height: 1.6; }
.captain-compact-art { width: 190px; height: 188px; justify-self: center; overflow: hidden; }
.captain-compact-art img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.home-page .home-story { padding: 32px 24px 36px; border-top: 1px solid #d8e6ed; background: #fffdfa; }
.home-page .home-story-inner { max-width: 800px; }
.home-page .home-story h2 { margin: 0 0 10px; color: #142541; font-size: 25px; }
.home-page .home-story-copy { color: #36536a; font-size: 16px; line-height: 1.65; }
.home-page .home-story-copy p { margin: 0; }
.home-page .home-story-copy a { color: #087486; font-weight: 700; text-underline-offset: 3px; }
.home-page .closing-cta { padding-top: 34px; padding-bottom: 34px; }
.home-page .closing-cta h2 { font-size: clamp(28px,4vw,42px); }
.home-page .home-footer .footer-inner { padding-top: 30px; }

@media (min-width: 761px) {
  .showcase-track { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: row; overflow: visible; scroll-snap-type: none; }
  .showcase-slide { min-height: 478px; }
  .showcase-controls { display: none; }
}
@media (min-width: 1040px) {
  .showcase-track { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .product-showcase { padding-top: 15px; padding-bottom: 27px; }
  .showcase-heading { align-items: center; padding: 0 20px 13px; }
  .showcase-heading h2 { font-size: 24px; }
  .product-showcase.is-enhanced .showcase-controls { display: flex; gap: 6px; }
  .showcase-controls button { width: 42px; height: 42px; }
  .showcase-track { grid-auto-columns: 84%; gap: 12px; padding: 0 20px 6px; }
  .showcase-slide { min-height: 478px; border-radius: 17px; }
  .showcase-copy { padding: 20px 19px 0; }
  .showcase-copy h3 { font-size: 23px; }
  .showcase-copy p { font-size: 14px; }
  .showcase-screen { width: calc(100% - 16px); margin-top: 15px; }
  .captain-compact-inner { grid-template-columns: minmax(0,1fr) 116px; gap: 8px; min-height: 190px; padding: 22px 20px; }
  .captain-compact h2 { font-size: 26px; }
  .captain-compact p { font-size: 14px; }
  .captain-compact-art { width: 118px; height: 145px; }
  .home-page .home-story { padding: 26px 20px 30px; }
  .home-page .home-story h2 { margin-bottom: 7px; font-size: 23px; }
  .home-page .home-story-copy { font-size: 15px; }
  .home-page .closing-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-controls button { transition: none; }
  .showcase-track { scroll-behavior: auto !important; }
}