/* The static guides. Same brand as the marketing site, plain CSS on purpose:
   no framework, small, and it loads before anything else on the page. */
:root {
  --ink: #243e49; --muted: #435c65; --river: #477181; --river-dark: #3f6978; --line: #d8e2e6;
  --sky: #bfdcd3; --cream: #e4efea; --butter: #a8cac3; --blush: #bbcedb; --aqua: #b3d4c5;
  --clay: #d8734f; --clay-deep: #99502f; --sun: #f5d67b; --pale: #edf6f4;
  --radius: 20px;
  --sans: "Helvetica LT Std", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
body { margin: 0; background: #e8efee; color: var(--ink); font: 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--river); outline-offset: 3px; border-radius: 4px; }
.wrap { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 860px; }
@media (min-width: 640px) { .wrap { padding: 0 32px; } }
.skip { position: absolute; left: -999px; top: 8px; background: #fff; padding: 8px 14px; border-radius: 8px; z-index: 50; }
.skip:focus { left: 12px; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(227,238,233,.97); border-bottom: 1px solid var(--line); }
.header-row { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 16px; }
.logo img { height: 36px; width: auto; }
.main-nav { display: none; align-items: center; gap: 4px; font-size: 14px; font-weight: 500; }
.main-nav > a, .pro-menu summary { padding: 8px 12px; border-radius: 8px; text-decoration: none; cursor: pointer; color: var(--muted); }
.main-nav > a:hover, .pro-menu summary:hover { color: var(--ink); background: var(--pale); }
.main-nav > a[aria-current] { color: var(--ink); font-weight: 700; }
.pro-menu { position: relative; }
.pro-menu summary { list-style: none; }
.pro-menu summary::-webkit-details-marker { display: none; }
.pro-menu summary::after { content: "▾"; margin-left: 5px; font-size: 11px; opacity: .7; }
.pro-list { position: absolute; top: 44px; left: 0; width: 220px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 6px; }
.pro-list a { display: block; padding: 9px 12px; border-radius: 8px; text-decoration: none; font-size: 14px; }
.pro-list a:hover { background: var(--pale); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.signin { display: none; font-size: 14px; font-weight: 500; padding: 8px 12px; text-decoration: none; color: var(--muted); }
.signin:hover { color: var(--ink); }
.mobile-menu summary { list-style: none; cursor: pointer; display: grid; gap: 4px; padding: 12px 8px; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { display: block; width: 20px; height: 2px; background: var(--ink); }
.mobile-menu nav { position: absolute; left: 0; right: 0; top: 72px; background: #fff; border-bottom: 1px solid var(--line); padding: 10px 20px 18px; max-height: calc(100dvh - 72px); overflow-y: auto; }
.mobile-menu nav a { display: block; padding: 11px 8px; text-decoration: none; font-weight: 500; }
@media (min-width: 1024px) {
  .main-nav, .signin { display: flex; }
  .mobile-menu { display: none; }
}

/* Buttons and links */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 12px; background: var(--river); color: #fff; font-weight: 600; font-size: 15px; line-height: 1.2; text-decoration: none; transition: background-color .15s; }
.btn:hover { background: var(--river-dark); }
.btn-sm { min-height: 40px; padding: 8px 16px; font-size: 14px; }
.btn-light { background: #fff; color: var(--ink); }
.btn-light:hover { background: var(--pale); }
.text-link { display: inline-block; font-weight: 600; font-size: 15px; text-underline-offset: 5px; text-decoration-color: #a7bdb6; }
.text-link:hover { text-decoration-color: var(--river); }
.eyebrow { margin: 0 0 16px; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--river); }

/* Tints */
.tint-butter { background: var(--butter); }
.tint-blush { background: var(--blush); }
.tint-aqua { background: var(--aqua); }
.tint-cream { background: var(--cream); }

/* Hub */
.hub-hero { background: var(--sky); padding: 56px 0; }
.hub-hero-grid { display: grid; gap: 36px; align-items: center; }
.hub-hero h1, .guide-top h1 { margin: 0; font-weight: 700; letter-spacing: -.04em; line-height: 1.05; }
.hub-hero h1 { font-size: clamp(2.375rem, 5vw, 4.25rem); text-wrap: balance; }
.hub-hero h1 em { font-style: normal; color: var(--river); }
.lead { margin: 20px 0 0; font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.5; color: var(--muted); max-width: 620px; }
.hub-month { background: #eef6f1; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; }
.hub-month-title { margin: 0 0 12px; font-size: 20px; letter-spacing: -.02em; line-height: 1.2; }
.hub-tasks { list-style: none; margin: 0 0 16px; padding: 0; }
.hub-tasks li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; }
.hub-task-title { font-weight: 600; }
.hub-task-time { flex-shrink: 0; color: var(--muted); font-size: 13px; }
@media (min-width: 900px) { .hub-hero { padding: 72px 0; } .hub-hero-grid { grid-template-columns: 1.15fr 1fr; gap: 56px; } }

.tools-band { padding: 48px 0 8px; }
.tool-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.tool-card { display: flex; align-items: center; gap: 20px; height: 100%; padding: 24px; border-radius: var(--radius); text-decoration: none; }
.tool-card svg { width: 112px; height: auto; flex-shrink: 0; transition: transform .2s; }
.tool-card:hover { box-shadow: inset 0 0 0 1px #a4c3c1; }
.tool-card span { color: var(--muted); font-size: 15px; line-height: 1.45; }
.tool-card strong { display: block; color: var(--ink); font-size: 21px; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 6px; }
@media (min-width: 800px) { .tool-cards { grid-template-columns: 1fr 1fr; } }

.hub-list { padding-top: 32px; padding-bottom: 56px; }
.hub-category { padding-top: 32px; }
.hub-category h2, .related h2 { margin: 0 0 18px; font-size: 24px; letter-spacing: -.03em; }
.card-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
@media (min-width: 640px) { .card-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .card-grid { grid-template-columns: repeat(3, 1fr); } }
.card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; text-decoration: none; background: #f3f7f5; transition: border-color .15s; }
.card:hover { border-color: var(--river); }
.card-art { display: flex; align-items: center; justify-content: center; height: 148px; }
.card-art svg { height: 104px; width: auto; transition: transform .2s; }
.card:hover .card-art { background: #94bdb1; }
.card-body { display: flex; flex-direction: column; gap: 6px; padding: 20px; }
.card-kicker { font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--river); }
.card-title { font-size: 18px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; }
.card-text { font-size: 14px; line-height: 1.5; color: var(--muted); }

/* Guide header */
.guide-top { padding: 40px 0; }
.guide-top-grid { display: grid; gap: 24px; align-items: center; }
.guide-top h1 { font-size: clamp(2.125rem, 4.4vw, 3.5rem); max-width: 820px; }
.guide-art { display: none; width: 240px; height: auto; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; font-size: 13px; font-weight: 600; color: var(--muted); }
.crumbs a { text-underline-offset: 3px; }
.meta { margin: 16px 0 0; font-size: 14px; color: var(--muted); }
@media (min-width: 800px) {
  .guide-top { padding: 56px 0; }
  .guide-top-grid { grid-template-columns: 1fr auto; gap: 48px; }
  .guide-top-grid.single { grid-template-columns: 1fr; }
  .guide-art { display: block; }
}

/* Guide body */
.guide-grid { display: grid; gap: 40px; padding-top: 40px; padding-bottom: 56px; }
@media (min-width: 1000px) { .guide-grid { grid-template-columns: minmax(0, 720px) 300px; justify-content: space-between; } }
.answer { border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 24px; margin-bottom: 32px; background: var(--cream); }
.answer-label { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--clay-deep); }
.answer p:last-child { margin: 0; font-size: 18px; line-height: 1.5; font-weight: 500; }
.prose { font-size: 17px; line-height: 1.7; color: #33505c; min-width: 0; }
.prose h2 { margin: 40px 0 12px; font-size: 27px; line-height: 1.15; letter-spacing: -.03em; color: var(--ink); }
.prose h3 { margin: 26px 0 8px; font-size: 19px; letter-spacing: -.02em; color: var(--ink); }
.prose p { margin: 0 0 16px; }
.prose ul, .prose ol { margin: 0 0 18px; padding-left: 22px; }
.prose li { margin-bottom: 8px; }
.prose strong { color: var(--ink); }
.prose a { color: var(--river); text-underline-offset: 3px; }
.prose blockquote { margin: 20px 0; padding: 14px 18px; border-left: 3px solid var(--river); background: var(--pale); border-radius: 0 12px 12px 0; color: var(--ink); }
.prose blockquote p { margin: 0; }
.table-wrap { overflow-x: auto; margin: 0 0 20px; border: 1px solid var(--line); border-radius: 12px; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.prose th, .prose td { padding: 11px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--line); }
.prose thead th { border-top: 0; background: var(--pale); font-size: 13px; color: var(--ink); }
.prose tbody th { font-weight: 600; color: var(--ink); min-width: 160px; }
.prose td:nth-child(2) { white-space: nowrap; font-weight: 600; color: var(--ink); }
.sources { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.55; color: var(--muted); }
.sources h2 { margin: 0 0 10px; font-size: 16px; letter-spacing: 0; }
.sources ul { padding-left: 18px; margin: 0 0 12px; }
.sources li { margin-bottom: 4px; }
.sources a { color: var(--muted); }

.rail { display: grid; gap: 24px; align-content: start; }
@media (min-width: 1000px) { .rail { position: sticky; top: 96px; } }
.toc { display: none; font-size: 14px; }
@media (min-width: 1000px) { .toc { display: block; } }
.toc p { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); }
.toc a { display: block; padding: 6px 0; border-top: 1px solid var(--line); text-decoration: none; color: var(--ink); line-height: 1.35; }
.toc a:hover { color: var(--river); }
.rail-cta { border-radius: var(--radius); padding: 24px; }
.rail-cta h2 { margin: 0 0 8px; font-size: 21px; letter-spacing: -.02em; line-height: 1.2; }
.rail-cta p { margin: 0 0 16px; font-size: 15px; line-height: 1.5; color: var(--muted); }

/* Ads: labelled, and set apart from the page's own content */
.ad { margin: 28px 0; padding: 10px 0 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 130px; }
.ad-label { margin: 0 0 8px !important; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); text-align: center; }
.ad .adsbygoogle { display: block; }
.ad-placeholder { display: grid; place-items: center; min-height: 250px; background: repeating-linear-gradient(45deg, #f3f6f7, #f3f6f7 10px, #eaeff1 10px, #eaeff1 20px); color: var(--muted); font-size: 13px; border-radius: 8px; }

/* Tools */
.tool-section { padding: 32px 0 8px; }
.tool { border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; background: #fff; }
.tool-fields { display: grid; gap: 16px; }
@media (min-width: 720px) { .tool-fields { grid-template-columns: 1.6fr 1fr; } }
.tool label span { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.tool select, .tool input { width: 100%; min-height: 52px; padding: 10px 14px; border: 2px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font: 500 17px var(--sans); }
.tool select:focus, .tool input:focus { outline: 3px solid var(--river); outline-offset: 0; border-color: var(--river); }
.tool-empty { margin: 16px 0 0; font-size: 14px; color: var(--muted); }
.tool-result { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.result-status { display: inline-block; margin: 0 0 10px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.tone-good { background: var(--aqua); color: #1f5a50; }
.tone-mid { background: var(--butter); color: #6a5310; }
.tone-warn { background: var(--sun); color: #5c4708; }
.tone-late { background: var(--blush); color: #8a3f22; }
.result-line { margin: 0; font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.25; letter-spacing: -.02em; font-weight: 500; }
.result-line strong { font-weight: 700; }
.meter { position: relative; display: flex; height: 16px; margin: 20px 0 16px; border-radius: 999px; overflow: visible; }
.zone { display: block; height: 100%; }
.zone-good { background: #a7d2c9; border-radius: 999px 0 0 999px; }
.zone-warn { background: var(--sun); }
.zone-late { background: var(--clay); border-radius: 0 999px 999px 0; }
.marker { position: absolute; top: -6px; width: 8px; height: 28px; margin-left: -4px; border-radius: 4px; background: var(--ink); box-shadow: 0 0 0 2px #fff; }
.result-advice { margin: 0 0 8px; font-weight: 600; }
.result-watch { margin: 0 0 18px; font-size: 15px; color: var(--muted); }
.result-watch a { color: var(--river); }
.fine-dark { margin: 10px 0 0; font-size: 13px; color: var(--muted); }
.tool-note { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }

/* Calendar */
.month-nav { display: flex; flex-wrap: wrap; gap: 6px; padding: 24px 0 8px; }
.month-nav a { min-width: 52px; padding: 8px 10px; text-align: center; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--muted); }
.month-nav a:hover { border-color: var(--river); color: var(--ink); }
.month-nav a.is-now { border-color: var(--clay); color: var(--clay-deep); }
.month-nav a[aria-current] { background: var(--ink); border-color: var(--ink); color: #fff; }
.month { padding-top: 24px; }
.month h2 { margin: 0 0 12px; font-size: 30px; letter-spacing: -.03em; line-height: 1.1; }
.month h2 span { display: block; margin-top: 4px; font-size: 16px; font-weight: 500; letter-spacing: 0; color: var(--muted); }
.always h2 { font-size: 20px; }
.tasks { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.task { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; padding: 16px 18px; border-top: 1px solid var(--line); }
.task:first-child { border-top: 0; }
.task input { width: 24px; height: 24px; margin: 2px 0 0; accent-color: var(--river); cursor: pointer; }
.task label { cursor: pointer; }
.task-title { display: block; font-weight: 700; font-size: 17px; line-height: 1.3; letter-spacing: -.01em; }
.task-why { display: block; margin-top: 3px; font-size: 15px; line-height: 1.5; color: var(--muted); }
.task input:checked + label .task-title { text-decoration: line-through; color: var(--muted); }
.task-meta { grid-column: 2; display: flex; gap: 14px; margin-top: 6px; font-size: 13px; color: var(--muted); }
.task-meta a { color: var(--river); font-weight: 600; text-underline-offset: 3px; }
.always .tasks { background: var(--cream); }

/* Related and closing band */
.related { padding: 8px 0 56px; }
.cta-band { background: var(--ink); color: #fff; padding: 64px 0; }
.cta-band h2 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -.04em; max-width: 720px; }
.cta-band p { margin: 16px 0 24px; font-size: 18px; line-height: 1.5; color: #d7e4e7; max-width: 620px; }
.cta-band .fine { margin: 14px 0 0; font-size: 14px; color: #b9ced2; }

/* Footer */
.site-footer { padding: 48px 0 28px; border-top: 1px solid var(--line); font-size: 14px; }
.footer-grid { display: grid; gap: 28px; grid-template-columns: 1fr 1fr; }
.footer-brand { grid-column: 1 / -1; }
.footer-brand img { height: 32px; width: auto; }
.footer-brand p { margin: 12px 0 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.site-footer h2 { margin: 0 0 10px; font-size: 13px; }
.site-footer nav a { display: block; padding: 5px 0; color: var(--muted); text-decoration: none; }
.site-footer nav a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.footer-legal p { margin: 0; }
@media (min-width: 900px) { .footer-grid { grid-template-columns: 1.4fr repeat(4, 1fr); } .footer-brand { grid-column: auto; } }
@media print { .site-header, .site-footer, .cta-band, .ad, .rail, .related { display: none; } }


/* November editorial direction: shared with the public marketing pages. */
:root { --ink:#25343d;--muted:#586e79;--line:#bfccd2;--sky:#dfe7e9;--cream:#e4e9eb;--butter:#dce5e8;--blush:#e4e9e8;--aqua:#dbe6e1;--pale:#e5eceb;--radius:6px;--fade:clamp(42px,6vw,72px); }
body { background:#eef1f2; }
.site-header { background:#1b2b34;border-color:#ffffff1c;color:#f0f5f3; }
.main-nav>a,.pro-menu summary,.signin { color:#cbd8dc; }
.main-nav>a[aria-current] { color:#fff; }
.main-nav>a:hover,.pro-menu summary:hover,.signin:hover { color:#fff;background:#ffffff10; }
.pro-list { background:#f7f9f8;color:#25343d;border-radius:5px; }
.header-actions>.btn { background:#f3f6f4;color:#25343d;white-space:nowrap;border-radius:5px; }
.mobile-menu summary span { background:#dae4e7; }
.mobile-menu nav { background:#1b2b34;color:#edf4f0;border-color:#536773; }
.mobile-menu nav a { color:#e3ecee; }
.btn { border-radius:5px;font-size:14px; }
.eyebrow { font-size:10px;letter-spacing:.14em;font-weight:600; }
.hub-hero { background:#e0e7e9;color:#25343d;padding:70px 0 0; }
.hub-hero::after { content:"";display:block;height:var(--fade);background:linear-gradient(#e0e7e9,#e5ebed 40%,#eef1f2); }
.hub-hero-grid { padding-bottom:80px;gap:70px;grid-template-columns:1fr 1fr; }
.hub-hero h1 { font-size:clamp(3rem,4.6vw,4.4rem);font-weight:600;letter-spacing:-.05em; }
.hub-hero h1 em { color:#477181; }
.hub-hero .lead { color:#405964;font-size:17px;line-height:1.75; }
.hub-hero>.wrap>div>.eyebrow { color:#405964; }
.hub-feature { position:relative;margin-left:24px;margin-bottom:95px; }
.hub-feature>img { display:block;width:100%;height:340px;object-fit:cover;border-radius:3px; }
.hub-month { position:relative;margin:-70px 25px -95px -24px;background:#f7faf7;color:#25343d;box-shadow:0 18px 30px #09141b30;border:1px solid #cbd7dc;padding:25px; }
.hub-month .eyebrow { color:#5a7784; }
.hub-month-title { font-size:22px;font-weight:600; }
.hub-tasks li { font-size:13px;padding:13px 0; }
.hub-task-time { font-size:11px; }
.hub-month .text-link { font-size:12px; }
.tools-band { padding-top:30px; }
.tool-card { border-radius:0;border-top:1px solid #b8c8d0;border-bottom:1px solid #b8c8d0;background:transparent;padding:28px 0;align-items:flex-start;gap:24px; }
.tool-card:hover { box-shadow:none;background:#e4eaec; }
.tool-card .tool-number { font-size:12px;color:#405964;flex:0 0 24px;padding-top:6px; }
.tool-card strong { font-weight:500;font-size:25px;letter-spacing:-.035em; }
.tool-card>span:last-child { max-width:400px; }
.hub-list { padding-top:55px;padding-bottom:85px; }
.hub-category h2 { font-size:38px;font-weight:500;line-height:1.1;letter-spacing:-.04em;margin-bottom:30px; }
.card { border:0;border-bottom:1px solid #b9c9d0;background:transparent;border-radius:0; }
.card-art { height:220px;background:#dce5e8;border-radius:3px;overflow:hidden; }
.card-art img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s; }
.card:hover .card-art img { transform:scale(1.025); }
.card-body { padding:23px 0 26px;gap:12px; }
.card-kicker { font-size:10px;letter-spacing:.1em;font-weight:600; }
.card-title { font-size:24px;font-weight:500;letter-spacing:-.035em;line-height:1.15; }
.card-text { font-size:14px;line-height:1.7; }
.guide-top { background:#e0e7e9;color:#25343d;padding:56px 0 0; }
.guide-top::after { content:"";display:block;height:var(--fade);background:linear-gradient(#e0e7e9,#e5ebed 40%,#eef1f2); }
.guide-top-grid { padding-bottom:60px;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr); }
.guide-top h1 { font-size:clamp(2.5rem,4.1vw,3.9rem);font-weight:600;letter-spacing:-.045em; }
.guide-top .lead,.guide-top .meta,.guide-top .crumbs { color:#405964; }
.guide-top .lead { font-size:17px;line-height:1.7; }
.guide-photo { margin:0; }
.guide-photo img { width:100%;height:280px;object-fit:cover;border-radius:3px; }
.guide-tool-marker { border-left:1px solid #bacbd1;padding-left:40px;color:#477181; }
.guide-tool-marker strong { display:block;font-size:100px;font-weight:500;letter-spacing:-.06em;line-height:1.1; }
.guide-tool-marker>span { display:block;font-size:12px;line-height:1.8;color:#405964; }
.guide-tool-marker strong.word { font-size:43px;line-height:1.15;margin-top:20px; }
.guide-grid { padding-top:25px;padding-bottom:65px; }
.guide-grid>.prose { background:#fafbf9;border:1px solid #d6dfe2;padding:30px 35px;border-radius:4px; }
.answer { border:0;border-left:2px solid #789e94;border-radius:0;background:#e8eeec; }
.answer-label { color:#4a6b76; }
.prose { color:#425c69;line-height:1.8; }
.prose h2 { font-weight:600; }
.rail-cta { background:#dfe7e9;border-radius:4px; }
.tool-section { padding-top:24px; }
.tool,.tasks { border-radius:5px; }
.tool { box-shadow:0 12px 25px #30455106; }
.task { background:#f7f9f6; }
.always .tasks,.always .task { background:#e3ebea; }
.month-nav a { border-radius:4px; }
.month-nav a.is-now { border-color:#477181;color:#477181; }
.month-nav a[aria-current] { color:#fff; }
.cta-band { color:#25343d;background:linear-gradient(#eef1f2,#dfe7e9 var(--fade));padding:calc(var(--fade) + 55px) 0 75px; }
.cta-band h2 { font-size:clamp(2.5rem,4vw,3.8rem);font-weight:600; }
.site-footer { border:0;background:linear-gradient(#dfe7e9,#e4e9eb var(--fade));padding-top:calc(var(--fade) + 45px); }
.no-closing .site-footer { background:linear-gradient(#eef1f2,#e4e9eb);padding-top:55px;margin-top:70px; }
@media(max-width:899px) {
 .hub-hero-grid { grid-template-columns:1fr;gap:40px; }
 .hub-feature { max-width:620px; }
 .guide-top-grid { grid-template-columns:1fr; }
 .guide-tool-marker { display:none; }
 .guide-photo { max-width:600px; }
 .guide-photo img { height:235px; }
}
@media(max-width:639px) {
 .hub-hero { padding-top:42px; }
 .hub-hero h1 { font-size:43px; }
 .hub-hero-grid { padding-bottom:65px; }
 .hub-feature { margin-left:10px; }
 .hub-feature>img { height:260px; }
 .hub-month { margin-left:-10px;margin-right:10px;padding:21px; }
 .tool-card { gap:15px; }
 .tool-card strong { font-size:23px; }
 .hub-list { padding-top:25px; }
 .card-art { height:220px; }
 .guide-top { padding-top:32px; }
 .guide-top h1 { font-size:36px; }
 .guide-top-grid { padding-bottom:32px; }
 .guide-grid>.prose { padding:24px 20px; }
 .logo img { height:31px; }
 .header-row { height:64px;gap:10px; }
 .btn-sm { padding:8px 12px; }
 .cta-band { padding-bottom:55px; }
}

/* Quiet guide surfaces keep the contrast in the words and photography. */
.cta-band p { color:#405964; }
.cta-band .fine { color:#5c7480; }
.cta-band .btn-light { background:#3f6978;color:#fff; }
.cta-band .btn-light:hover { background:#315765; }
:root { --sun:#c1d1d7;--clay:#789e9b;--clay-deep:#3f6978; }
.tone-mid,.tone-warn,.tone-late { color:#304c59; }
