/* Boats & Me: subscribe CTAs (link out to Beehiiv, no embedded form) + nav spacing */
:root{--subscribe:#A84931;--subscribe-hover:#8f3c28}
.btn-subscribe{background:#A84931;background:var(--subscribe);color:#fff;border:2px solid var(--subscribe);font-weight:700}
.btn-subscribe:hover{background:var(--subscribe-hover);border-color:var(--subscribe-hover);color:#fff}
.btn-subscribe:focus-visible,.cta-sticky-close:focus-visible,.cta-box a:focus-visible{outline:3px solid var(--navy-900);outline-offset:3px;box-shadow:0 0 0 6px #fff}
.hero-section .btn-subscribe:focus-visible{outline-color:#fff;box-shadow:0 0 0 6px var(--navy-900)}

/* Hero CTA (home) */
.hero-cta{margin:1.75rem auto 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.85rem;background:rgba(7,35,48,.55);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:1rem 1.25rem;max-width:640px}
.hero-cta p{margin:0;color:#fff;font-size:1rem;line-height:1.45}
.hero-cta p strong{color:#fff}
.cta-hint{display:block;font-size:.8rem;color:var(--ink-500,#4a5560);margin-top:.5rem;text-align:center}
.hero-cta .cta-hint{color:rgba(255,255,255,.85);margin-top:.25rem}

/* End-of-page CTA box */
.cta-box{margin:3rem auto 0;max-width:760px;background:var(--navy-900);color:var(--sand-100);border-radius:16px;padding:2rem 2rem 1.75rem;border-top:6px solid var(--terra-500);text-align:center;display:flex;flex-direction:column;align-items:center}
.cta-box .cta-eyebrow{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terra-200);font-weight:700}
.cta-box h2{font-family:var(--font-serif);color:#fff;font-size:1.7rem;margin:.4rem 0 .6rem}
.cta-box p{color:var(--sand-100);margin:0 auto 1.25rem;line-height:1.6;max-width:560px}
.cta-box .cta-hint{color:rgba(247,243,236,.8)}
.cta-section{padding-top:0}

/* Inline CTA rows (e.g. pipeline, worksheet) stay centred */
.cta-center{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;text-align:center}

/* Home FAQ */
.home-faq .qa-card{max-width:820px;margin:0 auto 1.25rem}
.home-faq .qa-answer a{text-decoration:underline}

/* Nav: keep one line at 1024px */
.nav-menu{gap:1.75rem}
.nav-link,.nav-actions .btn{white-space:nowrap}
@media (max-width:1200px){
  .nav-menu{gap:1.1rem}
  .nav-link{font-size:.875rem}
  .brand-link{gap:.6rem}
}
@media (max-width:1100px) and (min-width:769px){
  .brand-tagline{display:none}
  .navbar .container{gap:1rem}
  .nav-menu{gap:.9rem}
  .nav-actions .btn-sm{padding-left:.9rem;padding-right:.9rem}
}

/* Mobile sticky subscribe bar (<=768px), dismissible per session */
.cta-sticky{display:none}
@media (max-width:768px){
  .cta-sticky{display:flex;position:fixed;left:.5rem;right:.5rem;bottom:.5rem;z-index:1000;align-items:center;justify-content:center;gap:.6rem;background:var(--navy-900);color:#fff;border-radius:12px;padding:.55rem 2.9rem;box-shadow:0 8px 24px rgba(7,35,48,.35)}
  .cta-sticky[hidden]{display:none}
  .cta-sticky span{flex:0 1 auto;text-align:center;font-size:.85rem;line-height:1.3}
  .cta-sticky .btn{padding:.55rem .9rem;font-size:.88rem;white-space:nowrap}
  .cta-sticky-close{position:absolute;right:.15rem;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#fff;font-size:1.3rem;line-height:1;width:40px;height:40px;border-radius:8px;cursor:pointer}
  .cta-sticky-close:focus-visible{outline-color:#fff;box-shadow:none}
  body:has(.cta-sticky:not([hidden])){padding-bottom:72px}
  .nav-actions .btn.btn-subscribe{display:inline-flex;padding:.45rem .75rem;font-size:.85rem}
  .nav-actions{display:flex;align-items:center;gap:.5rem}
  .cta-box{padding:1.75rem 1.25rem 1.5rem}
  .cta-box h2{font-size:1.45rem}
}
@media (max-width:420px){.brand-tagline{display:none}}

/* Byline link */
.issue-date a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Worksheet CTA cards (home + calculator): stacked and centred */
.calc-download-card{flex-direction:column;justify-content:center;align-items:center;text-align:center}
.calc-download-content p{margin-left:auto;margin-right:auto}

/* Mobile layout fixes: grids and wide tables must not overflow a 390px screen */
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
@media (max-width:768px){
  main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Instagram icon in the header (next to Subscribe); the mobile menu has a text link too */
.nav-social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;color:var(--ink-700);transition:color var(--transition-fast),background-color var(--transition-fast)}
.nav-social:hover{color:var(--terra-500);background:var(--sand-100)}
.nav-social:focus-visible{outline:3px solid var(--navy-900);outline-offset:2px}
/* 769-1279px: the desktop menu needs all the room, so the header icon is hidden there (footer link stays) */
@media (max-width:1279px) and (min-width:769px){.nav-actions .nav-social{display:none}}
@media (max-width:420px){.nav-actions .nav-social{display:none}}

/* Header fix (29 Oct 2026): at 769-1023px the six-link desktop menu did not fit and ran over the logo/brand
   text (worst at ~769-900px). In that range the header now uses the menu button + drawer, as on phones, and
   keeps the Subscribe button and Instagram icon. The brand title never wraps. Tested 700-1280px headless. */
.brand-title{white-space:nowrap}
.brand-link{flex-shrink:0}
@media (max-width:1023px) and (min-width:769px){
  .nav-menu{display:none}
  .nav-toggle{display:block}
  .nav-actions .nav-social{display:inline-flex}
  .brand-tagline{display:block}
}
@media (min-width:1024px){.mobile-drawer,.mobile-drawer.is-open{display:none}}

/* Checklist subscribe box (29 Oct 2026): inside every issue (after the intro + at the end), on the calculator
   results and at the end of the search pages. Same navy card as the end-of-page CTA, terracotta top border. */
.cta-checklist .cta-eyebrow{letter-spacing:.06em}
.cta-checklist-inline{margin:2rem auto 2.25rem;padding:1.5rem 1.5rem 1.35rem;max-width:680px}
.cta-checklist-inline h2{font-size:1.4rem;margin:.35rem 0 .5rem}
.cta-checklist-inline p{font-size:.95rem;margin-bottom:1rem}
.issue-prose .cta-box h2{color:#fff;border:0;padding:0}
.issue-prose .cta-box p{color:var(--sand-100)}
.issue-prose .cta-box a.btn{text-decoration:none;color:#fff}

/* Search pages + related links */
.search-related ul,.search-links-card ul{margin:.5rem 0 0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem}
.search-related a,.search-links-card a{text-decoration:underline;text-underline-offset:2px}
.search-links-section{padding-top:0}
.cost-table-wrap{overflow-x:auto;margin:1.25rem 0}
.cost-table{width:100%;border-collapse:collapse;font-size:.9rem}
.cost-table th,.cost-table td{padding:.6rem .55rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.cost-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);background:var(--sand-100)}
.cost-table td span{font-size:.8rem;color:var(--ink-500)}
.cost-table td strong{color:var(--navy-800)}
.cost-table .cost-none{font-style:italic}
